312 - Introduction to Programming
All your programming assignments will be posted here. Look for
requirements that apply to all assignments below.
||Friday, September 7, at 11 pm
||Learning how to use the course software
|Friday, Sept 14, at 11 pm
|Static methods, procedural decomposition
|Monday, Sept 24 at 11 pm
|for loops, problem decomposition, class constants
|Saturday, Oct 6 at 11 pm
|user input, parameters, return values, and Strings
|Friday, Oct 19, at 11 pm
|loops, Graphics, problem decomposition, parameters
|Friday, Nov 2, at 11 pm
|problem decomposition, loops, parameters and user input
|Sunday, Nov 18, 2012 at 11 pm
|problem decomposition, arrays, text file processing
|Saturday, Dec 1, 2012, at 11
|Random class, graphics,
arrays, text file processing
|Friday, Dec 7, 2012, at 11 pm
CS 312 Programming
Unless stated otherwise in the project description, programming
projects must be done individually.
cheating on programming assignments: Cheating on
projects is an issue in CS 312. We discuss in class the
plagiarism detection software that is used in this, and most,
classes in the UTCS department. Most of you reading this do not
cheat on projects, and it is important for your instructors to
detect cheating and carry out penalties in order for you to be
graded fairly in your classes. Keep in mind that MOSS (Measure
of Software Similarity) is impervious to common ways of
disguising code copying. It ignores differences in variable and
method names, re-arrangment of code, shuffling blocks (like
if-else blocks, for example), changes in spacing and comments. I
suggest an experiment: get a Moss account
(http://theory.stanford.edu/~aiken/moss/), take one of your
class projects, and do everything you can to modify it so that
it looks different from the original to anyone who might read
it. Then submit both programs to MOSS. This is what we do with
every project you submit in this class.
Some projects may be completed with a partner. If you choose to work
with a partner on these pair projects, you must follow the pair
rules. Each pair will turn in one project solution. Once
you choose a partner for a project, you are not allowed to switch
partners. If you decide that you cannot complete the project as a
pair, you must notify your TA, and each student must complete the
project individually. You may not switch to a different partner.
When you are working on a pair project, at least 80% of your time on
the project must be spent in the lab with your partner, and you must
take turns sitting at the keyboard and typing.
No lab assignment may be turned in more than 3 days late. If the
project is due at 11 pm on Thursday, it cannot be submitted after 11
pm on Sunday. You will have 4 slip/late days in 1 day units (i.e., 1
minute to 24 hours late = 1 slip day, etc.) for the projects, but
you are not allowed to use slip days on the first or last
assignment. You may divide the 4 slip days across the remaining
projects however you like, subject to the 4 day total maximum and
the 3 day maximum per project. Add the following to the header in
your .java files:
Pair Name 1: Slip days used for this project: ____ Slip days
used (total): ____
Pair Name 2: Slip days used for this project: ____ Slip days
used (total): ____
Assignments will usually consist of a single Java file. The
assignment descriptions will specify which files should be
submitted. Assignments that are not in the correct format or named
correctly will receive no credit. Do not turn in the .class file, or
a file that contains tilde characters. Assignments must be turned in
via the microlab turnin program.
Programming assignments will be graded by class staff within one
week of the due date. Within one week, your program grade will be
posted on blackboard, and you will have a feedback file returned to
you via the turnin program.
An assignment that does not compile receives no credit. A program
that produces a runtime error loses all points allotted to program
Most assignments are worth 20 points. Programs are graded on
correctness, design, clarity, and efficiency.
As discussed in the class syllabus, programming assignments will be
checked for plagiarism and copying using Moss. Sharing code or
algorithms with another student or obtaining assignment solutions
from any source is cheating. The penalty for cheating is an F in the
course and a referral to the Dean of Students office.
More on Academic Honesty - taken from the CS
department Code of Conduct.
"The University and the Department are committed to preserving
the reputation of your degree. It means a lot to you. In order to
guarantee that every degree means what it says it means, we must
enforce a strict policy that guarantees that the work that you
turn in is your own and that the grades you receive measure your
personal achievements in your classes:
Every piece of work that you turn in with your
name on it must be yours and yours alone unless explicitly allowed
by an instructor in a particular class. Specifically, unless
otherwise authorized by an instructor:
- Students may not discuss their work with anyone except the
instructor and other members of the instructional staff (TA,
section leader, or lab proctor).
- Students may not acquire from any source (e.g., another
student, a book or an internet site) a partial or complete
solution to a problem or project that has been assigned.
- Students may not show another student your
solution to an assignment.
- Students may not have another person (current
student, former student, tutor, friend, anyone) “walk you
through” how to solve an assignment.
- When working on pair programming assignments you may work with
one other person in the class. If you do not finish the
assignment with the person you start on the assignment with, you
must both finish the assignment individually.
If you are taking the course a second time, you are allowed to
submit a previous solution that you authored unless that program
was involved in a case of academic misconduct.
For any assignment where academic misconduct was found
(whether the case was settled formally or informally), you have to
write a new version of the program.
You are responsible for complying with this
policy in two ways:
- You must not turn in work that is not yours, except as
expressly permitted by the instructor of each course.
- You must not enable someone else to turn in work that is not
theirs. Do not share your work with anyone else. Make sure that
you adequately protect all your files. Even after you have
finished a class, do not share your work or published answers
with the students who come after you. They need to do their work
on their own.
The penalty for academic dishonesty will be a
course grade of F and a referral of the case to the
of Students. Further penalties, including suspension
or expulsion from the university may be imposed by that office.
One final word: This policy is not intended to discourage
students from learning from each other, nor is it unmindful of the
fact that most significant work in computer science and in the
computing industry is done by teams of people working together.
But, because of our need to assign individual grades, we are
forced to impose an otherwise artificial requirement for
individual work. In some classes, it is possible to allow and even
encourage collaboration in ways that do not interfere with the
instructor's ability to assign grades. In these cases, your
instructor will make clear to you exactly what kinds of
collaboration are allowed for that class."
For CS312 the policy on collaboration is modified as follows: You
are encouraged to study for tests together, to discuss
high-level approaches for solving the assignments, to help each
other in using the software, and to discuss methods for debugging
code. Essentially if you talk about an assignment with
any one else (and neither of you is writing or looking at code
as you talk) you are okay, but the moment you start looking
at someone else's source code or showing someone else
your source code you have crossed the line into
inappropriate collaboration. You should not ask anyone to
give you a copy of their code or give your code to another
student. Similarly, you should not discuss your algorithmic
strategies to such an extent that you and your collaborators end
up turning in exactly the same code. Discuss high level
approaches, but do the coding on your own. The exceptions to
- You may use any code you develop with the instructor, TAs,
- You may share additional test cases and expected results of
You are also allowed to post short segments of code (<= 3
lines) of code that are giving you syntax errors to the class
listserv in order to get help on fixing the syntax error.
Plagiarism detection software will be used on all assignments
to find students who have copied code from one another.
For more information on Scholastic Dishonesty see the University
on Scholastic Dishonesty