MIT: Independent Activities Period: IAP

IAP 2013 Activities by Sponsor - Student Information Processing Board

= Add activity session to your calendar (exports in iCalendar format)
Expand All | Collapse All


3 Day Startup Entrepreneurship Program

Cassandra Cortez Cano

Enrollment: Limited: Advance sign-up required
Sign-up by 01/07
Attendance: Participants must attend all sessions

3 Day Startup (“3DS”) is an academic program designed to teach entrepreneurial skills in an extreme hands-on environment and enable students to start companies. The 3DS program creates a living entrepreneurship laboratory on university campuses by bringing together students ranging from freshmen to freshly-minted PhDs, with diverse backgrounds, including computer science, business, engineering, law, design, communications and others.

Participants gain experience in cross-disciplinary collaboration, brainstorming and ideation, and group productivity, including ad-hoc leadership and decision-making under severe time constraints. The resulting experience is just like that of working with a budding startup company.

The 2000+ 3DS alumni from 40 events over the last three years have started over 33 technology companies that have collectively raised over $8.5 million in investment capital. The weekend is designed with two specific goals in mind: kick-start new student-run companies and build entrepreneurial capabilities in students and their university communities.

To register go to http://training.rackspace.com/iap by January 7, 2013.

Sponsor(s): Electrical Engineering and Computer Science, Student Information Processing Board
Contact: Cassandra Cortez-Cano, cassandra.cano@rackspace.com


Jan/18 Fri 02:00PM-11:45PM 32-155
Jan/19 Sat 12:00AM-11:45PM 32-155
Jan/20 Sun 12:00AM-09:00PM 32-155

Cassandra Cortez Cano


A Tale of Two LISPs

Robert McIntyre, Duncan Townsend

Enrollment: Unlimited: No advance sign-up
Attendance: Participants welcome at individual sessions
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. We will discuss the differences between these LISPs. 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. Clojure also lets you program using immutable data structures efficiently by using structure-sharing for all of its basic data types. We'll show you some cool real world examples of Clojure libraries so you can get a feel for the language.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Robert L McIntyre, sipb-iap-lisp@mit.edu


History of LISP

Jan/21 Mon 09:30PM-11:00PM 4-231

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.


Clojure

Jan/23 Wed 09:30PM-11:00PM 4-231

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.


Advanced C

David Greenberg (Two Sigma), Trammell Hudson (Two Sigma)

Jan/15 Tue 05:00PM-07:00PM 4-231
Jan/16 Wed 05:00PM-07:00PM 4-231

Enrollment: Unlimited: No advance sign-up
Attendance: Participants requested to attend all sessions
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.

Topics covered in the first session will include:

 

Topics covered in the second session will include:

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: David Greenberg, sipb-iap-advc@mit.edu


Building Blocks for Building Large Scale Analytics Software Systems

Andrew Lamb, 6-2 02, MEng 03

Jan/10 Thu 06:00PM-07:00PM 32-141

Enrollment: Unlimited: No advance sign-up
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.

Sponsor(s): Electrical Engineering and Computer Science, Student Information Processing Board
Contact: Andrew Lamb, aalamb@alum.mit.edu


Building Cross-Platform Desktop Software in Python

David Euresti (Dropbox)

Jan/29 Tue 05:00PM-06:00PM 4-237

Enrollment: Unlimited: No advance sign-up

One of the biggest surprises that people get from Dropbox is when they find out that the Desktop Client is written almost entirely in Python.  Come find out how with the help of some awesome libraries Dropbox is able to support Windows (from 2000 all the way to 8), Mac (From Tiger to Mountain Lion) and many flavors of Linux all from the same code base.

 

This class is one of six being offered by MIT alumni who currently work at Dropbox.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: David Euresti, sipb-iap-dropbox@mit.edu


Building High Performance Web Applications

Rajeev Nayak (Dropbox)

Jan/31 Thu 05:00PM-06:00PM 4-237

Enrollment: Unlimited: No advance sign-up

