IC312- Data Structures Course Policy

Instructors:

Prof. Crabbe, Office: M-361, Phone: x36812
Email:  crabbe at usna dot edu
AIM: profcrabbe GChat: professorcrabbe
Homepage:  http://www.usna.edu/users/cs/crabbe

Required Texts:

  1. None.

Recommended Texts:

  1. Data Structures and Algorithms in Java, 5th Ed., M. T. Goodrich and R. Tamassia, Wiley, and Sons, 2010.

ABET Student outcomes

In accordance with ABET requirements, this policy must list the "Program Outcomes" that are covered in this course. This is not a list of things you will learn, but rather a description of things that all CS majors should be able to do that will be covered in this class. A successful student in this class will have furthered his or her ability to:

Learning objectives

  1. Understand the fundamentals of algorithm analysis;
  2. Possess an understanding of the concept of abstraction and be able to describe the idea of separation of implementation and interface;
  3. Recognize and apply the canonical ADTs (Lists, Queues, Stacks, Trees, Priority Queues, Dictionaries, and Graphs) appropriate for solving a problem or designing a computer-based system that meets desired specifications. Supports Program Outcome (b);
  4. Demonstrate the ability to implement the canonical ADTs with: arrays, linked lists, binary trees, hash tables, balanced trees, and other similar structures. Supports Program Outcome (c);
  5. Be proficient in defining and coding recursive algorithms, including recognizing when recursive solutions are appropriate;
  6. Understand the professional issues and responsibilities of a software development and its local and global impact on an organization.

Extra Instruction:

Extra Instruction (EI) is available and encouraged when your own attempts to understand the subject matter are unsuccessful. Make an appointment in class or by email. I will be available by AOL instant messenger under the name Prof Crabbe, and Google Chat under the name professorcrabbe (some dude in England got to prof crabbe first). Come prepared with specific questions or areas to be discussed. Before exams I will attempt to hold an evening review session in the classroom.

Quizzes & Homework:

There will be occasional written homeworks, plus some small programming homeworks.

Projects:

There will be two to three large programming projects. Project submissions will consist of two parts: electronic (the program itself), and paper (printout, external documentation, testing runs). Detailed instructions for the electronic submission are described on this webpage. The electronic submission must precede the paper submission, and the electronic and paper versions of programs should be identical. Any late project submitted n calendar days late (fractional days will be rounded up!) will receive an automatic 3n-1 point penalty.

Exams:

3 exams will be administered. The 6 and 12 week exams will mainly focus on the recent material. No exams will be in an X-period. The final exam will be comprehensive. If for some reason a make-up exam will be required, inform the instructor at least 1 week in advance.

Honor:

You are expected to abide by the USNA and department honor policies at all times, including, but not limited to: The Honor Concept of the Brigade of Midshipmen,, the Policies Concerning Graded Academic Work, and the Department Policy Concerning Programming Projects, found at http://www.usna.edu/CS/academics/honor.htm. Collaboration is allowed on "routine out of class assignments". All assignments will be considered "routine" unless I specifically indicate that it is a "project", or for an on-line quiz. Obviously, in-class quizzes and exams must still be entirely your own work.

Absences:

Students are responsible for obtaining any material missed due to an absence. Additionally, students must ensure that their work is submitted by the deadline regardless of other commitments, i.e. duty, sick call, movement orders. Should bona fide emergencies arise, it is the responsibility of the student to coordinate with the instructor (emergency leave, hospitalization, SIR, etc.).

If a student is to miss an exam due to a movement order, etc., the student must let the instructor know at least 1 week before the event. Students are reminded that non-varsity-athletics related M.O.s require the approval of the instructor.

Class Conduct:

Students are expected to uphold all professional standards while in class. Sleeping will not be tolerated.

Food/Beverages:

The Computer Science department rules state that there will be no consumption of food in any Computer Science class- lab or classroom. Beverages are permitted in classrooms and labs if in closed containers.

Course Grade:

Course WWW Page:

http://www.usna.edu/users/cs/crabbe/IC312/current. From this web page, you can download course notes, labs, project assignments, project solutions, and other items of interest.
 
 
Submitted, Approved,
Assoc. Professor F. L. Crabbe

                                                                
Course Coordinator

Professor S. Miner 

                                                               
Department Chair