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: Overview. Abstractions. ML.
Lecture 2: Datatypes, source code.
Lecture 3: Functions, source code.
Lecture 4: Recursion and Pattern Matching, source code.
Lecture 5: More on Pattern Matching, Lists, source code.
Lecture 6: Abstract Data Types, Signatures and Structures, source code.
Lecture 7: Physics and Transistors.
Lecture 8: Boolean algebra, Boolean Expressions, source code.
Lecture 9: Gates and Circuits.
Lecture 10: Circuit Simulation, source code.
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.