CS 117, Introduction to Computer Science
Syllabus
Instructor Information
Textbook
- Java Software Solutions, Foundations of Program Design,
4th edition, 2nd printing, by Lewis & Loftus. Published by
Addison-Wesley, 2005. ISBN 0-321-32203-7. The bookstore has the
second printing. If you have the first printing (ISBN
0-321-24583-0), make sure to look at the errata sheet on the textbook web
page.
Important Dates
- Exam 1: Wednesday, April 27
- Exam 2: Monday, May 30
- Final project due: Monday, June 6, at 5 pm.
Course website
Your Grade
- Assignments: 35%
- Exam 1: 25%
- Exam 2: 25%
- Final Project: 15%
Working from Home
- We will be programming in Java, using Sun's JDK version
1.5.0. This will be set up for use in the Computer Science labs. You
should feel free to install Java on your home machine and work from
there if you wish. If you do so, you are responsible for making sure
that your programs work under the version of the compiler that we
have installed in the labs, and that you can successfully
electronically submit your code via the
hsp
program. I
am 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. An assignment 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%. A programming assignment
turned in any time after this until the last day of classes will be
docked 75%. Non-programming assignments can not be turned in any
later than two days following the due date since we may be discussing
answers in class.
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 email. If your question relates to difficulties with your program, please bring a printout.
Working Together
- For all programming assignments, you will be
assigned a partner to work with. I'll shuffle up the partners a few
times throughout the term so that you get the experience of working
with a few different people.
- You and your partner should engage in the
pair programming model, that is both of you should be sitting
at a single machine, side by side. One of you is "driving," i.e. actually using the keyboard and mouse. The other is actively engaged
following along, stopping bugs, and providing ideas. You should make
sure that over the course of an assignment that you spend roughly the
same amount of time each "driving." I will also ask you to turn in a
form rating the work that your partner does.
- If you really want to work alone, that's ok. Send me
an email and let me know that you want to work alone, and I won't
assign you a partner. I will expect, however, that you do work of the
same amount and quality as those students with partners. You can
change whether or not you work alone each "cycle" that I assign new
partners.
- I may also be assigning occasional "paper and pencil"
problems. You may collaborate with others in the class for ideas, but
all students should turn in individual assignments for these.
Collaboration, Plagiarism, and the Difference Between the Two
There are two different kinds of working together: collaborating and plagiarism.
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.
- If a piece of your program utilizes someone else's idea, i.e., someone other than the program author(s), you must give that person credit in program comments.
Plagiarism
- Plagiarism is bad. DON'T DO IT!
- Any programs that you turn in should be your work of the
author(s) only.
- Even if the program author(s) share ideas with others, the
program itself must be written by the author(s).
- If a piece of your program utilizes someone else's idea, you
must make sure to give that person credit in program comments.
The following are examples of plagiarism.
- Taking someone else's program, changing the variables and comments
around, putting your name at the top, and turning it in.
- Finding a similar program on the internet, changing the variables
and comments around, putting your name at the top, and turning it in.
- Finding a similar program in a book, changing the variables and comments
around, putting your name at the top, and turning it in.
I will be using software to discover plagiarism if it occurs, and I
am compelled by Carleton policy to notify the College if I find
evidence of plagiarism.