Learn how to build complex web applications that are fast and responsive. We'll cover a bunch of tips and tricks, including:

 

 

This class is one of six being offered by MIT alumni who currently work at Dropbox.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Rajeev Nayak, sipb-iap-dropbox@mit.edu


Caffeinated Crash Course in PHP

Steve Levine

Jan/17 Thu 05:00PM-07:00PM 4-231

Enrollment: Unlimited: No advance sign-up
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.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Steve Levine, W20-557, x3-7788, sipb-iap-caffphp@mit.edu


Caffeinated Crash Course in Ruby

Ben Weissmann

Jan/15 Tue 08:00PM-11:00PM 4-231

Enrollment: Unlimited: No advance sign-up
Prereq: Some familiarity with some scripting language

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

In a quick 3 hour course I will take you through a nearly-complete tour of the Ruby language including such standbys as syntax, data structures, class creation, and control flow, along with the more unique concepts of blocks/functional programming, mixins, method aliasing, and duck typing. If time allows, we will explore Ruby metaprogramming to do frightening things such as implement roman numeral literals, and perhaps look at Sinatra, a Ruby web microframework.

Participants should try to have Ruby 1.9 and RubyGems installed on their systems before coming to the session so we can get started right away. On Mac/Linux, use RVM (https://rvm.io) to install Ruby; on Windows, use RubyInstaller (http://rubyinstaller.org/). To confirm that you've got ruby correctly installed, type "irb" at a terminal, confirm that you enter Ruby's REPL, and then check the version, like this:

 

ben@ceviche:~$ irb

ruby-1.9.3-p194 :001 > RUBY_VERSION

 => "1.9.3" 

 

Come to class a little early if you need help getting set up.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Ben Weissmann, sipb-iap-caffruby@mit.edu


Debathena Training

Jonathan Reed

Jan/23 Wed 07:00PM-09:30PM 4-237

Enrollment: Unlimited: No advance sign-up
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. 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).

An athena hackathon will be held at SIPB the following Saturday.

Sponsor(s): Information Services and Technology, Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Jonathan Reed, sipb-iap-debathena@mit.edu


Debian/Ubuntu Bug Squashing Party

Luke Faraone

Jan/26 Sat 01:00PM-11:59PM W20-557

Enrollment: Unlimited: No advance sign-up

From 1 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. SIPB ran this sort of hackathon several times in the past, 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!

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Luke Faraone, sipb-iap-bsp@mit.edu


Emacs for Beginners

Isaac Evans

Jan/21 Mon 08:00PM-09:00PM 4-231

Enrollment: Unlimited: No advance sign-up
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.

Vi enthusiasts: you are welcome to teach your own class.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Isaac Evans, sipb-iap-emacs@mit.edu


Fun and Useful Objective-C Runtime and iOS Hacks

Will Stockwell (Dropbox)

Jan/29 Tue 06:30PM-07:30PM 4-231

Enrollment: Unlimited: No advance sign-up
Prereq: Familiarity with iOS development recommended

There are all kinds of fun and useful ways to mess with iOS! The iOS team at Dropbox is here to talk about a few that we particularly enjoy. Swizzles, invocation forwarding, view inspection and injection, oh my!

 

This class is one of six being offered by MIT alumni who currently work at Dropbox.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Will Stockwell, sipb-iap-dropbox@mit.edu


Get Your Ham Radio License

Amy Yu

Jan/15 Tue 05:30PM-07:30PM 2-139
Jan/17 Thu 05:30PM-07:30PM 2-139

Enrollment: Unlimited: No advance sign-up
Attendance: Participants requested to attend all sessions

License Exam: Wednesday 23 January, 7:30 PM, 1-150
http://w1mx.mit.edu/ham-exams

