Difference between revisions of "CR: COMP 2402 Learning Objectives"

From Soma-notes
Jump to navigation Jump to search
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Calendar Description=
=Calender Description=
2402 Abstract Data Types and Algorithms
 
Introduction to the design and implementation of abstract data types and to complexity analysis of data structures. Topics include: stacks, queues, lists, trees, sorting and searching.


=Assumed Background=
=Assumed Background=


Learning objectives completed before this course.
 
COMP 1805
*COMP 1805
COMP 1405 & COMP 1406.
*COMP 1406.
*MATH 1007
*MATH 1104


=Learning Objectives=
=Learning Objectives=
This is an introductory course on data structures, using Java as an implementation language. The main topics covered in this course will be
* The Java Collections Framework
* Complexity analysis - Big Oh notation.
* Basic data types: sets, lists, stacks, queues, deques
* Array-based implementations of basic data types
* Linked-list based implementations of basic data types
* Ordered sets - balanced binary search trees, skiplists
* Basic Lower Bounds: Searching and Sorting
* Dictionaries - hash tables
* Priority queues - heaps


Objectives for the whole course
Along the way, the performance issues, both theoretical and practical will be discussed. After taking this course, students should have a good understanding of how to implement a variety of data structures, and be in a position to choose the right data type and implementation for problems they encounter.
 


=Topics=
=Topics=
 
* Java: The Java Collections Framework: Interfaces and Implementations
==Topic 1==
* Arrays: ArrayLists, ArrayStacks, ArrayQueues, ArrayDeques, DualArrayDeques, RootishArrayStacks
 
* Linked lists
Learning objectives for topic 1
* Hash tables
 
* Skip lists
==Topic 2==
* Complexity Analysis: Big O, Theta
 
* Binary search trees: Red-Black Trees
Learning objectives for topic 2
* Treaps and Scapegoat Trees
* Heaps, Randomized meldable heaps
* Mergesort and sorting lower bounds
* Applications: Plane sweep, Convex Hull, ...

Latest revision as of 13:49, 11 April 2011

Calender Description

2402 Abstract Data Types and Algorithms

Introduction to the design and implementation of abstract data types and to complexity analysis of data structures. Topics include: stacks, queues, lists, trees, sorting and searching.

Assumed Background

  • COMP 1805
  • COMP 1406.
  • MATH 1007
  • MATH 1104

Learning Objectives

This is an introductory course on data structures, using Java as an implementation language. The main topics covered in this course will be

  • The Java Collections Framework
  • Complexity analysis - Big Oh notation.
  • Basic data types: sets, lists, stacks, queues, deques
  • Array-based implementations of basic data types
  • Linked-list based implementations of basic data types
  • Ordered sets - balanced binary search trees, skiplists
  • Basic Lower Bounds: Searching and Sorting
  • Dictionaries - hash tables
  • Priority queues - heaps

Along the way, the performance issues, both theoretical and practical will be discussed. After taking this course, students should have a good understanding of how to implement a variety of data structures, and be in a position to choose the right data type and implementation for problems they encounter.

Topics

  • Java: The Java Collections Framework: Interfaces and Implementations
  • Arrays: ArrayLists, ArrayStacks, ArrayQueues, ArrayDeques, DualArrayDeques, RootishArrayStacks
  • Linked lists
  • Hash tables
  • Skip lists
  • Complexity Analysis: Big O, Theta
  • Binary search trees: Red-Black Trees
  • Treaps and Scapegoat Trees
  • Heaps, Randomized meldable heaps
  • Mergesort and sorting lower bounds
  • Applications: Plane sweep, Convex Hull, ...