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 Sponsor

Electrical Engineering and Computer Science

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
Cosponsor: Lincoln Laboratory

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
Cosponsor: Student Information Processing Board

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
Cosponsor: Student Information Processing Board

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
Cosponsor: Computer Science and Artificial Intelligence Lab

Build a Holographic Recording and Reconstruction System\\\\\\\\\\\*
Dr. Robert A. Freking, Dr. Christy F. Cull, Dr. Evan C. Cull, Dr. Matthew R. Fetterman
Mon Jan 30 thru Thu Feb 2, 01-03:00pm, 56-154

Enrollment limited: advance sign up required (see contact below)
Signup by: 20-Jan-2012
Limited to 24 participants.
Participants requested to attend all sessions (non-series)
Prereq: Bring laptop with MATLAB installed. Have MATLAB experience

Most spatial information perceived by living creatures and machines is conveyed by wave propagation, which intrinsically carries a phase component. Even so, machine sensing typically relies exclusively on intensity while entirely ignoring phase relationships. Holography constitutes a method of preserving phase relationships by recording a snapshot of the intensity profile of controlled interference patterns. By so doing, an additional third dimension—depth—is recovered from two-dimensional sampling. This course will demystify holographic interference patterns by showing how to gather and interpret them and recover depth information. Course topics will step through principles enabling you to conceptually appreciate holographic phenomena and understand constraints faced by recording system designers. Then, using sound waves instead of laser light, participants will have an opportunity to compete in teams to develop a real-world measurement system and computationally recover a scene. Measurement devices and MATLAB starter code will be provided. \\\*Work sponsored by the Department of the Air Force under Contract #FA8721-05-C-0002. Content may not be endorsed by the U.S. Government.
Contact: Dr. Robert A. Freking, LIN-A-281, (781) 981-5894, rfreking@ll.mit.edu
Cosponsor: Lincoln Laboratory

Build a Small Phased Array Radar System Capable of Imaging Moving Targets
Dr. Bradley Perry, Dr. Jonathan Paul Kitchens, Dr. Patrick Bell, Dr. Jeffrey Herd
Tue Jan 17, Fri Jan 20, Mon Jan 23, Tue Jan 24, 01-03:00pm, 4-153
Fri Jan 27, 01-03:00pm, 4-149

Enrollment limited: advance sign up required (see contact below)
Signup by: 11-Jan-2012
Limited to 24 participants.
Participants requested to attend all sessions (non-series)
Prereq: Participants supply their own laptops with MATLAB installed

Are you interested in building and testing your own phased array radar system? MIT Lincoln Laboratory is offering a unique course in the design, fabrication, and test of a laptop-based phased array radar sensor capable of imaging moving targets in real-time, like a ‘radar video camera’. This course will appeal to anyone interested in the following: electronics, amateur radio, physics, electromagnetics, or phased array systems. Teams of three will make a phased array radar system and attend five sessions spanning topics from fundamentals of radar to digital beamforming. You will bring your radar into the field and perform imaging of moving targets around campus. Imaging unusual targets is encouraged; a final radar video competition will determine the most creative radar imagery.
\\*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. Bradley Perry, (781) 981-0861, radar.course@ll.mit.edu
Cosponsor: Lincoln Laboratory

Build a Small Radar System Capable of Sensing Range, Doppler, and Synthetic Aperture Radar Imaging
Dr. Bradley Perry, Dr. Melissa Meyer, Dr. Stephen M. Kogon, Dr. Alan Fenn
Tue Jan 17, Fri Jan 20, Mon Jan 23, Tue Jan 24, 10am-12:00pm, 4-153
Fri Jan 27, 10am-12:00pm, 4-149

Enrollment limited: advance sign up required (see contact below)
Signup by: 11-Jan-2012
Limited to 24 participants.
Participants requested to attend all sessions (non-series)
Prereq: Participants supply their own laptop with MATLAB installed