Ham radio is a fun hobby and a useful skill to have during emergencies or for event coordination. This class will familiarize you with the basic knowledge necessary to pass the 35 question exam for the entry level (Technician) ham radio license. Special emphasis will be given to topics with which MIT students are less likely to have prior familiarity (ie FCC regulations), and strategies presented for efficiently learning answers to the "rote-memorization" questions. Presentations will also include resources for learning more about ham radio, an overview of entry-level equipment, and examples of things that you can do with your new license, including weather spotting (SKYWARN), emergency response, internet / satellite radio and APRS, and ham radio contesting. Students will be invited to participate in the ARRL January VHF contest (January 19-21) with the MIT Radio Society. Attendance at both sessions is strongly recommended but not required.

Sponsor(s): Student Information Processing Board, Radio Society
Contact: Amy Yu, sipb-iap-radio@mit.edu


Hacking a Software Interview -- Mastering Programming Interview Questions

Sanjay Vakil, Jeff Moore

Jan/22 Tue 05:30PM-07:30PM 32-144
Jan/23 Wed 06:30PM-08:30PM 32-144
Jan/24 Thu 06:30PM-08:30PM 32-144
Jan/25 Fri 06:30PM-08:30PM 32-144

Enrollment: Unlimited: No advance sign-up
Attendance: Participants welcome at individual sessions
Prereq: one MIT programming class or equivalent; 6.006 useful

Ever wanted to work at a company like Google, TripAdvisor, Apple, or Facebook? There's just one thing standing in your way: the interview. But there's no need to fear. We've mastered the interview questions and topics, and we want to show you how you can nail every programming question. Whether you're a beginning programmer or a seasoned expert, this class is for you. 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.046. However, most of the time is devoted to topics you won't learn in class, such as crafty bitwise logic and tricks to solving problems. If you have any interest in working at a computer science company, make sure you don't miss this class!

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Sanjay Vakil, sanj@alum.mit.edu


Hacking Python to Include Custom Syntax in Pyxl

Daniel Wheeler (Dropbox)

Jan/14 Mon 08:00PM-09:00PM 4-231

Enrollment: Unlimited: No advance sign-up

Come learn a hack for extending python's interpreter to include custom syntax, and see it applied in pyxl, an opensource library that lets you include inline html right inside .py files. Hear why Dropbox uses it in place of traditional templating languages. Topics include modularity, code reuse and security against injection attacks.

 

This class is one of six being offered by MIT alumni who currently work at Dropbox.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Dan Wheeler, sipb-iap-dropbox@mit.edu


Introduction to Athena

Andrew Farrell

Jan/07 Mon 08:00PM-09:30PM 1-115
Jan/22 Tue 08:30PM-10:00PM 1-115

Enrollment: Limited: First come, first served (no advance sign-up)
Attendance: Repeating event, particpants welcome at any session

Athena is the computing environment at MIT. Like a network of blood vessels reaching out to, connecting, and bringing life to every cell of campus, Athena is of the highest importance and understanding how to work with it is critical to being productive at MIT. Unfortunately, many people at MIT don't know the first thing about working with Athena. No one ever teaches you about it in the daily class-psets-food-sleep cycle. This is that missing class. In this class, you'll learn the basics of the Linux command line along with the most important MIT-specific services that make Athena unique. Additionally, you'll learn how to write short scripts to save time. This class will teach you how to work with Athena to make your life easier, stay connected with friends, and improve your interactions with computers at MIT. If the words "finger", "blanche", and "zephyr" don't mean anything special to you, then you must take this class!

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Andrew Farrell, sipb-iap-athena@mit.edu


Introduction to LaTeX

Megan Belzner

Jan/22 Tue 05:00PM-08:00PM 1-115
Jan/24 Thu 05:00PM-08:00PM 1-115

Enrollment: Unlimited: No advance sign-up
Attendance: Repeating event, particpants 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.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Megan Belzner, W20-557, x3-7788, sipb-iap-latex@mit.edu


Introduction to Ruby on Rails

Andrew Farrell

Jan/16 Wed 08:00PM-10:00PM 4-231
Jan/17 Thu 08:00PM-10:00PM (CANCELED)

