Richard G Baldwin (512) 223-4758, NRG Room 4238, Baldwin@DickBaldwin.com, http://www.austincc.edu/baldwin/

GAME2302 Mathematical Applications for Game Development

This material applies to classroom sections and Distance Learning sections taught by Professor Baldwin.

Instructions for Downloading and Submitting Assignments

Spring 2014

Revised:11/04/13

The official web page for this course is GAME2302.htm


General

This document may be modified as the semester progresses in order to incorporate new instructions or clarify existing instructions. Therefore, you should review the instructions periodically and then immediately before submitting each assignment to confirm that you are in compliance.

Failure to comply with the instructions usually results in a failing grade for the assignment, often zero.

The assignments for this course are take-home assignments. You may use any reference material that you have available. However, you are instructed not to obtain assistance from anyone.

Downloading and Writing Assignments

Assignments are posted in Blackboard. Each assignment refers to an exercise associated with one of the modules at GAME 2302 - Mathematical Applications for Game Development.

Special requirements

Each assignment requires that you write one program. Although many of the exercises indicate that you may use the programming language of your choice, when an exercise is specified as an assignment for this course, you MUST write and submit that program using the Java programming language. Also, when an exercise is specified as an assignment for this course, you must include a statement similar to the following to cause your name to be displayed on the command line when your program is executed:

System.out.println("Put your name here");

If the specifications for the exercise show my name being displayed, you must substitute your name for mine.

In all cases, I need to see your name when the program executes to confirm that I haven't gotten your program mixed up with a program written and submitted by another student.

Don't use NetBeans, Eclipse, or other high-level IDEs

NetBeans, Eclipse, and other high-level IDEs are excellent productivity tools for programmers in the workplace who are working on large projects, who know exactly what they are doing, and who have a need to become more productive in their programming efforts.

However, to write the simple programs required for this course, you should need nothing more sophisticated than a text editor (preferably with Java syntax color coding) and the Oracle Java Development Kit (JDK). You shouldn't need a high-level IDE to serve as a crutch to help you write these simple programs. The use of a high-level IDE to write the programs required for this course is overkill, can lead to problems, and is not recommended. For example, you might want to consider using the simple DrJava IDE or Notepad++ for writing the programs required by this course.

Even if you use an IDE such as DrJava, you should make certain that you also know how to compile and run your programs from the command line.

Special Instructions Regarding the Submittal of Assignments

You may submit each assignment up to two times before the deadline shown in Blackboard. Your highest score among the two scores for each assignment will be used to compute your final grade.

Each assignment requires you to write one Java program.

Submit source code files only

You must submit only your Java source code files encapsulated in a zip file. (Source code files have an extension of .java.) Do not submit class files or image files. If you do submit them, they will simply be overwritten when I compile and execute your programs. The zip file must contain all of the source code files required to compile and execute the program, such as files having the following names:

None of the files may include a package declaration.

In all cases, your zip file must contain a driver file named ExerciseXX.java and that file must contain the definition of a driver class having the same name. The driver class must contain the main method. (Replace XX in the class and file names with the two digit Exercise number such as 03 or 14.) Note that the Exercise number matches the Exercise number in the module described above and is not intended to match the assignment number.

Your name in the zip file

Include your name in the name of the zip file that you submit to help me avoid getting your zip file mixed up with another student's zip file when I retrieve them from Blackboard. A suitable example file name is:

Asg01_baldwin.zip

Code compatibility

The source code files that you submit must contain code that is compatible with the version of Oracle's JDK installed in the NRG laboratory on the due date of the assignment. Among other things, this means that your source code must be compatible with the 64-bit version of Oracle's JDK 7 (jdk1.7.xxx) or later.

Testing your programs

Don't rely on the DrJava IDE (or any other IDE) to test your programs. Test your source code for each program from the command line using Oracle's javac.exe and java.exe programs to confirm that your programs conform to the program specifications before submitting your assignments.

To avoid possible class file problems, delete all of the class files (files with an extension of .class) produced by one version of your program before testing the next version of your program or before testing your next program.

No partial credit

I will score your programs from the Windows command line. (In case you develop under a different OS, make certain that your programs are compatible with the version of Windows installed in the NRG computer labs.) Each program will be graded either right or wrong. Partial credit will not be given for source code that does not fully conform to these instructions and to the program specifications. If one of your programs doesn't conform, don't bother submitting it.

My grading procedure

After copying your source code files into a folder identified by YourName on my M-drive , I will test your program by executing a batch file containing code in that folder similar to the following:

del *.class
javac -cp .; Exercise02.java
java -cp .; Exercise02

