MIT: Independent Activities Period: IAP

IAP 2016 Activities by Sponsor - Student Information Processing Board

Expand All | Collapse All


Clojure for fn and Profit

Alex Huang, Tom Lyons, Mark Champine

Jan/19 Tue 07:30PM-09:30PM 4-231/4-237, Bring a laptop

Enrollment: Unlimited: No advance sign-up

This will be a casual, interactive workshop by clojure enthusiasts to introduce and showcase what you can do with one of the coolest [homoiconic] languages around. No experience required, but experienced clojurians welcome too; we will have material for all levels!

Sponsor(s): Student Information Processing Board
Contact: Boston Clojure group, sipb-iap16-clojure@mit.edu


Crash Course in C

Bayard Wenzel

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

C is the finest assembler known to humanity, and as such it is one of the high-points of technological endeavor. However, its importance goes beyond this limited and historical aspect, because C continues to be used extensively in embedded systems, operating systems, device drivers, and user space applications. This class will present a brief introduction to C, the C pre-processor, the C run time model, practical C programming, and C libraries.

Sponsor(s): Student Information Processing Board
Contact: Bayard Wenzel, sipb-iap16-c@mit.edu


Session 1

Jan/20 Wed 07:00PM-09:00PM 1-115

Session 2

Jan/21 Thu 07:00PM-09:00PM 1-115

Crushing Your Coding Interview

Karen Sittig

Jan/06 Wed 07:00PM-09:00PM 4-237

Enrollment: Unlimited: No advance sign-up

This class will walk you through all the tips and tricks to best prepare you for your next coding interview. We'll discuss what to expect in your coding interview, what your interviewer is looking for, and advice for putting your best foot forward. We will also walk through several example interview questions and discuss common mistakes (coding and otherwise).

The presentation will last between 1-1.5 hours with the remaining time for 1:1 resume review.

Karen and Laney are both software engineers at Facebook Boston and have jointly interviewed hundreds of student and industry candidates.

Sponsor(s): Student Information Processing Board
Contact: Karen Sittig, Laney Kuenzel, sipb-iap16-interview@mit.edu


Current issues in SSL and TLS

Rajiv Aaron Manglani

Jan/19 Tue 05:00PM-07:00PM 4-231, RSVP to contact address below

Enrollment: Unlimited: No advance sign-up
Prereq: Familiarity with HTTP and TLS

SSL and TLS are the protocols which provide the foundation for securing internet traffic. We will explore current topics and issues facing the industry including SHA-1 to SHA-2 certificate migrations, Certificate Transparency, HTTP/2, free DV certificates from Let's Encrypt, and TLS 1.3.

Sponsor(s): Student Information Processing Board
Contact: Rajiv Aaron Manglani, sipb-iap16-ssl-tls@mit.edu


Effective Technical Interviews

Gregory Marton

Jan/26 Tue 05:00PM-07:00PM 4-237

Enrollment: Unlimited: No advance sign-up
Prereq: Some programming experience helpful

After 200+ interviews at Google, teaching a class there for candidates about to interview, and after an extensive job search in this area, I will share lessons learned, and leave plenty of time to answer your questions and concerns. Primarily for interviewees:
    * What to expect,
    * How to prepare,
    * How to get un-stuck,
    * Non-technical questions,
    * Time permitting: a practice problem. Bring paper, pen, and courage.
    Another version's slides: https://bitbucket.org/gregory_marton/coding-interview/src

Sponsor(s): Student Information Processing Board
Contact: Gregory Marton, sipb-iap16-effective-interview@mit.edu


Emacs for Beginners

Mike Rolish

Jan/18 Mon 05:00PM-06:00PM 4-231

Enrollment: Unlimited: No advance sign-up

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.

Sponsor(s): Student Information Processing Board
Contact: Mike Rolish, sipb-iap16-emacs@mit.edu


Greatest Hits of 6.006

Amartya Shankha Biswas, Michaela Ennis

Jan/11 Mon 07:00PM-08:00PM 56-114
Jan/13 Wed 07:00PM-08:00PM 56-114
Jan/15 Fri 07:00PM-08:00PM 56-114
Jan/20 Wed 07:00PM-08:00PM 56-114
Jan/22 Fri 07:00PM-08:00PM 56-114
Jan/25 Mon 07:00PM-08:00PM 56-114
Jan/27 Wed 07:00PM-08:00PM 56-114
Jan/29 Fri 07:00PM-08:00PM 56-114

