Welcome to CS 262! This course is something of a survey of CS subfields for the intermediate CS major, and could plausibly have been titled "A bunch of stuff every computer scientist should know" (although that might not have flown with the Curriculum Committee).

This class meets 6th hour on MWRF. It meets in room D-205 on MWF, and in the Cat Lab on Thursdays.

Due to the smorgasbord nature of the course, there is no single appropriate textbook, and therefore no required textbook. I will be sourcing from several different textbooks, including several I will put on reserve in the library.

In addition, Wikipedia and other websites often have pretty good explanations on the topics we're discussing, so I'll be posting links to their pages on a semi-regular basis.

- Syllabus
- Collaboration policy
- Prolog tutorial
- cppreference.com, a library reference for C and C++ standard library functions and classes
- Java 1.5 library reference (now
local!)
- (if you're off campus, you'll want a different link

- Submitted design examples
- SQLite: homepage, documentation
- The Java security model

- 6 Sep: Lab 1
- Due 13 Sep: Homework 1
- 13 Sep: Lab 2
- Due 19 Sep: Homework 2
- 20 Sep: Lab 3
- Due 25 Sep: Homework 3; Article: More may be offered lung cancer surgery
- Due 27 Sep: Homework 4
- 27 Sep: Lab 4
- Exam 1 will not be posted to the Web.
- 4 Oct: Lab 5
- Due 12 Oct: Homework 5
- 11 Oct: Lab 6
- Due 19 Oct: Homework 6
- Due 15 Oct: Homework 7
- 19 Oct: Lab 7
- Due 29 Oct: Homework 8
- 26 Oct: Lab 8
- Due 5 Nov: Homework 9
- Due 2 Nov: Homework 10
- 1 Nov: Lab 9
- Due 12 Nov: Homework 11

- 6 Sep: Prolog, Prolog tutorial
- 7 Sep: Propositional logic
- 10 Sep: Predicate logic, First-order predicate logic, Theorem proving, Default logic, Non-monotonic logic, Horn clause
- 12 Sep: Conditional probability (See also Ch 2.1 of Manning and Schütze); Joint probability
- 14 Sep: Bayes' law; Bayesian inference
- 17 Sep: Naive Bayes classifier
- 19 Sep: Intellectual property (Copyright, Trademark, Patent, Trade secret, Public domain)
- 21 Sep: Information retrieval; Precision and recall (Ch 8.1 of Manning and Schütze)
- 24 Sep: Lossless data compression; Lossy data compression Huffman coding
- 26 Sep: Run-length encoding; LZ77; RFC 1951 (DEFLATE)
- 28 Sep: Data independence
- 3 Oct: Turing test; Chinese room; ELIZA
- 5 Oct: State space
- 8 Oct: Minimax; Alpha-beta pruning
- 10 Oct: A*
- 15 Oct: User interface; User interface design
- 22 Oct: Free software, Open source (and the Free Software Foundation vs. the Open Software Initiative)
- 24 Oct: Database; Flat file database; Transaction; ACID correctness properties
- 26 Oct: E-R diagram; Weak entity
- 2 Nov: Relational algebra (Selection, Projection)
- 7 Nov: Public-key cryptography

- 7 Sep: left, middle, right
- 10 Sep: left, middle, right
- 12 Sep: left, middle, right
- 14 Sep: left, middle, right
- 17 Sep: left, middle, right
- 21 Sep: left, middle
- 24 Sep: middle, right
- 26 Sep: middle
- 28 Sep: middle
- 5 Oct: left, middle
- 8 Oct: left, middle
- 10 Oct: middle, right
- 12 Oct: left, middle
- 15 Oct: left, middle
- 19 Oct: middle
- 24 Oct: middle
- 26 Oct: middle
- 29 Oct: left, middle, right
- 31 Oct: middle, right
- Music db example: main E-R, amended E-R, relational schema part 1, amended schema and E-R
- 7 Nov: middle, right
- 9 Nov: left, middle

- "What does Milan have to do with Silicon Valley? IP laws threaten innovation"
- "Facebook opens profiles to public"
- Alan Turing's 1950 paper "Computing machinery and intelligence", which introduced the Turing test