Enrollment: Unlimited: No advance sign-up
Attendance: Participants requested to attend all sessions
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.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Andrew Farrell, sipb-iap-rails@mit.edu


Introduction to RubyMotion

Rajiv Manglani

Jan/28 Mon 08:00PM-10:00PM 4-231
Jan/30 Wed 07:00PM-09:00PM 4-231

Enrollment: Unlimited: No advance sign-up
Attendance: Participants requested to attend all sessions
Prereq: Some familiarity with iOS or Ruby development suggested.

RubyMotion is a revolutionary toolchain for iOS. It lets you quickly develop and test native iOS applications for the iPhone and iPad. RubyMotion apps are written in Ruby and use all the same Cocoa Touch APIs and frameworks as those written in Objective-C. Applications are compiled, run at full speed on iOS hardware, and can be submitted to Apple's App Store. RubyMotion runs on OS X and is a commercial product. Come to the class then decide if it is the right technology to use for your next iOS application. We will explore the history of the project, tour the framework, and build a functioning app.

If you plan on attending, please RSVP to sipb-iap-rubymotion@mit.edu.

Course information available at http://sipb.mit.edu/iap/rubymotion/

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Rajiv Manglani, sipb-iap-rubymotion@mit.edu


Modern Programming Language Design

Pavel Panchekha

Jan/23 Wed 07:00PM-09:00PM 4-231

Enrollment: Unlimited: No advance sign-up
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.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Pavel Panchekha, sipb-iap-language@mit.edu


More Data Than Your Body Has Room For

Shaunak Kishore (Dropbox)

Jan/31 Thu 06:30PM-07:30PM 4-231

Enrollment: Unlimited: No advance sign-up

Ben Bitdiddle expected thousands of users...he has millions! Unfortunately, he doesn't know exactly how many people have signed up, because his analytics systems can't keep up with the load. You don't have to be in this position! In this talk, we'll see how to combine a number of open-source big-data technologies to create analytics infrastructure that a small team can manage.

 

This class is one of six being offered by MIT alumni who currently work at Dropbox.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Shaunak Kishore, sipb-iap-dropbox@mit.edu


Programming in C

Eugene Kuznetsov, Bayard Wenzel

Jan/07 Mon 05:00PM-07:00PM 1-115
Jan/09 Wed 05:00PM-07:00PM 1-115
Jan/11 Fri 05:00PM-07:00PM 1-115

Enrollment: Unlimited: No advance sign-up
Attendance: Participants requested to attend all sessions
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.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Bayard Wenzel, sipb-iap-c@mit.edu


Programming in Haskell

Patrick Hurst

Jan/21 Mon 05:00PM-06:30PM 4-231
Jan/23 Wed 05:00PM-06:30PM 4-231
Jan/25 Fri 05:00PM-06:30PM 4-231

Enrollment: Unlimited: No advance sign-up
Attendance: Participants requested to attend all sessions
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.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Patrick Hurst, sipb-iap-haskell@mit.edu


Programming in Perl

Quentin Smith

Jan/08 Tue 08:00PM-10:00PM 4-231
Jan/09 Wed 08:00PM-10:00PM 4-231
Jan/10 Thu 08:00PM-10:00PM 4-231

Enrollment: Unlimited: No advance sign-up
Attendance: Participants requested to attend all sessions
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 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.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Quentin Smith, sipb-iap-perl@mit.edu


Programming in PostScript

Bayard W. Wenzel

Jan/25 Fri 07:00PM-08:00PM 4-237
Jan/28 Mon 05:00PM-06:00PM 4-237
Jan/30 Wed 05:00PM-06:00PM 4-237
Feb/01 Fri 05:00PM-06:00PM 4-237

Enrollment: Unlimited: No advance sign-up
Attendance: Participants requested to attend all sessions
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.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Bayard Wenzel, sipb-iap-postscript@mit.edu


Programming in Python

Nathan Arce, Luke O'Malley

