IAP 2015

Coming soon! The schedule for SIPB IAP 2015 will be posted here by Friday, December 26, 2014. Sign up to teach a class here by Sunday, December 21, 2014.

In the meantime, here are a few of the classes we expect, so far, to run in IAP 2015:

  • Data Analysis and Presentations with IPython Notebook
  • Emacs for Beginners
  • Introduction to Athena
  • Introduction to the Command Line
  • Introduction to Version Control using Git & GitHub
  • Programming in C
  • Programming in Perl
  • Python: To ORM or not to ORM
  • Python: WebSockets from the Wire Up
  • Secure Programming in C

IAP 2014

Better Living Through Clojure

Bhaskar Mookerji, David Greenberg, Aysylu Greenberg
Date: Jan 14 07:00pm - 9:00pm, Jan 15 07:00pm - 9:00pm in 4-231

Clojure is a general-purpose language with seamless Java interoperability, a modern Lisp dialect, and a rich set of immutable, persistent data structures. Elegant and powerful, Clojure aims to reduce the incidental complexity of software engineering by making functional programming practical and accessible.

The first class introduces Clojure's philosophy, Lisp syntax, and primitives for expressive functiona programming on immutable collection types. In the second class, we'll overview some libraries for production-quality programming in a few areas: parsing, concurrent programming, distributed databases, and graph and dataflow programming.

The Class will be interactive, with an emphasis on functional problem solving, so bring a laptop. Check the webpage for updates at the beginning of IAP!

Webpage: http://flausenhaus.org/lambda/

Attendance: Two-session series; paricipants recommended to attend both sessions
Prereqs: Laptop and network access
Contact: Bhaskar Mookerji, sipb-iap-clojure at mit dot edu

Secure C

Lef Ioannidis
Date: Jan 27 06:00pm - 08:00pm 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. It is inherently insecure and writing secure software takes experience and practice. We'll show you common security pitfalls and how to avoid them in your code. The material will include:

Attack Cases:

  • Smashing the Stack.
  • Injecting Shell Code.
  • Trampoline Attacks.
  • Return-to-libc Attacks.
  • Smashing the heap.
  • Capturing the Allocator.

Mitigation:

  • Secure strings.
  • Stack/Heap Canaries
  • System-wide measures
  • ASLR.

Attendance: No registration necessary
Prereqs: basic familiarity with C and comfort with pointers
Contact: sipb-iap-securec at mit dot edu

Real Time Big Data Analytics @ Twitter

Karthik Ramasamy, Sanjeev Kulkarni
Date: Jan 13 07:00pm - 09:00pm in 4-237

RSVP here.

Twitter is all about real time - real time conversations, real time trends, real time search and real time content dissemination. Twitter has invested in a massive data pipeline that collects, aggregates, processes large volumes of data in real time. At the heart of the pipeline are several components that power the real-time processing. In this talk, we will give an overview of real time analytics, discuss the twitter real time data pipeline and how various components are assembled together for extracting analytics. We will also discuss the challenges we faced and lessons we have learned while building this infrastructure at Twitter.

In the second hour, we'll discuss Storm, a real time fault tolerant and distributed stream data processing system. Storm is currently used to run various critical computations in Twitter at scale and in real-time, and is at the heart of nearly every user interaction and revenue decision that is made at Twitter. We'll give an overview of Storm concepts, architecture and present use cases from actual deployments at Twitter.

Speakers:

Karthik Ramasamy

Karthik is the engineering manager and technical lead for Real Time Analytics at Twitter. He has two decades of experience working in parallel databases, big data infrastructure and networking. He co-founded Locomatix, a company that specializes in real time steaming processing on Hadoop and Cassandra using SQL that was acquired by Twitter.

Sanjeev Kulkarni

Sanjeev Kulkarni is a senior software engineer working on next generation streaming technologies required by the growing real-time needs of Twitter. Before Twitter he was the VP of Engineering at Locomatix, Inc, where he oversaw the building of Locomatix engine - a high-performance real-time streaming engine that users could access using SQL.

Attendance: Single event
Prereqs: None
Contact: sipb-iap-twitter at mit dot edu

Storm Hackathon (Twitter)

Karthik Ramasamy, Sanjeev Kulkarni, Max Hansmire, Ed Solovey
Date: Jan 14 03:00pm - 07:00pm in 4-237

Do you have an interesting idea for analyzing data in real time? It could be analyzing a sentiment of your sports team, social recommendation of retail products, computing trending topics in Twitter stream, etc, etc. Bring your idea, learn Storm, code your idea, and execute it with help from Twitter Storm Experts!

***Please bring your laptop to the hackathon!***

Food will be served!

RSVP here.

