IAP Independent Activities Period
overview participate organize offerings calendar  
for-credit subjects non-credit activities by category non-credit activities by sponsor non-credit activities by date

IAP 2008 Activities by Sponsor

Student Information Processing Board

Building and Hosting Web Applications (with AppJet)
Aaron Iba
Wed Jan 23, 06:30-08:00pm, 1-115

No enrollment limit, no advance sign up
Single session event
Prereq: Some programming, ideally basic familiarity with javascript.

Learn how to build a web application the easy way! We'll be using AppJet, a new tool for building web apps online with an easy-to-learn framework. Topics to be covered include: Forms, storing data, and easy AJAX and Comet.
Web: http://stuff.mit.edu/iap/webapp/
Contact: Aaron Iba, W20-557, x3-7788, sipb-iap-webapp@mit.edu

Caffeinated Crash Course in C
Christian Ternus
Mon Jan 21, 08-11:00pm, 1-115

No enrollment limit, no advance sign up
Single session event
Prereq: Prior experience in a C-like language (C++, Java, Perl, etc)

C's influence is deeply pervasive in today's software systems, and in the many currently-popular programming languages derived from C. In fact, C plays a role somewhat similar to the one once played by assembly language: even if you don't do any actual day-to-day C programming, knowing C can be a huge help in better understanding the other systems and languages with which you are working.

This class will attempt to cover the entire C programming language in 3 hours, in the grand tradition of SIPB's IAP caffeinated crash courses. Prior programming experience, preferably in a C-like language (C++, Java, Perl, etc.) is very definitely assumed.
Web: http://stuff.mit.edu/iap/cccc
Contact: Christian Ternus, W20-557, x3-7788, sipb-iap-cccc@mit.edu

Caffeinated Crash Course in C++
Katherine Lai
Mon Jan 14, 03-06:00pm, 66-160

No enrollment limit, no advance sign up
Single session event
Prereq: Prior experience in a C-like language (C++, Java, Perl, etc)

A three-hour introduction to the C++ programming language. Syntax, data types, and control flow. Object basics. Polymorphism and templates. Dynamic memory management. Standard library. Useful tools.
Web: http://stuff.mit.edu/iap/ccccpp
Contact: Katherine Lai, 4-231, W20557, sipb-iap-ccccpp@mit.edu

Caffeinated Crash Course in Perl
Kevin Riggle
Mon Jan 14, 06-09:00pm, 1-115

No enrollment limit, no advance sign up
Single session event
Prereq: Some programming experience; high confusion threshold.

