This computer science course is the first of a two-course sequence about writing good software using modern software engineering techniques.
In this course, you will learn what software engineers mean by "good" code -- safe from bugs, easy to understand, and ready for change. You will also learn ways to make your code better, including testing, specifications, code review, exceptions, immutability, abstract data types, and interfaces.
This is a challenging and rigorous course that will help you take the next step on your way to becoming a skilled software engineer.
MOOCs stand for Massive Open Online Courses. These arefree online courses from universities around the world (eg. StanfordHarvardMIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you. They also have student discussion forums, homework/assignments, and online quizzes or exams.
The material is very well explained and relevant for creating good quality software. I just wish that there were more examples of how to write good unit tests and some more guidance for the problem sets.