I think my CSC 369 class at Cal Poly was a good model, for a type of autonomous course design. There were only 9 students, and there was a presentation of each person’s project, near the end of the course. What made it a bit more interesting, is that the code was shared at the end, and some students incorporated other students’ code into their programs.
There was some remixing. Because we all worked on different things, (I made ‘Gnapster’, a P2P file sharing app with firewall circumvention, while others worked on MD5 encryption, caching and multiple source downloading.)
My thought was that the development of the GGR robots has been towards something simple and accessible, in order to be sure we get *something* working, in time. I have prototypes, and a UI now, and I add features to the robot app, building it up into something workable. Making small improvements.
Despite a couple years now, of playing with AI and ML and CV and robots, etc., I’m still way behind the curve. The project budget is my salary for maybe three months of work in industry (Software engineering). In terms of R&D, we’re way past three months of work. But the scope and pace of the fields, of AI, ML, CV, robotics, are vast, and fast.
“In theory, theory and practice are the same. In practice, they are not.” – Albert Einstein
Entire months down a rabbit hole can end with a negative result. Time flies. I felt I needed to start aiming lower, at some point, when the reality hit. Miranda and I are both good at time crunches. So I know we’ll have something presentable, as we get close to the deadline. But there’s only so much one can get done, in a certain amount of time, given the constraints of life. Work, responsibility, friends, family, health., etc.
So my thought was more or less, platforming, open source style, for the sake of remixing. Course design based on remixing the contributions of all the participants, who start with the result of previous iterations.
A major issue with this idea, is version control, because if the remix is done like a software engineering project, merging contributions will bite students. There was always a rush, at some companies I worked at, to get your code in first, to avoid being the one who had to update and merge before committing their code.
There’s ways around this issue though. Mob programming with an expert at the helm is probably the best way to merge code.
So, idea was, like a course or workshop, where people learn to do something – and then they all work on different, individual improvements, on that something, and then the merged improvements become the new prototype, upon which future coursework might be built.
Sometimes, you might just want to scrap the janky mess it’s becoming, and use a different paradigm, entirely. But sometimes you don’t have time for a more elegant paradigm.