- Introduction - [[Welcome]] - [[Making the most of this course]] - [[Using the exercise files]] - Programming Basics - [[What is programming?]] - [[What is a programming language?]] - [[Writing source code]] - [[Compiled and interpreted languages]] - Core Programming Syntax - [[Why JavaScript?]] - [[Creating your first program in JavaScript]] - [[Requesting input]] - Variables and Data Types - [[Introduction to variables and data types]] - [[Understanding strong, weak, and duck-typed languages]] - [[Working with numbers]] - [[Using characters and strings]] - [[Working with operators]] - [[Properly using white space]] - [[Adding comments to code for human understanding]] - Writing Conditional Code - [[Building with the if statement]] - [[Working with complex conditions]] - [[Setting comparison operators]] - [[Using the switch statement]] - Modular Code - [[Breaking your code apart]] - [[Creating and calling functions]] - [[Setting parameters and arguments]] - [[Understanding variable scope]] - [[Splitting code into different files]] - Iteration: Writing Loops - [[Introduction to iteration]] - [[Writing a while statement]] - [[Creating a for loop]] - More About Strings - [[Cleaning up with string concatenation]] - [[Finding patterns in strings]] - [[Introduction to regular expressions]] - Collections - [[Working with arrays]] - [[Array behavior]] - [[Iterating through collections]] - [[Collections in other languages]] - Programming Style - [[Programming style]] - [[Writing pseudocode]] - [[Input and Output]] - [[Input/output and persistence]] - [[Reading and writing from the DOM]] - [[Event driven programming]] - [[Introduction to file I/O]] - When Things Go Wrong - [[Introduction to debugging]] - [[Tracing through a section of code]] - [[Understanding error messages]] - [[Using debuggers]] - Introduction to Object Orientation - [[Introduction to object-oriented languages]] - [[Using classes and objects]] - [[Reviewing object-oriented languages]] - Advanced Topics - [[Memory management across languages]] - [[Introduction to algorithms]] - [[Introduction to multithreading]] - Exploring the Languages - [[Introduction to languages]] - [[C-based languages]] - [[The Java world]] - [[.NET languages: C# and Visual Basic .NET]] - [[Ruby]] - [[Python]] - [[Objective-C]] - [[Libraries and frameworks]] - Conclusion - [[Where to go from here]]