Computing is a science. It’s an art, at least for those who practice it well, and it still retains much of its magic.
Part 1 of this course introduced the fundamental concepts, preparing you for the more advanced topics covered in this course!
Throughout this course, you will learn programming concepts and techniques, and practice them immediately through advanced browser-based tools that let you write programs, compile, run and test them against predefined test sets. You will see your results right away in your browser!
In this Part 2, we will discuss:
A major programming technique, inheritance, including Multiple inheritance: combining complementary abstractions
Selective exports for solid modular design of large systems
Functional programming with agents: going one level of abstraction higher or more
Concurrency: how to build applications that, so to speak, walk and chew gum at the same time
Design patterns: how you can benefit from the best architectural practices of the industry, ironed out over many decades
What makes a loop do its job right, with the notion of loop invariant
Important practical examples: how to write an interactive application with undo-redo, and the example of topological sort
Software engineering-- the construction not just of individual programs but also of complex, ambitious software systems
Join us in this computing and programming course to better understand the power and beauty of modern computer programming.
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.