Adventure
Calvin (Deutschbein)
W13Mon: 17 Nov
Announcements
- Enigma Ongoing
- You should have at least everything but rotation by now.
- Finish on time, new project is out today: Adventure.
Teaching the Adventure
- Go here and click this.
- Prof. Jed Rembold and I spoke and are using the exact same write-up for this assignment.
- This is this semester's only first time assignment, and we want to gather high quality data on student success.
- Prof. Jed Rembold developed this assignment and has had more time with it and I am defering to his expertise.
On AI Usage
- We are using AI within this assignment, but using it for a reason.
- For the past n years, efforts have been underway to modernize Adventure:
- Old Adventure did not use JSON, one of the most useful technologies of all time.
- Old CS1 did not introduce APIs, one of the most useful technologies of all time.
- CS1 programs, in general, should address ethical concerns with AI usage, which New Adventure does.
- CS1 programs, in general, should explicitly address systematic exclusion within tech industry on basis of race/ethnicity/nationality and gender, which New Adventure does.
- CS1 programs, in general, should explicitly address algorithmic bias in exa-scale computing, such as OpenAI ChatGPT and Google Gemini.
- We understand AI usage may be controversial.
On AI Usage
- AI usage beginning in milestone 4 becomes explicit, but has been present all term.
- All recorded lectures in this class have closed captions via Google AI technologies, which I found to be higher quality than my own manual transcriptions.
- VS Code makes large numbers of AI API calls except outside of very specific configurations, many of which cannot be discovered without using AI augmented search terms that, themselves, make AI API calls.
- GitHub classroom makes API calls whenever updating repositories, including to populate commit messages.
- When I did this project, I generated more API calls from saving my work than from doing the project.
- There is no competing technology with GitHub classroom other than self-hosting, for which the university uses Google (rather than Microsoft), but would otherwise be similar baring a special local technology deployment.
- It is likely that recent Python versions are developed by (volunteer!) developers using AI-accelerated workflows.
- This explicit engagement is an improvement to existing instructional norms.
Learn More.
- I regard AI is an Ethical Nightmare as an accessible intro to AI ethics that has guided my own engagement on these matters.
- I regard this assignment from my cloud computing course on perspectives on data centers as-if-not-more relevant than specific questions on AI usage to ethical considerations.
- I regard Instagram, rather than modern chatbots, as the foundational anti-social/anti-human technology used by cloud giants.
- This link has a nested content warning.
Content Warning : Expand for content type.
Self-harm and suicide.
Content Warning : Expand for link.
Link.
Biggest Block
- The hardest part of Adventure I expect to be, beyond just reading the volume of instructions and implementing the tasks, is differentiating serialized and deserialized JSON data.
- If you print it, it will look identical.
- However, they are different types.
- Sometimes, you will have a string.
- To go from string-to-list-or-dictionary, use:
json.loads(some_string)
- Sometimes, you will have either a list or a dictionary.
- To go from list-or-dictionary-to-string, use:
json.dumps(some_list_or_dictionary)
- Always, you should check the type!
- We can do a demo with this.
Adventure Demo
- Quick tour of my solution.
Announcements
- Enigma Ongoing
- You should have at least everything but rotation by now.
- Finish on time, new project is out today: Adventure.