COP 2000 - Assignment Notes
The exercises in this course fall into one of the following categories:
- Analysis - producing the written documentation resulting from
performing an analysis of a problem and developing a solution, but stopping short of
writing any source code in a computer programming language.
- Coding - using analysis documentation provided by the instructor to write the C++
source code and compiling it to produce an executable program file.
For help using the recommended compiler, view the Web pages under the
Compiler Notes section of the course Web site.
- Full - a complete analysis and program coding exercise as described above,
combining both sets of activities.
The quantity and types of files that are submitted for each assignment will depend on the category of assignment (as described above).
If you are not familiar with terms such as data type,
you should read the web page about Data Types & Languages.
If you are not familiar with how Windows handles "file association", you should read the
web page about Windows® File Association.
Files for Analysis Assignments
Analysis documentation can take many forms. Some of it is just text, so you could send it as a simple
[ASCII text] attachment.
But some of it will involve tables or diagrams, for which you will probably
prefer a more powerful editor such as a word processor or a graphic editor. These programs all have their own
proprietary data languages, but can also use more standard data formats when saving if you select the correct
options when doing so. Most programs offer a choice of Save as on their File menus
which provide a control (usually in the form of a drop-list) to allow you to select alternative languages to
use when saving the file. They will typically show the language that is native to the program, but allow you
to drop the list and select others. If you select an alternative language, the program will normally add the
appropriate extension following the filename to reflect your choice. The following data formats are commonly
used for the development of analysis documentation:
- Text Files. Note that text files are quite limiting and cannot be used to represent any data other than pure text.
These can be produced using most editors and normally are saved with the standard ".txt" extension.
Note that any source program code in the C++ Language should be saved as text, but with a filename extension
of ".cpp". This can be accomplished when saving in most Windows programs by selecting Text
File (.txt) as the file type and enclosing the entire filename (including the .cpp extension) inside quotes when entering it.
- Electronic Spreadsheets. Programs such as Excel or Lotus are often used to create tables, charts, and diagrams when analyzing tasks. Their files are identified with extensions such as by the ".xls" and ".wks".
- Graphic image or picture files, such as Bit-Mapped Graphics (BMP) files, Graphic
Information Format (GIF) files, or Joint Photographic Experts Group (JPG) files can be produced
using most graphic editors such as recent versions of Microsoft Paint or Adobe Photoshop and are
identified by the extensions shown in parentheses in this sentence.
- Portable Document Format (PDF) Files.
These can be produced using Adobe® Acrobat® and other products and are identified by the ".pdf" extension. These files are essentially picture files and can include images of anything, but cannot be edited easily after they are saved.
- Word processed documents. - The most widely used software for documenting analyses
are word processors such as Microsoft Word, Open Office, and dozens of others.
They are ideal for the task because they allow all of the previously mentioned forms of data
to be embedded into a single file.
However, the variety of incompatible proprietary data formats used by these programs makes exchange
of word processed documents very difficult. Fortunately, there is a common non-proprietary data format
known as "Rich Text Format" and identified by the extension ".rtf" that can be produced using any modern word processing program. These files can include embedded graphics and tables. For this reason, you are encouraged to use this method for storing your analysis documentation. The only weakness of this data format is that it is not very efficient and takes up more storage space than most other formats. This can be compensated for by using "codex" (compression/decompression) software to compress (or "zip") one or more RTF files into a single compressed archive file. Such files can now be produced or opened by all modern operating systems. So if you need to send large or many RTF files, refer to the web page HowTo: Compress a file or folder using Windows.
- Please do not send files saved in other word processing formats.
Files for Program Coding Assignments
- C++ Language source code - these files contain humanly readable instructions
written in C++. Programming language compilers cannot translate Rich Text Format (RTF) or any proprietary
document format such as DOC or DOCX. So C++ source code must be saved as plain text.
This can be accomplished when saving in most text editors (such as Windows Notepad) or word processing programs by selecting Text File (.txt) as the file type. Compilers also expect C++ Language source code to be named with a filename extension of ".cpp".
This can be accomplished when saving the file with a plain text editor by enclosing the entire filename
(including the .cpp extension) inside quotes when entering it.
The easiest way to create plain text is with the editor that comes as part of many C++ compilers.
These typically save their data in the ASCII text language and name it with the proper ".cpp"
extension; although you should confirm that your compiler does this.
Another easy option when creating C++ source code is to use the Windows Notepad program;
but remember to place quotes around the entire filename (including the extension) when saving it
to prevent Notepad from using its default extension of ".txt".
- Executable code - these are machine language
files created by a compiler program and are identified by the filename extension ".exe".
Executable files cannot be created simply by placing an ".exe" extension on the filename.
They must be created by a compiler program as the result of translating
a source code file. During that action, they are assigned a filename
that matches the source code file, but with an ".exe" extension instead.
For detailed instructions about how to use a variety of compilers, read the
Compiler Notes section the course web site,
accessed by selecting the Compilers link in the menu on the left side of the screen.
Compilers translate source code into binary machine language that is known to a specific class of processor
(such as a 32-bit Intel 686). So an executable file compiled on a 64-bit Intel processor will not run on a
32-bit processor nor on a different class such as a PowerPC. If your computer does not contain a 32-bit Intel
processor, be sure to describe your type of processor when submitting an executable file.
Universal Notes Applying to All Types of Assignments and Students
Specific submission instructions detailing required filenames to be used in each project can be found on the assignment web pages. Local employers repeatedly tell us that they need employees who will consistently follow instructions precisely. Therefore, acceptance of your assignment submissions will be affected by how well you follow instructions. If you do not understand any part of a project's instructions, contact your instructor.
Do not overburden your documentation with unnecessary comments.
Also do not add anything extra to an assignment that was not required by the instructions given.
No extra credit will be given for making your exercise more complicated or elaborate than required.
Check that all of your documentation (including source code) is consistent.
Be certain that any changes or corrections are accounted for in all items of your work.
Strive for clarity and neatness in your documentation carefully. Your future employers may someday come to
me for a recommendation or an example of the quality of your work. Think of each assignment that you submit
as an example of the quality of work for which you want to be known.
You are advised to save your work on each assignment in a separate folder that has been named based on
the assignment number. For example, the files involved in Assignment 2 could be saved in a folder named "A2".
Some compilers will create additional files and folders beneath this folder. Unless otherwise directed within
individual assignment instructions, name the files you submit in a similar manner, for example "A1.doc"
or "A2.c".
All projects shall be submitted via the [Online Angel Server], using a "drop box" listed under the Lessons tab within your course area.
Step-by-step directions for preparing files for submission and for using Angel drop boxes can be found at:
http://howto/onlinesubm.html
For students taking the class over the Internet only, each assignment is due by 11 PM on the day that it is scheduled as due. For face-to-face (classroom) students, each assignment is due at the start of the class meeting on the day that it is scheduled.
Keep a copy of all work submitted throughout the semester. This protects you from lost or damaged work.
Students typically create their projects on a USB storage device.
You should periodically make a copy of your work somewhere else (such as on your home computer) to protect
yourself from the loss of your portable storage device.
In "analysis" assignments, unless otherwise instructed, your submitted documents should include (in order):
- A structure diagram (only required for projects which require more than one function as in Chapter 6).
- A problem statement completely defining the task to be performed by the program in your own words.
- Examples of your of output objectives (softcopy and/or hardcopy).
- Formal constant lists and variable lists (and parameter lists if your solution involves more than one procedure).
- Final corrected algorithms or flowcharts.
- Desk check results, including tracing charts and test output from simulated program runs.
(Be sure to check test results for reasonable values.)
Each page of documentation that you submit must contain:
- Your name
- The assignment number
- The date it was written
- A page number
In assignments that require C++ source code:
- The code must be consistent with the documentation provided. Do not attempt to improve the program or
deviate from the provided design in any way. Programmers are expected to adhere to the documentation given to them.
Suggestions for improvements should be sent to the analyst who will then incorporate them into the design and send new
documentation to the programmer for coding.
- Include C++ language comments at the beginning of the source code containing your name and the date the code was written.
- For every coding assignment, you should submit both: the C++ source code file (with an extension of
".cpp") and the executable file (with an extension of ".exe").
- The executable file must produce correct output with wording and layout matching the given samples to be accepted. So be sure to check your output for validity.
Note: Scan your files for viruses before submission!
All computers in college labs and classrooms should scan automatically.
Most home PC's have anti-virus software. Learn to use yours.