Are you interested in building and testing your own imaging radar system? MIT Lincoln Laboratory is offering a course in design, fabrication, and test of a laptop-based radar capable of forming Doppler, range, and synthetic aperture radar (SAR) images. This course will appeal to anyone interested in the following: electronics, amateur radio, physics, or electromagnetics. Teams of three will receive a radar kit and will attend five sessions spanning topics from fundamentals of radar to SAR imaging. Experiments will be performed as the radar kit is implemented. You will bring your radar into the field and perform experiments such as measuring the speed of passing cars or plotting the range of moving targets. A final SAR imaging contest will test your ability to form a detailed and creative SAR image of a target scene of your choice. The best image wins.
\\*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. Bradley Perry, (781) 981-0861, radar.course@ll.mit.edu
Cosponsor: Lincoln Laboratory

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
Cosponsor: Student Information Processing Board

Caffeinated Crash Course in PHP
Steve Levine
Mon Jan 23, 07:30-09:30pm, 4-231

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

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-iap.scripts.mit.edu/2012/cccphp
Contact: Steve Levine, W20-557, x3-7788, sipb-iap-caffeinatedphp@mit.edu
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
Cosponsor: Student Information Processing Board

Cold Fusion 101: Introduction to Excess Power in Fleischmann-Pons Experiments
Peter Hagelstein
Mon-Fri, Jan 23-27, 30-31, 11am-12:30pm, 4-145 Mon -Thurs, 4-149 Friday

No enrollment limit, no advance sign up

Excess power production in the Fleischmann-Pons experiment; lack of confirmation in early negative experiments; theoretical problems and Huizenga's three miracles; physical chemistry of PdD; electrochemistry of PdD; loading requirements on excess power production; the nuclear ash problem and He-4 observations; approaches to theory; screening in PdD; PdD as an energetic particle detector; constraints on the alpha energy from experiment; overview of theoretical approaches; coherent energy exchange between mismatched quantum systems; coherent x-rays in the Karabut experiment and interpretation; excess power in the NiH system; Piantelli experiment; prospects for a new small scale clean nuclear energy technology.

On 1/30 and 1/31 M. Swartz will discuss results he has obtained from a variety of cold fusion experiments he has done over the years. He has observed excess power in PdD and in NiH experiments; typical energy gains in the range of 2-3 are seen, with a few experiments giving higher energy gain; he has carried out a demonstration of his experiment previously at MIT; and energy produced from cold fusion reactions has been used to drive a Stirling engine.
Contact: Peter Hagelstein, plh@mit.edu

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
Cosponsor: Student Information Processing Board

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

EECS Teaching Assistant Workshop
John Sun
No enrollment limit, no advance sign up
Participants welcome at individual sessions (series)
Prereq: EECS graduate students interested in teaching

Want to improve your teaching skills and your chances of getting a TAship in the future? Please come to the annual EECS TA Workshop. We will have group discussions focused on different aspects of TAing, led by experienced TAs who will share some of the things they wish they had known before they began teaching.

During this first workshop in the series, we will address topics such as the following:
What can I do to ensure that my students learn the material?
How do I write good problem sets and solutions?
How much time does TAing really take?
How do I make progress in my research, keep up in my classes, and do a good job as a TA, all in the same term?

For the second event:
During this second workshop in the series, we will address topics such as the following:
What are the differences between recitations and tutorials?
How do I encourage my students to interact with me and each other?
How much should I prepare and present, and how much time should I devote to answering students' questions?
What are some good uses of office hours?

Dinner provided. Please RSVP at website below.
Web: https://eecsgsa.mit.edu/events/
Contact: John Sun, johnsun@mit.edu
Cosponsor: EECS Graduate Students Association

Basics of TAing
John Sun
What can I do to ensure that my students learn the material?
How do I write good problem sets and solutions? How much time does TAing really take? How do I make progress in my research, keep up in my classes, and do a good job as a TA, all in the same term?
Mon Jan 30, 06-07:30pm, Grier B, 34-401B

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
Cosponsor: Student Information Processing Board

FULL! Acoustics: One-Day Hands-On Speaker Design Workshop
Engineers from Bose! Bose Engineer
Fri Jan 27, 10am-07:00pm, TBD

Enrollment limited: advance sign up required (see contact below)
Signup by: 01-Dec-2011
Limited to 30 participants.
Single session event
Prereq: An engineering lab class

This activity is closed.

Do you love music, but your laptop speakers are not cutting it for you? Then come build your own high-performing speaker system in a free hands-on speaker design workshop with Bose engineers. Think 6.270, but for a speaker and in a single day. You?ll first learn the fundamentals of acoustics theory and transducer electromagnetics. Then using a bucket of supplied parts, you'll apply that learning to build a crossover network and working two-way speaker system, which you get to keep. All you need to bring is your own portable music player with several of your favorite tracks of music, which you'll use to test and demonstrate your speaker.

