Computer Science 360

Peripherals and File Design

Syllabus

 

Description:  CpSc 360 is an introduction to devices found in typical computer systems as well as the way in which information can be stored on those devices to enable reasonable access times.  Emphasis will be placed on programming methods for storing and accessing information on these devices using C++.

 

Goals:          To provide the student with concepts and knowledge of devices commonly found in computer applications as well as efficient ways of organizing information on those devices. 

 

Prerequisites:                  

                   CpSc 241

                   Proficiency in data structures and algorithm development.

                   Proficiency in the C++ programming language.

 

MajorTopics:

                   Introduction to File Structures

                   Fundamental File Processing Operations

                   Secondary Storage and System Software

                   Fundamental File Structure Concepts

                   Organizing Files for Performance

                   Indexing

                   Cosequential Processing and the Sorting of Large Files

                   B-Trees and Other Tree-structured File Organizations

                   B+-Tree Family and Indexed Sequential File Access

                   Hashing

                   Extendible Hashing

                            

Laboratory Projects:

                   Several programming exercises will be assigned.  The due date of each assignment must be met if full credit is to be awarded.  Points will be deducted when an assignment is late (see attached assignment policy).  You are essentially expected to work independently on the laboratory assignments.  You may only collaborate in the form of verbal discussion of ideas or techniques.   Discussion of assignments with the use of paper and pencil, or other permanent recording devices is strictly prohibited.

 

Grading Components:  (Approximate)

                   Daily Quizzes                   20%

                   Examinations                    50%

                   Laboratory assignments     30%

 

Grading Scale:

                   90% -  100%   A

                   80% -  89%   B

                   70% -  79%   C

                   60% -  69%   D

                     0% -   59%   F

 

Grading Method:

*   There will be 3 or possibly 4 exams given (including the final exam). 

*   Exam grades will be curved by dividing by the high score on the exam.

*   The three lowest daily quiz scores will be dropped to allow for occasional events that may cause you to miss lectures.

*   Daily quiz makeup’s will not be given – even for excused absences.

*   Daily quizzes will be curved by dividing the sum of all quizzes by the highest sum among all students in the class.

*   Laboratory assignments will not be curved.

 

Daily Quizzes:

*   Daily quizzes will be given during the first 10 minutes of each lecture period. 

*   The material included on the daily quizzes will be drawn from the notes of the immediately preceding lecture. 

*   These notes will be placed on the web page www.cs.clemson.edu/~peck in advance of each lecture so that you will be able to print a copy and take to class to minimize the amount of clerical work and allow you to focus more on the content of the lectures.

 

Programming Assignments:

*   Programming assignments will be usually be distributed on Tuesdays and will be due two weeks from the date of distribution.

*   Each assignment will be graded on a 20 point basis; however, some which require significantly more time may be weighted more heavily in the computation of the programming assignment component of your final grade.

*   Each assignment should be turned in by 10:00 pm on the due date.  Any assignment turned in after this time will be counted as late.  A late assignment turned in sooner than one week after the due date (as marked by the end of the lecture period one week after the due date) will be worth a maximum of 75% of the points of an on-time assignment.  Assignments turned in after the one week late period will be checked for accuracy but will be awarded no points (unless extenuating circumstances are demonstrated).

*   Assignments should be submitted by placing in the turn-in box for the course in the CpSc 360 Section 1 workspace found in www.cle.clemson.edu web page.

*   Grading will be based on a combination of:

 

*   Accuracy -    Did you get the correct solution?

*   Quality  -      Is your algorithm sound?

                             Is your program easy to read and understand?

                             Does use good programming techniques?

*   Creativity -   Did you do anything that goes beyond the requirements to make your program a better product?

 

*   The secret to completing programming assignments on time is to start them as soon as possible after they are handed out.  I will be available during my posted office hours and by appointment if you need clarification on programming assignments.  I will not, however, have large amounts of time to find standard bugs in your programs.

 

*   You are encouraged to use email to communicate with me.  I read my mail regularly and will attempt to respond to your questions promptly.