Concepts of Programming - CSPP 50101

Homework

Most homework problems will be from the primary required text, C Primer Plus. For problems which don't result in a full program, write up your experiences in a sentence or two, including code snippets and error messages where appropriate. Homeworks are due Monday before class. Late homework will not count for credit.

Homework Submission

Submit homework assignments using the unix command, hwsubmit, available on departmental Linux computers.

  1. Read the Unix Tutorial for Beginners.
  2. Create a directory and put all relevant files inside it. For programming problems, that includes your Makefile, source code (.c) and header (.h) files, and any data files used for testing. Do not submit object files (.o) or compiled programs (eg. a.out). They are large and recreatable, so it is not useful to submit them. For short answer problems, plain text files with numbered answers are appropriate. Do not submit documents in MS Word or RTF format. If you feel that text formatting (bold, italic, yellow), or page layout (centering, tables, margins) are critical to your submission, use LaTeX, HTML, or if necessary, PDF.
  3. Type hwsubmit cspp50101 YOUR_DIRECTORY_NAME, and you should see a response in the terminal indicating that the contents of the directory have been sent to the grader.

Homework FAQ

  1. Homework submissions should contain only the files you want the grader to consider, not executables or object files, only source code, Makefile, README, and data files necessary for running your programs. When you run hwsubmit, it shows which files have been sent. If there are more than you expected, make adjustments and resubmit. Here's a list of files which have been submitted which we don't need to see:

    .abc.sh.swp abc.sh,v .bash_history bonus.sh~ ch1prob8.sh~ .directory filecounter.sh.save filelist.sh~ Home.desktop hw1_Part2~ hw1.txt~ hw1.txt~,v hw1.txt,v HW2_1~ HW2_2.sh~ hw2ch1pr5.txt~ hw2ch9pr5.sh~ HW2_Question1_p41_num5~ hw2.txt~ .lesshst .nfs00000000000130cc00000009 num_files.sh.save #question6# .question6.swp .saves-4710-altair.cs.uchicago.edu~ .swp System.desktop testing.sh.save testing.sh.save.1 testing.sh,v trash.desktop .viminfo

  2. Your scripts and program must compile and/or run on CS machines. They should compile and/or run without any warnings or errors. If there are warnings or errors that you don't know how to solve, email the mailing list. If you still don't know, write in a README file which things you're still having trouble with. Solutions which don't compile or don't run and are not documented will not earn points.

  3. Bash scripts and C code must be in separate files, not embedded in the README file. This is so the grader can compile and/or run them.

  4. Make sure you give the proper argument to hwsubmit. For instance, hw1 or hw2, not ~/cspp50101 or ~.

  5. When in doubt, add a README file, explaining any deviations from the requirements of the assignment.

  6. When compiling C code, use -Wall -std=c99 options to gcc.

  7. When using a makefile, include the standard compilation options, and write all, test and clean targets so that make, make test, and make clean all run without any warnings or errors.

Software

We will use GCC on the departmental Linux computers. If you use Microsoft Windows you may be interested in Visual Studio 2010, OpenWatcom, or another free C/C++ Compiler, but your code will be evaluated on the departmental systems using GCC.


Valid XHTML 1.0 Transitional Valid CSS!