Sign up soon! First come first served!

This is a COMMITMENT. If you sign up, you are taking
a space away from someone else. Be there!
Web: http://web.mit.edu/cdev2
Contact: iap-acoustics

Facebook Mobile Hack
Jacob Hurwitz
Mon Jan 16, 12-10:00pm, TBD

No limit but advance sign up required (see contact below)
Signup by: 13-Jan-2012
Single session event
Prereq: programming

Three hours of presentations about mobile apps, covering social design and distributing applications via Facebook Mobile Platform. Four hours of hacking with Facebook Engineers will be followed by an awards celebration.
Contact: Jacob Hurwitz, jhurwitz@mit.edu

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
Cosponsor: Institute of Electrical and Electronic Engineers

Getting Your Feet Wet with WordPress
Molly Ruggles
Wed Jan 18, 12-01:00pm, 26-139

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

Have you wanted to explore WordPress but not sure where to begin? Do you think that your lack of skills in html, css and javascript prevents you from creating your own website or blog? Do you secretly want to post your nuggets of wisdom to the world, but not sure where to start? This session is for you.

In this one hour session, you'll get up and running with WordPress, with a basic understanding of themes, widgets, plugins and other fundamental features of one of the best blogging platforms on the planet.

Open to MIT staff and students. You need to have an MIT kerberos ID (ie an @mit.edu email account) in order to participate.
Contact: Molly Ruggles, sipb-iap-wordpress at mit dot edu@mit.edu
Cosponsor: Student Information Processing Board

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
Cosponsor: Student Information Processing Board

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
Cosponsor: Student Information Processing Board

Hidden Secrets of Getting the Perfect Job
Beverly Kahn
Wed Jan 25, 04:30-07:00pm, 32-124

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

We will explore what companies, hiring managers, and human resource personnel expect of you in the interviewing process and how to HELP yourself make the right career decision. This exciting talk is extremely successful and popular each year.

Beverly Kahn founded New Dimensions in Technology (NDT), a Boston-area recruiting firm, over 30 years ago, and has worked successfully to place many MIT students and alums.
Contact: Anne Hunter, anneh@mit.edu

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

Introduction to "Real World" Circuit Design and PCB Layout
Glenn Tournier
Mon Jan 30 thru Thu Feb 2, 06-07:30pm, 32-124

No limit but advance sign up required (see contact below)
Signup by: 20-Jan-2012
Participants requested to attend all sessions (non-series)
Prereq: Basic electronics knowledge

Ever wonder how to actually build the circuits you learn about in class? Want to know why current doesn't always follow the path of least resistance? Learn the processes to take your theoretical design from paper to PCB (printed circuit board). This series of lectures will cover many topics not traditionally taught in the classroom related to the physical implementation of circuits starting with design fundamentals and concluding with a tutorial on performing your own printed PCB layout. Real world implementation concerns such as component selection, power supply decoupling, cabling, mixed signal grounding, proper trace layout, PCB construction, layout software usage, and final file creation will be addressed. Class is ideal for those wanting to build small, reliable circuits for class, research, or fun!
Contact: Glenn Tournier, iap-pcb-layout@mit.edu

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
Cosponsor: Student Information Processing Board

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
Cosponsor: Student Information Processing Board

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
Cosponsor: Student Information Processing Board

Investigating Sherlock Holmes
Daniel Polvere, Member, Baker Street Irregulars
Wed Jan 18, 07:30-09:00pm, 32-141

No enrollment limit, no advance sign up
Single session event

Learn about the life of Sir Arthur Conan Doyle, how Holmes was created and his alternative world, the literary and social phenomenon of Sherlock Holmes then and continuing to the present, film characterizations and finally the "scholarly" societies which have sprung up around the world.
Contact: Anne Hunter, anneh@mit.edu
Cosponsor: Science Fiction Society

MIT Can Talk! Speaking Competition
Tony Eng
Thu Feb 2, 03-05:00pm, 6-120

No limit but advance sign up required (see contact below)
Signup by: 27-Jan-2012
Participants requested to attend all sessions (non-series)

