Class Lectures and Reading Assignments
CS 27500-001 (TR)
Data Structures
Fall, 2021
This page documents what we do in class. It contains Java programs that we will discuss in class, reading assignments, simple homework exercises that you can work on for practice and exam preparation (not for credit), and links to other sources of information.
Thursday, December 9.
According to the university final exam schedule , the second midterm exam is Thursday, December 16 at 8:00 a.m. It will be based on these practice problems,
on these reading assignments,
and on these code examples.
Today we will look at applications of the Stack Abstract Data Type .
Tuesday, December 7.
Today we will look at the Stack Abstract Data Type and three implementations of it using either an array, a linked-list, or the List ADT.
Thursday, December 2.
See the homework assignment page for your third programming assignment.
According to the university final exam schedule , the final exam for this course is Thursday, December 16 at 8:00 a.m. (two weeks from today). There will be some review questions for the exam here soon.
Read the following sections about the Stack ADT.
Tuesday, November 30.
See the homework assignment page for your third programming assignment.
We will start to look at the List Abstract Data Type and its two implementations using arrays and linked-lists.
Thursday, November 25.
No class: Thanksgiving break.
Tuesday, November 23.
See the homework assignment page for your third programming assignment.
Today we will finish the linked list operations .
Here is the code that we wrote today in class.
Thursday, November 18.
Today we will continue with the linked list operations .
Here is the code that we wrote today in class.
Tuesday, November 16.
Today we will continue to look at linked list operations .
Here is the code that we wrote today in class.
Thursday, November 11.
Read the following section about the linked list implementation of the List
ADT.
Tuesday, November 9.
Today we will look at linked list operations .
Thursday, November 4.
Today we introduce the linked list data structure using the examples in this zip files.
Tuesday, November 2.
For Thursday, read the following introduction to the linked list implementation of the List
ADT.
Thursday, October 28.
Today we will look at more examples of generic classess from the following zip file.
Here is the example we did in class of an array of Object.
Tuesday, October 26.
See the homework assignment page for your second programming assignment.
The following zip file contains a generic version of ListOfString . This generic ListOf
version solves a big problem with the ListOfString
version.
Read the following two part article about Java Generics.
Thursday, October 21.
The first midterm exam is today.
For next week, read about the "parameterized", or "generic ", ArrayList.
Tuesday, October 19.
Remember that the first midterm exam is this Thursday. See the review material from last week.
Thursday, October 14.
According to the course syllabus , the first midterm exam is one week from today. The exam will be held in class. It will be based on these practice problems.
And on these reading assignments.
Here is an implemetation of the List ADT that we will work with in class.
Here is another reference about lists (to supplement the reading assignment from Oct 4).
Tuesday, October 12.
Thursday, October 7.
Today we will finish discussing the differences between a "Java interface" and an "abstract class".
Tuesday, October 5.
Read the following introduction to abstract data types and the List abstract data type.
Thursday, September 30.
Today we will continue with the examples of separating the interface of a class from its implementation.
Tuesday, September 28.
Today we will begin the last folder from this zip file. These are examples of how Object-Oriented Programming can separate the interface of a class from its implementation.
Thursday, September 23.
Today we will finish the "polymorphism and overloading" example.
Tuesday, September 21.
Here are some Object-Oriented Programming practice problems.
Thursday, September 16.
Today we will continue to look at the inheritance and polymorphism examples.
Here is a very clear explanation of inheritance and polymorphism.
Tuesday, September 14.
Today we will to look at the polymorphism examples.
Here is another explanation of inheritance and polymorphism.
Thursday, September 9.
Read Section 5.7 (PDF , pages 252-256) from this textbook .
Today we will continue to look at the "memory diagram" examples.
Tuesday, September 7.
Read Section 5.6 (PDF , pages 248-252) from this textbook .
Today we will continue to look at the code in the following zip file. We will start the "memory diagram" examples.
Thursday, September 2.
Read Section 5.5 (PDF , pages 237-248) from this textbook .
Today we will continue to look at the code in the following zip file. We will finish the "temperature readings" examples and then start the "memory diagram" examples.
Tuesday, August 31.
Read Section 5.4 (PDF , pages 227-237) from this textbook .
Today we will continue to look at the code in the following zip file which contains programs that review object-oriented programming ideas.
Thursday, August 26.
Read Sections 7.4 - 7.5 (pages 31-41) in Chapter 7, Data Structures and Objects , from these online notes .
Today we will continue to look at the code in the following zip file which contains programs that review object-oriented programming ideas.
Tuesday, August 24.
Be sure to look at the homework assignment page. Your first assignment is already listed there.
Read Chapter 5, Objects and Classes , Sections 5.1 - 5.3 (PDF ), from this book .
Read Chapter 7, Data Structures and Objects , Sections 7.1 - 7.3, from these online notes .
We will begin the course by looking at the code in the following zip file which contains Java programs that demonstrate and review many object-oriented programming ideas.
Here is a collection of typical problems from CS 12300 exams.
Go to this web site, codingbat.com , and solve some Java practice problems.
If you would like a very good, challenging, review of the basics of Java programming, read Chapter 1, Elements of Programming from this textbook.
If you need a Java development environment on your home computer, install the Java 8 JDK and DrJava as described in these instructions .