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 2012 Activities by Category

Computers: Software and Systems

3D Manipulation of 2D Images
Dr. Peter L. Cho, Alexandru N. Vasile
Tue Jan 10, Fri Jan 13, Tue Jan 17, Fri Jan 20, 12-01:30pm, 56-154

Enrollment limited: advance sign up required (see contact below)
Signup by: 06-Jan-2012
Limited to 20 participants.
Participants requested to attend all sessions (non-series)
Prereq: MATLAB and/or linux experience helpful. See description.

Billions of digital images are being collected each year. But current hardware abilities for gathering electronic pictures far exceed conventional software capacities for organizing and searching these data. In this course, we survey recent advances in computer vision which utilize 3D geometry to manipulate 2D imagery. As we'll see, geometry-based approaches to image processing coupled with internet-scale computing imply many neat, new applications.

Each class will begin with a theoretical overview and end with a computer lab. The primary topics for the 4 sessions are multi-view geometry, automatic feature matching, panorama formation and 3D reconstruction. During the computer labs, students will work with open-source and commercial software in order to calibrate cameras, extract SIFT features, form mosaics and generate 3D point clouds from multiple photos.

This work is sponsored by the Department of the Air Force under Air Force Contract #FA8721-05-C-0002. Opinions, interpretations, conclusions and recommendations are those of the authors and are not necessarily endorsed by the United States Government.
Contact: Dr. Peter L. Cho, LIN-S3-300, (781) 981-2802, cho@ll.mit.edu
Sponsor: Lincoln Laboratory
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: The ability to appreciate true beauty

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). The first class will cover the history of LISP from John McCarthy's original S-expressions, 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. The second class will cover one of the newest additions to the LISP family, Clojure. Clojure is "LISP reloaded" and designed to run on the Java Virtual Machine and leverage all of the libraries accessible from Java. It makes concurrent programming on today's multi-core processors easier by offering Software Transactional Memory, multi-threaded higher order functions like pmap, futures, and atomic data. We'll develop a small web application (the Dice of Doom game from Land of Lisp by Conrad Barski, MD) using Clojure to demonstrate these concepts.
Contact: Robert L McIntyre, sipb-iap-lisp@mit.edu
Sponsor: Student Information Processing Board
Cosponsor: Electrical Engineering and Computer Science

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 17, 07pm-09:00am, 4-237

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 19, 07-09:00pm, 4-237

Advanced C
David Greenberg, Ivan Sergeev
Mon Jan 30, 07-09:30pm, 4-231

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

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, we'll also go over when you might want to get closer to the hardware, and how to go about using those gcc-specific features.
Contact: sipb-iap-advc@mit.ed
Sponsor: Student Information Processing Board
Cosponsor: Electrical Engineering and Computer Science

Advanced Desktop Application Development on the NetBeans Platform
Eirik Bakke, Geertjan Wielenga
Fri Jan 27, Sat Jan 28, Sun Jan 29, 10:30am-06:30pm, 32-D463 (Star)

No limit but advance sign up required (see contact below)
Participants requested to attend all sessions (non-series)
Prereq: Java programming experience

Want to develop a cross-platform desktop application of any significant size or complexity? Learn to use the NetBeans Platform! Distinct from its more well-known associated IDE, the NetBeans Platform is an open-source (CDDL/GPL) Java-based framework that provides your application with advanced GUI features such as tabbed documents, toolbars, dockable panes, property sheets, autocompleting editors, options dialogs, keyboard shortcuts, progress bars for background tasks, and full-screen mode, as well as countless libraries for dealing with common desktop application tasks such as automatic software updates, internationalization, file system interaction, diagram drawing, and persisting user data to disk. NetBeans Platform applications can be distributed with native installers for Windows, MacOS, and Linux, or launched directly from the Web.

This course is a three-day workshop taught by Geertjan Wielenga from Oracle/Sun Microsystems. It features about 50/50 lectures and in-class exercises on your laptop. Pizza lunch provided.

Graduate students and faculty are especially welcome; the NetBeans Platform is well-suited for building many kinds of research application.
Web: http://www.mit.edu/~ebakke/netbeansiap
Contact: Eirik Bakke, ebakke@mit.edu
Sponsor: Electrical Engineering and Computer Science
Cosponsor: Computer Science and Artificial Intelligence Lab

Become a Data & Internet Planning Ninja
Rob Goodspeed
No enrollment limit, no advance sign up
Participants welcome at individual sessions (series)

Looking to develop your data and technology skills? Are you seeking to share your experience or get advice about a planning or analysis problem? Want to discuss the value of a particular technology or technique? Participate in any or all of these student-driven workshops to learn about and discuss data sources, analysis, and web-based technologies for urban planning and research.
Contact: Rob Goodspeed, rgoodspe@mit.edu
Sponsor: Urban Studies and Planning

Transforming Data into Information
Kerry Spitzer & Eric Schultheis
This seminar will explore how you can use descriptive statistics to create information from data. Participants will use real-world data source(s) and off-the-shelf software to craft a narrative using quantitative data. We will pay particular attention to how the choice of descriptive statistic
shapes a narrative's legitimacy and content.
Mon Jan 30, 10am-12:00pm, 9-450A

GIS for Justice: Spatial Data Analysis in Social Justice Advocacy
Eric Schultheis
This seminar will introduce participants to how social justice advocates
use GIS in practice. The seminar will focus on how GIS (ArcMap) is used by
civil rights, anti-poverty, and equity activists to support their advocacy
agendas. In addition, this seminar will discuss how advocates can leverage
visualization, scale, and the spatial aggregation to support their advocacy
efforts.
Mon Jan 30, 03-05:00pm, 9-450A

Low-Cost Online Community Engagement Tools
Jase Wilson, MCP ‘08
This hands-on workshop will cover how to set up a low-cost website for
community engagement. In just a few simple steps, learn how to create a
website to disseminate information, gather feedback, interpret results and
collaboratively write policies. Includes a discussion of WordPress, Google Forms, Google Fusion Tables + charts API, Wordpress plugins.
Tue Jan 31, 10am-12:00pm, 9-450A

Crowdsourcing Tools for Public Participation in Planning
Rob Goodspeed
New online tools for “crowdsourcing” have exploded in the field of planning. Learn how these
tools work and how they can be incorporated into planning projects.
Includes examples of how they have been used by cities, states, and federal
agencies. Presentation will include a discussion of tools for ideas or
feedback (IdeaScale, Spigit, UserVoice, MindMixer, ChangeByUs) and spatial
comments (Ushahidi/CrowdMap).
Tue Jan 31, 01-03:00pm, 9-450A

