This page describes the high level goals and format of the course. Click here for a lecture-by-lecture syllabus.
This course will cover important concepts behind modern programming languages such as Java and ML. After taking this course, you will be able to:
The Conversational Classroom. Sitting in a room listening to somebody talk is not the best way to learn (and much research backs this up). This course will de-emphasize listening to me talk and emphasize your learning ideas from resources out of class, and discussing problems and questions in class. We’ll try to make our classroom a place of active conversation, rather than passive listening. You can find out more about the conversational classroom by reading this article.
The PL-Detective. The PL-Detective is a tool based on our (my collaborators and myself) experience in teaching computer science courses. The PL-Detective aims to make learning programming language concepts fun while attempting to address many of the goals enumerated above. Click here to get a paper describing the PL-Detective. We will use the PL-Detective not just for assignments but also for classroom demonstrations. Click here to get a link to play with the PL-Detective.
| Assignments | 30% |
| Midterm exams | 40% |
| Final exam | 30% |
There will be weekly assignments and several of the assignments will involve programming. All assignments will be due at 9:30 p.m. on Tuesday (i.e., before class) unless the assignment specifies otherwise. No late assignments (even by a few minutes) will be accepted unless in the case of emergency, in which case the student must provide appropriate documentation.
We will have two midterm and one final exam.
Students are responsible for the material covered in the readings, the material covered in the assignments, and the material covered in the classes. I will expect you to have read the assigned pages before coming to class.
We will consider the following criteria in our grading:
We strongly encourage you to work together in learning the material. Most of the assignments will involve group work. We encourage you to talk both to your group members and other students when learning the material or doing the assignments. If your submission includes quotes from a book, paper, or web site, or someone outside of your group helped you in doing the assignment, you should thank the source. Bottom line: feel free to use whatever resources that are available to you as long as you cite them in your submission.
We will use moodle for submitting assignments and for any announcements. Be sure to log into moodle.cs.colorado.edu and sign up for the csci3155-s08 course.
This web page and course has benefited greatly from the web pages and experience from earlier versions of this class taught by Michael Main, William Waite, Martin Hirzel, and Clayton Lewis