Attendence: Single event
Prereqs: Participants are recommended to attend Twitter's talk on Real Time Big Data Analytics on Jan 13
Contact: sipb-iap-twitter at mit dot edu

Dropbox: Reverse engineering private backend APIs in mobile applications

Chris Varenhorst
Date: Jan 30 05:00pm - 06:00pm in 4-237

Come see how easy it is to reverse engineer the "private" APIs used by your favorite mobile apps to talk to their backend, and learn about how to design APIs in ways that mitigate common flaws. Two main approaches will be discussed: 1) man in the middling running applications to observe the calls being used and 2) decompiling Android APKs to extract various "secrets". While no actual secrets will be revealed, you will learn why there's really no such thing as a private API and why that's okay.

This is the first of two talks given by MIT alums working at Dropbox!

Attendance: Single event
Prereqs: None
Contact: Chris Varenhorst, sipb-iap-dropbox at mit dot edu

Caffeinated Crash Course in PHP

Steve Levine
Date: Jan 28 from 5:00pm - 7:00pm in 4-231

Please note the change in date!

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.

Attendance: Single event
Prereqs: basic programming experience and familiarity with HTML encouraged.
Contact: Steve Levine, sipb-iap-caffphp at mit dot edu

Caffeinated Crash Course in Ruby

Ben Weissmann
Date: Jan 9 05:00pm - 8:00pm in 4-237

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.

This class is an introduction to ruby for those with prior progrmaming experience. If you are not comfortable writing simple programs, please take a look at some of the other offerings that are targeted toward new programmers. This course moves very quickly, and will leave you behind if you're unprepared.

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.

Website: http://sipb.mit.edu/iap/caffruby/
Attendance: Single event
Prereqs: some familiarity with some scripting language; high confusion threshold.
Contact: Ben Weissmann, sipb-iap-caffruby at mit dot edu

Dropbox: Password strength estimation

Dan Wheeler
Date: Jan 31 05:00 pm - 06:00 pm in 4-237

Most software gives terrible password advice! Come learn the internal mechanics of zxcvbn, the open source password strength estimator developed at Dropbox, as well as some newer ideas to push the art forward. Topics include password cracker algorithms, pattern matching, entropy models, and dynamic programming. This talk is advanced but all levels will learn something.

This is the second of two talks given by MIT alums working at Dropbox!

Attendance: Single event
Prereqs: None
Contact: Dan Wheeler, sipb-iap-dropbox at mit dot edu

Debian/Ubuntu Bug Squashing Party

Luke Faraone
Date: Jan 11 01:00 pm - late in W20-557

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!

Attendance: Single event
Prereqs: None
Contact: Luke Faraone, sipb-iap-bsp at mit dot edu

Emacs for Beginners

Mike Rolish
Date: Jan 20 05:00pm - 06:00pm in 4-231

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
Prereqs: Use of a text editor that is not Emacs
Website: http://sipb.mit.edu/iap/emacs/
Contact: Mike Rolish, sipb-iap-emacs at mit dot edu

Introduction to Web Development

Ada Taylor
Date: Jan 7 05:00pm - 8:00pm in 4-237

Wanted to make a website, but never knew how to start? Learn how to host your own site on MIT scripts, and then learn the basics of html, css, javascript, plus resources to jumpstart your progress!

Attendance: Single event
Prereqs: None
Contact: Ada Taylor, sipb-iap-webdev at mit dot edu

Introduction to Athena

Andrew Farrell
Date: Jan 06 08:00pm - 09:30pm, Jan 29 08:30pm - 10:00pm in 1-115

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!

Attendance: Repeating event, participants welcome at any session
Prereqs: None
Contact: Andrew Farrell, sipb-iap-athena at mit dot edu

Introduction to LaTeX

Megan Belzner
Date: Jan 22 05:00pm - 08:00pm, Jan 23 05:00pm - 08: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: Repeating event, participants welcome at any session
Prereqs: None
Contact: Megan Belzner, sipb-iap-latex at mit dot edu

Introduction to Ruby on Rails

Walter Menendez
Date: Jan 22 08:00pm - 10:00pm, Jan 23 08:00pm - 10:00pm in 4-237

Please note the room has been changed to 4-237.

Please RSVP to sipb-iap-rails at mit dot edu to receive information about the first class!

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 learn the framework in the first session, and build an app in the second.

Attendance: Participants requested to attend all sessions
Prereqs: Interest in web application development
Contact: Walter Menendez, sipb-iap-rails at mit dot edu

Introduction to Vim

Chase Lambert
Date: Jan 16 07:00pm - 09:00pm in 4-231

Vim sucks. Out of the box. But if you can learn how to fix the bad parts, it turns into such a powerful tool that you'll realize the unreasonable amount of time you were spending editing code (and documents) before.

