Electrical Engineering and Computer Science

EECS 2500 - Linear Data Structures Course Syllabus

Credits/Contact Hours

4 Credit Hours (3 hrs lecture, and 140-minute lab) Engineering Topic 

Textbook
Data Structures Using Java, 4th Edition., by Dale, Joyce, & Weems 
Jones & Bartlett: 2018, 694 pp.  ISBN-13:  978-1284089097
Course Information
This course looks at stacks, queues, and lists as well as the order of algorithms used to access and modify these structures. In addition recursion, hashing, sorting, and set representation are examined in depth.
Prerequisites: EECS 1510 (Introduction to Object-Oriented Programming), with a minimum grade of C-
A required course for CSE
Specific Goals - Student Learning Objectives (SLOs)
The students will be able to:
1. When given a problem description, develop a Java solution of moderate complexity based on user-defined classes and standard library functions and classes.
2. When given an algorithm, examine its properties, infer the asymptotic runtime, and express its runtime using big-O notation.
3. Understand and apply ideas to make a program more useful as regards reuse, readability, and maintenance.
4. Understand the concept of classical abstract data types (ADTs) and how to express an ADT in Java.
5. When given a problem description, choose an appropriate ADT and give a rationale for the choice.
6. Understand various data structures in Computer Science and how they can be applied in a variety of problems of recurring interest.
7. Understand basic concepts of algorithm analysis.
8. Write programs using Lists, Stacks, Queues, and Hash tables.
9. When given a collection of unordered data, understand and use various sorting algorithms.
Topics

  1. Stacks
  2. Recursion
  3. Queues
  4. Linked Lists (simple, circular, doubly-linked), 
  5. Skip Lists
  6. Simple Sort Algorithms (Bubble, Selection, Insertion)
  7. Merge Sort
  8. Quicksort
  9. Hash Tables 
Last Updated: 6/13/23