SYLLABUS
| Instructor: | Nathan Sprague nsprague{at}kzoo{dot}edu |
| Lab Instructor: | Kelly Schultz kschultz{at}kzoo{dot}edu |
| Office Hours: | http://www.cs.kzoo.edu/cs105/people.html |
| Class home page: | http://www.cs.kzoo.edu/cs105/ |
This course provides an overview of the field of computer science from the concrete -- what computers are made of and how they work -- to the abstract -- the theoretical limits of what computers can and cannot do. This course also focuses on the general algorithmic (disciplined, step-by-step) approach to problem solving, and the basic concepts of computer programming. Other topics include the history of computers, an introduction to several areas of computer applications including artificial intelligence, and the ethical and societal issues raised by the widespread use of computers.
| What is Computer Science? |
| Introduction to Programming in JavaScript |
| History of Computer Science |
| How Computers Represent Information |
| Computer Hardware and Logic |
| What Can Computers Do? What Can't They Do? |
| Artificial Intelligence |
| Computer Ethics and Computer Security |
Regular attendance is expected of all students. Since your grade will be partially based on in-class projects, discussions, and occasional quizzes, your attendance will affect your grade. Furthermore, attendance is absolutely required for the weekly labs.
Many of the labs and all in-class projects will involve working in small groups, as will the programming projects. Homework assignments, however, should be your own work. (See the section on Collaboration and the Honor System for more information.)
Assignments are due at the beginning of class. Programming projects, in particular, are time-consuming and difficult to predict, so you should start them as soon as they are assigned. We will assign homework and projects far enough in advance that you will have some flexibility in when you schedule your work, but you are responsible for budgeting your time wisely so that you will be able to complete your assignments on time.
Unavoidable circumstances occasionally prevent one from finishing an assignment on time. With this in mind, you are allowed two (2) 'late days' to be used at your discretion throughout the quarter. These 'late days' can be used for homework assignments, labs, mini-labs and in-class assignments only. Late assignments must be turned in by the beginning of the next class period after the original due-date. Once your late days have been used up, no late assignments will be accepted.
The Programming Projects and Final Papers, however, will not be accepted late unless you have cleared it with your instructor in advance.
This course operates in accordance with the principles of the Kalamazoo College Honor System: responsibility for personal behavior, independent thought, respect for others, and environmental responsibility. In particular, academic integrity is a fundamental principle of scholarship. Representing someone else's work as your own, in any form, constitutes academic dishonesty. Unauthorized collaboration and receiving help from others outside the bounds permitted by the instructor are also violations of the College honor code. You are responsible for working within the permitted bounds, and acknowledging any help from others or contributions from other sources.
Programming projects: You may team up with one of your classmates to work on the programming projects. You should include the names of both team members in the program documentation and turn in only one copy of the program for the team (not one for each team member). You may discuss the requirements and strategies of a programming assignment with others in the class, but you should not look at code belonging to anyone outside of your team or make your code available to anyone outside your team. If you have code-specific questions, you should address them to a course TA or computer science faculty member only. You should acknowledge in your program documentation any help you receive.
Lab assignments: Some lab assignments may also be done in teams of two. We will try to be clear about which labs may be done in teams and which should be individual efforts, but you are responsible for consulting with your instructor if you are in any doubt. When teams are permitted, you should write the names of both team members on the lab write-up and turn in only one copy for the team (not one for each team member).
Homework assignments: You may discuss the requirements, concepts, and overall strategies related to homework assignments with your classmates, but you should write the solutions individually, using your own words. Organizing and writing the solutions on your own ensures that you really understand the material. Submitting someone else's work does not help you learn and constitutes academic dishonesty.
Final paper: The final paper should be done individually and should represent your own synthesis of ideas drawn from your research. You should use citations in your document to credit all ideas drawn from other sources; you should also list all of your sources in a bibliography at the end of the document.
A few words on citations: If you directly quote one of your sources, be sure to put the phrase/sentence in quotes and include a citation. If you use an idea or fact from one of your sources, but do not directly quote it, you should still include a citation. Basically, citations should be included for any information in your paper that is not originally your own.
You may ask a reference librarian or the course instructor for help identifying possible sources as you do your research. You are encouraged to take a draft of your final paper to the Writing Center to help strengthen the presentation of your ideas. You should also acknowledge assistance with the paper (from a reference librarian, Writing Center consultant, etc.) in an acknowledgment section at the end of the document.
Consequences: Any violation of the above policies will result in, at minimum, no-credit for the assignment. Depending on the severity of the incident there may be additional consequences, including failure of the course and notification of the Dean's office. A second offense will result in immediate failure.
Grades will be based on:
Homework Assignments (approximately 6) 20% Labs, Quizzes, and In-class Projects 35% Two Programming Projects (Design, Implementation, Evaluation) 25% Research Paper (Bibliography, Outline, Paper, Presentation) 20%
Reading and homework assignments, class notes, and other material will be made available under the CS 105 World Wide Web homepage:
Any student with a disability who needs an accommodation or other assistance in this course should make an appointment to speak with their instructor as soon as possible.