Enrollment: Limited: First come, first served (no advance sign-up)
Limited to 30 participants
Attendance: Participants must attend all sessions
Prereq: Programming experience in Python

Covers the core material of 6.006 very, very fast.

Basic algorithms, data structures, including sorting, dynamic programming, and graphs.

Weekly programming assignments, twice-weekly office hours.  

You will gain the background necessary to apply algorithmic techniques to your area of interest, and to succeed at software engineering interviews.

 

 

Sponsor(s): Electrical Engineering and Computer Science, Eta Kappa Nu, Student Information Processing Board
Contact: Amartya Shankha Biswas, asbiswas@mit.edu


Hacking a Software Interview -- Mastering Programming Interview Questions

Ron Chaney

Jan/20 Wed 05:30PM-07:00PM 36-156
Jan/21 Thu 05:30PM-07:00PM 36-156

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 Akamai, Facebook, Google, or TripAdvisor? There's just one thing standing in your way: the interview.  Whether you're a beginning programmer or a seasoned expert, this class can help you prepare for a technical interview. The class will focus on computer science topics that frequently come up in programming interviews.  We will cover topics like time complexity, hash tables, binary search trees, and some other things you might learn in 6.046. Most of the time will be spent teaching participants how to formulate responses to technical questions during an interview. Real life examples will be used.  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: Jaime Perkins, jperkins@akama.com


How to Hack a Website: A Practical Introduction to Web Security

Scott Robinson

Enrollment: Unlimited: No advance sign-up
Attendance: Participants must attend all sessions
Prereq: HTML/Javascript knowledge

This class will teach you a practical introduction to web security. The content will cover how basic exploits and security vulnerabilities work, as well as common attacks, penetration testing strategies, and useful tools. If there is time, real world examples of exploits will be shown, as well as a sandbox site for you to test attacks shown in the class.

Disclaimer: All material in this class is provided for educational purposes only, and should not be used on real sites or services unless it abides by appropriate security program rules.

Sponsor(s): Student Information Processing Board
Contact: Scott Robinson, sipb-iap16-hack-website@mit.edu


Session 1

Jan/12 Tue 08:00PM-09:30PM 4-231

Session 2

Jan/13 Wed 08:00PM-09:30PM 4-231

Introduction to LaTeX

Lizhou Sha

Jan/18 Mon 05:00PM-07:00PM 1-115
Jan/28 Thu 05:00PM-07:00PM 1-115

Enrollment: Unlimited: No advance sign-up
Attendance: Repeating event, particpants welcome at any session

Tired of aligning with the space bar in Word? LaTeX is the golden standard of typesetting in academia and beyond. In this single-session event, we will see how easy it is to create professional-looking documents in LaTeX. We'll start with the basics of LaTeX typography, learn how to typeset math like a pro, dive into macros, and finish with a glimpse of powerful LaTeX packages like Biblatex (for bibliography and references), opencv (for flawlessly typeset CV and resumes), and Beamer (PowerPoint-killer).

 

The room comes with Athena machines for real-time practice. Bring your own document that you want typeset in LaTeX! It can be a paper, a resume, a presentation, or more.

Sponsor(s): Student Information Processing Board
Contact: Lizhou Sha, sipb-iap16-latex@mit.edu


Introduction to Version Control using Git & GitHub

Tristan Naumann

Jan/28 Thu 07:30PM-09:00PM 4-231

Enrollment: Unlimited: No advance sign-up

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.

Sponsor(s): Student Information Processing Board
Contact: Tristan Naumann, sipb-iap16-git@mit.edu


Introduction to Vim

Ray Hua Wu, Ming Yang Ong

Jan/14 Thu 05:00PM-06:30PM 4-231

Enrollment: Unlimited: No advance sign-up

Learn the basics about using the mysterious and slightly ancient text editor you have probably heard quite a bit about, Vim.

Sponsor(s): Student Information Processing Board
Contact: Ray Hua Wu & Ming Yang Ong, sipb-iap16-vim@mit.edu


Learn Bash and the UNIX Command Line

Sabrina Drammis

Jan/07 Thu 12:00PM-02:00PM 56-162, Bring laptop

Enrollment: Unlimited: No advance sign-up
Prereq: no programming required

An introductory workshop to the UNIX command line and Bash.  Come learn how to use your terminal!

Will mostly concentrate on learning to use and navigate the terminal.

