CSCI 480-1 and 480-2

Course Web Page

Spring, 2020

Organization of the Course

This is the main web page for CSCI 480, sections 1 and 2 in Spring, 2020.

We have a web site (of which this is the main page) and a Blackboard site, which you can reach through this URL:

     https://webcourses.niu.edu/webapps/portal/frameset.jsp

Most of the information about the course can be found on the web pages. Blackboard will be used primarily for submitting homework assignments.


Contact Information

The instructor is Harry Hutchins.

     Office:        PM 465
     E-Mail:        t90hch1@cs.niu.edu
     Office Hours:  1:00--4:00 on Tuesday and Friday
                    (I am sometimes in my office at other times as well.)

The teaching assistant for section 1 is Joshua Boley.

     Office:        FR 228
     E-Mail:        Z1698317@students.niu.edu
     Office Hours:  11:30--1:30 on Monday and Wednesday
                    12:30--2:30 on Thursday

The teaching assistant for section 2 is Jingwan Li.

     Office:        FR 228
     E-Mail:        z1761317@students.niu.edu
     Office Hours:  1:30--4:30 on Monday and
                    12:00--3:00 on Wednesday


We have a syllabus for the course.

The Department of Computer Science has recently adopted a set of rules for the administration of exams. (This is a PDF file.) You should read this document and pay attention to it. Misbehavior during an exam in the future is likely to result in serious consequences.

The publisher has a web site for the textbook.


Announcements

We will not have class on Monday, January 20, as that day is Martin Luther King, Jr's Day, a holiday.

We will not have class on Wednesday, February 19, as that is the date of the Spring Job/Internship Fair.

I am posting some of the lecture notes I use in the class on Blackboard under "Information". Please do not repost these anywhere else.

In case anyone is not busy enough: you can find a puzzle game on this web site.

We will have Test 1 on Monday, February 24. We have a review sheet for the test, a MS Word document.

We will have Test 2 on Friday, March 27. This will be a take-home exam. It has been posted on Blackboard under "Assignments" as a MS Word file and also as a PDF. You should download a copy, figure out the answers, type them neatly onto the test and submit it on Blackboard as a MS Word file or PDF. We have a review sheet for this test, a PDF document. The test has been posted at 4:00 P.M. on Thursday, March 26 and should be submitted on Blackboard by 4:00 P.M. on Friday, March 27. If you have questions about it, please send e-mail. This test will not be accepted late.

Oops! Test 2 has a typographical error in #14. We have a list of page nunbers at the top and also a list entered into the grids. Please use the latter. Likewise there is a stray line in #23 about lines of code. Ignore it.

Very large announcement! After some consultation with other faculty, the decision has been made that Assignments 6 and 7 will be for extra credit. This gives us a number of ways to get extra credit in the course, and it will be counted.

Our final exam is approaching. We have a review sheet for the exam, and we have a small set of additional practice questions as well. You may also want to look at the Extra-Credit Assignment (whether you want to turn it in or not).

The final exam is posted here and on Blackboard as of 4:00 PM on Monday, May 4, and it should be turned in on Blackboard by 4:00 PM on Wednesday, May 6.

Test 3 is in two versions.

If the numeric part of your Z-ID is an odd number, you should use Form A, either as a MS Word file, or as a PDF file.

If the numeric part of your Z-ID is an even number, you should use Form A, either as a MS Word file, or as a PDF file.

Be sure to use the correct form. There will be a penalty for using the wrong one,


Notes

make utility

Example of a makefile

Pre-processor directives

Here is a brief guide to a few LINUX system function calls.

Here is a note about POSIX threads.

Here is a note about semaphores and mutexes.

Here is a note about I/O Redirection and the command-line pipe in LINUX.

Here is an example of using fork(), execlp() and wait(), and here is a similar example using system() instead.

Here is an example of using fork() and pipe().

An example of POSIX threads

LINUX signals

Big-endian and Little-Endian


Links

If you know C++ but you need to work in the C language instead, look at this page.

fork()

pipe()

wait()

waitpid()

system()

exec()

daemon()

POSIX threads

Version Control


Assignments

Please do the homework in order as indicated. Do not try to work ahead to any great extent. There should eventually be 7 or 8 assignments. If the due date is not indicated, the assignment is still subject to change.

Assignment 1 This is a MS Word document. Assignment 1 is due on Friday, January 24.

Assignment 2 This is a MS Word document. Assignment 2 is due on Friday, February 7.

Assignment 3 This is a MS Word document. Assignment 3 is due on Thursday, February 20.

Assignment 4 This is a MS Word document. Assignment 4 is due on Tuesday, March 24. We have data for this assignment. We have partial sample output for this assignment, provided by Mr. Attarwala.

Assignment 5 This is a MS Word document. Assignment 5 is due Monday, April 6. We have sample output for this assignment, a MS Word file.

Assignment 6 This is a MS Word document. It is for extra credit and thus is optional. If you do it, please try to turn it in by Monday, April 13. We have a data file for Assignment 6, a plain text file. We have sample output for Best-Fit and sample output for First-Fit, both PDF files. Your output does not have to match the format exactly but should have the same results.

Assignment 7 This is a MS Word document. It is for extra credit and thus is optional. If you do it, please try to turn it in by Friday, April 24. We have a data file for Assignment 7, a plain text file. We have sample output for Assignment 7, a text file. (This is all of the output.)

Extra-Credit Assignment This is a MS Word document. It is optional, intended to help people study for the final exam. If you do it, it is due Wednesday, April 29.

This has been changed. Originally we had Presentation--Extra Credit but now instead the offer is the following: For 30 points extra credit, instead of doing an in-class presentation, you can create one or more web pages on the topic (again, some topic relevant to this course). You can e-mail these to the instructor. (They might even end up being used in the course next fall.) This is likewise optional.