Stop Debugging! Using Data Structures To Write Code That Can't Fail


Details
In partnership with Byte Academy, we're returning to NYC to run what will hopefully be the first of many software design workshops.
To purchase a ticket, go to https://www.eventbrite.com/e/stop-debugging-using-data-structures-to-write-code-that-cant-fail-tickets-63661783107 .
---------------------------------------------
Rather than playing an endless game of whack-a-bug with your code, how about an alternative...
Please join us for a workshop led by Jimmy Koppel, sotware engineering coach and Ph.D candidate in the computer-aided programming group MIT (www.jameskoppelcoaching.com, www.pathsensitive.com).
About The Workshop: Software development is often seen as a process of: write software, then remove bugs. This often leads to fragile code, and an endless game of whack-a-bug. How about an alternative: design software that can't have bugs in the first place?
In this hands on workshop, we'll study the Representable/Valid principle, which allows us to design data structures in a way where you cannot make a mistake and APIs that cannot be misused. We'll examine bugs that hide from trained engineers for months and what allowed them to occur, design a tic-tac-toe API that can't be used incorrectly, and learn why the power of software comes not from what it can do, but from what it can't do.
About The Instructor: Jimmy Koppel is a software engineering coach and current Ph. D. candidate in the Computer-Aided Programming Group at MIT. By day, he works at MIT trying to make program transformation and synthesis tools easier to build ("programs that write programs that write programs"), and by night he teaches software engineers how to write better code. Before MIT, he was the third employee of Apptimize, and the founder of Tarski Technologies, a startup pursuing automated bug-fixing. In 2012, he graduated from Carnegie Mellon University in 2012 at the age of 20 with dual degrees in mathematics and computer science, and was named a "20 Under 20" Thiel Fellow.

Stop Debugging! Using Data Structures To Write Code That Can't Fail