Programming Projects
Program Compilation
The UMBC UNIX system runs two different versions of UNIX. The systems
known as linuxl and linux2 run the version of UNIX called Linux.
The systems known as irix1 and irix2 run the version of UNIX called Irix.
The project graders will use either linux1 or linux2 to compile and test your program.
Therefore, ALL PROJECTS must compile and execute on linux1 and linux2.
If your project will not compile on linux1 or linux2, you will receive
a major point deduction.
You will be using the g++
compiler. ALWAYS compile your
program using the -ansi
and -Wall
options as explained in class. The graders will ALWAYS use these options
when compiling your program.
See "Project Compilation" in the main
202 Syllabus for more details.
Standards and Style
All projects must adhere to the CMSC 202 Coding Standards. A summary of the coding standards
is also available.
Project Submission
Project Grading
Project Descriptions
One common child's toy which stimulates a child's imagination is known as a "tinker toy".
Tinker toys are small wooden blocks of various shapes (cylinders, cubes,
spheres, etc) which have holes in them. Small dowls (sticks) are placed in the holes to
connect tinker toys and create fascinating shapes. Tinker toys come in a variety of colors.
A large box of tinker toys can stimulate a child for hours.
All projects in this course will be related to the manufacture and assembly of tinker toys.
This common theme thoughout the projects has two purposes
- You only have to understand one problem domain. This will limit the confusion
and the number of questions raised about the projects.
- Having projects which are related will enable you to reuse code and/or modify code
from one project to the next. This is a highly desirable, fundamental skill in the
real world of programming.
As we go through the semester, projects will become more complex and use more advanced
OO and C++ concepts. Your ability to write reusable code and code that is easy to modify
will go a long way to making the later projects easier to implement.