Michael Sikorski

Aug 2020

This was the best class I had at Columbia University. I learnt a lot about reverse engineer and malware. The skills learnt in this course allowed me to win a CTF and to get a job in Security. The professor is great and the book used in the class (and that he wrote) as well. The lectures were always interesting and well prepared and organized. We had several lectures by invited speakers from the industry. All of them were really passionate about the topic they presented. The homework were challenging and fun. You need to use and learn a lot of different things to be able to figure out what a program does. You really feel like a hacker!

Dec 2016

This is an awesome course to take for seniors in systems track. It teaches you a rare but useful skill -- reverse engineering binaries -- while drawing a little bit from everything you've learned during your time at Columbia. There's a little bit of networks, operating systems, compilers, AP (C language), fundamentals, ... if you can name it, you will probably use it at some point in this class. It's a fantastic way to tie together all your CS knowledge and feel like a l33t haxx0r at the same time. The other cool thing is that the course is taught by researchers/investigators at Mandiant. This is the company that investigated when the New York Times and Sony got hacked. You're learning from the best in the world -- the professor literally wrote the book on reverse engineering. He and his guest lecturers had some pretty interesting war stories to share from their investigations. Lectures are very dry, but they follow the book pretty closely so you always have that as a fallback if you have trouble paying attention. If I were in charge of the course, I would speed through the lectures and spend that time on demos / story time instead. This is because the vast majority of students are undergrad seniors or MS students, so they already know what a kernel does or how virtual memory works.