Watch All 23 Video Lectures FREE
This is CS50
Introduction to Computer Science I
David J. Malan
David is a Senior Lecturer on Computer Science at Harvard University for the School of Engineering and Applied Sciences. He received his A.B., S.M., and Ph.D. in Computer Science from Harvard in 1999, 2004, and 2007, respectively.
IMPORTANT NOTE: This online course can be taken for Certification and/or Harvard Course Credits via edX CS50: Introduction to Computer Science . For those who want to simply learn by viewing the actual course lectures for free and view associate tests, materials, etc. start here just below and also at http://cs50.tv/2013/fall/
These lectures were produced in Sanders Theatrer in Memorial Hall by Dan Coffey, Shelley Westover, Colton Ogden, Ramon Galvan ’16, and Kenny Boyle. Notes were taken by Andrew Sellergren ’08.
- Week 0. Binary. ASCII. Algorithms. Pseudo-code. Source code. Compiler. Object code. Scratch. Statements. Boolean expressions. Conditions. Loops. Variables. Functions. Arrays. Threads. Events. (Part 1 | Part 2)
- Week 1. Linux. C. Compiling. Libraries. Types. Standard output. (Part 1 | Part 2)
- Week 2. Casting. Imprecision. Switches. Scope. Strings. Arrays. Command-line arguments. Cryptography. (Part 1 | Part 2)
- Week 3. Debugging. Security. Searching. Sorting. Bubble sort. Selection sort. Insertion sort. O. Ω.(Part 1 | Part 2)
- Week 4. Merge sort. Recursion. Pointers. Dynamic memory allocation.(Part 1 | Part 2)
- Week 5. Stack. Heap. Stack overflow. Pre-processing. Compiling. Assembling. Linking.(Part 1 | Part 2)
- Week 7. File I/O. Linked lists. Hash tables. Tries.(Part 1 | Part 2)
- Week 8. Stacks. Queues. Trees. HTTP.(Part 1 | Part 2)
- Week 9. HTML. CSS. PHP. SQL.(Part 1 | Part 2)
- Week 12. Life after 50.(Final Lecture)
Note: Weeks 6 and 11 don’t have lectures
This is CS50 OpenCourseware.
Computer Science 50 (otherwise known as CS50) is Harvard College‘s introductory course for majors and non-majors alike, a one-semester amalgam of courses generally known as CS1 and CS2 taught mostly in C.
Even if you are not a student at Harvard, you are welcome to “take” this course via cs50.tvby following along via the Internet. (The course’s own website is at www.cs50.net.) Available at right are videos of lectures, sections (aka “recitations” or “precepts”), and seminars along with PDFs of all handouts. Also available at right are the course’s problem sets and quizzes. If you have questions or would like to discuss the material with others, do join the course’s Google Group.
If you’re a teacher, you are welcome to adopt or adapt these materials for your own course, per the license.
If you’d like to take this course for real (on Harvard’s campus or via the Internet) in order to receive feedback on work, grades, and a transcript, the course will next be offered through Harvard Extension School (as “Computer Science E-50”) in Fall 2013; you can register online starting in July 2013. You can also take this course through edX starting in January 2014; you can register then at edx.org
Special thanks to Dan Coffey, Shelley Westover, Colton Ogden, Ramon Galvan ’16, Kenny Boyle, and TJ Barber ’15 for the course’s videos and to Lauren Carvalho ’11, Rob Bowden ’13, Joseph Ong ’14, R.J. Aquino ’14, and Lucas Freitas ’15, Fall 2013’s heads.