Resources for Harvard CS50

Note: I created this page for the Fall 2016 class (section) of Harvard's CS50 course.

CS50 is Harvard’s introductory computer science course. I was a Fall 2016 Teaching Fellow for the course and made slides/resources you (and other instructors) might find helpful.

Slides, cheat sheets, & resources

Week 2 (C, arrays, functions)

Introductions, grading guidelines, introduction to C, debugging, arrays, functions, command line arguments.

Week 3 (More arrays, sorting, searching)

More arrays, debug50, asymptotic notation (O and sigma), linear search, binary search, bubble sort, insertion sort, selection sort, merge sort, recursion.

Week 4 (File I/O, memory management, pointers)

Redirection methods, writing to / reading from files, memory management (heap and stack; dynamically allocated memory), pointers, hexadecimal, structs (accessing fields in structs).

Week 5 (Structs, linked lists, hash tables, tries)

More structs (defining structs, static vs. dynamic creation, accessing fields in structs), linked lists, hash tables, tries, stacks, queues.

Week 6

Mid-term review.

Week 7

CS50 coding contest.

Week 8 (Python, Flask)

Conceptual basics of Python, Python syntax, Python vs. C, basics of Flask, model/view/controller (MVC) architecture.

Week 9 (More Python, Flask, SQL)

More conceptual basics of Python, more Flask (decorators and routes; MVC in the context of Flask), SQL queries.

Week 10 (JavaScript, DOM, jQuery, AJAX)

JavaScript basics, JavaScript vs. Python vs. C, basic JavaScript syntax, basic JavaScript data structures. Document object model (DOM), interacting with the DOM, jQuery selectors, basics of AJAX, JavaScript debugging.

General information for my section

My section meets Tuesdays 4:00pm to 5:30pm in Northwest Labs B106. Note that section is optional and you're free to attend any section you'd like.

My office hours are Mondays 4:00pm to 5:00pm at CS50@HSA (67 Mt Auburn St, 4th floor). Priority is given to students in my section, although anyone taking CS50 is welcome to attend.