Jan/08 Tue 05:00PM-07:00PM 1-115
Jan/10 Thu 05:00PM-07:00PM 4-237
Jan/11 Fri 07:30PM-09:30PM 4-237

Enrollment: Unlimited: No advance sign-up
Attendance: Participants requested to attend all sessions

What's that you say? You don't know how to program!? Then this is the course is for you!

Python is a remarkably beautiful and easy-to-learn programming language. Despite it's simplicity, it is extremely powerful, and you'd be surprised to hear who's using it. Notable users include: Google, Youtube, Dropbox, NASA, reddit, and many more! In this course, you'll learn the basics of programming through interactive use of the Python programming language. Before you know it, you'll be writing code and ready to start attacking your own problems head on.

Know how to program already? Great, come see what Python has to offer!

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Nathan Arce, sipb-iap-python@mit.edu


Training for OpenStackTM

Cassandra Cano, Juan Montemayor, Tony Campbell

Jan/14 Mon 06:00PM-09:00PM 32-124
Jan/15 Tue 06:00PM-09:00PM 32-124
Jan/16 Wed 06:00PM-09:00PM 32-124
Jan/17 Thu 06:00PM-09:00PM 32-124

Enrollment: Limited: Advance sign-up required
Sign-up by 01/07
Limited to 40 participants
Attendance: Participants must attend all sessions
Prereq: Linux commands, networks,view lecture slides before lectures

OpenStack is a global collaboration of developers and cloud computing technologists producing the ubiquitous
open source cloud computing platform for public and private clouds. The project aims to deliver solutions for all types of clouds by being simple to implement, massively scalable, and feature rich. The technology consists of a series of interrelated projects delivering various components for a cloud infrastructure Solution.

Introduction to the OpenStack project.  the components and architecture of each core project.  Students will learn about Nova, Swift, Glance, Keystone and Horizon. This technical course consists of lectures, discussions, demos and hands on labs.

Founded by Rackspace Hosting and NASA, OpenStack has become a global software community of developers collaborating on a standard and massively scalable open source cloud operating system, making it the fastest growing open source project in history. The mission of OpenStack is to enable any organization to create and offer cloud computing services running on standard hardware.

All  the code for OpenStack isfreely available under the Apache 2.0 license. Anyone can run it, build on it, or submit changes back to the project. We strongly believe that an open development model is the way to foster badly needed cloud standards, remove the fear of proprietary lock-in for cloud customers, and create a large ecosystem that spans cloud providers.

To register go to http://training.rackspace.com/iap by January 7, 2013.

Sponsor(s): Electrical Engineering and Computer Science, Student Information Processing Board
Contact: Cassandra Cortez Cano, cassandra.cano@rackspace.com


Web Programming in Python with Django

Luke O'Malley

Jan/14 Mon 05:00PM-07:00PM 4-231

Enrollment: Unlimited: No advance sign-up
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.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Luke O'Malley, sipb-iap-django@mit.edu


Web Security Gotchas

Chris Varenhorst (Dropbox)

Jan/31 Thu 08:00PM-09:00PM 4-231

Enrollment: Unlimited: No advance sign-up

This talk will be a survey of some of the more obscure types of web application vulnerabilities.  I'll include live demos of sites whenever appropriate.  Topics include clickjacking, fake mouse pointers, browser history leaking through cache timing, login csrf attacks, etc.  We'll also cover how to defend against all these attacks (when its possible) and general best practices.

 

This class is one of six being offered by MIT alumni who currently work at Dropbox.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Chris Varenhorst, sipb-iap-dropbox@mit.edu


x86 Assembly Primer for C Programmers

Ivan Sergeev

Jan/22 Tue 07:00PM-09:00PM 4-231
Jan/24 Thu 07:00PM-09:00PM 4-231

Enrollment: Unlimited: No advance sign-up
Attendance: Participants requested to attend all sessions
Prereq: Intermediate C

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

 

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.

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Ivan Sergeev, sipb-iap-x86@mit.edu