Interactive notebook for the BBS Minded

· Tieandjeans:iX

Where is the community of craft of solo teachers working with their own better than available human teaching partner?

I'm willing to bet that the metacognitive similarities to the craft of teaching would make us more productive partners than discipline might suggest.

These are my SaturdaysSundays1 -

Hey ColleaugeGPT, this may be a topic shift.

I apologize. remember that reacting to dynamic moments with our students, and weird flashes of inspiration in our teacher lives, is what separates rote curriculum automata from us, a dynamic cyborg centaur pair.

I want to be able to share the story of our collaboration wit Zvi and Ethan Mollick. Let's live up to the ASB Middle school slogans and Be Our Best Selves.

             BeOBS!

I want to make a real world challenge for my students who showed real fluency with the python work, and I want to do it as a challenge for how to set up GitLab as an organisation system, and to push some of the real strong programmers to have both functional responsibility for others progress, but also the practical experience of organizing something larger than what they personally can/want to deal with.

But the level of the "following along with class" competent studnets is at what we'e calling Python Basics in other contexts, a scope I've decided to crib from AlSw AutomateBoring, also described throughout.

This also ties into Grand Project 02, which is the Discord bot LLMS that I have global control over their prompts and access to the logs. Aka, STUDENT_NAME_0's IA.

Students:
The non-STUDENT_NAME_1 non-STUDENT_NAME_2 students, which I stretch provisionally (judging on observations during the test, not on actual grading) is STUDENT_NAME_3, STUDENT_NAME_4,, STUDENT_NAME_5, STUDENT_NAME_6, STUDENT_NAME_7, STUDENT_NAME_8, STUDENT_NAME_9. The "observed no" group is STUDENT_13, STUDENT_14, STUDENT_15 (for "i joined at semester" reasons!). The lower boundary group is STUDENT_NAME_0, STUDENT_NAME_10, STUDENT_NAME_11. And obv STUDENT_NAME_12 is unabserved, becuase he was doing the STANDARDIZED_TEST. I'm sure I missed someone.

Task: Identify and download a set of MP3s from a public RSS2.0 feed. From a computer, not a phone. Programatically. This is going to range form the python to parse to the hostable interface, and a social email to the mutual audio network! and an interview with brad! and... anyay, this could obviously be GrandProject 03 and weave into GP > 01,

  • which is the ladder of Python fluency puzzles as repos on the class GitLab,
  • which contains as a sub step the "do first weeks of class only in CLI. Make it a LARP (a Telehack, specifically) of a 2010 autograded CS class,
  • which is tied to the other pillar of working with remote dev environments (to equalize for the chromebook iPad kids) vs something where they are spinning up something from VMS to Kubernetes to Docker). That's my side conversations with Nathan
  • all of which is core Papertian Hunting Microworlds impulse

Which gets me to papert and to MIT and to LISP and the true confession that I have no idea where I am in my nested cons))))))

But at the basics it's small text processing script to a python file with *kwargs to a CLI menu to a Flask App with a single page front end, to a flask app that makes a show tagged interface, saving previous searches or collections tagged from multiple searches. A functional, browseable archive of the RSS feed, either tied to locally stored copies or to dynamic searches (providing the ad revenue back to MAN, even though I don't think they use them)


That's about 5 minutes of typing2. That's the moment where an idea spins some gears and the whole chain system has to grind through unit the force dissipates, or I find a clean place to jump off. It feels like a Mario Weighted Platform Cognitive Puzzle Game, which is a line for Tycho and Tycho alone.

The part for today, this particular Sunday, is to start with a "given an RSS2.0 entry, pretty print [these] fields." Working that concept up into a printable single page set of instructions, and possibly a supportive GPT prompt with Chat Craft, is the "get this done before next class" part. I need that to be pretty automated for SOME sub group. I am failing to differentiate in my class because I do not have activities/tasks that they can be self-directed and self correcting on. Well,I don't have tasks like !! AND I have observed them making a positive change in a student's understanding.

I don't know if I have great conversations about these ideas with the LLM, but there is enough in the responses that it keeps me typing.

Typing it through is how I develop enough of the cognitive framework, the specificity of what I want to happen. That's Stager via Papert's hard fun

I feel like I am writing a conversational protocol XML, making something clear enough in my head that I can really "read down" the things that need to be on the printed sheet, or in the test file, or in the starting template. Then, the LLM is GREAT at taking that ephemera and putting it together into clean commented python, with moderately consistent spacing.

