CS 231: Syllabus

Syllabus for Fall 2013


In this course there will be regular opportunities for you to practice what you have learned and to demonstrate your accomplishments. Below, is a short description of each opportunity, along with the percentage of your final course grade it represents.

Labs with Programming Projects45%Weekly, hands-on, supervised learning. You will begin a programming assignment in each lab. It will be due the following Tuesday night
Quizzes25%Short weekly in-class quizzes (given on Fridays)
Short homework assignments5% Assigned each Wednesday, it will help you prepare for the quiz each Friday.
Participation5%Ask questions, answer questions, join in discussions
Final Exam20%An exciting 3-hour opportunity at the end of the semester to demonstrate your ability to answer questions about course material.

How to succeed

Labs and Projects

Come to lab ready to focus on the new project. Ask the lab instructor and T.A. for help if you need it. Talk to your peers.

The grading policy on projects is that the tasks specified explicitly in the lab and project descriptions will constitute about 85% of the assignment. If you complete the specified parts of the assignment properly, and produce a high-quality writeup, it's worth up to a B+ grade. In addition, the written instructions will include a variety of extensions to the assignment, or you can come up with your own. Completing one or more extensions, in addition to the specified parts of the assignment, will earn you some flavor of A.


Study for the quizzes by doing the homeworks. We will drop the lowest quiz grade, so that if you make a silly mistake one week, it won't affect your grade dramatically.

Short homeworks

Try them. You will receive full credit as long as you make an honest attempt to complete every question. Each homework will be a set of questions emailed by Stephanie on Wednesday. You respond to that email with your answers, along with any questions you may have. As long as you send this to Stephanie by 10pm on Thursday, she will respond with comments. As long as you send them by classtime on Friday, you will get credit. There is no partial credit for late homeworks, because we will go over the answers in class on Friday before you take the quiz.


Speak up in class. Come to office hours. Go to lab and help your neighbor. Or ask your neighbor, instructor, or TA for help.

Final Exam

The final exam will be similar to a large set of quizzes (but written from a more wholistic perspective). The best way to study for the final exam is to retake all of the old quizzes (and quizzes from old semesters). Also, read through your notes and make sure you understand everything in them.

For more information about expectations and the assignment of grades, see this document.

Help and Discussion Outside of Lecture

Office Hours

Stephanie and Kyle will both be holding office hours. Please come! We want to get to know you and we want you to get the most you can out of this course.

Evening TA Help

The Sunday evening (7-10pm) and Monday evening (7-10pm) evening TA sessions in Roberts 225 will be staffed by someone prepared to help both CS 151 and CS 231 students.



This course will use Java Standard Edition 1.7 (also known as Java 7) as the programming environment for all assignments and projects (although 1.6 should work just fine). You may use any Java development environment and hardware platform you wish. Some common options are:


Attendance and Participation

Nothing is more boring than a course with a professor who drones on and on in a lecture about material that the students don't understand. Although this course does involve lecturing, this course will not be boring. I will not drone and I will do my best to make the material as clear as possible. But for this course to be truly successful, your presence and participation are important. When you have a question, ask it. It is highly probable that one of your classmates has the same question. When I give you an opportunity to share your opinion or your answer, please speak up. I want to hear what you have to say. And, of course, to participate in class you must attend class.


The short homework assignments must be turned in on time. No late short assignments will be accepted because we will refer to their solutions in class. The longer programming assignments must be turned in on time for maximal credit. Late labs (programming assignments) will be accepted, but will be given reduced grades. Programming assignments are graded on a 30 point scale. For each day late, your grade will be reduced by 3 points.


Short quizzes will be given every Friday in class (excepting Sep 10) and the lowest quiz grade will be dropped. I will allow you to make up missed quizzes, but you must email me before class to let me know you will not be there and to request a time when you can make up the quiz. It is imperative that you email me before class begins.


Collaboration on homeworks and programming assignments is encouraged, but you as an individual are responsible for understanding all the material in the assignment. If you have had a substantative discussion of any homework or programming solution with a classmate, then be sure to cite them in your write-up. If you are unsure of what constitutes "substantative", then ask me or err on the side of caution. As one rule of thumb, if you see more than 10 lines of someone else's code, then you should cite them. You will not be penalized for working together. However, you must not copy answers directly from another student. In particular, no electronic copying of code is allowed. I reserve the right to ask you to verbally explain the reasoning behind any answer or code that you turn in.

Academic Honesty

It is vitally important that you turn in work that is your own. In addition to the ethical implications of dishonesty, you undermine your ability to learn when you cheat. Please read Colby's Academic Integrity and Honesty Statement. As a guideline, we will tell you that no electronic copying of code is allowed.


It should go without saying that you should back up any files related to this course. If the code you submit to us is somehow lost (through your fault or our fault), we must be able to get another copy from you. We suggest you use the college's personal server.