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 12: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:
Due to the financial situation of the department, we will have only one TA for this course. For such a large class, one TA is clearly inadequate: just the grading takes up a full TA. For this reason we will grade only some of the questions for each assignment; we will not announce apriori which questions we will grade. We will however discuss all assignment questions in recitations, allowing you to evaluate your own answers. We apologize for this in advance but unfortunately we do not have a choice.
We strongly encourage you to work together in learning the material. Most of the assignments will involve group work. If a student outside your group helps you in your assignment, you should note it in your submission. 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, you should clearly cite the original source at the point of the quotation. Bottom line: feel free to use whatever resources that are available to you as long as you cite them in your submission.
You must sign up for the mailing list by sending an email to listproc@lists.colorado.edu with the body:
subscribe csci3155-f04 <your full name here>
You should receive a confirmation within a few minutes of sending the above email. You may post to the list by sending a mail to csci3155-f04@lists.Colorado.EDU. In order to avoid spam you must post from the email address that you used to sign up. In other words, if you use your colorado email address to sign up, you will not be able to post from your hotmail account.
Feel free to post any relevant question/opinions to this mailing list. I often post important and time-critical announcements to this list so please make sure you get on it as soon as possible.
All assignments should be submitted electronically via email to grader-3155 at www-plan.cs.colorado.edu. Each assignment should be submitted as a single text email. Other formats (e.g,. Word or PDF) will not be accepted. Please submit an assignment only when ready: if you submit an assignment multiple times we reserve the right to grade any of your submissions (rather than the last one). For group assignments (which includes most assignments), any group member can submit the assignment. Please indicate on your submission the emails of your group members. We have only one TA for a class of 90 (due to financial limitations) so please, please follow the above guidelines.
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