Computer Sciences 312
Assignments Page
CS 312 The University of Texas at Austin Summer 2018


Placed Online Due Date Topic
1 Wednesday, May 23 Thursday, June 14 Simple Output and Structure - Song - 10 point assignment
2 Wednesday, June 13 Thursday, June 21 Output and loops - Drawing a complex figure.
3 Monday, June 18 Monday, June 25 Parameters - Graphics Assignment
Spring 2010     Spring 2013       Fall 2013     Fall 2014
Fall 2015    Fall 2016    Fall 2017    Spring 2018   Summer 2018
4 Wednesday, June 20 Thursday, June 28 Conditional execution - Rock, Paper, Scissors
5 Wednesday, June 27 Thursday, July 5

Using parameters, String  - Readability Statistics

6 Tuesday, July 3 Thursday, July 12 While loops - Hangman
7 Wednesday, July 11 Thursday, July 19

File Processing - Home Field Advantage

8 Wednesday, July 18 Thursday, July 26 Arrays -Temperament Sorter
9 Monday, July 23 Monday, July 30 Arrays and File Processing -  Testing Benford's Law
10 Wednesday, July 25 Thursday, August 2 Two dimensional arrays - Connect 4
11 Wednesday, August 1 Thursday, August 9 Creating classes - Critters
12 Wednesday, August 8 Thursday, August 16 Arrays of Objects - Guitar Hero, No slip days may be used on assignment 12

General Assignment Requirements:  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.

Follow the rules from this program hygiene guide.

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

There are 12 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 second late to 24 hours late = 1 day) for the semester.


Assignments must compile and run with Java installed on the CS department machines such as those in the GDC Microlab. You are free to use IDEs, but if a program runs on your system, but not the grader we will arbitrate the matter using the CS department machines and the command line. If you want to test your code in that environment please see this handout for help on logging into those machines, moving, compiling, and running your Java programs.


Assignments must be turned in via Canvas. You must turn in a file with the correct name and in the proper format. Usually this is the source code in a .java file. The assignment page will specify exactly what to turn in.

If you do not follow the instructions and specifications for assignments (name, where to turn in, file format) you cause extra work for the graders and myself. As a student and potential software developer you must follow instructions and specifications. When you do not meet your responsibilities as a student, it causes you to become a special case for the teaching staff. With close to 200 students the TAs and undergrad proctors use scripts to streamline some aspects of grading. Not following the assignment instructions and specifications causes these scripts to fail and the graders must spend more time on your submission. The following penalties are in place because there must be consequences for failure to meet your responsibilities as a student. Please read this account of a student who has seen the issue from both sides.

If you fail to follow the instructions for turning in assignments you will likely lose all points. Specific penalties for failure to follow instructions and specifications on assignments:


Assignments grades are not scaled to effort or time spent working on them. (You may spend a large amount of time working on an assignment and still lose many points because your program is not correct.) The programs are not graded on a strictly linear scale. Points will be deducted for incorrect output, failed test cases, poor style, poor efficiency, lack of necessary comments, convoluted algorithms, lack of student provided test cases, lack of answers to questions regarding the assignment, and other reasons deemed appropriate by the instructor.

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. Review the class policy on cheating.

The teaching staff will grade, comment, return, and post the grade for an assignment within 6 days. A grade can only be disputed within the following 5 days. (This isn't a weekend bazaar. If there is an error in your grade you have one week to contact your grader. We won't go back at the end of the term to look at an assignment from early in the term.)

Please do not ask for a regrade lightly. Your grade could in fact go down as a result of the regrade. Do not quibble over a few points. Regrades are for serious issues. In the past the vast majority of regrades have resulted in no change in the grade or a lower grade.

Please contact your TA  if you assignment is not graded in a timely and accurate fashion.

All grade disputes must be made in writing by email to the grader with supporting evidence and will result in the entire assignment being re-graded which may result in a lower grade.

To the CS 312 home page