Data Structures
Fall Semester, 2025
CoSc 320: Syllabus
Instructor: Stan Warford
Office: RAC 112
Office hours: Mon (11:00 - 11:50), Tues (9:00 - 9:50), Thurs (1:00 - 1:50), Fri (11:00 - 11:50),
and by appointment
Email: Message to Warford
A1,
A2,
A3,
A4,
A5,
A6,
Test 1
A7,
A8,
A9,
A10,
A11,
A12,
Test 2
A13,
A14,
A15,
A16,
A17,
A18,
Test 3
A19,
A20,
A21,
A22,
A23,
A24,
Final
Lecture video recordings
Video recordings of all the lectures are posted on YouTube
here.
Downloads
Download
dp4dsDistribution
Download Design Patterns for Data Structures,
Appendix A
Download Design Patterns for Data Structures,
Chapter 1
Download Design Patterns for Data Structures,
Chapter 2
Download Design Patterns for Data Structures,
Chapter 3
Download Design Patterns for Data Structures,
Chapter 4
Download Design Patterns for Data Structures,
Chapter 6
Download Design Patterns for Data Structures,
Chapter 7
Download Design Patterns for Data Structures,
Chapter 1 slides
Download Design Patterns for Data Structures,
Chapter 2 slides
Download Design Patterns for Data Structures,
Chapter 3.1 slides
Download Design Patterns for Data Structures,
Chapter 3.2 slides
Download Design Patterns for Data Structures,
Chapter 3.3 slides
Download Design Patterns for Data Structures,
Chapter 3.4 slides
Download Design Patterns for Data Structures,
Chapter 4.1 slides
Download Design Patterns for Data Structures,
Chapter 4.2 slides
Download Design Patterns for Data Structures,
Chapter 4.3 slides
Download Design Patterns for Data Structures,
Chapter 4.3 sort paper slides
Download Design Patterns for Data Structures,
Chapter 6.1 slides
Download Design Patterns for Data Structures,
Chapter 6.2 slides
Download Design Patterns for Data Structures,
Chapter 6.3 slides
Download Design Patterns for Data Structures,
Chapter 6.4 slides
Download Design Patterns for Data Structures,
Chapter 7 slides
Download Design Patterns for Data Structures,
Chapter 8.1 slides
Download Design Patterns for Data Structures,
Chapter 8.2 slides
Download Design Patterns for Data Structures,
Chapter 8.3 slides
Download Design Patterns for Data Structures,
Chapter 9.1 slides
Download Design Patterns for Data Structures,
Chapter 9.4 slides
Download Design Patterns for Data Structures,
Chapter 9.5 slides
Download Design Patterns for Data Structures,
Chapter 10.1 slides
Download Design Patterns for Data Structures,
Chapter 10.2 slides
Download Design Patterns for Data Structures,
Chapter 10.3 slides
Download Design Patterns for Data Structures,
Chapter 10.4 slides
Download Design Patterns for Data Structures,
Chapter 11.1 slides
Download
A Logical Inverted Taxonomy of Sorting Algorithms,
S. M. Merritt and K. K. Lau,
Communications of the ACM,
Volume 28 Issue 1, Jan. 1985.
Download
Left-leaning Red-Black Trees,
Robert Sedgewick,
Department of Computer Science,
Princeton University.
Download
Design Patterns for Self-Balancing Trees,
D. X. Nguyen and S. B. Wong,
Object-Oriented Programming Systems, Languages, and Applications
(OOPSLA), Nov. 2002 : 60-70.
Download
Nguyen-Wong algorithms
Download
Detection and Prevention of Stack Buffer Overflow Attacks,
B. A. Kuperman, et.al.,
Communications of the ACM,
Volume 48 Issue 11, Nov. 2005.
Download
The Status of the P versus NP Problem,
L. Fortnow,
Communications of the ACM,
Volume 52 Issue 8, Sept. 2009.
Download
Sleep Sort.
C++ Tutorial
View:
Tutorials to help you master C++ and object-oriented programming.
YouTube links
A fascinating
visualization
of 15 sort algorithms.
Intellectual property
You are free to use the material I produce in this course without my explicit permission.
License: Creative Commons, Attribution-ShareAlike (CC BY-SA)
See: https://creativecommons.org/licenses/
for license details.
Setup for programming with CLion
Submit homework electronically
Sort Paper
Setup for LaTeX
The Not So Short Introduction to LaTeXe2
Setup for RStudio
Data management in RStudio
Plotting raw data in RStudio
Curve fitting in RStudio
asgnData.txt
compData.txt
dp4dsFunctions.R
Miscellaneous
Here are instructions on how to batch indent
your source files.
If you want to know more about the different shells, here is a good
article.
Here is a link
to the C++ page maintained by Bjarne Stroustrup, the creator of C++, on the current and future state of the language.
Here is an article
about a memory leak in a commercial software product.
Programming homework policy
If your program does not compile (build)
Automatic 20% of total points for that assignment
No resubmission
Late submission
Accepted up to the time of the following assignment
Hand in with the following assignment
Automatic 50% of graded score
Late submission that does not compile
Automatic 10% of total points for that assignment
Complete assignment list
Assignment 1
Video lectures 1, 2, 3, 4
Due Friday, August 23
Assignment 2
Video lectures 5, 6
Due Tuesday, August 27
Assignment 3
Video lectures 7, 8
Due Friday, August 30
Labor Day, no class
Monday, September 2
Assignment 4
Video lectures 9, 10
Due Friday, September 6
Assignment 5
Video lectures 11, 12
Due Tuesday, September 10
Assignment 6
Video lectures 13, 14
Due Friday, September 13
Test 1
Tuesday, September 17
Assignment 7
Video lectures 15, 16
Due Friday, September 20
Assignment 8
Video lectures 17, 18 may be skipped this semester
Due Tuesday, September 24
Faculty Conference, no class
Friday, September 27
Assignment 9 is omitted this semester
Video lecture 19 may be skipped this semester
Video lecture 20
Assignment 10
Video lectures 21, 22
Due Tuesday, October 1
Assignment 11
Video lectures 23, 24
Due Tuesday, October 8
Fall break, no class
Friday, October 11 - Monday, October 14
Assignment 12
Video lecture 25
Due Tuesday, October 15
Notice
Thursday, October 17, last day to withdraw with grade of W.
Test 2
Friday, October 18
Assignment 13
Video lectures 26, 27
Due Friday, October 25
Assignment 14
Video lectures 28, 29
Due Tuesday, October 29
Assignment 15
Video lectures 30, 31
Due Friday, November 1
Assignment 16
Video lectures 32, 33
Due Tuesday, November 5
Assignment 17
Video lectures 34, 35
Due Friday, November 8
Assignment 18
Video lectures 36, 37, 38, 39
Due Tuesday, November 12
Test 3
Friday, November 15
Assignment 19
Due Tuesday, November 19
Notice
Friday, November 22, last day to withdraw with grade of WP/WF.
Assignment 20
Video lectures 40, 41, 42, 43
Due Friday, November 22
Thanksgiving holiday, no class
Monday, November 25 - Friday, November 29
Assignment 21
Video lectures 44, 45
Due Tuesday, December 3
Assignment 22
Video lectures 46, 47, 48
Due Friday, December 6
Final
Video lecture 52
Wednesday, December 11, 1:30 p.m. - 4:00 p.m.