Expectations
This class will involve a lot of work on your part. If readings have been assigned, the class will begin with a discussion of the assigned readings. Following this, one of you will give a presentation on a open research question which was posed the previous week. This presentation should be about 5-15 minutes long and be informative to everyone in the class. There will be a group Q & A after that where we discuss together any open questions. I will the present in depth the material that was touched upon in the assignments and the reading, and hint at the challenges for the following week. As the class progresses you will begin pitching and critiquing each others ideas and delving into any research related to your particular interests. In this sense, you’ll be fully encouraged to look ahead on topics you know you want to use. This class is as much developing your ideas for Little Computing as it is about developing your technical expertise.
Ground Rules
- No Laptops. I’ll give you fairly tough problems and readings each week, if you return the following week without questions I will be very surprised. If you have answers you should share them in class. If you need to take notes, take them on paper.
Class 1: How we got there- Alan Kay to Steve Jobs.
A Question: What are some interesting flags to gcc?
Class 2: Languages, Tools & Open Societies
- A brief history of some interesting programming languages
- C, still evolving and still important
- Philosophy of Tools
- Philosophy of Sharing
- Network Effects
A Question: Branching with git?
Class 3: On Objects, On Messaging, On Design
- A Comparison
- Objective-C? What the —-!
- Patterns
- Design Patterns
- Elegance
A Question: Calling a message on an object with pure C?
Class 4: All Kinds of Interface
- Foundations
- Scaffolds
- Readymades
- It’s Alive!
- Again, Networks…
A Question: forwardInvocation, respondsToSelector, multiple inheritance ?
Class 5: Time & Events (the Immediate Data of Consciousness)
- Presentations
- Events
- Multitouch
- Again, Networks…
A Question: How do you draw an image using only Quartz?
Class 6: Form, Color & Space
- Events redux
- Path-based drawing
- Geometry
- OpenGL
Class 7: Assessments
Class 8: Architecture
- Program Structure
- MVC again
- Patterns
- Controlling Complexity
- Properties