This computer science course is the second of a two-course sequence on how to write good software using modern software engineering techniques.
This course will dig deeper into what makes for "good" code -- safe from bugs, easy to understand, and ready for change. We will explore two paradigms for modern programming: (1) grammars, parsing, and recursive datatypes; and (2) concurrent programming with threads.
This is a challenging and rigorous course that will help you take the next step on your way to becoming a skilled software engineer.
Photo by raincrystal on Flickr. (CC-BY-SA) 2.0