Data Structures

Fall Semester, 2018

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

Notices

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.

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: http://creativecommons.org/licenses/ for license details.

Video recording

The materials for this course – including video recordings of all the lectures, the assignments, and the lecture slides – are posted on iTunes U. On an iOS device (iPhone or iPad), this link takes you to the course in the iTunes U app.

You can also view just the lectures directly in your browser here.

The recordings may be used, reproduced, exhibited or distributed in any medium for any purpose that the University and those acting pursuant to its authority, deem appropriate. The University does hold a traditional copyright for the lecture video recordings.

YouTube links

A fascinating visualization of 15 sort algorithms.

Setups

Setup for programming
Setup for dp4dsDistribution
Submit homework electronically
Sort Paper
Setup for LaTeX
The Not So Short Introduction to LaTeXe2
paper-template.pdf
Paper-Template.zip
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.

Assignments

Complete assignment list

Assignment 1
Due Friday, August 31

Assignment 2
Due Tuesday, September 4

Assignment 3
Due Friday, September 7

Assignment 4
Due Tuesday, September 11

Assignment 5
Due Friday, September 14

Assignment 6
Due Tuesday, September 18

Test 1
Friday, September 21

Assignment 7
Due Tuesday, September 25

Assignment 8
Due Friday, September 28

Assignment 9
Due Tuesday, October 2

Assignment 10
Due Friday, October 5

Assignment 11
Due Tuesday, October 9

Assignment 12
Due Friday, October 12

Test 2
Tuesday, October 16

Assignment 13
Due Friday, October 19

Notice
Monday, October 22, last day to withdraw with grade of W.

Assignment 14
Due Tuesday, October 23

Assignment 15
Due Friday, October 26

Assignment 16
Due Tuesday, October 30

Assignment 17
Due Friday, November 2

Assignment 18
Due Tuesday, November 6

Test 3
Friday, November 9

Assignment 19
Due Tuesday, November 13

Assignment 20
Due Friday, November 16

Assignment 21
Due Tuesday, November 20

Assignment 22
Due Tuesday, November 27

Notice
Friday, November 30, last day to withdraw with grade of WP/WF.

Assignment 23
Due Friday, November 30

Assignment 24
Due Tuesday, December 4

Final
Wednesday, December 12, 1:30 p.m. - 4:00 p.m.

Obsolete Materials

These materials were used in the past and are no longer recommended. Current students in CoSc 320 should not refer to these documents. They are provided for archival purposes only.

Setup for R
Curve fitting in R
Data management in R
Plotting basics in R
Plotting curve fits in R
Figure 13.7 Worksheet
Windows text editor: PSPad, which also allows remote text editing via sftp.
Mac text editor: TextWrangler, which also allows remote text editing via sftp.