CPSC 201: Introduction to Computer Science

 

Instructor: Carsten Schürmann
Department of Computer Science
Yale University
Time: MWF 11:30-12:20
Room: AKW200

  Home
  Schedule
  Handouts
  Assignments
  Projects
  Links
 
 

Schedule

Lecture 1: What is Computer Science? Why ML?
Lecture 2: Binding, Scope, and Functions.
Lecture 3: Functions, Products, and Records.
Lecture 4: Datatypes and Pattern Matching.
Lecture 5: Recursion and Induction.
Lecture 6: Recursive Datatypes.
Lecture 7: Lists.
Lecture 8: Boolean functions.
Lecture 9: Boolean algebra/circuits.
Lecture 10: Integers, floating point numbers ..., (PDF)
Lecture 11: Adders, (PDF)
Lecture 12: Sequential Circuits, (PDF)
Lecture 13: Lazy data structures, (PDF)
Lecture 14: Hands-on experience with SML.
Lecture 15: Lazy data structures continued.
Lecture 16: The von Neumann machine.
Lecture 17: Programming with machine code.
Lecture 18: A machine code simulator.
Lecture 19: The lambda-calculus.
Lecture 20: Midterm.
Lecture 21: Turing Machines.
Lecture 22: Porgraming on Turing machines.
Lecture 23: Midterm Review.
Lecture 24: The Halting Problem.
Lecture 25: Regular Languages.
Lecture 26: Regular Akzeptors.
Lecture 27: Lexer.
Lecture 28: Parser.
Lecture 29: Interpreters.
Lecture 30: Artificial Intelligence.
Lecture 31: Search.
Lecture 32: More on Search.
Lecture 33: The Module System of SML.
Lecture 34: Algorithmic Methods
Lecture 35: Efficieny of algorithms
Lecture 36: Intractability
Lecture 37: P vs NP.
Lecture 38: NP completeness.
Lecture 39: Review and summary.