Class Lectures and Reading Assignments
CS 27500
Data Structures
Fall, 2017

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.

The second exam is Thursday, December 14, at 8:00 A.M. (during final exam week).

Here are review problems for the second exam.

Read Sections 6.3 and 6.4 (pages 335-355) from the textbook.

See the homework assignment page for your fifth programming assignment.

Here are simple "range" iterators (for Sections 5.5 and 5.6 from the textbook).

Read Sections 6.1 - 6.2 (pages 316-334) from the textbook.

The following zip file contains the Java programs from Chapter 6 of the textbook and several other references about stacks and queues.

No class: Thanksgiving break.

Here are notes for our discussion today about casting.

See the homework assignment page for your fourth programming assignment.

Read Sections 5.4 - 5.6 (pages 283-299) from the textbook.

Read Sections 5.1 - 5.3 (pages 252-283) from the textbook.

The following zip file contains the Java programs from Chapter 5 of the textbook and several other references about generic programming.

The first exam is today.

Remember that the midterm exam will be one week from today, on Thursday, October 26. See the review problems below.

Read Section 4.5 (pages 232-238) and Section 4.6 (pages 239-244).

In class today we will complete the code in the following file.

Make sure you compare the (modern, correct) IntBag.java and IntLinkedBag.java, from the IntBag subfolder of the Section 4.4 subfolder of the chapter4 zip file, with the textbook's IntLinkedBag and its implementation. Notice that we now have three (modern, correct) implementations of the IntBag abstract data type (the other two implementations are from chapter3.zip).

Here is the code that we wrote in class today.

Here is the code that we wrote in class today.

NOTE: We will postpone the first exam by one week so that we can finish Chapter 4. The exam will be two weeks from today, on Thursday, October 26.

Here are review problems for the exam.

See the homework assignment page for your third programming assignment.

Read Section 4.4 (pages 215-232) about the IntLinkedBag abstract data type and its implementation (and be sure to compare those with IntArrayBag and its implementation from Section 3.2).

In class today we will complete the code in the following file.

Here is the code that we wrote in class today.

Read Section 4.3 (pages 192-215) about the IntNode class and its implementation.

Read Sections 4.1 and 4.2 (pages 175-191) from the textbook.

The following zip file contains the Java programs from Chapter 4 of the textbook and several other references about linked lists.

Today we will go over the interface for the IntBag abstract data type. We will also start going over its two implementations, IntArrayBag.java and IntArraysBag.java (this interface, and its two implementations, are meant to be a better, more modern, version of the textbook's IntArrayBag.java). These files are all in the IntBag sub folder of the Section 3.2 folder in chapter3.zip.

See the homework assignment page for your second programming assignment.

Read Section 3.3 (pages 145-159) about the DoubleArraySeq abstract data type and its (unfinished) implementation. These files are in the Section 3.3 folder of chapter3.zip.

If you would like a very good, challenging, review of the basicss of Java programming, read the following chapter from this textbook.

Here is a collection of typical problems from CS 12300 exams.

Don't forget to go codingbat.com and solve some Java programming problems.

Today we will go over the textbook's interface for the IntArrayBag abstract data type. We will also start going over the textbook's implementation, IntArrayBag.java. These files are in the Section 3.2 sub folder of chapter3.zip.

Read Section 3.1 (pages 104-113) from the textbook.

Read Section 3.2 (pages 113-145) from the textbook (this is the first real "data structures" section in the textbook).

The following zip file contains the Java programs from Chapter 3 of the textbook.

Read Sections 2.3 - 2.4 (pages 60-93) from the course textbook.

Go to this web site, codingbat.com, and solve some Java practice problems.

Read Sections 2.1 - 2.2 (pages 39-60) from the course textbook.

The following zip file contains the Java programs from Chapter 2 of the textbook.

We will continue to look at these examples of object-oriented Java programs.

Read Chapter 5, Sections 5.1 - 5.6, from this book (PDF version).

We will continue to look at these examples of object-oriented Java programs.

Be sure to look at the homework assignment page. Your first assignment is already listed there.

Read Sections 1.1 (pages 1-16) and 1.3 (pages 26-34) from our textbook.

Read Appendix B (pages 778-782) and Appendix H (pages 807-813) from our textbook.

Read Chapter 1, pages 5 - 25, from the book Java Structures.

The following zip file contains Java programs that demonstrate and review many object oriented ideas.

The following zip file contains Java programs from Chapter 1 of our textbook.

On your home computer, install the Java 8 JDK and DrJava as described in these instructions.