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:
- None.
Recommended Texts:
-
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:
- b) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution;
- c) An ability to design, implement and evaluate a computer-based
system, process, component, or program to meet desired needs;
- e) An understanding of professional, ethical, legal, security,
and social issues and responsibilities;
- g) An ability to analyze the local and global impact of computing on individuals, organizations and society;
Learning objectives
- Understand the fundamentals of algorithm analysis;
- Possess an understanding of the concept of abstraction and be
able to describe the idea of separation of implementation and
interface;
- 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);
- 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);
- Be proficient in defining and coding recursive algorithms, including recognizing when recursive solutions are appropriate;
- 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:
- Homework/quizzes - 15%
- Final Exam - 20%
- 6 Week Exam- 15%
- 12 Week Exam- 15%
- Projects 35%
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 |