SIPB IAP 2012 Activities
What is this?

Calendar Version

SIPB Classes
- A Tale of Two Lisps
- Advanced C
- Caffeinated Crash Course in
Computer Forensics - Caffeinated Crash Course in PHP
- Caffeinated Crash Course in Ruby
- Debathena Trainees
- Git Will Make Your Life Better
- Introduction to LaTeX
- Introduction to Ruby on Rails
- Programming Java
- Programming Perl
- Programming Python
- Programming in C
- Programming in Haskell
- Programming in Postscript
- The GNU Debugger
- Getting Your Feet Wet with WordPress
- Web Programming in Python with Django
- New Emacs for Beginners
- New Modern Programming Language Design
- New Software Project Management
- New Secure Coding in C
- New Code Injection for Fun and Profit
- New x86 Assembly Primer for C Programmers
- New The Internet Shouldn't Work: Networking 101
- New Debian/Ubuntu Bug Squashing Party
- New Writing Kernel Exploits
- New Building a Fast Incremental Search with HTML5
- New The Evolution of the Dropbox Backend
- New Clickjacking - What You Don't Know Will Hurt You
Co-Sponsored Classes
- Get Your Ham Radio License
- Caffeinated 6.001
- Advanced NetBeans Desktop
Application Development - Google Map APIs
& Google Fusion Tables - The C++ 2011 Standard: What's New?
- Mobile Virtualization: Smartphones
with Multiple Personalities - Embedded Systems Design Competition
- Relational Database Management System
& Internet Application Programming - Introduction to C and C++
- Intro to Software Engineering in Java
See the official IAP activities index.
I have a question about {x}Contact sipb-iap at mit dot edu.
A Tale of Two Lisps |
|
Duncan Townsend, Kalman Reti Date: Jan 17 07:00pm - 09:00pm, Jan 19 07:00pm - 09:00pm in 4-237 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 develop a small web application (the Dice of Doom game from Land of Lisp by Conrad Barski, MD) using Clojure to demonstrate these concepts. Attendance: Participants welcome at individual sessions (series) |
Advanced C |
|
David Greenberg, Ivan Sergeev Date: Jan 30 07:00pm - 09:30pm in 4-231 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 may include:
Attendance: Single event |
Caffeinated Crash Course in |
|
Jesse Kornblum Date: in TBD This two-hour session is a high-speed, low drag introduction to computer forensics. You'll see what kinds of data can be recovered from various devices found in the real world and in the cloud. There's treasure everywhere! Topics covered include hidden data in office documents, filesystems, flash storage, cell phones, GPS devices (which are mostly Linux boxen, anyway), computer memory (RAM), social networking sites, the Lobby 7 Anomalous Activity Hypothesis, Jesse's Dead Body Theory of Evidence, and the story of FRED. By the end you'll understand information has not been destroyed unless the media has been raised to the Curie Point. Attendance: Single event |
Caffeinated Crash Course in PHP |
|
Steve Levine Date: Jan 23 07:30pm - 09:30pm in 4-231 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, PHP security and web safety, an introduction to AJAX and web 2.0 techniques, and more. Some basic programming experience and familiarity with HTML is highly encouraged. Web: http://sipb-iap.scripts.mit.edu/2012/cccphp/ |
Debathena Trainees |
|
Liz Denys, Jon Reed, Geoffrey Thomas Date: Jan 18 06:00pm - 10:30pm, Jan 20 06:00pm - 10:30pm in 4-237
NOTE: Start time delayed to 6pm
Both sessions will be a lecture 5pm-8pm with office hours 8pm to 10:30pm. An athena hackathon will be held at SIPB the following Saturday. Attendance: Participants requested to attend all sessions (non-series) |
Git Will Make Your Life Better |
|
Geoffrey Thomas Date: Jan 10 08:00pm - 10:00pm, Jan 12 08:00pm - 10:00pm in 4-231 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 will 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. Attendance: Single event |
Introduction to LaTeX |
|
Benjamin Barenblat Date: Jan 18 05:00pm - 07:00pm, Jan 25 05:00pm - 07:00pm in 1-115 Leave Word behind forever! LaTeX is the gold standard for document typesetting in academia, and in this single-session event we will 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. Attendance: Single event (identical session repeated twice) |
Introduction to Ruby on Rails |
|
Rajiv Manglani
Date: Jan 18 07:00pm - 09:00pm, Jan 25 07:00pm - 09:00pm in 1-115 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. Attendance: Participants requested to attend all sessions (non-series) |
Programming Java |
|
Lyla Fischer Date: Jan 09 05:00pm - 07:00pm, Jan 10 05:00pm - 07:00pm, Jan 12 05:00pm - 07:00pm in 1-115 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:
Attendance: Participants welcome at individual sessions (series) |
Programming Perl |
|
Quentin Smith Date: Jan 24 07:00pm - 09:00pm, Jan 26 07:00pm - 09:00pm, Jan 27 07:00pm - 09:00pm in 4-231 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. More information & slides from the class can be found on the class webpage.Attendance: Participants requested to attend all sessions (non-series) |
Programming Python |
|
David Lawrence Date: Jan 10 07:00pm - 09:00pm, Jan 12 07:00pm - 09:00pm, Jan 17 07:00pm - 09:00pm, Jan 19 07:00pm - 09:00pm in 1-115 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, preferrably python2.7 You should also have a text editor of your choice. the easiest thing to do is just to install IDLE Attendance: Participants requested to attend all sessions (non-series) |
Programming in C |
|
Bayard Wenzel, Eugene Kuznetsov Date: Jan 09 05:00pm - 07:00pm, Jan 11 05:00pm - 07:00pm, Jan 13 05:00pm - 07:00pm in 4-231 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 do not 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. Attendance: Participants requested to attend all sessions (non-series) |
Programming in Haskell |
|
Patrick Hurst Date: Jan 23 07:00pm - 08:30pm, Jan 25 07:00pm - 08:30pm, Jan 27 07:00pm - 08:30pm in 4-237 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. Attendance: Participants requested to attend all sessions (non-series) |
Programming in Postscript |
|
Bayard Wenzel Date: Jan 17 05:00pm - 06:00pm, Jan 19 05:00pm - 06:00pm, Jan 24 05:00pm - 06:00pm, Jan 26 05:00pm - 06:00pm in 1-115 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. Attendance: Participants requested to attend all sessions (non-series) |
The GNU Debugger |
|
Geoffrey Thomas Date: Jan 30 05:00pm - 07:00pm in 4-231 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. The program being debugged can be written in Ada, C, C++, Objective-C, Pascal (and many other languages). Those programs might be executing on the same machine as GDB (native) or on another machine (remote). GDB can run on most popular UNIX and Microsoft Windows variants.' Attendance: Single event |
Getting Your Feet Wet with WordPress |
|
Molly Ruggles Date: Jan 11 12:00pm - 01:00pm in 26-139 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. Attendance: Open to MIT staff and students. You need to have an MIT kerberos ID (ie an @mit.edu email account) in order to participate. |
Web Programming in Python with Django |
|
Maria Rodriguez, Steve Levine, Andrew Farrell Date: Jan 20 05:00pm - 07:00pm in 4-231 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. Attendance: Single event |
Emacs for Beginners |
|
Isaac Evans Date: Jan 16 05:00pm - 06:00pm in 1-115 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. Attendance: Single event |
Modern Programming Language Design |
|
Pavel Panchekha Date: Jan 23 05:00pm - 07:00pm in 4-231 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. Attendance: Single event |
Software Project Management |
|
Charlotte Wang
Class canceled; teacher not available for medical reasons
Attendance: Single event |
Secure Coding in C |
|
Eleftherios Ioannidis Date: Jan 31 05:00pm - 08:00pm in 4-231
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:
Contact: Eleftherios Ioannidis, sipb-iap-securec at mit dot edu |
Code Injection for Fun and Profit |
|
Rian Hunter (Dropbox) Date: Jan 24 07:00pm - 09:00pm in 4-237 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. Attendance: Single event |
x86 Assembly Primer for C Programmers |
|
Ivan Sergeev Date: Jan 24 05:00pm - 07:00pm, Jan 26 05:00pm - 07:00pm in 4-231 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. Example code for the class is available on Github. Attendance: Participants requested to attend all sessions (non-series) |
The Internet Shouldn't Work: Networking 101 |
|
Jessica McKellar Date: Jan 23 05:00pm - 07:00pm in 4-237 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:
The lecture slides from this event are now available. Attendance: Single event |
Debian/Ubuntu Bug Squashing Party |
|
Luke Faraone Date: Jan 11 02:00pm - 11:00pm in W20-557 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! Attendance: Single event |
Writing Kernel Exploits |
|
Keegan McAllister Date: Jan 27 05:00pm - 07:00pm in 4-231 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. Attendance: Single event |
Building a Fast Incremental Search with HTML5 |
|
Dan Wheeler (Dropbox) Date: Jan 27 05:00pm - 07:00pm in 4-237 Ever wonder how to add a server-backed searchbar to your website, that queries hundreds of thousands of documents in realtime and displays the results as you type? Watch me build one from scratch using a bunch of sweet technology! Partial list:
Attendance: Single event |
The Evolution of the Dropbox Backend |
|
Kevin Modzelewski (Dropbox) Date: Feb 01 06:00pm - 07:00pm in 4-237 Curious what it will look like to scale your side project once it becomes massively successful? In this talk I'll go step-by-step through the history of the Dropbox backend, showing you how to take a standard LAMP stack and turn it into something that millions of people use every day. I'll talk about what you have to do yourself, what pitfalls there are along the way, and some of the specific things we had to do to build a write-heavy cloud filesystem. Attendance: Single event |
Clickjacking - What You Don't Know Will Hurt You |
|
Chris Varenhorst Date: Jan 31 06:00pm - 07:00pm in 4-237 Come learn why the the subtle art of UI re-dressing (clickjacking) is a threat every web developer needs to take seriously. I recently disclosed a clickjacking vulnerability to a number of high traffic websites. Learn about this particular vulnerability and see a live demonstration. We'll also cover how to build applications that defend from clickjacking and all the subtle ways it can be done incorrectly. Sub-topics include 6 ways to bust frame-busting, nefarious uses of the 204 response code, and why every server should be sending back an X-Frame-Options header. Attendance: Single event |
Get Your Ham Radio License |
|
Amy Yu Session 1: Wednesday 11 January, 6-8 PM, 1-150 and Session 2: Wednesday 18 January, 4-6 PM, 1-246 Ham radio is both 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. Session 1, which is given a week before the ham exams, will cover the basic technical background as well as strategies for learning the answers to the rote-memorization exam questions, and will also include some short presentations/demos on "fun things that you can do with your ham license." Session 2, which is given on the same day as the ham exams (see w1mx.mit.edu for more information), will be a more focused and fast-paced comprehensive overview of the test material. Attendance at both sessions is recommended, but not required. Attendance: 2 sessions |
Caffeinated 6.001 |
|
Alex Vandiver, Zev Benjamin, Nelson Elhage, Michael Phillips Date: Tue, Thu, Jan 10, 12, 17, 19, 24, 26, 31, 2, 07-09:00pm, 32-044 Zombie-like, 6.001 rises from the dead again. Unlike a zombie, however, it's moving quite a bit faster than it did the first time -- we aim to cover essentially the entire semester-long curriculum over the course of eight classes. Like the original, the class does not purport to just teach Scheme; instead, 6.S184 attempts to use Scheme to teach thought patterns for computer science, and properties of the structure and interpretation of computer programs which transcend specific programming languages. Weekly projects, mostly based on historic 6.001 projects, will be assigned. Can be taken for credit. See course webpage for further details. Attendance: Pre-register on WebSIS and attend first class. Listeners allowed, space permitting. Limited to 30 participants. |
Advanced NetBeans Desktop |
|
Eirik Bakke, Geertjan Wielenga Date: Fri Jan 27, Sat Jan 28, Sun Jan 29, 10:30am-06:30pm, 32-D463 (Star) 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. See course webpage for further details. Attendance: Enrollment limited to 44 participants: advance sign up required (see contact below) |
Google Map APIs |
|
MIT Libraries Date: Tuesday, January 31, 2-4pm. This session offers a hands on opportunity for integrating online maps into your website, from both Google Maps and OpenStreetMap and using Google Fusion tables. Google Fusion Tables is a modern data management web application making it easy to host, manage, collaborate on, visualize, and publish data tables online. Together, they make a powerful mapping platform, allowing people to easily upload data, and publish it on a map. Students will make a Google map from scratch, including KML files (points, lines, and polygons) developed in Google Earth or Arcgis, and points included in easily edited XML files. We will also talk about interacting with the map through HTML widgets. Some familiarity with HTML, XML, any modern programming language will make this workshop easier but is not required. You will be working in Javascript but will largely be copying lines of Javascript rather than writing original code. This room has 20 computers, but you are welcome to come with your own laptop. Attendance: Single event |
The C++ 2011 Standard: What's New? |
|
Jason Merrill (Technical Staff, Red Hat) Date: Mon Jan 9, 08-09:30pm, 32-124 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. Attendance: Single event |
Mobile Virtualization: Smartphones |
|
Steve Muir (Technical Staff, VMware), Harvey Tuch, Prashanth Bungale Jan 23 10:00am-12:00noon, Jan 25 3:00-5:00pm in 32-144 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. Attendance: Single event |
Embedded Systems Design Competition |
|
Clark Della Silva Date: Mon Jan 9 thru Fri Jan 13, 10am-05:00pm, 32-044 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. Attendance: Enrollment limited: first come, first served. Signup by: 08-Jan-2012. Limited to 60 participants. Participants requested to attend all sessions (non-series). |
Relational Database Management System |
|
Philip Greenspun Date: Mon Jan 30, Tue Jan 31, Wed Feb 1, 10am-07:00pm, 1-390, lunch/coffee breaks included After this course, you'll: Not limited to Course VI students. Requirements: (1) a laptop connected to MIT's network, (2) Athena account. 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. Attendance: Participants requested to attend all sessions (non-series) |
Introduction to C and C++ |
|
Frank Li, Chen Zhao Date: Mon, Wed, Fri, Jan 18, 20, 23, 25, 27, 30, 01-03:00pm, 32-155, 1hr lecture, 1hr lab Covers subject matter not offered in the regular curriculum. Consult department to learn of offerings for a particular term. Fast-paced introductory course to the C and C++ programming languages. Both are useful for jobs, UROPs, and classes. Intended for those with experience in other languages who have never used C or C++. NOT a class for those experienced in those languages. Daily assignments and a small-scale individual project. Lecture will be an hour followed by an open lab hour. A short diagnostic test is due 11:59PM Mon, Dec 12th 2011, located on the course Stellar page below. Please submit solutions to 6.s096-staff at mit dot edu. Attendance: Can be taken for credit. Pre-register on WebSIS and attend first class. Limited to 50 participants. No listeners. |
Intro to Software Engineering in Java |
|
Christopher Fletcher, Anirudh Sivaraman, Joseph J. Lim Date: Tue, Thu, Jan 10, 12, 17, 19, 24, 26, 10:30am-12:30pm, 6-120 Covers subject matter not offered in the regular curriculum. Consult department to learn of offerings for a particular term. An introduction to software engineering, using the Java programming language. Covers concepts useful to 6.005. Students will learn the fundamentals of Java and develop intuition about object oriented programming. The overall focus is on developing working software that solves real problems. The class is designed for students with some programming experience, but if you have none and are motivated you will do fine. Students who have taken 6.005 should not take this course. Each class is composed of one hour of lecture and one hour of assisted lab work. Attendance: Can be taken for credit. Pre-register on WebSIS and attend first class. Limited to 120 participants. No listeners. |