Software is embedded in many objects that we use on a quotidian basis. These range from the more obvious (computers, cell phones) to the often imperceptible (elevators, toasters, toys). Software as such has social implications: software designers play a large role in crafting both our virtual worlds and our interactions in the physical world. In this course you will learn basic computer programming concepts that can be applied to a wide range of programming languages. You will collaboratively experiment with these languages to create your own software projects. Through critical readings and case-studies of mainstream software applications you will gain greater understanding of the social, political and technological forces at work in software development.
Note - previous experience with computer programming is NOT necessary.
Students will:
materials:
USB Flash Drive (256MB or bigger) - OR - portable Hard Drive
software:
Download and install the free Processing programming environment to your computer.
texts:
all required readings will be available online or handed out in class
attitude:
Your enthusiasm, curiosity and willingness to learn.
optional technical texts:
Processing.org is an invaluable online resource. There are also many good books available on computer programming and software design in general and Processing specifically. Please feel free to speak with me directly if you'd like to explore some additional texts.
optional history/theory texts:
A large amount of class time will be dedicated to group critiques, knowledge sharing, in-class assignments and class discussion. I encourage you to take an active role in contributing to make our class a fun and dynamic place to be.
You will have 8 homework assignments to complete. Also, by the end of each class period, you will create and turn in a new computer program. In the spirit of a sketchbook, your code needn’t be perfect (or even have to entirely work) - but should reflect an attempt to utilize the concepts presented in class that day.
In groups of 2 students, choose one:
Your final project will be a novel software design. You will prepare a technical and conceptual proposal for a new piece of software as well as a small prototype or component of this project realized in code. The emphasis will be on the conceptual design which must be thorough and well-conceived. The prototype does not need to be a fully functional piece of software, but should demonstrate a grasp of basic computer programming principles and best practices. You will demo this prototype for the class. You will work collaboratively in design teams on this project.
Electrical:
Water/liquids are a excellent conductors. You can be shocked if you are touching water that touches electricity. Be careful with drinks around the computers!
Carpal Tunnel
Computer keyboarding, typing and use of the mouse are among many common activities that have been identified as contributing to repetitive stress induced carpal tunnel syndrome.
Eye Strain
Staring at a glowing monitor for extended periods of time can cause headaches, eyestrain and problems with your eyesight. Remember to take frequent short breaks by looking away from the monitor and focusing on something in the distance, or close your eyes for a moment. Your eyes need a break!
Attendance will be taken in each class. You are allowed one unexcused (no questions asked) absence, after which your final grade will drop substantially with each absence. In the event that an extraordinary circumstance will require you to miss a class, please let me know ahead of time, by calling me, or by email.
Students with disabilities who require reasonable accommodations or academic adjustments for this course must either enroll in the Program for Academic Access or register with the Office of Student Support Services. For any accommodation, the instructor must be presented with either a letter from the Assistant Director of the Program for Academic Access or an Accommodations Card from the Office of Student Support Services during the first week of classes.
MMC fosters an academic community where students and faculty work together to create a learning experience that imparts knowledge and forms character. To achieve this, the College requires all members of the community to adhere to the policy of Academic Honesty that can be found in the Student Handbook, the College Catalogue and on the College website.