CS1450 (Summer 2012)

Data Structures and Algorithms



Quick Info

Data Structures and Algorithms
Brian Parks (bparks AT synapsesoftware DOT net)
Office: ENGR 148 (inside ENGR 149, VAST Lab)
Office Hours: By appointment ONLY
Syllabus: (
pdf)
Emailed files should be named using the following syntax (all lowercase):

        cs1450.1206-last_name-first_name-pa#.zip

Files that do not follow this format will not be accepted

About the course

The course catalog has the following to say about this course:

Concepts of data type, data abstraction, and data structure. Internal representations of fundamental data types. Linear data structures: stack, queue Linked data structures and dynamic data types. Search table data abstraction linear search in arrays and lists, binary search in arrays and trees. Binary trees, non-binary trees, binary search trees. Prer., C S 1150 or equivalent.

Announcements

Lecture Notes and Videos

  1. Tuesday, 12 June — Software. Runtime. Debugging. (Ch. 1) Video
  2. Thursday, 14 June — Encapsulation. Information Hiding. (Ch. 2) Video
  3. Tuesday, 19 June — Collections. Iterators. (Ch. 3) Video zip of Java files
  4. Thursday, 21 June — Linked Lists. (Ch. 4) Video Part 1 Video Part 2 zip of Java files
  5. Tuesday, 26 June — Generics. (Ch. 5) PA1 Files (output, Instruction.class, Main.java)
  6. Thursday, 28 June — Stacks. (Ch. 6) Video
  7. Tuesday, 3 July — Queues. (Ch. 7) Video Part 1 Video Part 2 PA2 Main Program
  8. Thursday, 5 July — MIDTERM EXAM
  9. Tuesday, 10 July — Recursion. (Ch. 8) Video
  10. Thursday, 12 July — Trees. (Ch. 9) Video Part 1 Video Part 2
  11. Tuesday, 17 July — Heaps. B-Trees. (Ch. 10) Video
  12. Thursday, 19 July — Searching. (Ch. 11) Video
  13. Tuesday, 24 July — Sorting. (Ch. 12) Video
  14. Thursday, 26 July — Inheritance. Abstract Classes. (Ch. 13)
  15. Video
  16. Tuesday, 31 July — Graphs. (Ch. 14)
  17. Video Bot example
  18. Thursday, 2 August — FINAL EXAM

Assignments

  1. Assignment 1: Basic Java — due Thursday 21 June (SEE NOTE IN ANNOUNCEMENT ABOVE)
  2. Assignment 2: Linked Lists — due Thursday 28 June
  3. Assignment 3: Stacks — due Thursday 5 July
  4. Assignment 4: Queues — due Thursday 12 July (Runtime.java Runtime.class)
  5. Assignment 5: Trees — due Thursday 19 July
  6. Assignment 6: Searching — due Thursday 26 July
  7. Assignment 7: More trees — due Thursday 2 August

Resources