In this course you will learn key concepts in computer science and learn how to write your own computer programs in the context of building a web crawler.
What Will I Learn?
At the end of this course, you will have learned key concepts in computer science and enough programming to be able to write Python programs to solve problems on your own. This course will prepare you to move on to intermediate-level computing courses.
Lesson 1: How to Get Started – Your first program: Extracting a link
Lesson 2: How to Repeat – Procedures, decisions (if), loops; finding all of the links on a page
Additional Lesson: How to Solve Problems – Universal techniques for solving programming problems
Lesson 3: How to Manage Data – Lists; crawling the web
Lesson 4: Responding to Queries – Complex data structures; building a reverse index to do searches; networks
Lesson 5: How Programs Run – Reasoning about cost; hash tables (Dictionary)
Lesson 6: How to Have Infinite Power – Recursive definitions; ranking search results
Lesson 7: Where to Go from Here – Past, present, and future of computing; exam
Extended Units – (These units were not part of the original (7-week) course, but have been added to the course.)
Lesson 8: How to Learn New Things – Tips for learning more on your own
Lesson 9: How to Manage Complexity – Modules, types, classes
Lesson 10: How to Reuse Classes – Inheritance
Lesson 11: Programs in the Real World – File IO, and Exceptions
Prerequisites: There is no prior programming knowledge needed for this course. Beginners are welcome!
Instructor: David Evans