Intensive Introduction to Computer Science
David J. Malan, PhD, Lecturer on Computer Science, Harvard University
The lecture videos
The recorded lectures are from the Harvard School of Engineering and Applied Sciences course Computer Science 50, which was offered as CSCI E-52, an online course at the Extension School.
The Quicktime and MP3 formats are available for download, or you can play the Flash version directly. Each week has 2 hour-long lectures.
Bits. Binary. ASCII. Programming. Algorithms. Scratch. Statements. Boolean expressions. Conditions. Loops. Variables. Threads. Events.
C. Source code
Compilers. Object code. SSH. SFTP. GCC. Functions. Comments. Standard output. Arithmetic operators. Precedence. Associativity. Local variables. Types. Casting. Standard input. Libraries. Boolean expressions, continued. Conditions, continued. Loops, continued.
Global variables. Parameters. Return values. Stack. Frames. Scope. Arrays. Strings. Command-line arguments. Cryptography.
Binary search. Asymptotic notation. Recursion. Pseudorandomness. Bubble sort. Selection sort. Insertion sort. Merge sort. Debugging.
Dynamic memory allocation. Pointers.
Pointers, continued. Heap. File I/O. Forensics.
Bitwise operators. Hash tables. Trees. Binary search trees. Tries. Heaps. Heapsort. Huffman coding.
Compiling. Assembling. Linking. CPUs.
Virtualization. Cloud computing. Sneak previews.
Enroll in Harvard Extension School courses
If you enjoyed this free online computer science course, the Harvard Extension School offers a wide variety of courses in numerous fields. Search for classes and enroll for credit during the fall and spring registration periods.