Data and Methods for Analyzing Labor Markets
Amy Glasmeier
Tue Jan 31, 03-05:00pm, 9-450A

Urban Data Management and Visualization
David Quinn
Software: R, QGIS.
Learn how to gain new insights from urban data through the use of spatial analysis and visualization techniques. Participants will learn methods for exploring datasets and creating visualizations in a hands-on environment. We will also discuss how to generate maps using scripting. Please fill out this form before the workshop:
tinyurl.ie/dusp_viz
Wed Feb 1, 10am-12:00pm, 9-450A

Web-Based Mapping and Data Visualization
David Quinn
Software: QGIS, OpenLayers, Google Fusion
Tables.
Web-based mapping and visualizations are a useful means of sharing
information. Participants will learn how to create customized web maps and
display data within a browser so that a user can interact with the data
presented. Please fill out this form before the workshop:
tinyurl.ie/dusp_viz
Wed Feb 1, 01-04:00pm, 9-450A

Building Blocks for Building Large Scale Analytics Software Systems
Andrew Lamb, 6-2 02, MEng 03 Technical Staff, Vertica Systems
Tue Jan 24, 04-05:00pm, 32-124

No enrollment limit, no advance sign up
Single session event
Prereq: interest in large scale analytic software systems

In this talk, Andrew Lamb will talk about the choices made when building a large scale, commercial, distributed database system. Topics will include topology, disk layout, processing pipelines, and computation models. The talk will last for about 30 minutes followed by Q&A with the speaker. If there is sufficient interest, a group dinner will follow the talk.
Contact: Andrew Lamb, 6-2 02, MEng 03, aalamb@alum.mit.edu
Sponsor: Electrical Engineering and Computer Science
Cosponsor: Student Information Processing Board

Code Injection for Fun and Profit
Rian Hunter
Tue Jan 24, 07-09:00pm, 4-237

No enrollment limit, no advance sign up
Single session event

Ever since Dropbox has launched it has had deep integration with the Finder, Apple's file manager for Mac OS X. What most people don't know is that Apple doesn't actually provide any APIs for third-parties to integrate with the Finder. In this talk I'll explain the low-level code injection techniques & exploits used on Mac OS X to get the Finder to include Dropbox in the toolbar, sidebar, context menu, and over each file icon.
Web: http://sipb.mit.edu/iap
Contact: Rian Hunter, rian@dropbox.com
Sponsor: Student Information Processing Board
Cosponsor: Electrical Engineering and Computer Science

Crowdcomputing Challenge : Building Next Generation Global Community Service
Andrei Villarroel , Research Affiliate (MIT CCI), Joshua Introne
Fri Jan 20, 05-09:00pm, NE25-746
Sat Jan 21, 09:30am-08:30pm, NE25-746
Sun Jan 22, 09:30am-06:00pm, NE25-746

Enrollment limited: first come, first served
Signup by: 14-Jan-2012
Limited to 30 participants.
Participants requested to attend all sessions (non-series)
Prereq: Programming skills, innovative and entrepreneurial spirit!

Harness the "power of the crowds" to solve a problem of great value to society, for which there are no government resources to dedicate, and no private profits to entice businesses to solve them. YOU WIN!

1. Motivation
Society is avidly embracing new ‘crowdcomputing platforms’ that enable near real-time assembly of distributed resources held by large numbers of people dispersed throughout the planet. The purposeful online assembly of vast amounts of individual contributions into meaningful collective outcomes results in the generation of novel and unprecedentedly valuable assets for human kind. Amazon Mechanical Turk unveiled the first general-purpose human computer, offering an API to automate the process of distributing work to large numbers of people around the world. Many programmatic tools to tap these resources are becoming available, which we will provide you with. Our ability to design human-computing systems with global reach is being greatly simplified.
2. Challenge
Envision the new possibilities brought about by “crowdcomputing” systems, and turn vision into reality.
3. Prize
Have fun, learn, and win a summer internship in Europe!
Web: http://www.crowdcomputingchallenge.info
Contact: Andrei Villarroel, NE25-751C, (617) 299-1477, andreiv@mit.edu
Sponsor: Juan Andrei Villarroel Fernandez, NE25-792, 617 299-1477, andreiv@mit.edu

Data Management in Stata
Ista Zahn, Statistical Trainer, Harvard-MIT Data Center
Fri Jan 27, 01-03:00pm, 1-115

Enrollment limited: advance sign up required (see contact below)
Signup by: 25-Jan-2012
Limited to 23 participants.
Single session event
Prereq: Familiarity with Stata (such as the Intro. workshop). Note:

Topics covered include basic data manipulation commands such as: recoding variables, creating new variables, working with missing data, and generating variables based on complex selection criteria. Participants will be introduced to strategies for merging datasets (adding both variables and observations), and collapsing datasets. Prerequisite: a general familiarity with Stata (such as taking the Intro. workshop).

Please register at: http://info-libraries.mit.edu/events/.
Contact: Katherine McNeill, E53-168c, x3-0787, mcneillh@mit.edu
Sponsor: Libraries

Debathena Training
Geoffrey Thomas
Wed Jan 18, 05-10:30pm, 4-237
Fri Jan 20, 06-10:30pm, 4-237