What does this mean?

In case you don't understand what the code shown above means, it is time for you to do the necessary research to learn what it means.

Briefly, it means that I will delete any compiled class files in the folder identified by YourName. Then I will attempt to compile and execute your program using the required version of Java.

Output Visual Format

With respect to the graphic programs and the display frame containing the graphics, different versions of Windows or the same version of Windows with different appearance options may produce slightly different visual output formats for the same program. The images shown in the exercises at GAME 2302 - Mathematical Applications for Game Development correspond to only one version of Windows and one set of appearance options.

Except for those differences, you must match the specified screen output in every significant way for every program. Extraneous characters on the screen, extraneous images that are not shown in the assignment specification, extra blank lines, missing blank lines, different colors for output images, etc., are grounds for disqualification. In other words, your output must be an exact image of the specified output.

You must also match the specified operational aspects in every significant way such as: shape, size, color, shading, labels, interactivity, etc. If they don't match, your version is not correct.

Every semester there are one or two students who are surprised and saddened to learn that I really do mean that you must follow the instructions and meet the specifications exactly or you won't get credit for the program. Don't be one of those students.

Recommended Study Procedures

You should study all of the material in my e-book titled  GAME 2302 - Mathematical Applications for Game Development. You should also study the material in the interactive tutorial by Dr. Bradley P. Kjell (Vector Math for 3D Computer Graphics) called out in the modules in my e-book. (You can also download a copy of Kjell's tutorial in a zip file using a link that is provided here.)

(A collapsible index to all the modules in my e-book appears on the left side of the page.)

Pay particular attention to the sample programs that are explained in the various modules. You will find that those sample programs are similar to some of the programming assignments.

You should also make certain that you know how to compile and execute the programs from the command line.

Submitting Your Assignment

Submit your assignment using the Blackboard Assignment feature.

Although I am unable to see the student's view of the Blackboard interface, the following instructions should be approximately correct.

If I am unable to successfully unzip the file that you submitted, or if it contains the wrong material, you will not get credit for the assignment.

The assignments require you to write programs and to submit the resulting source code files. The completed programs must satisfy the requirements described earlier in this document and the individual specifications that apply to each program.

Extraneous Material

Do not allow your programs to display screen images that do not appear in the assignment specifications. If you do, you won't get credit for the programs that display extraneous images.

Every semester, some students fail to receive credit for one or more assignments because they allow their program to display (possibly hidden) images that do not appear in the program specifications. Don't be one of those students. Manually move your images on the screen to confirm that extraneous images are not hidden behind the required images.

Do not submit extra files such as readme.txt files and expect me to pay attention to them. I won't pay attention to them.

Don't expect me to pay attention to text that you may choose to enter into the Blackboard Comments field when you submit your assignment file. I am not interested in them, and I won't pay attention to them.

Do not put comments in your source code and expect me to pay attention to them. I am not interested in them, and I won't pay attention to them.

Do not submit javadoc documentation for your programs. It causes the zip file to be very large and I don't need it.

The required material

All I expect to receive from you when you submit your assignment is the set of one or more required source code files. There is no reason that you will need to communicate any information about your assignment to me when you submit it. Any need to discuss the requirements of the assignment must be satisfied prior to your submittal of the assignment.

Encapsulate an electronic copy of the required material in a zip file and submit it as a Blackboard assignment, not later than the deadline given in Blackboard. If you are running Windows, you don't need a special program to create the zip file. The Windows file compression utility is entirely adequate.

The zip file must be one that I can unzip using the Windows de-compression utility with no effort required on my part other than to open the file and extract the material contained therein. There must be no requirement for any sort of special decoding. If there is such a requirement, I will not accept the assignment.

Failure to Meet the Submittal Deadline

The submittal deadline for each assignment is provided in Blackboard each semester. In most cases, the assignment will expire and disappear from Blackboard when the deadline passes.

The penalty for failing to meet the submittal deadline is simply that you won't get credit for the assignment.

Before you ask, let me tell you that a temporary Blackboard outage, business travel, problems at work, extreme work pressures, divorce, depression, receipt of a "Dear John letter", automobile repairs, flat tires, computer problems, power failures, total eclipses, extremely high outside temperatures, high pollen count, broken lawnmowers, the Super Bowl Schedule, and other assorted and interesting circumstances are not valid excuses for failing to meet the submittal deadline. About the only excuse that I might be willing to accept would be something on the order of extended hospitalization or extended serious illness on the part of you or an immediate member of your family. If your excuse is not on that order of magnitude, I really don't want to hear it.

-end-

File: GAME2302AsgInstructions.htm