# Assignments

This web page is http://www.bernstein-plus-sons.com/.dowling/CSC080/CSC080_Assignments.html

For all assignments, please print your name and email clearly on each page you submit. No assignment will be accepted late. No makeups will be provided for missed assignments. In general assignments are due at the beginning of the class one week after they are assigned, and, in most cases, grades will be provided one week after the assigment is turned in.

• Assignment #1, due 10 February 2003. Read Tanenbaum Chapter 1. Do all exercises on pages 67-70, except for problem 28. Do not do problem 28. Some of these problems require research to find terms and resources not in the book. Problem 27 requires writing code. Do the best you can on all of these problems. Organize the 28 problems into the following sets (note that problem 27 is part of each set):
• Set A: 27, 1, 4, 7, 10, 13, 16, 19, 22, 25.
• Set B: 27, 2, 5, 8, 11, 14, 17, 20, 23, 26.
• Set C: 27, 3, 6, 9, 12, 15, 18, 21, 24, 29.
Organize your homework so that you can turn in any or all of the lettered groups of problems separately.

• Assignment #2, due 19 February 2003. (Note the change from a Monday to a Wednesday for this week). Read Tanenbaum Chapter 2. Do all exercises on pages 153-158. Some of these problems require research to find terms and resources not in the book. Do the best you can on all of these problems. Organize the 53 problems into the following sets:
• Set A: 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53.
• Set B: 2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50.
• Set C: 3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51.
• Set D: 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52.
Organize your homework so that you can turn in any or all of the lettered groups of problems separately. Some of you will not be able to finish all these problems in the time available. Be certain to do at least some of the problems in each set, so that you will have something to turn in.

• Asignment #3, due 24 February 2003. Turn in your best course project proposal.

• IMPORTANT NOTE. Effective 24 February 2003, you may turn in the programming portions of assignments up to 2 days late (but no later), and all students are encouraged to work in groups on the programming portions of the asignments. All persons who contributed to any assignment must be identified. A group may turn in a single copy with all names. No programming assignments should be submitted on disk or as email. Anything that might otherwise be submitted on a disk or by email should be posted as a web page instead. No extensions will be granted past the last day of classes.

Clarification: On the day that an assigment is due, you must be prepared to turn in either a piece of paper with the requested problem set, or to turn in a piece of paper giving the URL of the requested problem set. It is not acceptable to send the problem set on paper or as a URL the next day. It is acceptable to fill in some of the programming parts of the assignment up to 2 days later, but making a routine practice of this is not recommended, since it will tend to leave you behind in understanding the material.

• Assignment #4, due 3 March 2003. Read Tanenbaum Chapter 3. Do all exercises on pages 186-188. Some of these problems require research to find terms and resources not in the book. Do the best you can on all of these problems. Organize the 30 problems into the following sets (note that problem 30 is part of each set):
• Set A: 1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 30.
• Set B: 2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 30.
• Set C: 3, 6, 9, 12, 15, 18, 21, 24, 27, 30.
Organize your homework so that you can turn in any or all of the lettered groups of problems separately. Some of you will not be able to finish all these problems in the time available. Be certain to do at least some of the problems in each set, so that you will have something to turn in.

• Assignment #5, due 10 March 2003. Read Tanenbaum Chapter 4. Do all non-programming exercises on pages 263-268. Do the programming problem in exercise 41. Some of these problems require research to find terms and resources not in the book. Do the best you can on all of these problems. Organize the 40 problems into the following sets (note that problem 41 is part of each set):
• Set A: 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41.
• Set B: 2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 41.
• Set C: 3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 41.
• Set D: 4, 8, 12, 16, 20, 24, 28, 32, 36, 41.
Organize your homework so that you can turn in any or all of the lettered groups of problems separately. Some of you will not be able to finish all these problems in the time available. Be certain to do at least some of the problems in each set, so that you will have something to turn in.

• Midterm. There will be an in-class, open book, open-notes midterm on Monday, 24 March 2003. This will take half the class period. The other half will be lecture and discussion

• Assignment #6, due 31 March 2003. Read Anderson, Chapters 1-5. Read Tanenbaum Chapters 5 and 6. Do all non-programming exercises on pages 373-378 and 449-452 of Tanenbaum. Do the programming problem in exercise 6-39, page 452. Some of these problems require research to find terms and resources not in the book. Do the best you can on all of these problems. Organize the problems into the following sets (note that problem 6-39 is part of each set):
• Set A: 5-1, 5-7, 5-13, 5-19, 5-25, 5-31, 5-37, 5-43, 6-3, 6-9, 6-15, 6-21, 6-27, 6-33, 6-39
• Set B: 5-2, 5-8, 5-14, 5-20, 5-26, 5-32, 5-38, 5-44, 6-4, 6-10, 6-16, 6-22, 6-28, 6-34, 6-39
• Set C: 5-3, 5-9, 5-15, 5-21, 5-27, 5-33, 5-39, 5-45, 6-5, 6-11, 6-17, 6-23, 6-29, 6-35, 6-39
• Set D: 5-4, 5-10, 5-16, 5-22, 5-28, 5-34, 5-40, 5-46, 6-6, 6-12, 6-18, 6-24, 6-30, 6-36, 6-39
• Set E: 5-5, 5-11, 5-17, 5-23, 5-29, 5-35, 5-41, 6-1, 6-7, 6-13, 6-19, 6-25, 6-31, 6-37, 6-39
• Set F: 5-6, 5-12, 5-18, 5-24, 5-30, 5-36, 5-42, 6-2, 6-8, 6-14, 6-20, 6-26, 6-32, 6-38, 6-39
Organize your homework so that you can turn in any or all of the lettered groups of problems separately. Some of you will not be able to finish all these problems in the time available. Be certain to do at least some of the problems in each set, so that you will have something to turn in.

