CS303E Assignments
All of your programming assignments will be posted here. Look for
requirements that apply to all assignments below.
Additionally, you
can view the standard grading
criteria
here.
|
Due Date |
Topic |
Assignment 1 |
6/14 |
Variables, Arithmetic Operators, and Print |
Assignment 2 |
6/21 |
User Input, Output Formatting, Arithmetic Operations, Explicit Casts, Decisions |
Assignment 3 |
6/30 |
User Input, For Loops, Output Formatting, Functions |
Assignment 4 |
7/14 |
String Manipulation, Functions, Decisions, Loops
|
Assignment 5 |
7/21 |
Loops, Functions with Return Values, Algorithm Development,
String Processing, Nested Loops
|
Assignment 6
|
8/2
|
Functions, Strings, Lists
|
Assignment 7
|
8/11
|
Lists, File I/O, Loops, String and List Methods, Functions
|
CS303E: Programming Assignment Requirements
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. Additionally, the assignment must
contain the following information in the header or you will receive no
credit:
# File: --name of file--
# Description: --a description of your program--
# Assignment Number:
#
# Name: --your name--
# EID: --your eid--
# Course Name: CS 303E
#
# Unique Number: --your section number--
#
# Date created:
# Date last modified:
#
# Slip days used this assignment:
# Total slip days used:
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 assignments. You may divide the
4 slip days across the assignments however you like, subject to the 4
day total.
Most assignments are worth 20 points and are graded on
correctness, design, clarity, and efficiency. Programming assignments
will be graded by class staff within one week of the due date. Within
one week, your program grade will be posted in the gradebook on
Blackboard, and you will have a feedback file returned to you via the
turnin program.
An assignment that does not load properly receives
no credit. A
program that produces a runtime error loses all points allotted to
program correctness.
Unless stated otherwise in the project description, programming
projects must be done individually.
There are some projects that 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. Add the following to the header in your .py files:
Pair Name 1: Section: _____ Slip days used for this project: ____ Slip days used
(total): ____
Pair Name 2: Section: _____ Slip days used for this project: ____ Slip days used
(total): ____
Note about cheating on programming assignments:
While most of you reading this would never consider cheating, it is
important for your instructors to detect cheating and carry out
penalties in order for you to be graded fairly in your classes. As
discussed in the class syllabus, programming assignments will be
checked for plagiarism and copying using MOSS (Measure of Software
Similarity). Keep in mind that MOSS is impervious to common ways of
disguising code copying. It ignores differences in variable and method
names, re-arrangement 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. It will detect that they are the same.
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
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 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
proctors.
- You may share additional test cases and expected results of
test cases.
You are also allowed to post short segments of code (<= 3 lines)
of code that are giving you syntax errors to the class discussion
group 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