No enrollment limit, no advance sign up
Participants requested to attend all sessions (non-series)
Prereq: athena/linux poweruser and have some programming experience

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: Geoffrey Thomas, sipb-iap-debathena@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Information Services and Technology

  • Debian/Ubuntu Bug Squashing Party
    Luke Faraone
    Wed Jan 11, 02-11:00pm, W20-557

    No enrollment limit, no advance sign up

    From 2 pm until late evening, there will be a Debian/Ubuntu bug-squashing hackathon at the SIPB office.

    This is an opportunity both to get a little more familiar with the systems that many SIPB projects build on, and to give back to them and the larger free software community. We're currently in the beta process of Ubuntu's next release, as well as in the middle of the development cycle of Debian's. SIPB previously ran this sort of hackathon in August and October (as well as several times prior), and it's been popular and has gotten good work done. We're hoping to do that again.

    We'll have a couple of Debian and Ubuntu developers to help you with understanding how these projects work and to help get fixes into Debian and Ubuntu.

    If you're looking to get involved with a SIPB project that uses Debian or Ubuntu and particularly Debian packaging, I especially encourage you to come, as this will be a good chance to learn more about packaging and potentially to help these projects by getting some of our local fixes upstream. As with all SIPB hackathons, we'll be getting snacks and dinner. We hope to see you there!
    Contact: Luke Faraone, sipb-iap-bsp@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    Design and Exploration of Computer Architecture Using the Heracles Multicore System
    Michel Kinsy
    Tue Jan 17, Wed Jan 18, Thu Jan 19, Tue Jan 24, Wed Jan 25, 11am-12:30pm, 4-149

    Enrollment limited: advance sign up required (see contact below)
    Signup by: 15-Jan-2012
    Limited to 12 participants.
    Participants requested to attend all sessions (non-series)
    Prereq: programming in C and C++; familiar with Verilog

    The goal of this IAP class is to perform multi-core and many-core architectures design space exploration using the Heracles Multicore System infrastructure. Heracles is an open-source complete multicore system written in Verilog. It is fully parameterized and can be reconfigured and synthesized into different topologies and sizes. It comes with a C toolchain for software development. During the class we will examine different implementation choices: core microarchitecture, levels of caches, cache sizes, routing algorithm, router micro-architecture, distributed or shared memory, or network interface, and evaluate their impact on the overall system performance.

    Please bring a charged laptop with windows installed
    Contact: Michel Kinsy, mkinsy@mit.edu
    Sponsor: Electrical Engineering and Computer Science

    Dr. Matlab---An introductory course to Matlab via Mathematics and vice versa
    Yossi Farjoun
    Mon, Fri, Jan 9, 13, 20, 23, 27, 30, 3, 09:30-11:30am, 37-312

    Enrollment limited: advance sign up required (see contact below)
    Limited to 25 participants.
    Participants requested to attend all sessions (non-series)

    Matlab is a powerful programming language that is used in both research and industry. Its ease of use and extensive collection of code libraries allow users to try out ideas, visualize the results, and get feedback quickly.

    In this intense (non-credit), class students will learn the basics of Matlab programming by using it to explore mathematical objects and ideas through computation. The course will be project-based with some projects done in class and some as homework.

    The class is intended for students with no programming experience, and intends to help them integrate Matlab and other programming into their studies and work. No knowledge of advanced mathematics required!
    Contact: Yossi Farjoun, 2-334, x3-7775, yfarjoun@math.mit.edu
    Sponsor: Mathematics

    Emacs for Beginners
    Isaac Evans
    Mon Jan 16, 05-06:00pm, 1-115

    Single session event
    Prereq: Use of a text editor that is not Emacs

    Are you using IDLE, nano, pico, Notepad++, Word, or (shudder) Notepad to edit documents and programs? Cast away your clumsy editor and begin your quest to master Emacs, the ultimate text editor. Since 1976.
    Contact: Isaac Evans, sipb-iap-emacs@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    FMUG - FileMaker Report Makeover
    Peggy Conant, Cecilia Marra, Bronwen Heuer, Stu Dietz
    Thu Jan 26, 01-03:00pm, 4-153

    No enrollment limit, no advance sign up
    Single session event

    MIT supports FileMaker users on campus through a number of different resources. We’d like to give MIT FileMaker users the chance to get to know the faces of that team at this FileMaker User Group (FMUG) sponsored session. Drawing on the team’s expertise, the Makeover event will provide MIT FileMaker users with some real-world solutions to reporting problems. To do this we need your help. Until January 5 we will be reviewing submissions of FileMaker reporting problems from members of the MIT community to use as examples at the session.

    Submissions: Please send an email describing your reporting issues to dcad-dbupdate@mit.edu by January 5. Although we may not be able to use all of the submissions, we promise to respond to your issues with some suggested next steps.
    Attachments: We’ll get back to you if we require supporting files. Please, do not send attachments. We will be careful not to expose sensitive data at this public forum and we will protect the source of submissions if requested to do so by you.
    Contact: FMUG Coordinator, W92-114RC, x5-5142, dcad-dbupdate@mit.edu
    Sponsor: Information Services and Technology

    First Annual Intercollegiate Code Wars
    David Thielen, Windward Software
    Sat Jan 28, 10-07:00am, 6-120, Grand final 9:30 PM, 6-120

    Enrollment limited: advance sign up required (see contact below)
    Signup by: 09-Jan-2012
    Limited to 60 participants.
    Single session event
    Prereq: programming and algorithms background preferred

    The MIT event in the Windward Intercollegiate Code Wars. Competing colleges so far include Cornell, Harvey Mudd, UIUC, Purdue, Wisconsin, and of course, MIT! The college-level competition will run from 10 to 6, when the MIT play-offs will begin. The national final will run over the Internet at 9:30 PM EST. All MIT students and faculty are eligible to form teams of 2-5 and compete! Snacks provided all day. Each team writes an AI in any language to play a game against the other teams.
    For additional technical information please go to the url.
    Trophies will be presented to team members on the winning team from each school and a grand trophy to the winning team overall. Let's make sure that's an MIT team!
    Web: http://www.windward.net/code_war.php
    Contact: David Thielen,, codewars@windward.net
    Sponsor: Electrical Engineering and Computer Science
    Cosponsor: Institute of Electrical and Electronic Engineers

    Geographic Information Systems (GIS) Workshops
    GIS staff
    Enrollment limited: advance sign up required (see contact below)
    Signup by: 19-Jan-2012
    Participants welcome at individual sessions (series)

    MIT GIS Services will be offering a series of workshops to introduce the MIT community to Geographic Information Systems and the world of Digital Mapping. Workshops typically combine lectures about concepts with hands-on exercises. Register for these workshops at: http://bit.ly/GIS-IAP-2012 Check the GIS Services website for the most up to date information about this IAP GIS workshop series.
    Web: http://libraries.mit.edu/gis/teach/current-workshops.html
    Contact: GIS staff, 7-238, x8-6680, gishelp@mit.edu
    Sponsor: Geographic Information Systems Lab
    Cosponsor: Libraries

    Energy Information: Maps and data to use with GIS
    GIS Staff
    Where are the power plants and the pipelines? How close are they to population centers? In this session, MIT GIS Services will introduce you to energy maps and spatial data available, and demonstrate GIS in action on the energy front.
    Cosponsor: MIT Energy Initiative
    Thu Jan 19, 04-05:00pm, 14N-132

    Introduction to Geographic Information Systems (GIS)
    GIS staff
    Learn the basics of visualizing and analyzing geographic information and creating your own maps in a GIS. We will introduce concepts and let attendees choose to work through exercises using ESRI ArcGIS (proprietary) and/or Quantum GIS (QGIS) (open source). Learn to work with data from the MIT Geodata Repository, analyze the data and create maps that can be used in reports and presentations. (This workshop offered twice.)
    Fri Jan 20, Mon Jan 23, 02-04:00pm, 14N-132

    GIS Level 2
    GIS Staff
    Expand your experience with GIS software and learn how to create and edit GIS files, geocode addresses onto a map, reproject data and use tools like clip, buffer, spatial join. PreReq: Participants should take the Introduction to GIS or have previous experience using ArcGIS.
    Tue Jan 24, 02-04:00pm, 14N-132

    Discovering and Using US Census Data
    GIS staff
    The US Census holds an enormous amount of demographic information dating back to 1790. Come learn about what is in the US Census and some tools that are available through the MIT Libraries for finding and working with Census Data.
    Wed Jan 25, 02-04:00pm, 14N-132

    Introduction to Spatial Statistics using GIS
    GIS Staff
    Have you ever wondered how your data are distributed? Are there patterns? Are features dispersed or clustered? Where is the center of your features? This course will combine lecture and hands-on exercises to introduce participants to basic statistical tools that can be used to analyze spatial data.
    Thu Jan 26, 02-04:00pm, 14N-132

    Using Elevation Data and Hydrographic Tools in a GIS
    GIS staff
    Learn to read a topographic map and how to use a digital elevation model to create contour lines and do hydrographic analysis. PreReq: Participants should take the Introduction to GIS or have previous experience using ArcGIS.
    Mon Jan 30, 02-04:00pm, 14N-132

    Integrating Map APIs into your website and Using Google Fusion Tables
    GIS Staff
    This session offers a hands on opportunity for integrating online maps into your website, from both Google Maps and OpenStreetMap, and using Google Fusion tables. Some familiarity with HTML, XML, any modern programming language will make this workshop easier but is not required.
    Tue Jan 31, 02-04:00pm, 14N-132

    GIS Institute
    GIS Staff
    A 3 day program of intensive training in GIS, this program is designed for the MIT student and research community who want to learn spatial analysis and apply GIS methods in their research. Participants should take the Introduction to GIS or have previous experience using GIS. Apply online at: http://bit.ly/GIS-Institute-2012.
    Wed Feb 1, Thu Feb 2, Fri Feb 3, 10am-04:00pm, GIS Lab 7-238, Rotch

    Git Will Make Your Life Better
    Geoffrey Thomas
    Tue Jan 10, Thu Jan 12, 08-10:00pm, 4-231

    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.
    Contact: Geoffrey Thomas, W20-557, x3-7788, sipb-iap-git@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    Graphics in Stata
    Ista Zahn, Statistical Trainer, Harvard-MIT Data Center
    Fri Feb 3, 01-03:00pm, 1-115

    Enrollment limited: advance sign up required (see contact below)
    Signup by: 31-Jan-2012
    Limited to 23 participants.
    Single session event
    Prereq: Familiarity with Stata (such as the Intro. workshop). Note:

    Graphs are a powerful and memorable means of communicating quantitative information. This hands-on class will provide a comprehensive introduction to graphics in Stata. Topics for the class include graphing principles, descriptive graphs, and post-estimation graphs. Prerequisite: a general familiarity with Stata (such as taking the Intro. workshop).

    Please register at: http://info-libraries.mit.edu/events/.
    Contact: Katherine McNeill, E53-168c, x3-0787, mcneillh@mit.edu
    Sponsor: Libraries

    Hacking a Technical Interview -- Programming Interviews Exposed!!
    Sanjay Vakil, George Madrid
    Tue Jan 17 thru Fri Jan 20, 08-10:00pm, 32-144

    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
    Sponsor: Electrical Engineering and Computer Science
    Cosponsor: Student Information Processing Board

    How to Process, Analyze and Visualize Data
    Adam Marcus, Eugene Wu
    Mon-Thu, Jan 9-12, 17-18, 11am-02:00pm, 32-144

    No limit but advance sign up required (see contact below)
    Signup by: 08-Jan-2012
    Participants requested to attend all sessions (non-series)
    Prereq: 6.00 or 6.01 or prior python

    Data science! Big data! Statistics! Infographics! Buzzword!

    In this class you will learn to:

    - Take raw data (e.g., friend graph, tweets, click logs)
    - Extract meaningful information
    - Use statistics and database tools
    - Make visualizations

    If there's time, we'll show you how to crank through particularly large or dirty datasets using frameworks like MapReduce and tools like Amazon's Mechanical Turk.

    This course is heavily hands-on. Each class will present a short demo or introduction of a new data processing technique, and spend the rest of the time applying it to actual data.

    Pizza will be served!
    Web: http://tinyurl.com/dataiap
    Contact: Adam Marcus, dataiap@csail.mit.edu
    Sponsor: Electrical Engineering and Computer Science

    Introduction to LaTeX
    Benjamin Barenblat
    Wed Jan 18, 25, 05-07: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.
    Contact: Benjamin Barenblat, W20-557, x3-7788, sipb-iap-latex@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    Introduction to LabVIEW
    William Grover
    Tue Jan 17, 03-04:30pm, 76-259

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

    LabVIEW is a graphical programming language used to control experiments and acquire data. This is a "crash course" for folks who have little or no previous experience with LabVIEW. I'll explain the basic structure of LabVIEW code and write some simple programs to control hardware and analyze data. You'll learn everything you need to know to begin using LabVIEW in your own research.

    Please register by emailing me at wgrover@mit.edu so I'll be able to inform you of any last minute information or changes.
    Contact: William Grover, 76-221, 253-2482, wgrover@mit.edu
    Sponsor: William Grover, 76-221, 617 253-2482, wgrover@mit.edu

    Introduction to Latex
    Benjamin Barenblat
    Wed Jan 18, 05-07:00pm, TBD
    Wed Jan 25, 07-09:00pm, TBD

    No enrollment limit, no advance sign up
    Participants welcome at individual sessions (series)
    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
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    Introduction to R (Statistical Software)
    Ista Zahn, Statistical Trainer, Harvard-MIT Data Center
    Tue Jan 24, 01-04:00pm, 1-115

    Enrollment limited: advance sign up required (see contact below)
    Signup by: 20-Jan-2012
    Limited to 23 participants.
    Single session event
    Prereq: No previous experience with R is required.

    Get an introduction to R, the open-source system for statistical computation and graphics available on Athena. With hands-on exercises, learn how to import and manage datasets, create R objects, and generate figures. Novices welcome! Note: Current MIT faculty, students, and staff only.

    Please register at: http://info-libraries.mit.edu/events/.
    Contact: Katherine McNeill, E53-168c, x3-0787, mcneillh@mit.edu
    Sponsor: Libraries

    Introduction to R for Data Analysis and Graphing
    Tony Smith-Grieco
    Thu Jan 26, 02-04:00pm, 8-205

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

    An introduction to the R system, focused on basic data manipulation and graphing. No prior experience with R is required.

    I will not discuss the statistics capabilities of R at length; if that is your primary interest, you may be better off attending another class, such as "R and Statistics".

    Format: 45 min. lecture, followed by 1 hour of lab time / question time

    Please bring a laptop and your own datasets! This class will not include any exercises. Rather, I invite people to work as individuals or in small groups with their own datasets during the lab time, and I can answer specific questions.
    Contact: Tony Smith-Grieco, tsgrieco@mit.edu
    Sponsor: Anthony N Smith-Grieco, E19-429HA, 617 715-4576, tsgrieco@mit.edu

    Introduction to Ruby on Rails
    Rajiv Manglani
    Wed Jan 18, 25, 07-09:00pm, 1-115

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

    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.
    NOTE: Class was originally listed as being on the 9th and 18th; it has now been updated to the correct dates of the 18th and 25th.
    Web: http://sipb.mit.edu/iap/rails
    Contact: sipb-iap-rails@mit.ed
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    Introduction to SAS (Statistical Software)
    Ista Zahn, Statistical Trainer, Harvard-MIT Data Center
    Fri Jan 27, 09am-12:00pm, 1-115

    Enrollment limited: advance sign up required (see contact below)
    Signup by: 25-Jan-2012
    Limited to 23 participants.
    Single session event
    Prereq: No previous experience with SAS is required.

    This course is intended for individuals with little to no experience using SAS, a powerful statistical software package available on Athena. With hands-on exercises, explore SAS's many features and learn how to import, and manage your data in SAS. Novices welcome! Note: Current MIT faculty, students, and staff only.

    Please sign up at: http://info-libraries.mit.edu/events/.
    Contact: Katherine McNeill, E53-168c, x3-0787, mcneillh@mit.edu
    Sponsor: Libraries

    Introduction to Stata (Statistical Software)
    Ista Zahn, Statistical Trainer, Harvard-MIT Data Center
    Tue Jan 24, 09am-12:00pm, 1-115

    Enrollment limited: advance sign up required (see contact below)
    Signup by: 20-Jan-2012
    Limited to 23 participants.
    Single session event
    Prereq: No previous experience with Stata is required.

    This workshop is designed for individuals who have little or no experience using Stata software. You will learn how to navigate Stata’s graphical user interface, create log files, and import data from a variety of software packages. We will also share tips for getting started with Stata including the creation and organization of do-files, examining descriptive statistics, and managing data and value labels. Note: Current MIT faculty, students, and staff only.

    Please register at: http://info-libraries.mit.edu/events/.
    Contact: Katherine McNeill, E53-168c, x3-0787, mcneillh@mit.edu
    Sponsor: Libraries

    MOOSE Software Training
    Ben Forget, Kord Smith
    Tue Jan 10, Wed Jan 11, Thu Jan 12, 08am-05:00pm, 3-370

    Enrollment limited: first come, first served
    Participants requested to attend all sessions (non-series)

    Systems of coupled, nonlinear partial differential equations often arise in simulation of nuclear processes. MOOSE: Multiphysics Object Oriented Simulation Environment, a parallel computational framework targeted at solving these systems, is presented. As opposed to traditional data-flow oriented computational frameworks, MOOSE is founded on the mathematical principle of Jacobian-free Newton-Krylov (JFNK) solution methods. Utilizes the mathematical structure present in JFNK, physics are modularized into "kernels" allowing for rapid production of new simulation tools. In addition, systems are solved fully coupled and fully implicit employing physics based preconditioning which allows for great flexibility even with large variance in time scales. A summary of the mathematics, an inspection of the structure of MOOSE, and several representative solutions from applications built on the framework are presented.
    Contact: Ben Forget, 24-214, 253-1655, bforget@mit.edu
    Sponsor: Nuclear Science and Engineering

    Mobile Health in Developing Countries: Sana and OpenMRS
    Eric Winkler
    Sun-Sat, Jan 26, 28-3, 10am-12:00pm, 56-180

    No limit but advance sign up required (see contact below)
    Participants welcome at individual sessions (series)
    Prereq: None

    The interactive sessions will focus on the Sana Android client and our extensions to OpenMRS, a widely used open source medical records system. Sana is currently looking to expand and refine the available features we provide in both of areas.
    Web: http://sana.mit.edu/wiki/index.php?title=2012_IAP/Winter_Session
    Contact: Eric Winkler, winkler.em@gmail.com
    Sponsor: SANA
    Cosponsor: Health Sciences & Technology

    Mobile Virtualization: Smartphones with Multiple Personalities
    Steve Muir Technical Staff, VMware, Harvey Tuch, Prashanth Bungale
    No enrollment limit, no advance sign up
    Participants welcome at individual sessions (series)

    There is a historic shift occurring today, where smartphones and tablets are overtaking PCs as the dominant end user computing platforms. Another key technology, virtualization, has achieved a huge impact on the industry over the past decade in data centers and desktops. This course will present an introduction to the essentials of virtualization technology from the perspective of VMware's Mobile Virtualization Platform (MVP) group.

    The course will cover the systems and architecture concepts behind virtualization in general and techniques for core and device virtualization on mobile platforms. A focus will be given to the ARM architecture, the platform behind billions of embedded and mobile devices. We will focus on the wider solution space and explore tradeoffs when developing virtualization techniques, while providing concrete examples from the MVP hypervisor.
    Contact: Steve Muir, smuir@vmware.com
    Sponsor: Electrical Engineering and Computer Science
    Cosponsor: Student Information Processing Board

    Introduction to Virtualization & ARM CPU Virtualization
    Steve Muir Technical Staff, VMware, Harvey Tuch, Prashanth Bungale
    Virtualization enables an operating system to run other operating systems as applications- Windows on OS X or Linux, or multiple virtual machines on one physical server. It is now being applied to smartphones in VMware's Mobile Virtual Platform. Reviews benefits of virtualization, techniques for virtualizing CPU and memory, such as binary translation and hardware enhancements, and details of ARM virtualization.
    Mon Jan 23, 10am-12:00pm, 32-124

    Mobile Devices and Application-Level Virtualization
    Steve Muir Technical Staff, VMware, Harvey Tuch, Prashanth Bungale
    Virtualization of smartphones and tablets requires handling of a wide range of I/O devices. This lecture explains the challenges, solution space and implementation details of a subset of devices in VMware's MVP. It also covers application-level virtualization in mobile devices, and includes optional exercises to gain hands-on experience on Android phones and tablets.
    Wed Jan 25, 03-05:00pm, 32-144

    Modern Programming Language Design
    Pavel Panchekha
    Mon Jan 23, 05-07:00pm, 4-231

    Single session event
    Prereq: Strong experience programming

    At some point in the early fifties, a bright chap had the idea of replacing inscrutible numbers with mnemonics and syntax: assembler was invented, and the idea of a programming language was born. Today, the field of programming languages is vaster and richer than ever before: functional, object-oriented, distributed, typed, dynamic, logic, and metasyntactic languages all vie for attention. This class will cover the main ideas of modern language design: typing, macros, constraint-solving, proofs and correctness, and extensibility and dynamism. Some implementation ideas will be discussed, but mostly the focus will be on these ideas from the point of view of the language designer and researcher, not from the point of view of the compiler and interpreter writer.
    Contact: Pavel Panchekha
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    Online Registration Training
    Brian Canavan
    Fri Jan 27, 11am-12:00pm, 4-153

    No enrollment limit, no advance sign up
    Single session event

    All students, academic advisors and registration officers will utilize MIT's Online Registration system starting in the Spring 2012 term. This session will demonstrate the new system for advisors, students and staff.
    Contact: Brian Canavan, 5-135, x3-7653, bcanavan@mit.edu
    Sponsor: Registrar's Office

    Online Registration Training
    Brian Canavan
    Wed Jan 18, 02-03:00pm, 4-149

    No enrollment limit, no advance sign up
    Single session event

    All students, academic advisors and Registration Officers will utilize MIT's Online Registration system starting in the Spring 2012 term. This session will demonstrate the new system for advisors, students and staff.
    Contact: Brian Canavan, 5-135, 253-7653, bcanavan@mit.edu
    Sponsor: Registrar's Office

    Processing: Java-Based Art
    Mish Madsen
    Sun Jan 29, 02-05:00pm, 32-155

    Enrollment limited: first come, first served
    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
    Sponsor: Electrical Engineering and Computer Science
    Cosponsor: Student Information Processing Board

    Programming Perl
    Quentin Smith
    Tue Jan 24, Thu Jan 26, Fri Jan 27, 07-09:00pm, 4-231

    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.
    Contact: Quentin Smith, quentin@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    Programming in C
    Bayard Wenzel, Eugene Kuznetsov
    Mon Jan 23, Wed Jan 25, Fri Jan 27, 07-09:00pm, 4-237

    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
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    Programming in Haskell
    Patrick Hurst
    Mon Jan 23, Wed Jan 25, Fri Jan 27, 07-08:30pm, 4-237 (updated)

    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.
    Web: http://sipb.mit.edu/iap/haskell
    Contact: Patrick Hurst, sipb-iap-haskell@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    Programming in Java
    Lyla Fischer
    Mon Jan 9, Tue Jan 10, Thu Jan 12, 05-07:00pm, 1-115

    No enrollment limit, no advance sign up
    Participants welcome at individual sessions (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
    Contact: Lyla Fischer, sipb-iap-java@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    Programming in Postscript
    Bayard W. Wenzel
    Tue Jan 17, Thu Jan 19, Tue Jan 24, Thu Jan 26, 05-06:00pm, 1-115

    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
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    Programming in Python
    David Lawrence
    Tue Jan 10, Thu Jan 12, Tue Jan 17, Thu Jan 19, 07-09:00pm, 1-115

    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, cool functional language features and debugging. Basic experience with programming in any language will make the class much more helpful; it is highly recommended. Bring your laptop. You should install python on it beforehand, preferably python2.7 You should also have a text editor of your choice. the easiest thing to do is just to install IDLE
    Contact: David Lawrence, sipb-iap-python@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    Python World! An Evening with Jacob Kaplan-Moss, Frank Wiles, and Alex Gaynor
    Jessica McKellar MIT Alumna
    Wed Jan 25, 07-10:00pm, 32-155

    No enrollment limit, no advance sign up
    Single session event
    Prereq: Keen interest in Python

    These three luminaries from Django, PyPy, and the Python
    world in general will be in town for an informal panel discussion. The discussion will be wide-ranging, authoritative, opinionated, illuminating, and entertaining. Bring any and all topics!
    Contact: Jessica McKellar, jessica.mckellar@gmail.com
    Sponsor: Electrical Engineering and Computer Science

    R Programming
    Ista Zahn, Statistical Trainer, Harvard-MIT Data Center
    Wed Feb 1, 01-04:00pm, 1-115

    Enrollment limited: advance sign up required (see contact below)
    Signup by: 30-Jan-2012
    Limited to 23 participants.
    Single session event
    Prereq: Familiarity with basic programming concepts such as looping,

    This hands-on, advanced R course will guide users through a variety of programming techniques in the open-source statistical software program, R.

    Prerequisites: Familiarity with basic programming concepts such as looping, conditional branching, classes, and functions.

    Topics covered will include:
    - Blocks, loops, functions, if/then statements
    - Objects and lists
    - Timing and random variable generating functions
    - Using C, C++, and Fortran functions
    - Interactive batch use
    - Debugging: traceback, debugger
    - Memory and time profiling: Rprof, proftools, profr
    - Using Parallelism: Rmpi, Snow, calling R from Python

    Note: Current MIT faculty, students, and staff only. Please register at: http://info-libraries.mit.edu/events/.
    Contact: Katherine McNeill, E53-168c, x3-0787, mcneillh@mit.edu
    Sponsor: Libraries

    R and Statistics
    Ista Zahn, Statistical Trainer, Harvard-MIT Data Center
    Wed Feb 1, 09am-12:00pm, 1-115

    Enrollment limited: advance sign up required (see contact below)
    Signup by: 30-Jan-2012
    Limited to 23 participants.
    Single session event
    Prereq: Knowledge of certain statistical tests, see description.

    This hands-on, advanced R course will demonstrate a variety of statistical procedures using the open-source statistical software program, R. Prerequisites: Familiarity with the following statistical processes (the course will teach only how to run those processes in R):
    - Regression models (linear, logistic, poisson, etc.)
    - Multilevel modeling
    - Multiple imputation
    - Running analyses with multiply imputed datasets

    Note: Current MIT faculty, students, and staff only. Please register at: http://info-libraries.mit.edu/events/.
    Contact: Katherine McNeill, E53-168c, x3-0787, mcneillh@mit.edu
    Sponsor: Libraries

    Regression Using Stata
    Ista Zahn, Statistical Trainer, Harvard-MIT Data Center
    Fri Feb 3, 10am-12:00pm, 1-115

    Enrollment limited: advance sign up required (see contact below)
    Signup by: 31-Jan-2012
    Limited to 23 participants.
    Single session event
    Prereq: Familiarity with Stata and the OLS linear regression model.

    This hands-on class provides a comprehensive introduction to estimating the linear regression model using ordinary least squares in Stata. Topics for the class include multiple regression, dummy variables, interaction effects, hypothesis tests, and model diagnostics. Prerequisites: General familiarity with Stata (including importing and managing datasets and data exploration) and knowledge of the linear regression model and ordinary least squares estimation.

    Please register at: http://info-libraries.mit.edu/events/.
    Contact: Katherine McNeill, E53-168c, x3-0787, mcneillh@mit.edu
    Sponsor: Libraries

    Relational Database Management System and Internet Application Programming
    Philip Greenspun
    Mon Jan 30, Tue Jan 31, Wed Feb 1, 10am-07:00pm, 1-390, lunch/coffee breaks included

    Participants requested to attend all sessions (non-series)
    Prereq: programming experience (any language) and a laptop

    After this course, you'll:
    -know why the relational database management system (RDBMS) is the foundation for most multi-user Internet applications, e.g., Amazon.com, and for most business information systems
    -understand a bit about the internals of the RDBMS and how popular systems manage the challenge of processing updates from hundreds of simultaneous concurrent users
    -know the differences in capabilities between free RDBMSes, such as MySQL and PostgreSQL, and enterprise RDBMSes, such as Oracle and SQL Server
    -know how to build multi-user application for the Web and for iPhone and Android smartphones

    Not limited to MIT students.
    Optional pre-class reading list available at the course website.

    Teacher: Philip Greenspun has been developing RDBMS-backed Internet applications since 1994 and started photo.net, an online community with more than 5 million monthly visitors, while an MIT EECS grad student. He co-authored Software Engineering for Internet Applications and has taught 6.001, 6.002, 6.003, 6.041, and 6.171.
    Web: http://philip.greenspun.com/teaching/rdbms-iap-2012
    Contact: Philip Greenspun, philg@mit.edu
    Sponsor: Electrical Engineering and Computer Science
    Cosponsor: Student Information Processing Board

    Ruby on Rails
    Rajiv Manglani
    Wed Jan 18, 25, 07-09:00pm, TBD

    No enrollment limit, no advance sign up
    Participants requested to attend all sessions (non-series)
    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.
    Contact: Rajiv Manglani, sipb-iap-rails@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    Secure Coding in C
    Eleftherios Ioannidis
    Tue Jan 31, 05-08:00pm, 4-231

    Single session event
    Prereq: Strong experience programming

    In this class we will demonstrate some common buffer and stack overflow exploits and how to avoid them in your own code. We will discuss common pitfalls when programming for both Windows, Linux and BSD based operating systems and finally, we'll make an introduction to the CERT secure coding standards.
    Topics include:
    - Common buffer/stack overflow exploits and how to avoid them
    - Shellcode injection
    - How to avoid security risks
    - Secure C coding standards
    Contact: Eleftherios Ioannidis, sipb-iap-secure@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    The C++ 2011 Standard: What's New?
    Jason Merrill, Technical Staff, Red Hat
    Mon Jan 9, 08-09:30pm, 32-124

    No enrollment limit, no advance sign up
    Prereq: Knowledge of C++

    Jason Merrill has been working on the GNU C++ compiler
    for 18 years, and on the language standard committee for much of that time. In this talk he will discuss the newly ratified C++ 2011 standard, notable changes relative to the 1998 standard, and the experience of implementing the new features for the G++ compiler.

    Jason is also a local actor and a gamer.
    Contact: Anne Hunter, anneh@mit.edu
    Sponsor: Electrical Engineering and Computer Science
    Cosponsor: Student Information Processing Board

    The GNU Debugger
    Geoffrey Thomas
    Mon Jan 30, 05-07:00pm, 4-231

    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
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    The Internet Shouldn't Work: Networking 101
    Jessica McKellar, Jessica Hamrick
    Mon Jan 23, 05-07:00pm, 1-115

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

    Come learn about what actually goes on in our favorite series of tubes! We'll discuss the Internet's history, structure, and protocols, with demos and hands-on experiments.

    Demos include:
    - sniffing our wireless traffic with Wireshark
    - be your own web browser with telnet
    - spoofing e-mails
    - ARP cache poisoning

    Bring a laptop so you can play with some of the utilities we'll be using.
    Web: http://sipb.mit.edu/iap
    Contact: Jessica McKellar, sipb-iap-internet@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    The MathWorks Sessions
    Jim Cain
    Enrollment limited: advance sign up required (see contact below)
    Signup by: 08-Jan-2012
    Limited to 50 participants.
    Participants welcome at individual sessions (series)
    Prereq: Prior MATLAB helpful

    Learn more about how you can use MathWorks products as a flexible environment for technical computing and application development in engineering, math, and science curricula and research. Attend as many sessions as you wish.

    Also cosponsored by The Student Information Processing Board.

    For detailed information about the sessions and presenters, go to url below.
    Web: http://www.mathworks.com/company/events/seminars/mit_iap12/
    Contact: Lauren Tabolinsky, lauren.tabolinsky@mathworks.com
    Sponsor: Electrical Engineering and Computer Science
    Cosponsor: Office of Educational Innovation and Technology

    Parallel Computing with MATLAB
    Sarah Zaranek PhD and Jiro Doke, PhD, The Mathworks
    Overcome the memory limits of your desktop computer and solve problems that require manipulating very large matrices by distributing your data. Solve computationally and data-intensive problems using multicore processors, GPUs, and computer clusters.
    Mon Jan 23, 10am-12:30pm, 4-163

    Advanced Graphics and Visualization in MATLAB
    Sumit Tandon, Application Engineering, The MathWorks
    Visualizing multidimensional data, viewing images, and manipulating graphics in MATLAB, techniques for customizing graphical displays, creating animations, and creating publication-quality graphics. Loading, processing, and viewing large images and data and visualizing higher dimension data with advanced 3D objects in a virtual reality environment.
    Mon Jan 23, 01:30-03:30pm, 4-163

    Introduction to MATLAB: Problem Solving and Programming
    Laura Proctor, Kye Taylor, Training Engineers The MathWorks
    MATLAB essential for classes or research. You’ll learn how to write a MATLAB script and create a report in HTML or some other format. You’ll also learn how to write your own MATLAB functions, use flow control, and create loops.

    By the end of the session, you’ll have learned to create an application in MATLAB.

    Bring a laptop to this hands-on lab!
    Tue Jan 24, 01-05:30pm, 4-163

    Mathematical Modeling with MATLAB
    Loren Shure, PhD, Principal MATLAB Developer, The MathWorks
    Find out how you can use MATLAB and related products for your mathematical modeling tasks.

    Highlights include:
    Predicting responses using regression trees;
    Creating models derived from first principles;
    Identifying parameters that optimize system performance;
    Simulating models and developing custom post-processing routines; and
    Generating reports to document model derivation and simulation results.
    Wed Jan 25, 10am-12:30pm, 4-163

    How Basic Communication Theory Turns into a 4F Wireless Systems Model in MATLAB
    Houman Zarrinkoub, PhD, Senior Product Manager, The MathWorks
    Highlights include:
    Modeling, simulation, and visualizing the performance of the communications system in MATLAB;
    Using Communications System Toolbox™ to incorporate components such as modulators, channel models, convolutional and turbo encoder/decoder, MIMO, and OFDM into your model; System-level throughput analysis with adaptive modulation based on channel characteristics.
    Wed Jan 25, 01:30-04:30pm, 4-163

    Introduction to Object-Oriented Programming in MATLAB
    Abhishek Gupta, Application Engineer, The MathWorks
    Learn to define classes and work with objects and highlight the benefits of this programming approach over traditional procedural techniques. Features covered include class definitions, properties, property attributes, methods, method attributes, and inheritance.

    No knowledge of object-oriented programming is required.
    Thu Jan 26, 10am-12:00pm, 4-163

    Computer Vision with MATLAB
    Bruce Tannenbaum, Technical Marketing Manager The MathWorks
    Computer vision uses images and video to detect, classify, and track objects or events in order to understand a real-world scene. New capabilities for computer vision R&D in Computer Vision System Toolbox™ and additional toolboxes, automatic image registration and stereo image rectification with feature-based methods and texture classification algorithms.

    Some experience with MATLAB and Image Processing Toolbox assumed.
    Thu Jan 26, 01:30-03:30pm, 4-163

    Applied Curve Fitting with MATLAB
    Richard Willey, Technical Marketing Manager, The MathWorks
    This session focuses on functions and algorithms in Statistics Toolbox and Optimization Toolbox™:
    Nonparametric regression in low- and high-dimensional spaces; Sequential feature selection; Cross validation; Regularization techniques including lasso and ridge regression; and Logistic regression.

    The session assumes a basic working knowledge of MATLAB, but advanced knowledge of statistics is not required.
    Fri Jan 27, 10am-12:00pm, 4-163

    Writing Kernel Exploits
    Keegan McAllister
    Fri Jan 27, 05-07:00pm, 4-231

    Single session event
    Prereq: Experience with C on \*NIX is important. x86 assembly is hel

    Did you know that a NULL pointer can compromise your entire system? Do you know how UNIX pipes, multithreading, and an obscure network protocol from 1981 are combined to take over Linux machines today? OS kernels are full of strange and interesting vulnerabilities, thanks to the subtle nature of systems code. And the kernel's ultimate authority is the ultimate prize for an attacker.

    In this talk you will learn how kernel exploits work, with detailed code examples. Compared to userspace, exploiting the kernel requires a whole different bag of tricks, and we'll cover some of the most important ones. We will focus on Linux systems and x86 hardware, though most ideas will generalize. We'll start with a few toy examples, then look at some real, high-profile Linux exploits from the past two years.

    You will also see how to protect your own Linux machines against kernel exploits. We'll talk about the continual cat-and-mouse game between system administrators and those who would attack even hardened kernels.
    Web: http://sipb.mit.edu/iap
    Contact: Keegan McAllister, sipb-iap-kernel@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science

    x86 Assembly Primer for C Programmers
    Ivan Sergeev
    Tue Jan 24, Thu Jan 26, 05-07:00pm, 4-231

    Participants requested to attend all sessions (non-series)
    Prereq: Intermediate C

    A solid grasp of assembly language makes you a better programmer.

    Understanding assembly gives you:
    - insight into the true cost of high-level language operations
    - (is modulus % cheap? when is it and when is it not?)
    - a keen understanding of how program memory is managed and manipulated
    - ability to debug at the lowest level, which means you can catch the subtlest of bugs
    - ability to utilize processor-specific instructions that squeeze the most out of every clock cycle and available processor features
    - the appreciation of time / space advantages that different compiler optimization settings can yield
    - a fluency with low-level detail that makes it easy to pick up new computer architectures

    Come to the x86 Assembly Primer and get a full introduction into x86 assembly language, program memory, stack frames, system calls, the role of libc, some of the convoluted nuances of x86, and some comparisons to another architecture(ARM). Enhance your quest in becoming a systems programming ninja here!

    Platform: strictly x86-32 GNU/Linux, gcc toolchain.
    Assembly Syntax: AT&T/GAS.
    Contact: Ivan Sergeev, sipb-iap-x86@mit.edu
    Sponsor: Student Information Processing Board
    Cosponsor: Electrical Engineering and Computer Science


    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