CS2851 -- Data Structures

This course covers the organization of data and the algorithms that act upon them. The topics of stacks, queues, trees and sets are introduced. Fundamentals of algorithm performance are also introduced, with an emphasis placed on time complexity analysis. Applications to data structure searching and sorting, memory allocation and file management are included. Laboratory activities include the application of data structures from standard libraries. (prereq: SE-1020) (2-2-3)

Outcomes

On successful completion of this course, the student will:

  • understand and apply complex data structures and algorithms.
  • use appropriate algorithms (and associated data structures) to solve complex problems.
  • have a thorough understanding of commonly used library data structures.
  • be able to analyze the time complexity of algorithms, both sequential and recursive.
  • understand the use of recursion in problem solving.
  • be able to use data structures in software design and implementation.
  • be able to apply standard library data structures in software design.

The above course description and goals were taken from the official course description.

General Course Policies

Please review the general course policies webpage.

Textbook

Data Structures and the Java Collections Framework 2nd Ed., by William Collins, McGraw-Hill, 2005. ISBN: 0-07-302265-9

Quizzes

Quizzes will be given nearly every at the beginning of lab. The lowest quiz score will be dropped. No make-up quizzes will be given.

Laboratory

All Lab assignments are worth 100 points per week (i.e., a two week lab assignment is worth 200 points).

My Schedule

[an error occurred while processing this directive]

Grading

Quizzes: 20%
Lab Projects: 35%
Midterm Exam: 20%
Final Exam: 25%
Total: 100%

  • © 2001-2015 Dr. Christopher C. Taylor •
  • Office: L-343 •
  • Phone: 277-7339 •
  • npǝ˙ǝosɯ@ɹolʎɐʇ