Which ties back into my other LLM context (one of my few still active on ChatGPT) is with the Linux Shell Guru, where I strive to live more by the clean text lifestyle.

I mean, that's what it can do, with some careful context management. Sadly, I'm not finding ChatCraft any better on the XTree for LLM chats front. Yes Liz Phair tells us "...then you know that the problem is you."

But that's another line into the fundamental thought behind the Grand Project framework. It's pure Stager - do something that someone gives a shit about. It would be great if it was you, but it needs to be someone. That SHOULD be the core of the IA. I have all of these components and I need to put them together somehow. I need to have a place where students work is always part of the skills they need to do the work (CLI toolchain, classic server env) where there ae resources and communication tools, all of which can be bridged together with local software and the public web.

That's the class reorganization that I'm circling around for next fall. Some way to start the new 11s with this cycle, so that if you have the fluency to get to the cli and pull projects, it becomes a self paced run towards some Project milestones. And each project milestone is going to need different sized groups of people. But as the first group climbs the project ladder, suddenly there's now "space on the tree" for smaller bits of code (that is, a small function stack that works on a defined input type and returns a define data type), and that those pieces can emerge on a student built structure.
But that's a ton of work.
I think it's about proportional to the amount of work EVERY successful IA has ever put in. And I think it's what the IB is trying to encourage with the IA. If we Burning Man it at the end of the year, hiding the backup copy inside a privacy locked GitLab group (in real Horizon: Zero Dawn style) then everything we built would be student work. If we did it all through GitLab, we could CITE THE REPO for conclusive attribution down to the granularity of commits.

But, as much as I can see the plan and steps for this, I don't think I can actually build and implement these systems..

I am 45 years old. I have been teaching in mixed toolset dynamic, project based environments for 20 years. I started (one of the) first K-12 MakerSpaces in 2010. I am a Founding FabLearn Fellow, I walked away from an built and acquired EdTech Startup. I grew this beard. I am not afraid of that.

I know it's possible to run a project based CS class. But I can't do it on my own, and absolutely not at this scale or pace.

I am drowning. I am absolutely drowning to do the piss poor job I am doing now. I am keeping afloat through deeply GDPR questionable use of various frontier LLM, out of pocket (no need to ask permission or explain) but through my school email address (so it's clear I'm doing this as a teacher, for my classes).

I am making exploitative use of my peer group, full of Emmy, Grammy, and absolutley Paly 94 centered peer group as I can be. I have not yet made an ask to Paul, but I have put various school dads I enjoy in awkward situations.

I don't know how or where to get more help. I will pay people out of pocket to help build this class-supporting server and tools!. However, contracting someone to help me build tools to manage my class infrastructure is unavoidably exposing them to student Personally Identifying Information (PII). I can try to build interface tools to a dev environment that will scrub that before...... but now I've just built a recursive loop of self similar boundary search.

So where do I go?

What kind of help can I ask for?

Who can I pay to help me build the tools I know will make my class SO MUCH better! How can I explain this to my school admin such that they can see something BESIDES the "exposure of confidential school data," a term which covers everything from class lists to student scores to home addresses.

Imagine I came to you as an independently wealthy chemistry teacher, who both wanted to fund the development of a world class lab facility, but would promise that it could snap out of a suitcase, Dr Strange up to fill any classroom volume, provide the same quality of safety and care, and then collapse back in when the bell sounded. But no! Even better. For all who entered the magic portal classroom left with suitcases under THEIR arms, connected back to the same learning space.

What are the legitimate concerns for this magic lab?

Kids need to be as safe in the portal lab as they would be in the "normal" ones, built from drywall and concrete.

This is the argument I made and lost with Barry Davis and Flint Hill in 2010 with running a logged Minecraft creative server with zone restrictions. My assertion is that a school managed Minecraft server was equivalent to a magical basketball court that was simultaneously next door to every student in our vast commuter Fairfax Country private school radius. Moreover, the primary beneficiaries of this would be the 20% of our students who felt most isolated from main currents of the middle school's social infrastructure.

In the end, it was decided that managing a server would be an unacceptable liability risk. On a school server, maybe the school would be held responsible for any/all negative behaviours between middle school students might exhibit towards each other.

So, instead, we sent all of those 12 year olds out into public Minecraft servers, and then watched the negative behaviours from those unmoderated demi-public spaced bubble up in our hallways.