Many great thinkers of the past, the so called "Renaissance Men", excelled in both Engineering/Science and Exposition/Rhetoric/Oration. There is no reason why the MIT engineers and scientists of today, the creative men and women who will be the leaders of tomorrow, cannot do so as well. "MIT Can Talk" promotes campus-wide awareness of good oral communication skills. It consists of: (1) a series of independent workshop sessions on public speaking/oral communication, followed by (2) a speaking competition. The workshops are open to the MIT community, but the contest is open only to MIT undergraduates and MEng students.

Come watch MIT students compete for prizes at the "MIT Can Talk: Speaking Competition". Participants recite 5 minutes worth of material in English that relate to the competition theme for this year. This material can be original, or it can be an excerpt from a speech, a literary work, a poem, a story, etc. Prizes will be awarded by a panel of judges to those who are best able to deliver their material to a live audience. Audience members will also win prizes!

See also the entry for "MIT Can Talk: Workshop Series".
Web: http://web.mit.edu/~tleng/www/mitcantalk/main.html
Contact: Tony Eng, tleng@mit.edu

MIT Can Talk: Workshop Series
Dr. Tony L. Eng
No enrollment limit, no advance sign up
Participants welcome at individual sessions (series)

Many great thinkers of the past, the so called "Renaissance Men", excelled in both Engineering/Science and Exposition/Rhetoric/Oration. There is no reason why the MIT engineers and scientists of today, the creative men and women who will be the leaders of tomorrow, cannot do so as well. "MIT Can Talk" promotes campus-wide awareness of good oral communication skills. It consists of: (1) a series of independent workshop sessions on public speaking/oral communication, followed by (2) a speaking competition. The workshops are open to the MIT community, but the contest is open only to MIT undergraduates and MEng students.

The various workshops address different aspects of speaking and oral communication. They are meant to be practical and hands-on. Sometimes, audience volunteers will be asked to participate in a demonstration; preference will be given to those who have entered the speaking competition.

Check out the website for the most updated information on the workshops and competition!
Web: http://web.mit.edu/~tleng/www/mitcantalk/main.html
Contact: Dr. Tony L. Eng, mitcantalk@mit.edu

Speak and Be Heard
Keely Eastley
Have you ever spoken in a crowd and no one seemed to notice? Do you plan to speak boldly but it falls short of your desired effect? Come and experience the power of your voice and leave with some useful tools.
Thu Jan 26, 01-03:00pm, 50-201

Bringing Words to Life
Dr. Tony L. Eng
When you are reading to an audience, you have access to the text, but the audience doesn't. What are some things that you can do, related to diction and expressiveness, that will help your audience better parse and understand the text? Come found out!
Thu Jan 26, 03:30-05:00pm, 32-124

You Know What I Mean?
Yaniv Erlich
With public speaking, you usually know what ideas/words you want to express/say (the lyrics), but you have to come up with "the music" to express them. This workshop is all about this music, and how the vocal choices you make can intentionally, or unintentionally, add extra dimensions of color, emotion and meaning to your words.
Fri Jan 27, 01-02:30pm, 4-153

Use of Space
Mark Herschberg
All the world's a stage... but some have podiums, others tables; some a big and in front, others are in the middle and at the same level as the audience. What if there's no podium to hide behind? Does where I stand matter? In this workshop we'll learn how to incorporate space in our presentations to add another dimension to public speaking.
Fri Jan 27, 03:30-04:30pm, 4-153

Mental Models
Mark Herrschberg
World class athletes know mental preparation is just as important as physical preparation. The same is true for world class public speakers. In this workshops we'll look at techniques to mentally prepare, and put yourself in the right mental state to deliver. This includes both mental models for success as well as techniques to help with the jitters.
Fri Jan 27, 04:30-05:30pm, 4-153

Wielding Humor
Kevin Duda
While no one can be "taught" to be funny, it sure helps to be able to identify, categorize and use comedy within all forms of communication. In this workshop, you will learn tips on how to best incorporate humor into a speech and be able to work on your feet in a realtime environment. Come and "find your funny." Squares encouraged to attend.
Mon Jan 30, 01-03:00pm, 32-144

