About this courseSkip About this course
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
Pursue a Verified Certificate to highlight the knowledge and skills you gain$49 USD
Official and Verified
Receive an instructor-signed certificate with the institution's logo to verify your achievement and increase your job prospects
Add the certificate to your CV or resume, or post it directly on LinkedIn
Give yourself an additional incentive to complete the course
Support our Mission
edX, a non-profit, relies on verified certificates to help fund free education for everyone globally