CS 117: Introduction to Computer Science
Winter 2003
Syllabus
The Instructor
- Jeff Ondich
- CMC 327
- jondich@carleton.edu
- Office phone: 646-4364
- Home phone: 663-7123
- Office hours: M 2A, T 11:30, W 5A, F 2A. Feel free to drop
by any other time I'm around.
The Prefector
- Rachel Kirby
- kirbyr@carleton.edu
In case you are wondering, "prefector" is a slightly bizarre coinage of
the Academic Support department at Carleton. If you check "prefect" in a dictionary,
you will probably conclude that "prefector" is related to the definition
"a student monitor or officer, especially in a private school." You may
find greater etymological enjoyment by thinking of Rachel as "the chief of
police of Paris, France." In any case, I believe that someone desired a term
for "teaching assistant" that wasn't "teaching assistant," because we don't have
TA's here at Carleton.
The Textbook
- An Introduction to Object-Oriented Programming with Java,
by C. Thomas Wu. Published by Jones and Bartlett, 2001. It's a good
book, and especially good at introducing the ideas of object-oriented
programming.
Your Grade
- Assignments: 45%
- Exam 1: 20%
- Exam 2: 20%
- Final Project: 15%
Working from Home
- We will be programming in Java, using the
BlueJ programming environment.
This will be set up for use in the Computer Science labs. You may install
Java, BlueJ, and other tools that we use on your own machine. PCs running
Windows or Linux, and Macs should all work. I'm glad to informally provide
whatever advice I can to help you get the software running on your own
machine, but home use is technically unsupported.
Homework Policy
- Each assignment will have a specific time for which it will be due, and
your electronic submissions are marked with their submission time. A program turned in late within
one day of the due time will be docked 25%. A program turned in later than
one day of the due date but within two days will be docked 50%. After that,
you will receive no credit. This policy
is to protect the grader, but also to encourage you to begin your work
as early as possible. If you have extraordinary circumstances, I may
grant an extension, but you need to talk to me well before the assignment is due.
Getting Help
- If you need help with a project, you can consult with other students, talk
to the prefector, ask a lab assistant, or come to me. I am happy to answer
your questions either in person or via e-mail. It's doubtless harder to catch me in person
than to fire off an e-mail message, but you may find that I respond more quickly
in person than I do electronically.
Collaboration, Cheating, and the Difference Between the Two
There are two different kinds of working together: collaborating and cheating.
Collaborating
- Collaborating is good.
- You are encouraged to collaborate on ideas and program design.
- Programming is often a social effort, and there is much you can learn by
talking out the ideas in this class with each other.
- You can by all means talk to each other, look at each others' programs
to help fix problems, and share ideas.
Cheating
- Cheating is bad. It's bad for your reputation, your emotional well-being,
and your immortal soul (if any). Don't cheat.
- Any programs that you turn in should be your work.
- Even if you work with someone else and share ideas, you must still write
your own program.
- If a piece of your program uses someone else's idea, you must make
sure to give that person credit in program comments. Proper citation of
other people's ideas is essential.
The following are examples of cheating.
- Taking someone else's program changing the name of the programmer at the
top, and turning it in.
- Taking someone else's program, changing the variables and comments around,
and turning it in.
- Finding a similar program on the internet, putting your name at the top,
and turning it in.
- Finding a similar program on the internet, changing the variables and comments
around, and turning it in.
I will be using software to discover cheating if it occurs, and will not
hesitate to notify the College if it does.