Expectations
This class will involve a lot of work on your part. Each 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, myself not excluded. 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. Theory & Praxis as one.
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.
- Grades, 20% participation & discussion, 20% solo presentation, 30% midterm, 30% final.
Office Hours
I will be in the Long Lab after class from 3:30 to 5:30. Feel free to ask me as many questions as you want. Also you should use the class Google Group as I’ll be following along closely there as well.
Class 1: History & Heuristics
How we got there- Alan Kay to Steve Jobs.
How to solve it!
A Morsel
A Challenge
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