MIT: Independent Activities Period: IAP

IAP 2018 Activities by Sponsor - Student Information Processing Board

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


Bytes and Code: Python Disassembly

Sharon Lin

Add to Calendar Jan/19 Fri 05:00PM-06:00PM 3-133

Enrollment: Unlimited: Advance sign-up required
Prereq: Introductory knowledge of Python recommended

This class will go over the the foundations of understanding Python bytecode and disassembling functions. For anyone interested in understanding how the CPython interpreter compiles source and executes instructions, this is your opportunity to learn more about the Python dataflow and compiler optimizations!

Sponsor(s): Electrical Engineering and Computer Science, Student Information Processing Board
Contact: Sharon Lin, sharonl@mit.edu


Causal Inference & Deep Learning

Max Shen

Enrollment: Unlimited: No advance sign-up
Attendance: Participants welcome at individual sessions

Our class will explore the intersection between causal inference and deep learning by walking through several recent papers. We aim to highlight several successful ways that deep learning has been used to make headway into important causal questions.

Sponsor(s): Electrical Engineering and Computer Science, Student Information Processing Board
Contact: Max Shen, maxwshen@mit.edu


Add to Calendar Jan/16 Tue 05:00PM-06:30PM 4-231, Bring your laptop.
Add to Calendar Jan/17 Wed 05:00PM-06:30PM 4-231, Bring your laptop.
Add to Calendar Jan/18 Thu 05:00PM-06:30PM 4-231, Bring your laptop.
Add to Calendar Jan/19 Fri 05:00PM-06:30PM 4-231, Bring your laptop.

Max Shen


Game Design and Development 101

Julian Hernandez

Enrollment: Unlimited: No advance sign-up
Attendance: Participants welcome at individual sessions

Learn the basics of the artistic and computer sciency side of game design! We'll learn about what makes games fun, how to make decent collision code, the best tools for your sound effects, and how to work in a game dev team without going insane. By the end, you'll have made your own game and be ready to get out there and bring your dreams to life! We'll use GameMaker Studio 2 in the class: it's simple enough that anyone without programming experience can get the hang of it, and it's versatile enough that it's the IDE used for Undertale, Hotline Miami, Spelunky, Hyper Light Drifter, and more!

Sponsor(s): Electrical Engineering and Computer Science, Student Information Processing Board
Contact: Julian Hernandez, gmfk07@mit.edu


Add to Calendar Jan/16 Tue 05:00PM-07:00PM 3-333, Bring your laptop.
Add to Calendar Jan/17 Wed 05:00PM-07:00PM 3-333, Bring your laptop.
Add to Calendar Jan/18 Thu 05:00PM-07:00PM 3-333, Bring your laptop.

Julian Hernandez


How to Read a Patent

Lucy Lubashev

Add to Calendar Jan/17 Wed 06:00PM-07:30PM 1-135, Bring your laptop.

Enrollment: Unlimited: No advance sign-up

Have you seen mentions of patents and inventions and tried to read a patent, only to find it unreadable gobbledygook? Are you an inventor and want to know how to proofread a patent application on your invention? Do you need to look through patents for technology valuation? Are you just curious about patent and other IP-related questions and current events? Then come to this class, and you'll learn how to read patents, depending on what your reason for reading them is (No, don't start with the Abstract!), and you'll have a chance to ask your questions to a patent attorney with more than 15 years of experience. Note: this class will not involve reviewing inventions to analyze whether they are ready for patenting.

Sponsor(s): Electrical Engineering and Computer Science, Student Information Processing Board
Contact: Lucy Lubashev, lyudmila@mit.edu


Intro to Version Control using Git and GitHub

Tristan Naumann

Add to Calendar Jan/24 Wed 05:00PM-07:00PM TBD, Bring your laptop.

Enrollment: Unlimited: No advance sign-up
Prereq: Basic shell familiarity is helpful

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): Electrical Engineering and Computer Science, Student Information Processing Board
Contact: Tristan Naumann, tjn@mit.edu


Introduction to Functional Programming in Haskell

Austin Garrett

Add to Calendar Jan/16 Tue 05:00PM-07:00PM 1-115, Bring your laptop.

Enrollment: Unlimited: No advance sign-up
Prereq: Familiarity with programming is helpful

Pure functions, immutable data, and recursion oh my! Maybe you've heard people talk about functional programming, but what does it all mean?

This class aims to give a general overview of what functional programming is all about, through an introduction to Haskell. Haskell is a pure, strongly-typed functional programming language that has enjoyed a large amount of interest in the past few years. In this talk, I'll try to show you how fun functional programming in Haskell can be, and ultimately how functional languages can help to make your code safer from bugs, more understandable, and simpler (yes, simpler!)

Sponsor(s): Student Information Processing Board, Electrical Engineering and Computer Science
Contact: Austin Garrett, agarret7@mit.edu


Reverse-Engineering Software

James Koppel, Rahul Sridhar

Add to Calendar Jan/18 Thu 05:00PM-07:00PM 1-115, Bring your laptop.

Enrollment: Unlimited: No advance sign-up
Prereq: Familiarity with C and assembly would be very helpful

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): Electrical Engineering and Computer Science, Student Information Processing Board
Contact: James Koppel, jkoppel@mit.edu


The Mathematics of Deep Learning

Anish Athalye, Logan Engstrom, Andrew Ilyas

Add to Calendar Jan/18 Thu 05:00PM-09:00PM 4-237, Bring laptop (Python, NumPy, TensorFlow & Jupyter)

Enrollment: Unlimited: Advance sign-up required
Sign-up by 01/19
Prereq: MV calc required; linear algebra, Python, NumPy, TensorFlow

Learn the key ideas that make deep learning work.

This class focuses on teaching the mathematical ideas that make deep learning tractable and teaching how to think about deep representations and neural network function approximation.

As we introduce the mathematics, we'll work through implementing simple neural networks and training algorithms from scratch in NumPy. While teaching higher-level ideas, we'll switch to using TensorFlow's high-level interface for programming more sophisticated neural networks without having to think about computing derivatives manually. Finally, we'll introduce cutting-edge ideas from deep learning research, and try to replicate some of the latest results ourselves.

More details here: http://anish.io/deeplearning

Please sign up here: https://goo.gl/forms/lTl5ejUtAY4RJKZQ2

Sponsor(s): Electrical Engineering and Computer Science, Student Information Processing Board
Contact: Anish Athalye, aathalye@mit.edu