MCS-170 The Nature of Computer Science
Spring 2006
Class: MWF 11:30 Olin 317
Lab: Tu Th 11:30 Olin 326

This course is designed as a general introduction to the field of computer science. It is focused on general principles of how computers work, how programs are designed, the role of the Internet and the Web, and general cultural and historical information concerning computer technology. 

The course will survey the vast breadth of computer science, covering topics such as the Internet and the Web, computer design, the impact of computing on society, and the history of computing.  We will also look in depth at the primary way humans control computers - through the use of programs.  Using the JavaScript programming language we will design interactive web pages. JavaScript is a freely available and simply designed language that we can use to implement algorithms - recipes, or set of instructions, that carry out solutions to particular computational tasks. We will also use Alice, a 3D programming environment for exploring object-oriented programming.

Prerequisites: Although there are no formal prerequisites, you should understand the material that is typically covered in high school algebra.

Course Webpage: The best source of information about this course is available at There you will find a complete syllabus, course description, current homework and project assignments, and so on.

Text: A Balanced Introduction to Computer Science, by David Reed and Learning to Program with Alice, by Wanda Dann, Stephen Cooper and Randy Pausch.

Classes: Classes will be used for lectures, demonstrations, problem solving, discussions, and other fun activities. Labs will be used for working on projects. You should prepare for each of these by doing the reading, thinking about the problems in the text or project assignments, and formulating questions of your own.

Attendance, both physical and mental, is expected.

Homework: Homework will help you check your understanding of the reading and the classes. There is one assignment for each chapter, which will be due soon after we finish that chapter in class.

Homework solutions should be neatly written on notebook sized paper and handed in at the beginning of class on the day they are due. They will be graded for the accuracy of your solution and the quality of your explanations. Be sure to follow the homework guidelines we have provided.

We encourage you to work with other students on the homework provided that you do so in such a way that every one in your group learns the material. The most effective way to do this is to first discuss each problem as a group and then have each person work on the problem individually. When you're done (or stuck) compare your work and discuss it. Remember that doing the homework is how you learn the material and that you are not allowed to work cooperatively on tests.

If you do work with other students on the homework, we would like you to follow these guidelines:

  1. Each person should write up the answers independently.
  2. Each person should be able to work each one of the problems independently.
  3. Each person gives credit to the others who helped.
Projects: You will have frequent lab projects throughout the semester. Much, but not all, of the work for these projects can be done during the lab time. During this time, you will be able to ask the lab instructor for help or guidance. 

Each lab will entail a project report. These reports will be evaluated for accuracy and also for efficiency, clarity, and style. Additionally, your report should outline the main problem of the project, describe how you solve this problem, and provide some means of testing your solution.  Be sure to follow the Suggestions for clear reports in MCS 170 we have provided.

Absences from class, late assignments, etc: Should you need to miss a class for any reason, you are still responsible for the material covered in that class. This means that you will need to make sure that you understand the reading for that day, that you should ask another student for the notes from that day, and make sure that you understand what was covered. It also means that if we had an assignment that we did in class that day, you will get a 0 for that assignment. If there is an assignment due that day, you should be sure to have someone hand it in or put it in your professor's departmental mailbox (in Olin 324). You do not need to explain why you missed a class unless there is a compelling reason to do so.

Chapter homework and project reports need to be handed in on the day they're due. Generally, you should hand them in at the beginning of class. Otherwise, you need to make sure your professor gets them before he or she leaves for the day. Under no circumstances should you send them through the POs, nor should you put them in the grey box outside our office doors or on our desks. In case you are sick or have some sort of emergency, you may hand in two of the late without penalty, as long as they are no more than one week late and as long as we have not handed out solutions or returned the graded assignments. Any more late assignments will be heavily penalized.

Tests: There will be three tests during the semester, on Friday February 24, Thursday April 13, and Wednesday, April 26.  There will also be a Final Exam on Monday, May 22, from 8-10am in the classroom. 

If you cannot take a test at the regularly scheduled time because you have some other academic obligation, please let your instructor know as soon as possible.

Honor: You are expected to work together in an honorable way in this course. This means that while you can discuss problems and their solutions, each of you should make a real effort to solve each problem by yourself, and you should give credit to any people or texts that helped you find solutions. Needless to say, you are expected to work completely by yourself on tests.

You are expected to be familiar with the college academic honesty honor code policy, and to comply with that policy. If you have any questions about it, please ask. One specific requirement of that policy is that you write the following in full and sign it on every examination and graded paper:

On my honor, I pledge that I have not given, received, nor tolerated others' use of unauthorized aid in completing this work.

For the purposes of this policy, I am defining "graded papers" to be project reports but not homework problems. (I still expect you to comply with the honor code on homework problems, just not to write the explicit pledge on them.) When project reports are co-authored, each co-author should write and sign the pledge.

Cheating is not allowed in this course. If we find someone has cheated, we will take action ranging from flunking them on the assignment in question to flunking them on the entire course. We will also notify the Dean of Students.

Course grade:
Projects 35%
Chapter homework 15%
Intra-term tests 30% (total)
Final 20%

Accessibility: Please contact your professor during the first week of class if you have specific physical, psychiatric, or learning disabilities and require accommodations. We will do our best to facilitate the necessary arrangements. All discussions will remain confidential.