JMU CS488 - Computer Graphics Applications
Help Policies Solutions Study-Aids Syllabus Tools
Programming Assignment 1


1 Overview

For this assignment you must implement part of a Vector class. In the context of this assignment, a Vector is, essentially, a point in n-dimensional space (i.e., a Vector has n components, each of which is a double). Note that, in the context of this assignment, a Vector is not a "resizable array" (i.e., a Vector has a fixed size).

This assignment is really just a C++ "warm-up". So, you are just implementing the constructors, destructor, setters, getters, and supporting private methods.

2 Detailed Specifications

The specifications for the classes in this assignment are available in "documentation format". That is, you are being provided with the documentation for the classes, and your implementation must conform to the documentation.

3 Testing

You are responsible for testing your implementation. At a minimum, your implementation must work with the following driver:

4 Submission

You must submit a file named pa1.zip that contains just Vector.h and Vector.cpp using Autolab. All files must be in the top-level directory of the .zip file (because the script that does the building and testing is not very sophisticated).

Though you shouldn't need to be told this given the number of courses you have taken, your code will not compile against the official tests if your submission does not include at least stubs of all of the public methods and/or does not match the specification exactly.

5 Grading

Points will be awarded as follows:

You must earn full credit on mandatory items to earn any credit on subsequent items.

6 Looking Ahead

In the next assignment you will be implementing a fully-functioning Vector class. Obviously, we will have discussed the kinds of operations that can be performed on Vector objects before then.

Copyright 2020