Instructional Approach

When it comes to learning a new programming language for those who already know to program, there are two general types of audience: those who prefer to learn by doing, and those who prefer learning concepts from the ground up. This course is designed to serve both groups.

We alternate between step-by-step tutorial lessons where we learn by doing (building applications), and concept-focused lessons where we dissect a part of the language and learn all there is to learn about it.

For instance, in the first lecture, we will build a very simple web app (learn by doing). The reading immediately following the first lecture will be about JavaScript basics (how to declare variables, what the data types are, ...).

Please note this course packs a lot and it is fast-paced! We take a very hands-on approach in lectures, and we will build many throw-away applications.1

The target audience are novices to intermediate programmers who had modest exposure to a programming language such as Java, C++, or Python. They know the basics of structured programming (decomposing a solution into modules, making use of control structures, etc.) and the basics of object-oriented programming (modeling a solution as a set of interacting objects, capturing complexity through the use of inheritance and object composition, etc.)

It is unlikely that this course will add to your skillset and programming repertoire if you already know JavaScript and have built applications in the MERN stack!


1

Throw-away applications are those that are interesting enough to make us excited for building them but are not feature reach and polished enough to be used for real! They make the perfect mix for course activity and learning.