Cpsc 461 - Copyright © 2002 Katrin Becker Last Modified May 7, 2002 02:05 PM

Fall Session 2001
LECTURE TIMES: T-R at 12:30-1:45 in ICT 121

INSTRUCTOR: K.Becker
Office Hours: By appointment
Course Requirements: Cpsc 333 is no longer a prerequisite for this course, but 331 and 355 are. Students must have an un-weighted average of C- or better in the two exams in order to pass the course. Students must attempt and submit ALL assignments in order to pass the course!!!!
Marks will be calculated as follows: (see course schedule for dates)
30% - Assignments
30% - In-Class Midterm (open book)
40% - Final Exam (open book)
RECOMMENDED [not required] Course Text: File Structures - An Object-Oriented Approach With C++, M.J.Folk, B.Zoellick & Riccardi (Addison Wesley)
Assignments: Assignments are due at midnight (23:59) on the due date and will be penalized one full letter grade for each 24 hours late. NOTE: System failures (weekend or any other time) will not be grounds for extension of assignment deadlines. Note deadlines carefully and pace your work accordingly.
THERE WILL BE THREE ASSIGNMENTS:

Asst 1: HARDWARE ASSIGNMENT (5%)
Asst 2: THREE-PART ASSIGNMENT: (split as 5%,5%5% = 15%)

MOBILE ROBOT

Asst 3: SPIRAL HASHING ASSIGNMENT (10%)
(see assignments page for due dates)

Exams:
Anything discussed in class, labs, or assigned as reading is fair game for exams. Topics found in this site that were NOT discussed in class or labs will not be included on either exam.

Mid-Term Exam: will be held during class time on OCTOBER 30 IN CLASS. This is a one-hour exam. Students will not be given extra time if they arrive late.

Final Exam: will be scheduled by the Registrar's Office. It will be a two hour final worth 40% of the final grade.

A Note on Course Requirements:

'A' means: "Excellent: Superior performance showing comprehensive understanding of subject matter."
'B' means: "Good: clearly above average performance with knowledge of subject matter generally complete."
'C' means: "Satisfactory: basic understanding of the subject matter."
'D' means: "Minimal Pass: marginal performance; generally insufficient preparation for subsequent courses in the same subject."
'F' means: "Fail: unsatisfactory performance or failure to meet course requirements."

In order to pass this course, students must:

1. Submit ALL assignments (assignments may not be skipped: all reasonable efforts will be considered adequate for this requirement).
2. Achieve a minimum, unweighted average of C- (1.7/4.0) on the 2 exams. This grade is calculated as follows:

((adjusted score on midterm in %) + (adjusted score on final in %))*2
to give a score out of 4.0

Labs:

Labs in this course are intended as a supplement to lectures. The Lab Instructor will be available during the designated lab times to answer course-related questions. Occasionally, there will be testable material to be covered in labs that will not be covered in lectures. All students are responsible for learning this material. As it is the Lab Instructor who marks your assignments, questions about what is acceptable and explanations of marks given are to be directed at him/her in a timely manner.

General Course Information

Resources:

- textbook
- 461 website (course notes are password protected)
- selected research papers (will be handed out in class or made available on line)
- see the resources page for other books (many are now available in the library)
- see the external links page for links to Web-Sites
- see the on-line local page for a list of the contents of the course directory (/home/profs/becker/Courses/461)
- any other electronic/ hardcopy/ real-life sources as appropriate

The topics covered in this course include the entire textbook, plus some of (depending on time):

- Hierarchical Files
- Data Compression
- Signatures
- Distributed Files
- UNIX File Systems
- Other File Systems (NT, BeOS, etc.)
- File Formats (graphics, scientific)
- File Security
- Storage Area Networks
- Web Site Design and Organization
- File Design for Games

What this course is about:

Dealing with data in files:

- storing
- manipulating
- organizing
- representing data

Dealing with the files themselves:

- file systems
- working with sets of files

Objectives: (what I want you to take away from this course):

- data structures are merely building blocks used to organize information
- algorithms merely outline approaches to the solution of a problem
- the mix & match approach is to be encouraged

Emphasis:

The main focus of this course will be qualitative rather than quantitative. Well-developed communication skills are very important to your success in this course. You need to be able to assess numerous approaches to a problem and justify your answers. There is rarely one correct answer to any question in this course. The answer to almost every question in this course begins with "It depends..."

Understanding the algorithms and concepts is key. Many, if not all of the algorithms discussed in this course are well-understood and well-tested. There will rarely be a need (after this course) to "re-invent" any of them. In many cases the code exists as public domain to be re-used as appropriate. If you remember and understand the algorithms as well as when and why they are useful, you will always be able to evaluate 'pre-written' code for its suitability rather than having to spend time re-writing it yourself (pick the right algorithms for the given circumstances and "apply as needed").

Warning:

This is a senior level course and assumes a certain level of sophistication and maturity in both your learning and your programming skills. To succeed in this course you must be self-motivated and capable of doing some 'research' on your own.

Copyright © 2002 Katrin Becker 1998-2002 Last Modified May 7, 2002 02:05 PM