Table of Contents
Frequently Asked Questions
General
FAQ about Assignments
Question 1: We are planning to add a certain additional functionality X to our program for the Assignment. Is adding the additional functionality X allowed?
Answer to Question 1:
Please note that the requirements specified in section A. Description of the Problem, are the minimum requirements that must be satisfied by your program. Obviously, there are many other possible details of the program that have been left unspecified. It is your responsibility to make appropriate design and implementation choices concerning the unspecified details of the program, and justify those decisions.“
Any decision to add any particular additional functionality X to your program should be guided by the principles above.
The marker will judge whether you have made appropriate design and implementation choices or not in adding the particular additional functionality X; and whether your justification of what you have chosen to do and the particular ways you have chosen to do it are valid or not.
Question 2: How can I learn about makefiles?
Answer to Question 2: Just do a Google search using the key words “makefile” or “makefile tutorial”, and many tutorials or reference manuals can be found, for example:
- a brief introduction to some of the most basic features of makefiles:
http://www.cs.tau.ac.il/~dcor/Software1/Makefile.ppt
- a tutorial on some of the most basic features of makefiles:
http://www.opussoftware.com/tutorial/TutMakefile.htm
- a complete reference manual on the gnu make utility:
http://www.gnu.org/software/make/manual/
Question 3: For cse3221 assignment 2, I am having trouble compiling the code of my program. The errors that I get are: 1. … 2. … 3. … … This makes me suspect that there is something wrong with the <pthreads.h> library on the “RED” server, or maybe something is wrong with …, or maybe something is wrong with … … Could you please advise me on this issue.
Answer to Question 3:
There is nothing wrong with the pthread library on RED. The best and easiest way to do the assignment, is to do the following:
1. You may start by trying to read and understand the program "alarm_mutex.c" in pages 52-58 of the book "Programming with POSIX Threads" by David R. Butenhof. 2. The program "alarm_mutex.c" and the file "errors.h" and "README" can be downloaded from the directory /cs/course/3221/assign2. Try to compile and execute this program by following the instructions in the "README" file. 3. The book "Programming with POSIX Threads" by David R. Butenhof has been put on reserve in Steacie Library."
Once you have studied and understood the program “alarm_mutex.c”, and have learned how to compile and execute this program by following the instructions in the “README” file, you can use the program “alarm_mutex.c” as a template to write your own program for the assignment 2.
The following “gradualist” approach will minimize the chances of getting an unmanageable large number of compilation errors:
Start with the program “alarm_mutex.c”; each time make just a few changes to make it closer to satisfying the requirements of assignment 2; each time after making just a few changes, try to compile it and run it and make sure that the new version of your code is at least compilable and is at least executable. Always save several previous compilable and executable versions of your code so that you can revert back to a previous compilable and executable version of your code if you experience difficulty compiling and executing the most recent version of your code and/or find it difficult to determine what is possibly wrong with the most recent version of your code.
Question 4: For Assignment 2, are we allowed to make modifications to the main() procedure and the alarm_thread function?
Answer to Question 4:
You are allowed to modify the main() procedure and the alarm_thread in any way that meets the assignment requirements.