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.