Course Policy Statement

This is the archived website of IC 312 from the Fall 2014 semester. Feel free to browse around; you may also find more recent offerings at my teaching page.

Instructor: Dr. Daniel S. Roche, Michelson 322, x36814, .

Course Website: http://www.usna.edu/cs/roche/312/

All assignments, class notes, and important announcements will be posted from the course website. Students are expected to check it frequently.

1 Textbooks

None required.

2 Graded Work

2.1 Quizzes

Quizzes are a low-stakes chance for students to assess their progress. They will be given occasionally at the start of class. No collaboration is allowed on quizzes.

2.2 Homeworks

Routine out-of-class homework assignments will be assigned frequently and usually due at the next class meeting, or within one week. Some homeworks will involve programming. Collaboration is allowed on homeworks (according to definitions below), but copying is never allowed. All sources must be properly, clearly, and specifically cited.

2.3 Projects

There will be 3 significant projects in this class. Except when directed to work in small groups, projects must be on an individual effort. Students may informally discuss projects but may not collaborate in any way (see definitions below). Any discussion or resources used must be properly, clearly, and specifically cited.

2.4 Exams

Two midterms (not cumulative) and a final exam (cumulative).

2.5 Final grade

3 Late Work

Homeworks and projects submitted after the deadline will not receive credit, in order to facilitate immediate posting of solutions. Exceptions for bona fide emergencies or other exceptional circumstances will be considered by the instructor.

4 Absences

Each student is responsible to make up the work they miss due to planned absences such as movement orders for sports and extra-curricular activities as well as medical procedures. There will be no blanket exception to the late policy to account for absences. Generally, students should plan ahead and make arrangements with classmates or the instructor to ensure their work is submitted prior to the deadline.

5 Academic Integrity

For the purposes of this class, we make a distinction between:

Discussion is allowed on projects and homeworks, but collaboration is only allowed for homeworks. Copying is never allowed. A simple rule of thumb is that, for anything submitted as a course project, you should be the only human being that has ever seen it, other than your instructor. The only exception to this rule is that the MGSP leader for IC 312 may look at your project to provide help, but this must be clearly documented.

Citations must be given for all help received from any source, including MGSP leaders, other faculty members, other students, any other person, or any online source. Examples of good citations are:

You do not need to cite the instructor or the course website.

Further details can be found at the CS department's honor website http://www.usna.edu/CS/resources/honor.htm. In case of any ambiguity, it is the responsibility of the Midshipman to ask the instructor for clarification on the policy. This document does not cover every possible scenario, and Midshipmen are expected to ask when in any doubt on these issues.

6 Extra Instruction

The instructor has an "open door" policy for EI, and his schedule is posted online for convenient appointment scheduling.

7 MGSP

MIDN 1/C Zachary Watt is the MGSP leader for IC 312 this semester. He will hold a regular meeting each week, as well as participate in review sessions and the class discussion forum.

8 Learning Objectives

  1. Understand the fundamentals of algorithm analysis. (supports outcome c)
  2. Possess an understanding of the concept of abstraction and be able to describe the idea of separation of implementation and interface. (supports outcome b)
  3. Recognize and apply the canonical ADTs (Lists, Queues, Stacks, Trees, Priority Queues, Dictionaries, and Graphs) appropriate for solving a problem. (supports 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 outcome c)
  5. Be proficient in defining and coding recursive algorithms, including recognizing when recursive solutions are appropriate (supports outcome c)

9 Supported Student Outcomes

10 Section Leader

The section leader is responsible for:

11 Classroom Decorum

No food or beverages (except in closable containers) are permitted in the classroom.