Reminder: There are no in-person events this week. This is an asynchronous lecture and MQ activity (complete it when you can before the deadline).
Please don't forget to complete the short Mini-Quiz 19 activity on Canvas by Monday, December 1st at 11:59pm.
Today is meant as a fun “zoom out” day. We get so easily bogged down in the specifics of our class or of Racket…that we quickly lose sight of the beauty of programming. In the videos today, I focus on the idea of “programming languages”–what they look like, which ones are (have been) popular, how to choose between them, and how to learn them. Finally, we’ll take a look at three programming languages that look absolutely NOTHING like Racket:
- Bifrost (part of the Maya rendering software) which is a programming language for procedural graphics generation; link to Bifrost
- Max (MSP) which is a programming language meant for audio synthesis and manipulation; link to Max
- NetLogo which is an IDE and language meant to allow for exploration of complex systems through agent-based modeling; link to example used in the video
Programming languages are diverse in their ways of representation and expression, but the thing they share is the ability to help us concretize what’s in our heads in a way the computer understands. This communication between us and the computer is pretty incredible and by forcing ourselves to analyze how we think about things it changes the way we understand what we understand (meta…I know).
Next week, we’ll be focusing on examples that use literally every thing we’ve learned in this class in one big program. The final tutorial and assignment will be building the video game Asteroids. But for now, let’s have some fun!
Today's Resources
1. Slides
2. Pre-Recorded Lecture Video(s), Mini-Quizzes, and Live Recordings
| Link | Title | Type | Duration |
|---|---|---|---|
| Video 0 | Intro | pre-recorded | 6:47 |
| Video 1 | Racket - Only One Part of the Story | pre-recorded | 4:28 |
| Video 2 | Programming Language Popularity | pre-recorded | 6:05 |
| Video 3 | How to Choose and How to Learn (From Scratch) | pre-recorded | 7:22 |
| Video 4 | Domain Specific Languages | pre-recorded | 2:45 |
| Video 5 | Max (Audio Programming) - Example 1 | pre-recorded | 3:00 |
| Video 6 | Max (Audio Programming) - Example 2 | pre-recorded | 3:18 |
| Video 7 | NetLogo (Agent-based Modeling) Example | pre-recorded | 9:00 |
3. Mini-Quiz 19:
If you did not participate in class or were unable to attend then you should use this Canvas Quiz as a substitute.