|Computer Sciences 312|
CS 312 · The University of Texas at Austin · Fall 2014
|Placed Online||Due Date||Topic|
|1||Monday, August 25||Thursday, September 11||Simple output and decomposition - song - 10 point assignment|
|2||Wednesday, September 10||Thursday, September 18||Output and loops. Drawing a complex figure.
Good Student ASCII Art Fall 2013
|3||Wednesday, September 17||Thursday, September 25||
Good part 1 drawings Spring 2010 Good part 1 drawings Spring 2013
Good part 1 drawings Fall 2013
|4||Wednesday, September 24||Friday, October 3||Conditional execution: rock, paper, scissors|
|5||Wednesday, October 1||Thursday, October 9||
Using parameters, Strings, encrypting text. (Transposition Cipher)
|6||Wednesday, October 8||Thursday, October 16||While loops, Hangman|
|7||Wednesday, October 15||Thursday, October 23||Loops, Random Numbers, Strategies - Dice Game (Pair Assignment)|
|8||Wednesday, October 22||Thursday, October 30||Temperament sorter (Pair assignment)|
|9||Wednesday, October 29||Thursday, November 13||Arrays and file processing, working with lots of data, decrypting encrypted text.|
|10||Wednesday, November 12||Thursday, November 20||Two dimensional arrays, Connect 4|
|11||Wednesday, November 19||Wednesday, November 26||Creating classes, Critters. (Pair assignment)|
|12||Wednesday, November 26||Thursday, December 4||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.
Some of the 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.). If you work with a partner they must be in the same discussion section as you.
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. If you start working on an assignment with another person and decide to finish as individuals, you must both start from scratch. You may not re-pair after starting the assignment with someone else. If you took CS312 previously and worked with a partner then or are working with a partner now, you must start programming assignments from scratch. 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 SE Development Kit 7.0. See the software page for information on downloading and installing Java at home. Follow the rules from this style guide and the guidelines in this style guide (ignore the section on header. I will describe the header to fill in.) when writing your code.
There will be 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 BlueJ in the GDC Microlab. You are free to use other IDEs, but if a program runs on your system, but not the grader we will arbitrate the matter using BlueJ in the UTCS microlab.
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 over 150 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.
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.
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. 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 contact your TA or proctor 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.