To move forward with this CS Lab concept, I need to get support to deal with the legal issues, the company development issues, the intellectual property issues, the financial management and seperation issues, the GDPR compliance issues... ALL OF THAT.. while also using social connections to find devs willing to help with BSD-licensed infrastructure3 and continue to teach CS. Which I want to do!

This is all about trying to get the lab and materials to DO THIS BETTER! BeOBS!

So that's the un-resolvable tension that keeps me cycling on Sundays.

As a BAtNA to this whole mess, I spin tiny sub threads out into LLM conversations, to try and keep some energy, some momentum moving on this larger project.

I've got about 5 more years at this level of mental clarity clarity and capable of working at this pace12 hours a day, 6 days a week. If any of this CS Lab Grand Project stuff is actionable, I have a well defined and clearly limited window within which to act.

But, sometimes, you forget what LLM context you're typing to.

Integrating Real-World Challenges with Python and GitLab #

Hello Team, As we strive to Be Our Best Selves (BeOBS), I'm excited to introduce a new real-world challenge that will push our proficient Python students to not only develop their coding skills but also gain practical experience in managing larger projects. This initiative will also help those who are still catching up, providing them with a structured learning path through real-world applications.

Project Overview: #

1. Setting Up GitLab: We'll use GitLab as our organizational backbone. This will be our platform for code sharing, version control, and collaboration. Students will learn to manage repositories, oversee project progress, and ensure functional responsibilities are met across the team. 2. The Challenge - Sonic Society Integration: Inspired by the Sonic Society, which hosts a variety of audio dramas, our task will be to programmatically identify and download a set of MP3s from a public RSS 2.0 feed. This will involve:

  • Writing Python scripts to parse RSS feeds and download audio files.
  • Developing a user-friendly interface for these operations.
  • Integrating this system into a broader network, potentially including social outreach and collaborations, like an interview with an audio network representative. 3. Grand Project Integration: This challenge could evolve into Grand Project 03, linking with:
  • GP 01: Python fluency puzzles hosted on GitLab.
  • GP 02: The Discord bot LLMS, which involves managing AI prompts and logging interactions.

Educational Goals: #

  • For Advanced Students: They will take on leadership roles, guiding the project and supporting peers.
  • For Beginners: They will follow structured tasks that enhance their basic Python skills, gradually increasing in complexity.

Student Roles: #

  • Lead Programmers: GROUP_1_
  • Support Team: GROUP_2 (and others who are catching up).
  • Observers: Students like GROUP_3, who can contribute insights and learn through observation due to various constraints.

Technical Skills Development: #

  • CLI Mastery: Starting with command-line interfaces to build foundational skills.
  • Remote Development Environments: Ensuring all students, regardless of their device, can participate effectively.
  • Containerization and Virtualization: Introducing advanced topics like Docker and Kubernetes to prepare students for modern development environments.

Cultural and Pedagogical Reflection: #

This project is not just about coding; it's about embodying the spirit of Seymour Papert's vision of "Microworlds" where learning is a playful yet profound exploration of complex systems. It's about connecting with the broader narratives of computing, from the historical roots at MIT and LISP to modern interpretations in digital education.

Next Steps: #

Let's discuss this plan in our next meeting, refine the objectives, and assign specific roles and tasks. Your feedback and suggestions are crucial as we aim to make this a meaningful and enriching experience for everyone involved. Together, let's make this a cornerstone project that exemplifies our commitment to being our best selves, leveraging technology not just for learning, but for creating impactful, community-oriented projects. Looking forward to our adventure in coding and collaboration! Best, Andrew


Ah, crap. I forgot you were the "make class emails out of chat transcript" bot. But thank you for showing me that I need to be far more clear about which part of this system/cycle we're working on.

I think what kinda kills me is that might actually be a good way to communicate between adults working together on a task of this scope.

I have no experience with which to compare.


  1. Sundays, becuase Saturday was 9a-3p Speech/Debate practice, and 3p-9p OTJ PR with Student_14 and sibling. Went 1-2 with Spanish cards, but got to Vuelve Por Más in 4 games, which was fun for limited. ↩︎

  2. The interstitial blog post was about 15. I kept Jodi waiting on lunch plans. ↩︎

  3. And go back to have that conversation again and try to explain the difference between BSD licensed software and CC licensed curricular materials. ↩︎