All your programming assignments will be posted here. Look for
requirements that apply to all assignments below.
||1/25 at 11 pm
||Learning how to use the course software
|2/1 at 11 pm
|Practice with arithmetic operations, user input, and printing
|2/9 at 11 pm
|User Input, Output Formatting, Arithmetic Operations,
Explicit Casts, Decisions
|2/16 at 11 pm
|User input, conditional statements, loops
|3/1 at 11 pm
|User input, functions, parameters
|3/20 at 11 pm
|User input, loops, string
|3/29 at 11 pm
|Functions, output formatting
|4/17 at 11 pm
|functions, string processing
|4/26 at 11 pm
|file processing, lists
CS 303e - Programming Assignment
Unless stated otherwise in the project description, programming
projects must be done individually.
assignments: Cheating on projects is an issue in CS 303e. We
have discussed 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 conditional 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
programming 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 .py files:
Pair Name 1: Slip days used for this project: ____ Slip days used
Pair Name 2: Slip days used for this project: ____ Slip days used
Assignments will usually consist of a single Python file. The
assignment descriptions will specify which files should be submitted.
Assignments that are not in the correct format or are not named
correctly will receive no credit. 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
egradebook, and you will have a feedback file returned to you via the
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
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
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
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
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 Dean 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 CS303e 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 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 this are:
- You may use any code you develop with the instructor, TAs, or
- 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
Policy on Scholastic Dishonesty