• Note: The previous exercise was the last of the "killer" problem sets for this semester. The assignments will now focus on reading, related essays and programming issues. For some of you this will make it more difficult for you to stay current on the assigned readings. Please do not slack off. For the final you are responsible for all the material in both text books whether or not discussed in class as well for all the subjects that are discussed in class.

IMPORTANT NOTE: Because the programming component will be the major aspect of the remaining exercises, no part of the remaining exercises will be accepted late.

• Assignment #7, due 7 April 2003. Read Anderson, Chapters 6-10. Consider a shell that is going to be used to gain access to the resources of an operating system. Write an essay outlining the major security considerations in the design of such a shell. List at least three major areas of vulnerability which should be considered and the approaches that could be used to deal with those volnerabilities. As an attachment to this essay write a preliminary design document for password control of access to this shell and to various ressources. Give some thought to the design. In the next exercise, you will be required to implement a small password control system. You are encouraged to work in groups on the essay and on the design, but each of you must be prepared to discuss the issues involved in class.

• Assignment #8, due 14 April 2003. Read Anderson, Chapters 13-19. Now implement a program with password-controlled access. You may use any language with which you are confortable, but you must do the work under Linux (you will be required to redo the same effort under Windows in a later exercise). Give careful consideration to how you will make the password protection meaningful, first in terms of protection from ordinary users running on the same computer, second in terms of protection from users on the same network, and then in terms of protection from a rogue system manager. You are to make documentation, source code, data files, test suite and executable available for evaluation on arcib.dowling.edu, submitting a paper copy listing the location of these materials, and giving "bootstrap" instructions for the instructor to try your work. You are encouraged to work in groups, but each group will be required to present an explanation of the work as a group to the entire class.

• Assignment #9, due 28 April 2003.

• Work in groups on the remaining portions of this homework. Submit all the work in this assignment on paper. No portions of this assignment will be accepted after the start of class on 28 April 2003.
• Do some serious research about Napster on the internet.
• Write an essay from the point of view of a consumer of MP3-based music on the internet, explaining what protections and security mechanisms you would think appropriate for MP3-based music on the internet. Justify your comments.
• Write an essay from the point of view of an artist who creates MP3-based music and places it on the internet, explaining what protections and security mechanisms you would think appropriate for MP3-based music on the internet. Justify your comments.
• Write an essay from the point of view of a legislator in the U.S. or Western Europe trying to create sensible legislation on protections and security mechanisms for MP3-based music on the internet. Justify your comments. Show awareness of the positions expressed in the prior two essays.
• Design an application which will be installed by system managers which will allow users on one machine to store and retrieve MP3-based music in both private and shared databases. Include security mechanisms which would allow "appropriate" controls and protections for the music managed by this application. You may find http://arcib.dowling.edu/cgi-bin/info2html?(mysql.info.gz)Top helpful. Just do the design at this time. You will implement in the next assignment. Submit the design as an essay on paper.

• Assignment #10, due 5 May 2003. **** Note: This assignment has been changed slightly ****
• Except for the term project, this is the last programming assigment for the semester. Do a good job. Note that you will present the results of this effort as well as the term project in the same class meeting.
• Take the work you did in the previous two assigments, and attempt to implement a password-controlled database access system in Linux or in Windows which would be suitable for storing a shared pool of music clips for which intellectual property rights must be respected. You may use any combination of languages and software packages that you believe will do the job. You are to make documentation, source code, data files, test suite and executable available for evaluation on arcib.dowling.edu, submitting a paper copy listing the location of these materials, and giving "bootstrap" instructions for the instructor to try your work. You are encouraged to work in groups, but each group will be required to present an explanation of the work as a group to the entire class.
• Presentations of this assignment and the term project will be done in class on 5 May 2003. Be prepared to explain problems and your solutions. This effort will be graded.

• Term Project presentations, due 5 May 2003.
• Each and every member of each project group will make a brief presentation their work on the term project. To quote from the syllabus, "each member of each group will be required to explain to the class some major aspect of the group project, and to respond to questions from the class and from the instructor on the project." While the group may continue to touch up and refine the implementation of the project through 7 May 2003, the design and documentation must be complete by the start of class on 5 May 2003 and submitted on paper at that time. The code should be placed on arcib.dowling.edu no later than 5:30 pm on 7 May 2003 and the location submitted on paper or by email.

• Final. There will be an open book, open-notes final on Monday, 12 May 2003, from 5:30 - 8:10 pm in KSC 102A.

Updated 14 April 2003.
yaya@dowling.edu