SIPB IAP 2017 Activities
What is this?

Calendar Version

Classes
- Crash Course for 6.006 Intro to Algorithms in 6+0+0+6 Hours (6.s092)
- Hacker Tools
- Reverse-Engineering Software
- Reverse Engineering in Mobile Applications
- An Example-Driven Introduction to Rust
See the official IAP activities index.
I have a question about {x}Contact sipb-iap at mit dot edu.
Crash Course for 6.006 Intro to Algorithms in 6+0+0+6 Hours (6.s092) |
|
Ivan Ferreira Antunes Filho, Justine Jang, Alap Sahoo, Courtney Guo, Preksha Naik, Stef Ren, Rose Wang Date:
An overview of topics covered in 6.006, taught by experienced TAs, geared toward people who have some proofs knowledge, and want to prepare to take the class in the Spring, get some experience for algorithm questions in interviews, or who are curious about learning what all the hype is around algorithms. We will be covering topics like sort, data structures, hashing, graph search, and dynamic programming. Attendance: Pre-register on WebSIS and attend first class; listeners allowed, space permitting. |
Hacker Tools |
|
Anish Athalye, Jon Gjengset, Jose Javier Gonzalez Ortiz Date:
Learn to make the most of the tools that <a href="https://en.wikipedia.org/wiki/Hacker_culture">hackers</a> have been using for decades. As hackers, we spend a lot of time on our computers, so it makes sense to make that experience as fluid and frictionless as possible. In this class, we'll help you learn how to make the most of tools that productive programmers use. We'll show you how to navigate the command line, use a powerful text editor, use version control efficiently, automate mundane tasks, manage packages and software, configure your desktop environment, and more. More details available <a href="https://hacker-tools.github.io/">here</a>. Attendance: Please RSVP <a href="https://goo.gl/forms/HSdsUQ204Ow8BgUs2">here</a>. |
Reverse-Engineering Software |
|
James Koppel, Michael Specter, Joe Leong Date: Mon Jan 14 06:00pm – 08:00pm in 1-115 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. Attendance: No sign-up required |
Reverse Engineering in Mobile Applications |
|
Chris Varenhorst Date: Mon Jan 28 06:00pm – 07:00pm in 3-133 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 mitigate common flaws. The main approach discussed will be man in the middling running applications to observe their traffic and the various tricks needed bypass things like certificate pinning. Some older real world examples will be shared. 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. Attendance: No sign-up required |
An Example-Driven Introduction to Rust |
|
Srinivas Kaza, Matthew Pfeiffer Date:
Safety, performance, and ergonomics -- you can have it all! Rust is a memory-managed language that is safer and more convenient than C or C++. The compiler prevents many classes of bugs from ever compiling into code -- buffer overruns, memory leaks, double frees, and data races to make a few. Beyond the technical aspects of the language, the Rust community is rapidly growing, energetic, and welcoming to newcomers. In this crash course, we'll cover the semantics of Rust -- ownership/borrowing, lifetimes, traits, generics, and concurrency. We'll also go over some common anti-patterns from other languages, and try to refactor them into cleaner Rust code. Regardless of whether you opt to use Rust in the future, we hope that you'll be able to apply some of the design principles of Rust to code written in other languages. Attendance: No sign-up required |