Data Structures
CSCI 3323 Fall 2021

Instructor Information

Name : Terry Sergeant   Office Hours
E-Mail :   MW 10:00–11:00; 1:30-3:00
Office : JB 322   Tue 8:30–9:30
Phone : 325-670-1292   Thu 8:30–11:30
Web Site :   F 10:00-11:00


Description : Study of lists, trees and other data structure concepts; algorithms for manipulating data structures; use of data structures in computer data organization and programming languages. Work in Computer Lab required.
Prerequisites : CSCI 2320 (Program Design II)
Textbook(s) : None required. One book that has been used in the past and matches the contents of our course pretty well is: Goodrich, Michael T. and Tamassia, Roberto, Data Structures and Algorithms in Java.

Course Objectives

Students who satisfactorily complete this course will (hopefully) be able to:


Your grade in the course will be earned / calculated as follows:
homework   25%
exam #1   25%
exam #2   25%
final exam   25%
A $\rightarrow$ 90 100
B $\rightarrow$ 80 89
C $\rightarrow$ 70 79
D $\rightarrow$ 60 69
F $\rightarrow$ 0 59

Homework Assignments

Homework will be assigned and graded on a regular basis. Point values (and lead time) will vary in accordance with the difficulty of the assignment.

A homework assignment is considered late if it is not submitted at or before the beginning of the class period on the day it is due. Late homework assignments will receive a 20% point penalty and must be completed within a week or the original due date. Assignments that miss the one week deadline will receive a grade of 0 (unless there are extenuating circumstances).

In order to do well on exams it will be necessary for each student to work homework assignments independently. There are times, however, when you may become stuck and require assistance. For this reason, the standard regarding independent homework is quite loose:

When working a homework assignment you must not make any sort of electronic copy of work that is not your own. Also, you must type assignments yourself. Failure to abide by these rules is a violation of the academic integrity standards for this course.

Unless directed otherwise, all assignments will be submitted by e-mail to the following address:


All exams are comprehensive. The final exam will take place at the scheduled time during finals week. Exams will never be collaborative in nature so receiving any form of assistance from anyone other than the instructor is a violation of the academic integrity policy. You may only use study aids during the exam if they are expressly allowed by the instructor for that particular exam.

Students with Disabilities

An individual with a disability is defined by the Americans with Disabilities Act (ADA) as a “person who has a physical or mental impairment that substantially limits one or more major life activities.” Any student with a documented disability may choose to seek accommodations. Eligible students seeking accommodation should contact the Director of Undergraduate Advising and Disabilities as soon as possible in the academic term (preferably during the first two weeks of a long semester) for which they are seeking accommodations. The director will prepare letters to appropriate faculty members concerning specific, reasonable academic adjustments for the student. The student is responsible for delivering accommodation letters and conferring with faculty members. Please refer to the most recent version of the Undergraduate Catalog for the complete policy. (Rachel King, Director of Undergraduate Advising and Disabilities, Office: Sandefer Memorial, 1st floor Academic Advising Center, Phone: 670-5842, Email:

Student Support

Peer-to-peer academic support (tutoring) is available for all undergraduate HSU students. The Academic Center for Enrichment (ACE) is open for virtual tutoring sessions via Zoom. To access instructions or make an appointment, open the ACE course on your Canvas dashboard. For additional information regarding academic support, contact the Advising Center at 325-670-1480 or

Academic Integrity

Violations of academic integrity have been described to some degree in other sections of this syllabus.

Cases of suspected academic dishonesty will be handled in accordance with university policies outlined in Undergraduate Catalog and in the Student Handbook. The current catalog prescribes that “no student who has violated the Academic Integrity Policy will be allowed to graduate from Hardin-Simmons University with honors.” Penalties will be assigned at the discretion of the instructor and typically range from failure on the assignment to failure of the course. A general rule-of-thumb is that a first offense (if not too major) will result in a zero on the assignment and a second offense will result in an F for the course. The current catalog states that an F earned in this way cannot be replaced by retaking the course.

Computer Account Use

The instructor may occasionally use email to communicate with the class as a whole or with individuals. When contacting you for this course the instructor will use your HSU email account. You are expected to check your HSU email account at least once per day and you will be held responsible for any content distributed in this way.


Regarding class attendance, the Undergraduate Catalog states:
Accordingly, absence from more than 25 percent of class meetings and/or laboratory sessions scheduled for a course (including absences because of athletic participation) is regarded as excessive, and a grade of F may be assigned as deemed appropriate by the professor.

Course Calendar and Class Structure

We may vary from this outline somewhat but the exam dates are fairly firm.

Week Date Topic / Schedules
Week 1 23 Aug Lists / OOP / Containers
Week 2 30 Aug Complexity of Algorithms
Week 3 06 Sep Trees / BSTs
Week 4 13 Sep BSTs; Generics
Week 5 20 Sep Generics; Wed: Exam #1
Week 6 27 Sep Hashing
Week 7 04 Oct Hashing; Balanced Trees
Week 8 11 Oct Balanced Trees; Priority Queues
Week 9 18 Oct Heaps
Week 10 25 Oct Graphs; DFS/BFS; Wed: Exam #2
Week 11 01 Nov Shortest path; MST
Week 12 08 Nov Multi-threading
Week 13 15 Nov Multi-threading; Sorting
Week 14 22 Nov Sorting; Wed–Fri: Thanksgiving Break!
Week 15 29 Nov Sorting; Bit Ops
———   Final Exam: Mon 06 Dec at 3:30pm