Kamis, 18 Agustus 2011

Kuliah Gratis di Harvard



The Harvard Extension School’s Open Learning Initiative brings a selection of noncredit online courses featuring Harvard faculty to the public for free.

CSCI E-52 Intensive Introduction to Computer Science Using C, PHP, and JavaScript

David J. Malan, PhD, Lecturer on Computer Science, Harvard University.

Watch the videos »



David J. Malan, PhD, Lecturer on Computer Science, Harvard University.

Intensive Introduction to Computer Science Using C, PHP, and JavaScript


This course is an introduction to the intellectual enterprises of computer science. Topics include algorithms (their design, implementation, and analysis); software development (abstraction, encapsulation, data structures, debugging, and testing); architecture of computers (low-level data representation and instruction processing); computer systems (programming languages, compilers, operating systems, and databases); and computers in the real world (networks, websites, security, forensics, and cryptography). The course teaches students how to think more carefully and how to solve problems more effectively. Problem sets involve extensive programming in C as well as PHP and JavaScript.


The lecture videos

The recorded lectures are from the Harvard School of Engineering and Applied Sciences course Computer Science 50, which was offered as 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.

Week 0

Introduction. Bits. Binary. ASCII. Programming. Algorithms. Scratch. Statements. Boolean expressions. Conditions. Loops. Variables. Threads. Events.

Week 1

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.

Week 2

Functions, continued. Global variables. Parameters. Return values. Stack. Frames. Scope. Arrays. Strings. Command-line arguments. Cryptography.

Week 3

Linear search. Binary search. Asymptotic notation. Recursion. Pseudorandomness. Bubble sort. Selection sort. Insertion sort. Merge sort. Debugging.

Week 4

Structures. Dynamic memory allocation. Pointers.

Week 5

Debugging, continued. Pointers, continued. Heap. File I/O. Forensics.

Week 6

Linked lists.

Week 7

Valgrind. Bitwise operators. Hash tables. Trees. Binary search trees. Tries. Heaps. Heapsort. Huffman coding.

Week 8

TCP/IP. HTTP. XHTML. PHP. SQL.

Week 9

DOM. CSS. Inheritance. JavaScript. Events, continued. OOP. Ajax.

Week 10

Preprocessing. Compiling. Assembling. Linking. CPUs.

Week 11

Enterprise architectures. Virtualization. Cloud computing. Sneak previews.

Week 12

Exciting conclusion.