When you know how your terminal works and have an installed system that works for you it becomes a lot easier and more fun.

Sponsor(s): Electrical Engineering and Computer Science, Student Information Processing Board
Contact: Sabrina Drammis, sdrammis@mit.edu


Practical Python Lightning Talks

Chelsea Voss

Jan/13 Wed 06:00PM-07:00PM 4-237

Enrollment: Unlimited: No advance sign-up

Learn ten useful mini-lessons about Python at rapid-fire speed! At five minutes per talk, with one hour to finish them all, we'll teach you a ton of our favorite Python tips and tricks at as fast a pace as we can.

Topics will include the Python debugger, great Python libraries, web development, tools for testing, and more! 

Sponsor(s): Student Information Processing Board
Contact: Chelsea Voss, sipb-iap16-python-lightning@mit.edu


Reproducible, Automated Server Configuration with SaltStack

Andrew Farrell

Jan/07 Thu 07:00PM-08:00PM 4-231

Enrollment: Unlimited: No advance sign-up
Prereq: Unix command line fluency, working install of Vagrant

Do you find yourself trying to manage multiple servers? Do you find yourself wishing that installing and configuring servers could be more like programming? I will introduce you to SaltStack, an open source tool written in python that you can use to write modular configurations for one server or for one thousand. I will also teach you some techniques for troubleshooting some common server configuration problems.

Attendees must download and install Vagrant from https://www.vagrantup.com/downloads.html prior to class.

Sponsor(s): Student Information Processing Board
Contact: Andrew Farrell, sipb-iap16-saltstack@mit.edu


Reverse Engineering Software

James Koppel

Jan/25 Mon 05:00PM-07:00PM 1-115

Enrollment: Unlimited: No advance sign-up

Is something on your computer hiding something from you? Is it refusing to run unless you do something? Do you want to know exactly what someone else's software is doing? Or perhaps you even want to "open" up some closed-source software and make it do something else. This course will cover the basics of reverse-engineering binaries, as well as some of the ideas of binary modification.

Sponsor(s): Student Information Processing Board
Contact: James Koppel, sipb-iap16-reverse-engineering@mit.edu


Survey of Advanced Topics in Web Application Security

Christ Varenhorst

Jan/11 Mon 05:00PM-06:00PM 4-237

Enrollment: Unlimited: No advance sign-up

This 1-hour talk will be a survey of some of the more advanced types of web application attacks and defenses. I'll include live demos and anecdotes from Dropbox whenever appropriate. Some topics include history leaking through cache timing, clickjacking/ui redressing attacks, logged out CSRF attacks, the benefits and challenges of deploying Content Security Protection on a large site, and implementing privilege separation for 3rd party JavaScript.  Attendees should walk away with a broader knowledge around the types of attacks out there and how to defend against them.

Chris is a Course 6 alum and engineer at Dropbox where he leads the Developer Platform team.

Sponsor(s): Student Information Processing Board
Contact: Christ Varenhorst, sipb-iap16-web-security@mit.edu


Ur/Web: Types for the Tubes

Ziv Scully

Enrollment: Unlimited: No advance sign-up
Attendance: Participants must attend all sessions
Prereq: Some functional programming knowledge (Javascript counts)

Ur/Web is a functional programming language for web applications that runs both server-side and client-side. It follows the style of ML and Haskell but features an extra fancy type system, which it uses to statically verify immunity to code injection attacks, valid HTML and SQL generation, fields matching between forms and form handlers, type-safe metaprogramming, and more. The sever-side code generated by Ur/Web is very efficient, competitive with lower-level languages like C and Java (see https://www.techempower.com/benchmarks/#section=data-r11).

In the first session, we'll introduce Ur/Web and walk through some demos. We'll quickly review some basic functional programming, introduce Ur/Web's client-side and server-side features, and see everything in action by walking through a blog application.

In the second session, we'll talk about Ur/Web's metaprogramming capabilities. We'll begin with a tutorial on Ur/Web's type system and its main unorthodox feature, row polymorphism. We'll then use what we learned to walk through building a generic SQL table viewer and (if there's time) editor.

Sponsor(s): Student Information Processing Board
Contact: Ziv Scully, sipb-iap16-urweb@mit.edu


Session 1

Jan/25 Mon 07:00PM-08:30PM 4-231

Session 2

Jan/27 Wed 07:00PM-08:30PM 4-231