Projects

Project Descriptions

Project Development

All projects for this course should be developed on the UMBC linux.gl.edu system. Projects in this course will be developed using basic Linux programming tools such as Xemacs editor and gdb debugger. If you choose to develop your projects on your laptop or PC, it is your responsibility to transfer your files to the GL system for submission. Remember that all projects must compile and execute on the GL system for grading.

Project Submission

Directions for submitting your project will be included in each project description. Be sure to check the policy on late project submission

Project Grading

Be sure to visit this page for a discussion of how your project will be graded

Project Policies

Some projects are individual assignments and some allow for teams of 2 students to work together. Each project description will specify if teams are allowed and if so, how many students per team. All students working on a team project will receive the same grade for that project. See the project collaboration policy for acceptable and unacceptable assistance from students and staff.

Coding Standards

There are no formal coding standards for this course, but students are expected to apply good coding practices (well chosen variable and function names, proper commenting, etc.) learned in previous courses and to follow generally accepted C naming conventions. Pick whatever style you like, but stick to it. Check out this short tutorial on C programmng style. Each C programming assignment will have some number of points allocated to programming "style".

All submitted .c, .h and make files must include a file header comment that includes

  1. The name of the file
  2. The names, UMBC email addresses and sections of all team members
  3. The date the file was last editted.
  4. A brief description of the contents and purpose of the file
C coding standards from a previous course are provided for your reference.

Program Compilation

The UMBC GL system runs two different versions of UNIX. The systems known as linuxl.gl.umbc.edu and linux2.gl.umbc.edu run the version of UNIX called Linux. The system known as solaris.gl.umbc.edu runs the version of UNIX called Solaris.

The project graders will use either linux1 or linux2 or linux3 to compile and test your program. Therefore, ALL PROJECTS must compile and execute on linux1 and linux2.

All students must use the gcc compiler found in the directory /usr/bin. To check which compiler you are using, run the command which gcc.
If the result is /usr/bin/gcc then you're good to go.
If the result is /usr/local/bin/gcc then follow the steps below.
  1. Open your .cshrc file (found in your home directory -- note the leading dot) with a text editor such as Xemacs or pico.
  2. Add the following line at the bottom of your file:
              alias gcc /usr/bin/gcc
        
  3. Save your .cshrc file and exit the editor.
  4. Run the command source .cshrc (again, note the leading dot)
  5. Run the command which gcc. The result should be gcc: aliased to /usr/bin/gcc