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 2011 Activities by Sponsor

Student Information Processing Board

Advanced C
David Greenberg
Wed Jan 26, 05-07:00pm, 3-133

No enrollment limit, no advance sign up
Single session event
Prereq: Prereq: basic familiarity with C

C, love it or hate it, is somewhere at the foundation of most software today. While some may call it a glorified assembler, C does provide many useful features while giving you the option to get close to the hardware and have precise control over everything your machine does. We'll learn how to make your C a lot less painful to write with features you thought were only in higher-level languages like LISP, and we'll also go over when you might want to get closer to the hardware and how to go about doing that with inline assembly and gcc-specific features.
Web: http://sipb.mit.edu/iap/advc/
Contact: sipb-iap-advc@mit.ed
Cosponsor: Electrical Engineering and Computer Science

Bluespec
Ken Takasagawa
Mon Jan 24 thru Thu Jan 27, 05-06:00pm, 1-115

No enrollment limit, no advance sign up
Participants requested to attend all sessions (non-series)
Prereq: knowledge of digital design or functional programming helpfu

Bluespec is language for electronic digital design superior to Verilog or VHDL. This class introduces Bluespec as a programming language, examining its compilation and execution model and strong type system (many features inspired by functional programming languages). This will not be a class on digital design (students are encouraged to take 6.375 or 6.823 for that). Previous knowledge of digital design may be helpful, but not required. Familiarity with a functional programming language such as Haskell will be useful, but also not required.
Web: http://sipb.mit.edu/iap/#bluespecrene
Contact: Ken Takasagawa, sipb-iap-bluespec@mit.edu

Caffeinated Crash Course in Computer Forensics
Jesse Kornblum ManTech
Wed Jan 5, 06-08:00pm, 4-163

Single session event
Prereq: Non-technical computer literacy.

This two-hour session is a high-speed, low drag introduction to computer forensics. You'll see what kinds of data can be recovered from various devices found in the real world and in the cloud. There's treasure everywhere! Topics covered include hidden data in office documents, filesystems, flash storage, cell phones, GPS devices (which are mostly Linux boxen, anyway), computer memory (RAM), social networking sites, the Lobby 7 Anomalous Activity Hypothesis, Jesse's Dead Body Theory of Evidence, and the story of FRED. By the end you'll understand information hasn't been destroyed unless the media has been raised to the Curie Point.
Web: http://sipb.mit.edu/iap/exploit
Contact: Jesse Kornblum, sipb-iap-forensics@mit.edu
Cosponsor: Electrical Engineering and Computer Science

Caffeinated Crash Course in Ruby
Donald Guy
Fri Jan 21, 06-09:00pm, 1-115

Single session event
Prereq: Some familiarity with some scripting language; high confusio

Ruby is a language that was designed by Yukihiro "Matz" Matsumoto, to be "more powerful than Perl, and more object-oriented than Python It was designed taking some of the best ideas from Perl, Python, LISP, and Smalltalk to create a language "natural, not simple" but, above all, it was designed to make programming with it an enjoyable experience.

In a quick 3 hour course I will take you through a nearly-complete tour of the Ruby language including such standbys as syntax, data structures, class creation, and control flow, along with the more unique concepts of Blocks, Mixins, Alias Chaining, and Duck Typing. If time allows, we will finish out the course showing off some of Ruby's meta-programming capabilities by creating a framework for customizable zephyrbots.
Web: http://sipb.mit.edu/iap/ruby
Contact: Donald Guy, sipb-iap-ruby@mit.edu
Cosponsor: Electrical Engineering and Computer Science

Caffenated Crash Course in PHP
Steve Levine
Wed Jan 12, 07:30-10:30pm, 4-237

No enrollment limit, no advance sign up
Participants requested to attend all sessions (non-series)
Prereq: basic programming experience and familiarity with HTML encou

Although PHP may not stand for "Programmed Hypertext Pwnage," it just may be that awesome. PHP is a server-side scripting language that is used on millions of websites around the world to dynamically generate websites. In other words, your PHP code generates the HTML that is displayed in your internet browser. This class will be a fast-paced introduction to programming in PHP that will teach you the concepts and uses of the language, as well as take you through several examples.