My goal is to in two hours teach you how to be faster in all aspects of using Vim. With just a bit of practice (and a couple days of document editing) you will actually be better.

Please come with laptops and Vim installed!

Attendance: Single event
Prereqs: None
Contact: Chase Lambert, sipb-iap-vim at mit dot edu

Building iOS Applications with RubyMotion

Rajiv Manglani
Date: Jan 28 07:00pm - 9:00pm, Jan 30 07:00pm - 09:00pm in 4-231

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.

Website: http://sipb.mit.edu/iap/rubymotion
Attendance: Participants requested to attend all sessions. If you plan on attending, please RSVP to sipb-iap-rubymotion at mit dot edu.
Prereqs: Some familiarity with iOS or Ruby development suggested.
Contact: Rajiv Manglani, sipb-iap-rubymotion at mit dot edu

Programming in C

Bayard Wenzel
Date: Jan 06 05:00pm - 07:00pm, Jan 08 05:00pm - 07:00pm, Jan 10 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
Prereqs: Some familiarity with programming
Contact: Bayard Wenzel, sipb-iap-c at mit dot edu

Programming in Perl

Quentin Smith
Date: Jan 07 08:00pm - 10:00pm, Jan 08 08:00pm - 10:00pm, Jan 9 08:00pm - 10: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 three 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
Prereqs: Some programming experience
Contact: Quentin Smith, sipb-iap-perl at mit dot edu

Programming in Python

Luke O'Malley
Date: Jan 13 05:00pm - 07:00pm in 32-141 , Jan 15 05:00pm - 7:00pm in 32-141, Jan 16 05:00pm - 07:00pm in 32-141

Please note that the course location has been changed to 32-141

This class is now full! Please check out one of our other offerings for more computing classes!

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!

Please RSVP to sipb-iap-python@mit.edu so we can send you information you will need for the first class!

Attendance: Participants requested to attend all sessions
Prereqs: None
Contact: Luke O'Malley, sipb-iap-python at mit dot edu

Web Programming in Python with Django

Amol Bhave, Maria Rodriguez
Date: Jan 27 07:00pm - 09:00pm in 4-237

Due to weather conditions, this class has been rescheduled for January 27th, 7-9 pm in room 4-237

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
Prereqs: Proficiency with HTML, CSS, and Python
Contact: Amol Bhave and Maria Rodriguez, sipb-iap-django at mit dot edu

Introduction to Version Control using Git & GitHub

Tristan Naumann
Date: Jan 15 07:00pm - 09:00pm in 4-237

Version control systems are essential for the organization of multi-developer projects. Likewise, familiarity with such tools can greatly simplify even small projects. This short course will discuss version control as a problem and focus on how it can be managed with Git. Further, we will discuss how to share code using GitHub and some common workflows.

Git is a free and open source distributed version control system designed to handle everything from small to very large projects. GitHub is a web-based hosting service for projects using Git which has quickly become one of the most popular code repository sites for open source projects.

Attendence: Single event
Prereqs: Basic shell familiarity is helpful
Contact: Tristan Naumann, sipb-iap-git at mit dot edu

The GNU Debugger

Geoffrey Thomas
Date: Jan 8 07:00pm - 09:00pm in 4-237

GDB, the GNU Debugger, is a tool for investigating the innards of another program while it is executing, or after it has crashed. GDB can tell you what a program is doing, pause the program at some condition, and even change the state of the program and run code inside that program. We'll cover the use of gdb to debug and modify running UNIX programs and investigate core dumps. This will be a hands-on exploration: please bring a laptop with access to Athena or with gdb installed.

Attendence: Single event
Prereqs: familiarity with C
Contact: Geoffrey Thomas, sipb-iap-gdb at mit dot edu

Stripe CTF 3.0 Hackathon

Evan Broder
Date: Jan 22 01:00pm - 4:00pm in 56-114

Learn how to build fault-tolerant, performant software while playing around with a bunch of cool cutting-edge technologies. This event is open to programmers of all skill levels and backgrounds. We mean it! CTF is primarily about hands-on learning, and there's no place better to learn than with other people around to interact with. Stripe engineers will be there as well.

Attendence: Single event
Prereqs: None
Contact: sipb-iap-stripe at mit dot edu

Subprocess to FFI in Python: Memory, Performance, and Why You Shouldn't Shell Out

Christine Spang
Jan 29 07:00pm - 08:00pm in 4-231

Python is a great language for building systems fast, but sometimes, the code you need to get something done just isn't available for the language. Your first instinct may be to shell out from your Python program to an external binary, but it turns out this has serious performance implications. Come learn how to solve this problem by wrapping C libraries for use in Python, and see how various options for doing so stack up in terms of performance and ease-of-use.

