Laboratory(G-1L): Joseph Anthony C. Hermocilla

**General Information****News/Announcements****[05/28/2008] Final Grades now available here.**- [05/26/2008] Laboratory standing is available now, see class record. If you have questions SEE me on or before Wednesday, May 28.
- [05/21/2008] Please submit missing exercises as indicated in the class record before Friday May 23, 2008.
- [05/05/2008] BST application exercise, exer3b, is now posted.
- [04/27/2008] Updated tar file for Homework 1 is now available. See below.
- [04/21/2008] Updated tar file for List ADT exercise is now available. See below.
- [04/16/2008] Welcome to CMSC 123 Summer 2007-2008.
**Syllabus****Class Record****Laboratory Schedule****Honor Code****Textbooks (available at ICS Reading Room)**- [1]
*Introduction to Data Structures*(Albacea) - [2]
*Data Structures and Algorithm Analysis in C*(Weiss) - [3]
*Data Structures in Pascal*(Horowitz and Sanhi) - [4]
*Algorithms in C*(Sedgewick) - [5]
*Data Structures and Algorithms*(Aho, Hopcroft, Ullman) - [6]
*Introduction to Algorithms*(Cormen, Leiserson, Rivest, Stein) **Other Data Structures Courses****Resources**- Dictionary of Algorithms and Data Structures
- CUnit: Unit Testing Framework for C
- Data Display Debugger

When we develop an algorithm, we usually need to manipulate some data. The data can be a single value, a collection of values, or other kinds. The way to store these data in the computer (memory) is called data structure. In this course, data structures will be studied in the context of abstract data types (ADT): a specification of data and set of operations on the data. We will also analyze the efficiency (in terms of time and space) of the different implementations of the ADT's.

Meeting | Date | Topic | Readings | Handout/Scribe Notes | Homework/Exercise | Solution |

1 | 04/16/08 | Introduction, Review: Pointers, Structures, Functions, File I/O | Tutorial | Begonia, Magbanua | ||

2 | 04/18/08 | N-dimensional Arrays (Matrices and Searching) | Matrix, Search | |||

3 | 04/21/08 | Lists | Ch. 2 of [5], Ch. 2 of [1], Ch. 3.2 of [2] | List ADT | ||

4 | 04/23/08 | Queues, Stacks, Introduction to Algorithm Analysis | Ch. 3.3-3.4 of [2], Ch. 3-4 of [1], Ch. 2 of [5] | Stack ADT, Queue ADT, Homework 1 | ||

5 | 04/25/08 | Queues and Stacks(continued) | ||||

6 | 04/28/08 | (No class) | ||||

7 | 04/30/08 | Binary Trees, Traversals, and Binary Search Trees | BST, BST Application | |||

8 | 05/02/08 | Binary Trees, Traversals, and Binary Search Trees(continued) | ||||

9 | 05/05/08 | AVL Trees | AVL | |||

10 | 05/07/08 | Priority Queues and Heaps | Heap | |||

11 | 05/09/08 | Dictionaries and Hashing | Hashing | |||

12 | 05/12/08 | Graphs: Adjacency Matrix Representation and Adjacency List Representation | Graphs | |||

13 | 05/14/08 | Graph Traversals: Depth-First Search and Breadth-First Search | Graph Traversals | |||

14 | 05/16/08 | Graph Algorithms: Shortest Paths and Minimum Spanning Trees | Dijkstra's Algorithm | |||

15 | 05/19/07 | Laboratory Exam |

Students should avoid cheating and plagiarism. All programming exercises and

assignments will be done individually.

*$Id: CMSC123-Summer-2007.html 878 2009-05-15 02:22:45Z jachermocilla $*