The Performance Aspect of Storytelling
Kevin Brooks
The narrative approach of storytelling is a great way to reach an audience. But it's not enough just to relate a story - how do you get an audience to feel something, think and respond? This is the performance aspect of storytelling. Come find out! (Kevin Brooks is also giving another IAP workshop on storytelling, so check out the guide for more information!)
Mon Jan 30, 04-06:00pm, 32-144

Stage Presence
Janet Sonenberg
Some individuals can walk onto stage or into the room, and command an audience's attention without saying a word. This hands-on workshop will address stage presence -- how to be comfortable and confident, have good posture and poise, and manage nerves and anxiety. Standing in front of an audience will no longer be the same!
Tue Jan 31, 01-03:00pm, 32-124

How to be Strong on Stage No Matter What You Do
Mimi Goese
This workshop studies how to be versatile, confident and powerful on stage, in a lecture hall, in front of a camera or any demanding experience in life. (See website for more details!)
Tue Jan 31, 03-06:00pm, 32-124

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
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
Cosponsor: Student Information Processing Board

Open Robotics Laboratory
Michael Boulet, Aaron Enes, Keith Ruenheck, Nicholas Armstrong-Crews
Tue, Fri, Jan 10, 13, 17, 20, 24, 27, 31, 3, 09:30-11:00am, 8-205

Enrollment limited: advance sign up required (see contact below)
Signup by: 23-Dec-2011
Limited to 14 participants.
Participants requested to attend all sessions (non-series)

A hands-on introduction to applied robotics sponsored by MIT Lincoln Laboratory. Thanks to open source robotics libraries and inexpensive robot platforms, creating advanced robot capabilities has never been easier. Learn how to use the popular ROS robotics libraries and a small ground robot equipped with a Kinect sensor to demonstrate behaviors like person following, patrolling, exploration, and map-making. The course will focus on selecting, integrating, and tuning existing software packages with some high-level discussion of the underlying robotics technologies. No robotics experience is necessary, but some familiarity with the Linux and an interest in programming robots in C++ or Python operating system will be useful. Teams of two or three will share access to an off-the-shelf robot system throughout IAP. Participants will be challenged to demonstrate a creative or novel robot application in a YouTube-like video. \\*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: Michael Boulet, MITLL, (781) 981-4751, boulet@ll.mit.edu
Cosponsor: Lincoln Laboratory

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
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
Cosponsor: Student Information Processing Board

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
Cosponsor: Student Information Processing Board

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
Cosponsor: Student Information Processing Board

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
Cosponsor: Student Information Processing Board

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
Cosponsor: Student Information Processing Board

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
Cosponsor: Student Information Processing Board

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

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
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
Cosponsor: Student Information Processing Board

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
Cosponsor: Student Information Processing Board

System-on-a-Chip (SOC) Design Competition
Clark Della Silva
Mon Jan 9, 10am-05:00pm, 34-101
Tue Jan 10 thru Thu Jan 12, 10am-05:00pm, 34-301
Fri Jan 13, 10am-05:00pm, 34-401B

Enrollment limited: first come, first served
Signup by: 08-Jan-2012
Limited to 60 participants.
Participants requested to attend all sessions (non-series)
Prereq: 6.004 or 6.111 recommended

Teams comprised of 2-5 students will compete in an System on a Chip (SoC) design competition using FPGA development boards. The goal of the competition is to design an FPGA-based processor with associated peripherals and memory components around a provided ARM Cortex-M0 DesignStart core, along with associated software to demonstrate a correctly working system. The competition will use Digilent development boards with Xilinx FPGAs. Example themes will be provided, but the competition will be
completely open-ended and teams are encouraged to use their own ideas for their systems. Lectures and workshops will be provided by ARM, Xilinx, Digilent, and MIT during the first week of the competition to get teams started. This is the first ever processor design contest using a full
instruction set compatible ARM core.

Final Presentations, 2/3, 4 PM, 32-141.
Contact: Clark Della Silva, clarkds@mit.edu
Cosponsor: Student Information Processing Board

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
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
Cosponsor: Student Information Processing Board

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
Cosponsor: Student Information Processing Board

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
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

Web Programming in Python with Django
Andrew Farrell, Steve Levine, Maria Rodriguez
Fri Jan 20, 05-07:00pm, 4-231

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: Student Information Processing Board

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
Cosponsor: Student Information Processing Board

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
Cosponsor: Student Information Processing Board


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