Computer Sciences 305j
Assignments Page
CS 305j · The University of Texas at Austin · Fall 2008

 

Assignment
Number
Placed Online Due Date Topic
1 Wednesday, August 27 Friday, September 5 Getting started in Java and using the required software - 10 point assignment
2 Wednesday, September 3 Thursday, September 11 Simple output and decomposition - song - 10 point assignment
3 Wednesday, September 10 Thursday, September 18 Output and loops. Drawing a complex figure.
4 Wednesday, September 17 Thursday, September 25 Using parameters
5 Wednesday, September 24 Thursday, October 9 Graphics
6 Wednesday, October 8 Thursday, October 16 Conditional execution: rock, paper, scissors. (Pair assignment)
7 Wednesday, October 15 Thursday, October 23 While loops, random walk (Pair assignment)
8 Wednesday, October 22 Thursday, October 30 File processing, working with lots of data
9 Wednesday, October 29 Thursday, November 13 Array problems, temperament sorter (Pair assignment) - 30 point assignment
10 Friday, November 14 Tuesday, November 25 Two dimensional array and classes (Pair asignment)- 30 point assignment
11 Wednesday, November 19 Thursday, December 4 Simple Classes. Critters. No slip days may be used on this assignment.

General Assignment Requirements

Programming Assignments Individual assignments are to be completed by you alone. You may not share code with other students or other programmers. Review the class policy on improper collaboration from the class syllabus and how this applies to individual assignments.

About half the assignments may be done in pairs using a technique called pair programming (Read the paper on pair programming to understand how the technique works.). One solution will be turned in for the pair. Once you start working with one partner on an assignment you may not switch partners. If you do not wish to work with a partner after starting on an assignment you must both complete it individually. You must inform your TA(s) via email if you start working on an assignment with another person and decide to finish as individuals. You may not re-pair after starting the assignment with someone else. When working on pair programming assignments you are expected to spend 80% of your time on the assignment working with your partner, together at one computer, taking terms typing, and navigating.

Programs will be written in Java, using the Java 2 Platform Standard Edition 6.0. See the software page for information on downloading and installing Java at home.

There will be 11 programming assignments.

Assignments are due by 11  pm on the due date.

You will have 6 free late (slip) days in 1 day units (1 minute to 24 hours = 1 day) for the semester.

  • You may divide your slip days across the assignments in any way you wish to extend deadlines for the assignments except you may not use more than 4 slip days on a given assignment and no slip days may be used on the last assignment.
  • On pair programming assignments (See above for more information), both members of a pair use their own slip days, and both must have the requested number of slip days.
  • You may not use slip days to turn an assignment back in for a re-grade.
  • Weekends and vacation days do not stop the slip day clock. For example if an assignment is due on Thursday and you turn it in on Monday you have used 4 slip days (Friday, Saturday, Sunday, and Monday.)
  • To help the TA track your slip-day status you will complete the slip day portion of the appropriate comment in your source code file you turn in.
  • No slip days may be used on the last assignment of the term.

Assignments must compile and run in the Painter Microlab.

Assignments will either be submitted as a single Java file or  possibly a text file.  Each assignment will specify exactly what to turn in. Assignments that are nor in the correct format or named correctly will receive no credit. Do not turn in files that have tilde(~) characters in the file name. Do not turn in the .class file.

Assignments must be turned in via the Microlab turnin program.

An assignment that does not compile, does not run, or suffers a runtime error, loses all correctness points.

Most assignments are worth 20 points The first two assignments are worth 10 points. Two of the last three assignments are worth 30 points. In general this is broken down into the following areas: 10 points for correctness and 10 points for design, clarity, testing, and efficiency. A program that suffers a compile error or a runtime error loses all of the correctness points.

Each assignment will specify whether it must be done individually or as a pair.

Assignments will be checked for plagiarism and copying using Moss. You may discuss high level design issues with your fellow students, but sharing algorithms or code or obtaining solutions from another source constitutes academic dishonesty and will result in an F for the course.

The teaching staff will grade, comment, return, and post the grade for an assignment within 5 days. A grade can only be disputed within the following one week.

All grade disputes must be made in writing by email to the TA with supporting evidence or arguments, and may result in the entire assignment being re-graded.

Academic Dishonesty

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:

  1. You must not turn in work that is not yours, except as expressly permitted by the instructor of each course.
  2. 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 CS305J the policy on collaboration is modified as follows: You are encouraged to study for tests together, to discuss methods 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, conversely, give your code to another student who asks you for it. 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 together, but do the coding on your own. The exceptions to this are:

  1. You may use any code you develop with the instructor, TAs, or proctors.
  2. 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 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


To the CS 305j home page