16:198:504, Spring 2009
Classes: Tue 9am–noon, Hill 482 (changed from Hill 254)
Your professor is Chung-chieh Shan (ccshan at cs), office hours TBA in CoRE 306 or by appointment. Your part-time teaching assistant (for technical questions and especially mathematics questions) is Ali El qursh (elqursh at cs), office hours TBA.
Please keep in touch with the class by sending email to “comp dash model at rams dot rutgers dot edu”. If you are not on this mailing list, please ask Chung-chieh Shan to add you. You must be on the list in order to post to it. All postings are archived.
Computational models are executable explanations of complex phenomena. In this course, we will build and debug computational models that include theories of perception that scientists argue about as well as theories of the world that agents entertain to figure out what to do. These explanations bring to life the tradeoff between truth and beauty.
The first half of this course concerns interactive simulations (games) and generalizations about their behavior (types). The second half of this course concerns the declarative vs procedural specification of hypotheses (search) and their probabilities (weights).
The requirements of this course are:
- active participation in classes and the course mailing list;
- weekly or fortnightly homeworks that involve reading, writing, and programming (the programming can ideally be done in pairs);
- three group projects, and their presentation and critique, completed in varying groups of 3 to 5 students.
The central place of skills development in the class means that typical students will not be well served by attending as if they were auditors.
This course is for students both in and outside of computer science who want to collaborate on interdisciplinary research. It requires the ability to talk and think computationally about programs, data, processes, abstraction, and proofs, such as taught and exercised in the course “Computational Thinking” (16:198:503). While the course will not count towards graduate requirements in computer science (other than the graduate school’s general requirement that PhD students take 48 credits of coursework), it aims to prepare students for Rutgers’s advanced graduate courses in artificial intelligence.
Text-adventure game Christminster
A simpler, uninterruptible program for summing integers from 1 to say 10:
(define (sum n) (if (= n 0) 0 (+ (sum (- n 1)) n)))
A more verbose, interruptible program for performing the same summing task in the same way:
(define (sum2 state) (if (= (second state) 10) (first state) (list (+ (first state) (+ 1 (second state))) (+ 1 (second state)))))
Programs that process data often follow the structure description of the data.
A number list is either an empty list or a number and a number list.
(define (sum-list l) (if (empty? l) 0 (+ (first l) (sum-list (rest l)))))
A number tree is either a number or a number tree and a number tree.
(define (sum-tree t) (if (number? t) t (+ (sum-tree (first t)) (sum-tree (second t)))))
Reading and discussion due 2/10: Modularity.
Presentation due 3/3: Project 1.
Same fringe homework due.
The class meets in Hill 482 rather than Hill 254 on and after today.
Problem set 1 on probability, due on Friday 2/20. Please email or hand in your work (scanned is just fine). Note that reading is due on Tuesday 2/17.
Problem set 2 on probability, due on Friday 3/6.
Problem set 3 on probability, due on Friday 3/13.
Presentation due 4/14: Project 2.
As you start on your project this week, please read at least one of the following chapters.
- Chapter 14, “Measure and sampling” in Fundamentals of computer graphics by Peter Shirley, 2002. (Please feel free to skip the part about the Metropolis method, Section 14.4.3.)
- “Introduction to Monte Carlo methods” by David J. C. MacKay, 1998. (Please feel free to skip the part about the Metropolis method, Sections 4–7.)
I’ll be traveling, but Matthew Stone will attend your presentation of project 2 and also give a related guest lecture.
To focus your project and presentation, please write an abstract for it (as explained by Landes) and send it to the class mailing list. This group homework will help you the most if you do it before your presentation, but it is due on Friday 4/17.
After your presentation, it is also time to start on the final project, which concerns constraint satisfaction. Before our next class meeting on 4/21, please read Chapter 4, up to and including Section 4.1.1, of the textbook A guided tour of computer vision by Vishvjit S. Nalwa.
Presentation due on 5/11: Project 3.
Project 3 presentations. Monday, 3–6pm, same place (Hill 482).