COSC 2030 Computer Science II
This course studies the use of and implementation of abstract data structures in an object oriented programming environment. Topics include lists, stacks, queues, tables, binary trees, graphs, space and time complexity, recursion and recursive date types. Programming exercises and experimentation with software in a closed laboratory supplement the discussion. Prerequisite: Completion of
COSC 1030. (3 lect., 2 lab)
Major Topics
- Abstract data structures
- Object oriented programming
- Lists
- Stacks
- Queues
- Tables
- Binary trees
- Graphs
- Space and time complexity
- Recursion and recursive data types
Outcomes
In order to successfully complete this course, the student will:
1. Apply the principles of object oriented programming and good software engineering principles to develop practical computer programs.
2. Explain the need for data structures such as lists, stacks, queues, and binary trees.
3. Implement linked and array-based variants of lists, stacks, queues and binary trees.
4. Classify functions based on space and time complexity using asymptotic notation.
5. Implement common sorting algorithms, including insertion sort, merge sort and quick sort.