CS312 Assignments Computer Sciences 312 Assignments Page CS 312 · The University of Texas at Austin · Fall 2020 Assignment Number Approximate Release Date Due Date Topic 1 Friday, August 7 Thursday, September 10 Simple Output and Structure - Song - 10 point assignment 2 Wednesday, September 2 Thursday, September 17 Output and loops - Drawing a complex figure. 3 Wednesday, September 16 Thursday, September 24 Parameters - Graphics Assignment Spring 2010 Spring 2013 Fall 2013 Fall 2014 Fall 2015 Fall 2016 Fall 2017 Spring 2018 Summer 2018 Fall 2018 Summer 2019 Fall 2019 Fall 2020 4 Wednesday, September 23 Thursday, October 8 Conditional execution - Rock, Paper, Scissors 5 Monday, October 5 Exercise Only - Not Turned in. Converted to a non graded exercise. Not to be turned in. Check syllabus for update to grading. Using parameters, String - Readability Statistics 6 Wednesday, October 7 Thursday, October 15 While loops - Hangman 7 Wednesday, October 14 Thursday, October 22 File Processing - Home Field Advantage 8 Wednesday, October 21 Thursday, October 29 Arrays -Temperament sorter 9 Wednesday, October 28 Thursday, November 5 Arrays and File Processing - Substitution Cipher 10 Wednesday, November 4 Thursday, November 19 Two dimensional arrays - Connect 4 11 Wednesday, November 18 Tuesday, November 24 Creating classes - Critters 12 Tuesday, November 24 Thursday, December 3 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. Also review Larry's List, a checklist of hygiene and requirements. Programs must be written in Java, using the Java 2 Platform Standard Edition 8.0. There are 12 11 programming assignments. Assignment 5 removed. Score shall be replaced by rounded average of assignments 2 through 12 after dropping lowest score. Assignments are due by 11 pm on the due date. You have 8 free slip (late) days in 1 day units (1 second late to 24 hours late = 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 2 slip days on a single assignment for assignments 1 - 11. No slip days may be used on the last assignment, number 12. 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 the last day you may turn it in is the Saturday just after the due date. (2 slip days) If you turn in an assignment late and do not have the required number of slip days, the assignment score is 0. Assignments must compile and run from the command line in the GDC Microlab. When testing and grading your program we will use the CS department Linux machines and the command line. We will not use any particular IDE. 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 your submission to become a special case for the teaching staff. With many programs to grade, the TAs use scripts to streamline some aspects of grading. Not following the assignment instructions and specifications causes these scripts to fail and the TAs 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: Class names must match the required class names or our scripts cannot compile them. Classes not named correctly lose all correctness points. Note, if you turn in the assignment multiple times via Canvas, Canvas renames your zip file by appending digits, -1 for the second submission, -2 for the third submission. You don't need to worry about the cruft Canvas adds to your file submissions if submit multiple times. Our grading scripts deal with this gracefully. Classes must be in the default (no package statement) unless otherwise specified. You lose all correctness points if you put a package statement in your program. An assignment that does not compile or does not run, loses all correctness points. You must follow all instructions for the assignment so that our automated testing framework can compile, run, and test your program. This include naming classes and methods correctly and not using classes or methods that are not part of the standard Java 8 API. Your program must work using the version of Java as installed on the CS department machines. There may be multiple versions of your program on your computer. We will grade what you turn in. If you turn in the wrong file (for example the original shell provided by the instructor with no changes) your grade will suffer accordingly. Most likely a 0. (Screen shots with time stamps of "last modified" from your system are proof of nothing. It is trivial to change the system time on computers or to Photoshop "evidence".) Likewise if we ask for the source code, the .java file, and you turn in the .class file your grade will be 0. You must add the header and fill it in for every file you turn in or you may lose points. You may not use disallowed classes, methods, or programming constructs. You lose 2 points per occurrence. 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 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