CSCI 3220: Data Structures

Spring 2020

Meeting time: TR 3:00-4:15pm
Classroom: PKI 263
Instructor: Dr. Harvey Siy
Office: PKI 281B
Phone: (402)554-2834
Email: hsiy at unomaha dot edu
Office Hours: MW 4:30-5:30pm, or email ahead to arrange an appointment
Data Structures and Algorithm Analysis in Java (3rd ed) by Mark Weiss, Pearson, 2012.
Companion Website, Author Website


This course discusses data structures, methods of organizing large amounts of data, algorithm analysis, and the estimation of the running time of algorithms. At the end of the course, the students will be able to understand the purposes and methods of the most commonly occurring data structures, analyze the data structure needs of particular problems, compare the efficiency of various implementations and algorithms, and write applications using data structures discussed in the course. The major data structures covered in this course include trees, hash tables, heaps, and graphs.


Learning Objectives

Students who complete this course will:
  1. Be familiar with different data structures such as lists, stacks, queues, trees, heaps, hash-tables and file structures which are used to store runtime data of a computer program.
  2. Be able to compare and discuss different data manipulation strategies including different algorithms for sorting and searching items within various data structures.
  3. Be able to develop algorithms and solutions to different data structures related problems.
  4. Understand the importance of efficiency in terms of time and storage space for the computer programs developed by the students.
  5. Learn about different algorithm design techniques including greedy programming, dynamic programming, and backtracking.

Major Topics

  1. Algorithm Analysis
  2. Lists, Stacks and Queue
  3. Trees
  4. Hashing
  5. Heaps
  6. Sorting
  7. Graphs
  8. Algorithm Design


Exams 50%
Assignments 45%
Attendance 5%


  1. (15%) Midterm Exam 1 - Feburary 20 (tentative)
  2. (15%) Midterm Exam 2 - April 7 (tentative)
  3. (20%) Final Exam - May 7, 3:00pm-5:00pm


  1. (20%) Written Assignments
  2. (25%) Programming Assignments

Policy on Late Assignments

Late assignments will get a 20% deduction per day, for each day past the due date. For online submissions, we will follow the time stamp as reported by Canvas. Paper submissions must be handed directly to me on the day it is due.

Academic Integrity

Any assignments handed in that have nearly identical parts may be taken as evidence of cheating and may thus have serious consequences.

For formal policies about cheating and plagiarism, consult the UNO Student Policies and Department of Computer Science Policies and Procedures.

Back to homepage.