ECE344

Operating Systems

Spring 2001

Stergios Anastasiadis
Courtney Gibson

Directory
Announcements | Course Information | Policies | Syllabus | Assignments | Newsgroup | Feedback | Links

Policies

Attendance

Attendance at lectures is expected but will not be recorded. Students are, however, fully responsible for all material presented in lectures. Class attendance is strongly recommended.

Assignments

All assignments are to be written in C, and should function properly when compiled with the ugsparc gcc compiler. The assignments are designed to give you as much flexibility as possible: key details will be set out in the assignment specification, and the remaining decisions will be left up to you.

Collaboration

Programming, like composition, is an individual creative process. Individuals must reach their own understanding of the problem and discover a path to its solution. During this time, discussions with friends are encouraged. However, when the time comes to write the code that solves the problem, such discussions are no longer appropriate -- the program must be your own work (although you may ask teaching assistants for help in debugging). If you have a question about how to use some feature of UNIX, etc., then you can certainly ask either your friends or the teaching assistants.

Do not, under any circumstances, copy another person's program. Writing code for use by another or using another's code in any form is academic fraud and will be dealt with harshly. You are also responsible for ensuring that the code you write for the assignments is not readable by others. You can use the chmod command to change the protection of your files (type "man chmod" for more information).

All students should be familiar with the University's Code of Behaviour, including the section on Academic Offences. As well, the ECE department has adopted the following policy on cheating: What Happens When a Student is Caught.

Due Dates & Late Work

Programs are due at 11:59:59 PM on the date specified. Late assignments get a mark of zero. Exceptions to these rules will be made only under exceptional circumstances, and then only with an appropriate written excuse.

Transportation and Weather

Problems with transportation or weather do not justify any type of extensions. The only cases that will be considered are days that the University is offically closed due to weather or other reasons.

Assignment Submission

To submit each assignment use the "submit" program. The syntax is "submitece344s as# filename", e.g. "submitece344s 1 as1.tar". When submiting a file make sure that the path to the file has the read and exec protection bits set for the world for all path components. Since submit can only handle a single submitted file per assignment, you should tar and gzip the directory containing the files you want to submit. A submission is copied into a specific (protected) directory, it is given the name of the user that does the submission, and it is timestamped with the submission time. Assignments can be submited multiple times. A resubmission is copied over any previous submission for the same assignment. Late submissions (or resubmissions) will be handled according to the course policies.

To submit an assignment, use "tar" (type "man tar" for more information) to bundle the assignment directory in a single file named as#.tar (i.e. as1.tar). Then use "submit" to submit the bundled tar file. The bundlle should contain all source files and a working makefile that are necessary to compile and run the assignment. You should also include a briefREADME file that explains any implementation decisions or reasonable assumptions that you have made, and how you have tested your program. Do not include object or executable files in your assignment submissions, since they only take space.

Assignment Marking

Assignments will be marked both for correctness and style. Correctness means that the assignment adheres to the specification, and in any case, it either performs according to the specification, or returns an error. "core dumps", even with invalid inputs, are not acceptable. (The use of assert statements, though, is an acceptable means of checking for valid states in your program.) Assignments should also include a working makefile.

Various guides to programming style can be found on the web. A couple of documents on style can also be found here. Also, you can use the "indent" utility to format C code (for more information type "man indent").

Facilities

All assignments are to be done on the ugsparc machines. Information on using the machines can be found here.

For all the assignments you should use the gcc compiler (type "man gcc" for more help) and the gnu make utility (type "man gmake" for more help). These are the default utilities used when you type make and cc on the ugsparc machines (typing "cc -v" and "make -v" will give you version information). Documentation on the GNU tools can be found on the web. A sample link to documentation can be found here.