Intermediate-level programming experience with Python encouraged, but no need to be a UNIX guru; you'll learn more if you aren't. :)

Attendance: Single event
Prereqs: None
Contact: sipb-iap-cpython at mit dot edu

6.S184 Caffeinated 6.828
(sponsored by Course VI)

Alex Chernyakhovsky, Geoffrey Thomas
Jan 7, 9, 14, 16, 21, 23, 28, 30 07:00pm - 09:00pm in 37-212

Caffeinated 6.828 is a whirlwind introduction to operating systems. Laboratory subject that covers content not offered in the regular curriculum.

Limited to 50 participants. Pre-register on WebSIS and attend first class

http://sipb.mit.edu/iap/6.828

Attendance: Participants requested to attend all sessions
Prereqs: None
Contact: sipb-iap-6.828 at mit dot edu
Course website: http://sipb.mit.edu/iap/6.828

SecureDrop Hackathon
(sponsored by MIT Undergrad Women in Physics and the Freedom of the Press Foundation)

Yan Zhu
Date: Sat Jan 25 10:00am - 07:00pm in 8-329, Sun Jan 26 10:00am - 07:00pm in 8-329

SecureDrop Hackathon Co-hosted by the MIT Student Information Processing Board and MIT Undergrad Women in Physics; sponsored by the Freedom of the Press Foundation. Come learn about how to protect your privacy in light of the NSA spying revelations and hack on free software to protect whistleblowers. We'll mostly work on SecureDrop, an open-source anonymous document submission system for journalism organizations that was started by late activist Aaron Swartz. Students who are new to software development are welcome! Food will be provided.

Please let us know if you are planning to come so we can order enough food!

Attendance:Two-day event. Participants are requested to RSVP to sipb-iap-securedrop at mit dot edu
Prereqs: None
Contact: Yan Zhu, sipb-iap-securedrop at mit dot edu

Hacking a Software Interview -- Mastering Programming Interview Questions
(sponsored by Course VI)

Ron Chaney (Akamai)
Jan 21, 22, 23 05:30pm - 07:00pm (32-144)

Ever wanted to work at a company like Google, TripAdvisor, Akamai, 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!

Attendance: Participants welcome at individual sessions
Prereqs: one MIT programming class or equivalent; 6.006 useful
Contact: Julia Bonarrigo, jbonarri@akamai.com

Training for OpenStackTM
(sponsored by Course VI)

Juan Montemayor, Cassandra Burnias, Tony Campbell
Jan 13 06:00pm - 09:00pm, Jan 14, 15, 16 04:30pm - 10:00pm (26-168)

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://goo.gl/CDO5ZE by January 10, 2014.

Attendance: Participants requested to attend all sessions
Prereqs: Linux commands, networks,view lecture slides before lectures
Contact: Cassandra Burnias, cassandra.burnias@rackspace.com

Security Capture the Flag Hands-On Lecture
(sponsored by Course VI)

Steven Valdez
Jan 12 12:00pm - 8:00-m in 26-152

A combined security CTF and lecture. As part of the CTF you'll have the opportunity to try patching and exploiting some vulnerable services, and attacking other teams in order to get and protect flags, that will be automatically scored. After each round, there will be a mini-lecture, where we will go over how you could find the vulnerability, and how you could patch it. This is an opportunity to get a little more familiar with the sorts of strategies used in CTF competitions, and to get accustomed to the team structure of CTF competitions, as well as improving understanding of security vulnerabilities in various kinds of services, from web applications to Python servers.

Please register at http://tinyurl.com/iapctf so that we can get a rough idea of how many people will be attending.

Sponsored by Lincoln Laboratory

Attendance: Single event
Prereqs: Programming experience
Contact: Steven Valdez, iap-2014-ctf at mit dot edu

6.S092 Special Subject in Electrical Engineering and Computer Science: Introduction to Programming in Java
(sponsored by Course VI)

Hau Lian, Walter Menendez, Joey Putnam
Jan 8, 10, 13, 15, 17, 22, 24, 27, 29 03:00pm - 05:00pm in 4-237. Office hours Mon/Fri 7-10 in 32-044

Covers subject matter not offered in the regular curriculum. Consult department to learn of offerins for a particular term

An introduction to programming in Java. 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. Students who have taken 6.005 should not take this course. Two hour lectures and twice-weekly lab sessions/office hours.

Pre-register on WebSIS and attend first class. Limited to 90 participants. No listeners.

Attendance: Participants requested to attend all sessions
Prereqs: Programming experience required; no Java
Contact: Hau Lian, hlian at mit dot edu