Perl is the duct tape of the computing world -- it has a light side, a dark side, and (if you're running Debian) it holds your operating system together. This class will teach you to choose the light side — that is, how to write simple, useful Perl scripts without having it turn into a gooey, sticky mess.
Web: http://stuff.mit.edu/iap/caffeinatedperl
Contact: Kevin Riggle, W20-557, x3-7788, sipb-iap-caffeinatedperl@mit.edu

Creating a Firefox Extension
Jeff Walden
Mon Jan 28, Wed Jan 30, 05-06:30pm, 1-115

No enrollment limit, no advance sign up
Participants welcome at individual sessions (series)
Prereq: JavaScript or C-like language, XML syntax, basic CSS

This class will walk through the creation of a simple Firefox extension. Topics will include extension packaging, creation of new UI, modification of existing UI, and implementation in JavaScript of the functionality the UI exposes.
Web: http://stuff.mit.edu/iap/firefox
Contact: Jeff Walden, W20-557, x3-7788, sipb-iap-firefox@mit.edu

Emacs Is My Operating System
David Glasser
Wed Jan 16, 06-07:30pm, 1-115

No enrollment limit, no advance sign up
Single session event
Prereq: Vague familiarity with Unix.

emacs is a platform for creating character-based applications. Examples include IRC clients, terminal emulators, directory and version-control browsers, shells, and web browsers. I've heard there is a text editor as well. I'll show you how I use it.
Web: http://stuff.mit.edu/iap/emacs
Contact: David Glasser, W20-557, x3-7788, sipb-iap-emacs@mit.edu

Exploiting Software: Stack Smashing in the Modern World
Nelson Elhage
Wed Jan 9, 05:30-07:30pm, 4-231

No enrollment limit, no advance sign up
Single session event
Prereq: At least a 6.004 knowledge of assembly. Basic knowledge of C

Modern operating system have advanced software countermeasures to prevent exploitation of buffer overflows in buggy programs. Starting with the classic stack smashing attack, I'll explore what these countermeasures are, and the clever tricks hackers have for dodging them.
Web: http://stuff.mit.edu/iap/exploit
Contact: Nelson Elhage, W20-557, x3-7788, sipb-iap-exploit@mit.edu

Facebook Apps: Building and Hosting with AppJet
Aaron Iba
Mon Jan 28, 06:30-08:00pm, 4-321

No enrollment limit, no advance sign up
Single session event
Prereq: some basic programming

We will start from scratch and show you how to create and host facebook apps using AppJet, a new platform for easily building web apps. We will teach by example: printing "Hello World" on a canvas, sending notifications, and displaying things on a user's profile. We will also cover FBML and Facebook's REST API.
Web: http://stuff.mit.edu/iap/facebookapps/
Contact: Aaron Iba, W20-557, x3-7788, sipb-iap-facebookapps@mit.edu

Good Experience Live 2007 Conference Sessions
Rajiv Manglani
Wed Jan 23, 06:30-08:30pm, 4-231

No limit but advance sign up required (see contact below)
Single session event
Prereq: Interest in user experience.

Gel ("Good Experience Live") is a conference and community exploring good experience in all its forms -- in business, art, society, technology, and life. Join us as we watch sessions from the 2007 conference DVD: Ira Glass, host and producer of This American Life, Mark Hurst and Phil Terry of Creative Good, Marie Lorenz, sculptor, boat builder, Tide and Current Taxi, Peter Skillman, VP, User Experience, Palm, and Charlie Todd, urban prankster.
Web: http://stuff.mit.edu/iap/gel
Contact: Rajiv Manglani, W20-557, x3-7788, sipb-iap-gel@mit.edu

Hacking Facebook: JavaScript Sandboxes and How to Use/Escape/Write Them
Jeff Walden
Mon Jan 21, Wed Jan 23, 05-06:30pm, 1-115

No enrollment limit, no advance sign up
Participants requested to attend all sessions (non-series)
Prereq: JavaScript; some understanding of cross-site scripting attac

Facebook applications can execute arbitary, theoretically-declawed (!) JavaScript in the context of facebook.com. This class explores how Facebook's sandboxing works, ways it hasn't worked in the past, and the design of secure JavaScript sandboxes.
Web: http://stuff.mit.edu/iap/facebook
Contact: Jeff Walden, W20-557, x3-7788, sipb-iap-facebook@mit.edu

Hacking in Haskell
Gregory Price
Tue Jan 29, Thu Jan 31, 07:30-09:30pm, 4-231

No enrollment limit, no advance sign up
Participants requested to attend all sessions (non-series)
Prereq: Programming experience; affinity for mathy programs

Haskell is the world's most \\\*reasonable\\\* programming language -- a language ideally suited for reasoning about code by machines, by humans, and by machines aiding humans. We'll see how to make useful, beautiful, reasonable Haskell programs.
Web: http://stuff.mit.edu/iap/hackhaskell
Contact: Gregory Price, W20-557, x3-7788, sipb-iap-hackhaskell@mit.edu

How To Make Your Mac Athena-ish
Evan Broder, Quentin Smith, Geoffrey Thomas
Wed Jan 30, 07-10:00pm, 4-231

No enrollment limit, no advance sign up
Single session event
Prereq: none

Learn how to make your Mac computer work with the Athena environment - from automatic logins to Athena to running Athena software like blanche and moira, from using MIT's address book in your mail client to accessing files in AFS. Bring your laptop!
Web: http://stuff.mit.edu/iap/mac
Contact: Evan Broder, Quentin Smith, Geoffrey Thomas, W20-557, x3-7788, sipb-iap-mac@mit.edu

Introduction to LaTeX
Jessica McKellar
Thu Jan 10, 07-09:00pm, 1-115

No enrollment limit, no advance sign up
Single session event
Prereq: none

Leave Word behind forever! LaTeX is the gold standard for document typesetting in academia, and in this single-session event we'll see how easy it is to make professional-looking papers and resumes, get you typesetting math like a pro, delve into macros, and finish with Beamer, the popular open-source LaTeX analog to Powerpoint.
Web: http://stuff.mit.edu/iap/latex
Contact: Jessica McKellar, W20-557, x3-7788, sipb-iap-latex@mit.edu

Nethack: Ascend to the status of Demigod this IAP!
Rachel Dillon
Tue Jan 8, 15, 22, 29, 08-10:00pm, 1-115

No enrollment limit, no advance sign up
Participants requested to attend all sessions (non-series)
Prereq: None, but RPG or Roguelike experience is a big plus.

Ascend to the status of demigod(-dess) this IAP in Nethack! Nethack is a game where you are the @ and you push j to go south, where you are killed by a newt. If you enjoyed Diablo but it was much too easy, or enjoyed adventure games but want something more tactical, Nethack is for you. In four simple classes, members of MIT's third-in-the-world Nethack team (really!) will teach you to handle everything from lichen (F) to arch-liches (purple L).
Web: http://stuff.mit.edu/iap/nethack
Contact: Rachel Dillon, W20-557, x3-7788, sipb-iap-nethack@mit.edu

Packaging Software with RPM
Jonathan Reed
Wed Jan 16, 03-05:00pm, 66-160

No enrollment limit, no advance sign up
Single session event
Prereq: some shell scripting, building software

Learn how to package software into RPM packages, create source RPMs, and possibly explore some of the more advanced features of RPM.
Web: http://stuff.mit.edu/iap/rpm
Contact: Jonathan Reed, W20-557, x3-7788, sipb-iap-rpm@mit.edu

Practical Applications of Virtualization
Michael Phillips
Thu Jan 17, 07-09:00pm, 4-231

No enrollment limit, no advance sign up
Single session event
Prereq: Knowledge of Linux suggested but not required

Virtualization is a heavily overloaded word, and this class will explore the different systems to which this term refers in practice. We'll look at various kinds of virtualization, with discussion of practical applications of each, including emulation (Bochs), native virtualization (VMWARE), paravirtualization (Xen), and operating system-level virtualization (OpenVZ). The session will end with an example implementation of an all-in-one media, mail, phone, and web server split across distinct virtual environments with OpenVZ for enhanced security and maintenance.
Web: http://stuff.mit.edu/iap/virtual
Contact: Michael Phillips, W20-557, x3-7788, sipb-iap-virtual@mit.edu

Programming in C
Geoffrey Thomas
Wed Jan 23, 09-11:00pm, 1-115
Fri Jan 25, Sat Jan 26, 05-07:00pm, 14-6037
Wed Jan 30, 09-11:00pm, 1-115
Fri-Sat, Feb 1-2, 05-07:00pm, 14-6037

No enrollment limit, no advance sign up
Participants requested to attend all sessions (non-series)
Prereq: Some programming experience encouraged

The C programming language is still the most popular for large software projects in both the open-source and commercial worlds. This course will quickly cover the fundamentals of programming in C, including basic control structures, functions, pointers, and arrays, and an introduction to the standard C library.

NOTE: the Friday and Saturday sessions meet in 14-0637 from 5:00-7:00pm; see stuff.mit.edu/iap for additional details.
Web: http://stuff.mit.edu/iap/c
Contact: Geoffrey Thomas, W20-557, x3-7788, sipb-iap-c@mit.edu

Programming in Haskell
Ken Takusagawa
Wed Jan 9, 16, 23, 11am-12:00pm, 14-0637

No enrollment limit, no advance sign up
Participants requested to attend all sessions (non-series)
Prereq: Some programming experience encouraged

This class will teach how to program in the functional programming language Haskell. It will cover the syntax, type system, non-strict execution model, and monads. Students are encouraged to bring their own laptop computers to be able to do hands-on exploration during the class.
Web: http://stuff.mit.edu/iap/haskell
Contact: Ken Takusagawa, W20-557, x3-7788, sipb-iap-haskell@mit.edu

Programming in Java
Tony Valderrama
Wed Jan 16, Thu Jan 17, 03-05:00pm, 14-0637

No enrollment limit, no advance sign up
Participants requested to attend all sessions (non-series)
Prereq: Some programming experience

Wake up and smell the coffee! Find out why this platform-independent object-oriented lanuage from Sun Microsystems (now an open-source project) is one of the fastest growing languages in the modern computing industry.

Session 1: Basics (syntax, variables, methods); Object Orientation (inheritance, abstraction, etc.)

Session 2: Useful ways to do common tasks (Data structures, I/O, etc.); Graphics (Applets, SWT)
Web: http://stuff.mit.edu/iap/java
Contact: Tony Valderrama, W20-557, x3-7788, sipb-iap-java@mit.edu

Programming in Perl
Quentin Smith
Tue Jan 22, Thu Jan 24, Tue Jan 29, Thu Jan 31, 05:30-07:30pm, 4-237

No enrollment limit, no advance sign up
Participants requested to attend all sessions (non-series)
Prereq: some programming experience.

Introduction to programming in Perl: syntax, flow control, I/O, regular expressions, data structures, objects, and some CGI programming.

NOTE: It is highly recommended that participants attend all four sessions, as different material will be covered in each session. The last session will probably be a question and answer session and will cover participant-requested material.
Web: http://stuff.mit.edu/iap/perl
Contact: Quentin Smith, W20-557, x3-7788, sipb-iap-perl@mit.edu

Programming in PostScript
Bayard Wenzel
Tue Jan 8, Thu Jan 10, Tue Jan 15, Thu Jan 17, 06-07:00pm, 4-231

No enrollment limit, no advance sign up
Participants requested to attend all sessions (non-series)
Prereq: Familiarity with programming.

PostScript is the standard document formatting language for printers, and the forerunner to PDF, the Portable Document Format. This class will concentrate both on PostScript as a programming language, and PostScript's approach to rendering graphics. Additional topics will include the structure of PDF documents, font encoding, and font rendering. This class should provide a working understanding of stack machine programming, vector graphics, typography, and portable document encoding.
Web: http://stuff.mit.edu/iap/postscript
Contact: Bayard Wenzel, W20-557, x3-7788, sipb-iap-postscript@mit.edu

Programming in Python
Evan Broder
Mon Jan 7, Wed Jan 9, Mon Jan 14, Wed Jan 16, 09pm-12:00am, 4-231

No enrollment limit, no advance sign up
Participants requested to attend all sessions (non-series)
Prereq: Some programming experience; not much needed.

A general introduction to the Python programming language. This class will cover basic control flow structures, object-oriented development, and may also cover such topics as developing extensions or Python web development. Basic experience with programming in any language will make the class much more helpful; it is highly recommended.
Web: http://stuff.mit.edu/iap/python
Contact: Evan Broder, W20-557, x3-7788, sipb-iap-python@mit.edu

Ruby on Rails
Brian Pepper
Fri Jan 11, 05-07:00pm, 1-115

No enrollment limit, no advance sign up
Single session event
Prereq: familiarity with the UNIX terminal

Ruby on Rails is an open-source web framework that is optimized for programmer happiness and sustainable productivity. It lets you write beautiful code by favoring convention over configuration. We will dive right in and learn the framework as we go. During class, we will create a new social networking site called MyFace and, with any manner of luck, cash out before the evening is through.
Web: http://stuff.mit.edu/iap/rails
Contact: Brian Pepper, W20-557, x3-7788, sipb-iap-rails@mit.edu

Shell Scripting
Yoyo Zhou
Fri Jan 25, 03-05:00pm, 14-0637

No enrollment limit, no advance sign up
Single session event
Prereq: Some experience with Unix and basic tools (ls, echo, cat)

Shell scripts are the common method of automating command-prompt tasks on Unix systems. This class will introduce the shell (the command-prompt), explain how the shell reacts to your typing, and present the fundamentals of shell programming.
Web: http://stuff.mit.edu/iap/shell
Contact: Yoyo Zhou, W20-557, x3-7788, sipb-iap-shell@mit.edu

Solar Concentrators: Theory and Practice
Spencer Ahrens
Mon Jan 14, Fri Jan 18, Mon Jan 21, Fri Jan 25, 11am-03:00pm, 2-105, Fri Jan 25 will meet in 2-136


This course will include an overview of renewable energy technology and energy policy with an emphasis on several modern solar concentration technologies. The focus of the course will be to build and install a working 8'x8' concentrating solar energy collector on the MIT campus.
Web: http://stuff.mit.edu/iap/solar
Contact: Spencer Ahrens, W20-557, x3-7788, sipb-iap-solar@mit.edu


MIT  
Massachusetts Institute of Technology
Home | Overview | Participate | Organize | Offerings | Calendar | Search
Comments and questions to: iap-www@mit.edu Academic Resource Center, Room 7-104, 617-253-1668
Last update: 30 September 2004