COSC 311     Algorithms & Data Structures     FALL 2015

M W 2:00 - 3:15 pm     117 Roosevelt

Course communication
  1. Course home page -- emunix.emich.edu/~haynes/311/fa15
  2. Email broadcasts -- through my.emich.edu.
Instructor: Professor Susan Haynes
  1. Home page: http://emunix.emich.edu/~haynes
  2. Office: 511E Pray-Harrold
  3. Email: shaynes @ emich.edu
Office Hours:
M W 12:30 - 1:30 pm
T Th 1:00 - 4:00 pm

Textbooks:
  1. Koffman & Wolfgang, Data Structures: Abstraction and Design Using Java 2nd Ed, Wiley, ISBN-10: 0470128704.
  2. Useful references: Sedgewick, Algorithms in Java; Lafore, Data Structures and Algorithms in Java.
Description:
    Linear lists, strings, arrays, and orthogonal lists. Representation of trees and graphs. Storage systems, structures, storage allocation and collection. Symbol tables, searching and sorting techniques. Formal specification of data structures and data management systems.
Prerequisites: COSC 211 and COSC 221.

Development environment: You can develop in any environment you choose. HOWEVER, demos must be given in NetBeans, Eclipse or console. Your demos must run on a departmental machine.

Language of implementation: Java.

Pedagogical philosophy: This class will be about doing as much as it will be about theory. Think of this class as you would piano lessons or golf lessons. You should code every single day for at least 15 minutes.

Grading: This is the most important class in the undergraduate computer science major or minor. You MUST be able to program in Java in order to pass this class.

  1. 50%     Projects
  2. 20%     Tests
  3. 15%     Final Exam
  4. 15%     Homework/Quizzes/etc.
Assignment of grades:
  1. 91 - 100% A range
  2. 81 - 90% B range
  3. 71 - 80% C range
  4. 61 - 70% D range

  5. If you score below 65% on the programming portion, the highest grade you can receive is a D.
Late homework and late labs: No! Turn them in early instead!

Academic Honesty: I expect you to behave according to the highest possible ethical standards. If you claim anyone else's work as your own, or if you allow someone else to claim your work, you will receive an E in this class. Additionally, I will report your name to the Dean of Students for possible expulsion. Warning: the Internet is seductive; there is a lot of publicly accessible material out there. I will tell you when and how it will be acceptable to cannibalize code for a project. It is never acceptable to cannibalize text (e.g., for a paper). Do not plagiarize! Theft is beneath you.

Caveat: This syllabus and the course outline will be changed as I deem pedagogically necessary or preferable. I will publish written changes to the syllabus. Such a change may require a change in grading rubric.