Some topics to be covered: basic syntax, using PHP to generate websites, accessing MySQL databases, using cookies and sessions, security, PHP extensions such as cURL (for accessing outside websites) and GD (for making images), and more. Some basic programming experience and familiarity with HTML is highly encouraged.
Web: http://sipb.mit.edu/iap/php
Contact: Steve Levine, sjlevine@mit.edu
Cosponsor: Electrical Engineering and Computer Science

Debathena Training
John Reed, Geoffrey Thomas, Elizabeth Denys
Wed Jan 19, Fri Jan 21, 05-10:30pm, 3-133


Interested in learning more about Debathena, or possibly becoming a Debathena developer? Attend this workshop to learn how to build Debian packages, work with the Debathena source repository, and get a behind-the-scenes look at how the Athena environment actually works. The workshop will be held across 2 afternoons, and attendees are strongly encouraged to attend both sessions. Attendees should have some familiarity with Linux and be comfortable with the command line. Knowledge of shell scripting is a plus, but not a requirement. No previous software development experience required. Please bring a laptop with an installation of Debathena, Ubuntu, or Debian. (Virtual machines are fine).

  • Session 1: Debian packaging from
  • Session 2: Athena Archetecture

    An athena hackathon will be held at SIPB the following Saturday.
    Web: http://sipb.mit.edu/iap/#debathena
    Contact: John Reed, sipb-iap-debathena@mit.edu
    Cosponsor: Information Services and Technology

  • Git Will Make Your Life Easier
    Geoffrey Thomas
    Tue Jan 11, Thu Jan 13, 07-09:00pm, 1-115

    No enrollment limit, no advance sign up
    Repeating event. Participants welcome at any session
    Prereq: nontechnical computer literacy (Windows, Mac, or Linux).

    Have you struggled with combining changes across a team of writers e-mailing edited documents back and forth? Or created dozens of "old", "old2", etc. copies of a file for yourself, and then forgot which is which? How do large software projects such as Firefox, Linux, and Athena deal with hundreds of developers and thousands of files? The answer is version control, a software technology that takes the hard work out of managing changes to files. We'll look at Git, a young decentralized version control system that is quickly becoming the standard, and how it can help you manage your own documents, whether just for yourself or for your team.
    Web: http://stuff.mit.edu/iap/2009/git
    Contact: Geoffrey Thomas, W20-557, x3-7788, sipb-iap-git@mit.edu
    Cosponsor: Electrical Engineering and Computer Science

    Hacking a Technical Interview -- Programming Interviews Exposed!!
    Sanjay Vakil, George Madrid
    Mon Jan 10 thru Fri Jan 14, 07-09:00pm, 32-124

    No enrollment limit, no advance sign up
    Participants requested to attend all sessions (non-series)
    Prereq: one MIT programming class or equivalent; 6.006 useful

    Want to work at a consumer web company? There's no need to fear the big thing standing in your way: the interview. This class will help you to prepare and practice for the interview by reviewing common topics and questions so that you'll feel comfortable and confident about being able to answer any question that may be thrown your way.

    The class focuses on computer science topics that frequently come up in programming interviews. It covers time complexity, hash tables, binary search trees, and some other things you might learn in 6.006. We'll also spend time talking about the interview process itself and how to present yourself and answers questions adroitly and fluidly.

    We're also intending to bring in guest speakers: interviewers from local tech firms. You'll be able to ask them questions before you're on the spot.

    If you want a job or internship at a computer science company, make sure you don't miss this class!
    Contact: Sanjay Vakil, sanj@alum.mit.edu
    Cosponsor: Electrical Engineering and Computer Science

    Ham Radio Clue
    Karl Ramm, Matt Goldstein
    Wed Jan 19, 05:30-07:30pm, 4-270

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

    Ever wanted to talk to people in foreign countries without any delay? Does finding a real-life use for your 8.02 skills appeal to you? Do you wish you could coordinate with many friends at the same time at an event? Bouncing your voice off the moon so it can be heard half way around the world sounds like fun? All it takes for a license to do this and more is a short exam which any MIT student should be able to pass without much effort. We'll teach you the extra bits you don't already know and then take you to an official exam session on campus resulting in a license from the FCC. See http://w1mx.mit.edu/ham-exams for a list of what to bring, no registration required.
    Web: http://sipb.mit.edu/iap/#radio
    Contact: Karl Ramm, sipb-iap-radio@mit.edu

    Hands-On Introduction to Web Programming
    HaoQi Li
    Mon Jan 10 thru Fri Jan 14, 09-10:00pm, 1-115

    No enrollment limit, no advance sign up
    Participants requested to attend all sessions (non-series)
    Prereq: Basic knowledge of HTML

    Learn web programming by building your own personal web page, topics include:
    -Web programming tools, set up your scripts hosting
    -HTML + CSS, and design tips
    -JavaScript, jQuery, and AJAX
    -PHP server side
    -MySQL database
    The Room has Athena machines, but you're welcome to bring your own laptop.
    There will also be extra office hours to guarantee that you'll walk away with your dynamic personal web page.
    Web: http://sipb.mit.edu/iap/#webprogramming
    Contact: HaoQi Li, sipb-iap-webprogramming@mit.edu

    Introduction to Latex
    Benjamin Barenblat
    Wed Jan 19, 05-07:00pm, 1-115
    Wed Jan 26, 06-08:00pm, 1-115

    No enrollment limit, no advance sign up
    Repeating event. Participants welcome at any session
    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.

    The room has Athena machines for in-class practice.
    Web: http://sipb.mit.edu/iap/latex/
    Contact: Benjamin Barenblat, sipb-iap-latex@mit.edu
    Cosponsor: Electrical Engineering and Computer Science

    Introduction to Ruby on Rails
    Rajiv Manglani
    Mon Jan 10, 07-08:30pm, 3-133
    Wed Jan 19, 07-09:00pm, 4-237

    No enrollment limit, no advance sign up
    Participants requested to attend all sessions (non-series)
    Prereq: Interest in web application development; familiarity with th

    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.
    Web: http://sipb.mit.edu/iap/rails
    Contact: sipb-iap-rails@mit.ed
    Cosponsor: Electrical Engineering and Computer Science

    Models of computation
    Pavel Panchekha
    Tue Jan 25, Thu Jan 27, 07-09:00pm, 4-237

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

    Everyone knows that the greatest programming language in the world is Haskell. Except of course that it is actually Lisp, and also Prolog, though of course it it Java. Computer Science has a long history of LtU-esque language debates, going back all the way to its inception in the 1930s. This class will cover early models of computation: Turing machines, lambda calculus, and combinators. Just like modern language debates, no one wins, and so we'll cover the equivalence of all of these forms. Some discussion of the influence on modern languages of each of these paradigms will be included.
    Web: http://sipb.mit.edu/iap/models
    Contact: sipb-iap-models@mit.ed

    Processing: Java-Based Art
    Mish Madsen
    Tue Jan 18, 06-09:00pm, 32-124

    Enrollment limited: advance sign up required (see contact below)
    Signup by: 14-Jan-2011
    Limited to 30 participants.
    Single session event
    Prereq: none

    Come for a fun one-session course in Processing, a Media-Lab-developed language oriented around easy syntax and awesome graphic applications. You can bring your own interface- and art- related ideas. You'll get to learn some basic Java syntax as well as Processing-specific graphical commands... start building games, graphic simulations, art projects, and more today.
    Web: http://www.processing.org/
    Contact: Mish Madsen, mish@mit.edu
    Cosponsor: Electrical Engineering and Computer Science

    Programming Perl
    Quentin Smith
    Tue Jan 18, Thu Jan 20, Tue Jan 25, Thu Jan 27, 05-07:00pm, 3-133

    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://sipb.mit.edu/iap/perl/
    Contact: Quentin Smith, quentin@mit.edu
    Cosponsor: Electrical Engineering and Computer Science

    Programming in C
    Bayard Wenzel, Eugene Kuznetsov
    Mon Jan 3, Wed Jan 5, Fri Jan 7, 05-07:00pm, 1-115

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

    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 you are working with.
    Web: http://sipb.mit.edu/iap/c
    Contact: Bayard Wenzel, sipb-iap-c@mit.edu
    Cosponsor: Electrical Engineering and Computer Science

    Programming in Haskell
    Patrick Hurst
    Mon Jan 3, Wed Jan 5, Fri Jan 7, 05-07:00pm, 3-133

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

    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.
    Students are encouraged to bring their own laptop computers to be able to do hands-on exploration during the class.
    Web: http://sipb.mit.edu/iap/haskell
    Contact: Patrick Hurst, sipb-iap-haskell@mit.edu
    Cosponsor: Electrical Engineering and Computer Science

    Programming in Java
    Lyla Fischer
    Tue Jan 11, Thu Jan 13, Tue Jan 18, Thu Jan 20, 05-07:00am, 1-115

    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 Topics:
    Introduction to Java (syntax, variables, methods)
    Object Orientation (inheritance, abstraction, etc.)
    Cross-platform GUIs
    Advanced Java Programming
    Web: http://sipb.mit.edu/iap/java
    Contact: Lyla Fischer, sipb-iap-java@mit.edu
    Cosponsor: Electrical Engineering and Computer Science

    Programming in Postscript
    Bayard W. Wenzel
    Tue Jan 4, Thu Jan 6, Tue Jan 11, Thu Jan 13, 05-06:00am, 3-133

    Participants requested to attend all sessions (non-series)
    Prereq: 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://sipb.mit.edu/iap/2010/postscript
    Contact: Bayard Wenzel, sipb-iap-postscript@mit.edu
    Cosponsor: Electrical Engineering and Computer Science

    Programming in Python
    Andrew Farrell, Karen Sittig
    Tue Jan 4, Thu Jan 6, Tue Jan 11, Thu Jan 13, 06-08:00pm, 4-163

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

    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://sipb.mit.edu/iap/python
    Contact: Andrew Farrell, sipb-iap-python@mit.edu
    Cosponsor: Electrical Engineering and Computer Science

    The GNU Debugger
    Geoffrey Thomas
    Wed Jan 12, 07-09:00pm, 1-115

    No enrollment limit, no advance sign up
    Single session event
    Prereq: Familiarity with C

    GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it executes -- or what another program was doing at the moment it crashed.

    GDB can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act:

    Start your program, specifying anything that might affect its behavior.
    Make your program stop on specified conditions.
    Examine what has happened, when your program has stopped.
    Change things in your program, so you can experiment with correcting the effects of one bug and go on to learn about another.
    Web: http://sipb.mit.edu/iap/gdb
    Contact: sipb-iap-gdb@mit.ed
    Cosponsor: Electrical Engineering and Computer Science

    Web Programming in Python with Django
    Andrew Farrell
    Thu Jan 20, 07-09:00pm, 3-133

    No enrollment limit, no advance sign up
    Single session event
    Prereq: proficiency with HTML, CSS, and Python

    Developed four years ago by a fast-moving online-news operation, Django was designed to handle two challenges: the intensive deadlines of a newsroom and the stringent requirements of the experienced Web developers who wrote it. It lets you build high-performing, elegant Web applications quickly. Django comes with an easy-to-understand templating engine, an Object-relational matter that lets you manipulate your database though interactions with python objects, and an autoconfigured admin interface.

    Bringing your laptop is recommended but not necessary.
    Web: http://sipb.mit.edu/iap/django
    Contact: Andrew Farrell, sipb-iap-django@mit.edu
    Cosponsor: Electrical Engineering and Computer Science

    a tale of two lisps
    Robert McIntyre, Duncan Townsend
    No enrollment limit, no advance sign up
    Participants welcome at individual sessions (series)
    Prereq: None, some programming experience useful

    TL;DR: LISP is awesome. We will convince you why.

    If you want to learn what LISP is all about, then this is the class for you! We will tell you why LISP _really_ is the language you want to program in.
    LISP is a functional programming language with a syntax that easily lends itself to manipulating code as data. It is also one of the oldest programming languages still in widespread use (preceded only by FORTRAN).
    Contact: Robert L McIntyre, sipb-iap-lisp@mit.edu

    History of Lisp
    Robert McIntyre, Duncan Townsend
    We will cover the history of LISP from John McCarthy, through Lisp Machine Lisp, Common Lisp, Scheme, and Clojure. You will see several REPL sessions with historic LISPs, including a working Symbolics 3630 Lisp Machine (new in 1986). You will also see sessions with more modern LISPs: Common Lisp, Dr. Racket, elisp, Clojure, and Scheme. We will discuss the differences between them.
    Tue Jan 18, 07-09:00pm, 4-270

    Clojure
    Robert McIntyre, Duncan Townsend
    Clojure runs on the JVM and can access all the Java libraries. It makes concurrent programming easier by offering Software Transactional Memory, multi-threaded higher order functions like pmap, futures, and atomic data.
    By using structure-sharing for all of its primitives it, also lets you use immutable data structures efficiently. We'll develop a small web app (Dice of Doom by Conrad Barski) to demonstrate this.
    Thu Jan 20, 07-09:00pm, 4-270


    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: 7 Sept. 2011