Class Lectures and Reading Assignments
CS 12400
Programming II: Object-Oriented Java
Spring, 2024

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. It is a good idea for you to "play" with the example Java programs; compile them, run them, make simple changes to them and compile and run them again.

The final exam is today, at 8:00 a.m.

Over the summer, solve CodingBat problems! Don't forget what you learned this year.

According to the university's final exam schedule, the final exam for this class will be next Thursday, May 2, at 8:00 a.m.

Here is a summary of the final exam topics and some review/practice problems along with the previous two midterm exam review problems.

Lab Exercises: No lab sessions today.

According to the university's final exam schedule, the final exam for this class will be on Thursday, May 2, at 8:00 a.m.

Here is a summary of the final exam topics and some review/practice problems along with the previous two midterm exam review problems.

Here is an explanation that compares the Comparable and Comparator interfaces.

Here are the code examples we will use in class today.

Lab Exercises: Solve the following problems.

According to the university's final exam schedule, the final exam for this class will be on Thursday, May 2, at 8:00 a.m.

Read Sections 9.15, Comparable Interface 14.12 14.13 from the textbook. Do all the "Participation Activities" and "Challenge Activities" in the section.

Here are the code examples we will use in class today.

Lab Exercises: Solve the following problems.

According to the university's final exam schedule, the final exam for this class will be on Thursday, May 2, at 8:00 a.m.

Read Section 14.9 from the textbook. Do all the "Participation Activities" and "Challenge Activities" in the section.

Here is Chapter 14 from the textbook as a pdf document.

Here are the code examples we will use in class today.

Lab Exercises: Solve the following problems.

Read Sections 14.5 14.6 from the textbook. Do all the "Participation Activities" and "Challenge Activities" in each section.

Here are the code examples we will use in class today. These examples need to be run in the advanced zyLab template.

Lab Exercises: Solve the following problems.

Read Section 14.2 from the textbook. Do all the "Participation Activities" and "Challenge Activities" in the section.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problem.

The second midterm exam is today.

There will not be any Lab sessions today.

For next week, read Sections 14.1 from the textbook. Do all the "Participation Activities" and "Challenge Activities" in the section.

The second midterm exam will be this Thursday, April 4. See the review problems from last Tuesday.

If you would like to help with an ongoing research effort concerning student mental health, then please consider taking the short survey described in the following flyer.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problems.

The second midterm exam will be one week from today. See the review problems from Tuesday.

Read Sections 13.6, 13.8, from the textbook. Do all the "Participation Activities" and "Challenge Activities" in each section.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problems.

The second midterm exam will be a week from Thursday, on April 4.

Here is a summary of the midterm exam topics and some review/practice problems.

Read Section 13.4, from the textbook. Do all the "Participation Activities" and "Challenge Activities" in the section.

If you would like to practice thinking recursively, solve a few of the following problems.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problems.

The second midterm exam will be two weeks from today, on April 4 (that's one week after it was originally scheduled for in the syllabus). In a few days there will be review problems for the exam here on this page.

Read Section 13.3, from the textbook. Do all the "Participation Activities" and "Challenge Activities" in the section.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problems.

Read Sections 13.1, 13.2, from the textbook. Do all the "Participation Activities" and "Challenge Activities" in each section.

Run the following Java example command-line program in the advanced zyLab template.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problems.

Spring Break - No class today.

Spring Break - No class today.

Here is a list of the Java exceptions that we have been using.

Here is a well written overview of Java exceptions.

Here are three good introductions to the Linux command-line.

You can use the command-line in the advanced zyLab template.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problem.

Read Sections 7.8, 7.21, 7.22 from the textbook. Do all the "Participation Activities" and "Challenge Activities" in each section.

You can use the command-line in the advanced zyLab template.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problems.

Read Section 7.16 from the textbook. Do all the "Participation Activities" and "Challenge Activities" in the section.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problems.

Read Sections 7.14, and 7.16 from the textbook. Do all the "Participation Activities" and "Challenge Activities" in each section.

Here is a PDF of sections 7.12 and 7.16.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problem.

Read Section 7.12 from the textbook. Do all the "Participation Activities" and "Challenge Activities" in this section.

Here is the advanced zyLab template that you can use for experimenting with file input/output.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problem.

Read Sections 7.5 and 7.9 from the textbook. Do all the "Participation Activities" and "Challenge Activities" in each section.

Here is a PDF of sections 7.1, 7.5, and 7.9.

In this chapter we are going to begin using a more advanced interface to the zyBook. Here is a link to a template that you can use for experimenting with file input/output using this new interface. This new interface makes a zyLab act more like a real computer.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problem.

The first midterm exam is today.

There will not be any Lab sessions today.

For next week, read Section 7.1 from the textbook. Do all the "Participation Activities" and "Challenge Activities" in the section.

Remember that the first midterm exam is this Thursday, February 15.

See the review problems from last Tuesday.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problem.

Remember that the first midterm exam is this Thursday, February 15.

See the review problems from last Tuesday.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problem.

The first midterm exam will be one week from today. See the review problems from Tuesday.

Here is a link to the upcoming CS Career Development Conference.

Here are the code examples we used in class today.

Lab Exercises: Solve each of the following problems.

The first midterm exam will be a week from Thursday, on February 15.

Here is a summary of the midterm exam topics and some review/practice problems.

Read the following short Sections, 9.16, 9.17, 9.18, 9.19, from the textbook.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problem.

For next week, read Section 9.15, from the textbook. Do all the "Participation Activities" and "Challenge Activities" in this section.

We have finished the inheritance part of this chapter from our textbook. If you would like to read another explanation of inheritance, you can read the following chapter from another textbook.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problem.

Read Sections 9.12, 9.13, 9.14, from the textbook. Do all the "Participation Activities" and "Challenge Activities" in each section.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problem.

For next week, read Sections 9.6, 9.7, 9.8, 9.9, 9.10, 9.11, from the textbook (most of these are very short, less than one page, sections). Do all the "Participation Activities" and "Challenge Activities" in each section.

Here are the code examples we used in class today.

Lab Exercises: Solve each of the following problems.

Here is a link to a recording of today's zoom lecture.

Read Sections 9.4 and 9.5 from the textbook. Do all the "Participation Activities" and "Challenge Activities" in each section.

Here are the code examples we used in class today.

Lab Exercises: Solve the following problem.

For next week, read Sections 9.1, 9.2, 9.3, from the textbook. Do all the "Participation Activities" and "Challenge Activities" in each section.

The lab problems for this week are in the course's zyBook. So you need to get an access code to the textbook before doing today's lab problems.

Here are the code examples we used in class today.

Lab Exercises: Solve each of the following problems.

For this week, we will continue to review this alternative textbook about classes. Read the following sections.

The lab problems for this week are in the course's zyBook. So you need to get an access code to the textbook before doing today's lab problems.

Here are the code examples we used in class today.

Lab Exercises: Solve each of the following problems.

If you do not have access to the zyBook, here are Java Visualizer versions of the two lab problems.

For next week, read this alternative textbook about classes. Read the following sections.

Here are the code examples we used in class today.

Lab Exercise: I am not sure how many students have access to the zyBook. So for this lab, you can solve the following problems on either the Java Visualizer, the Java Tutor, or OnlineGDB. Show me your result when you finish each one.

We will begin this semester by going back to Chapter 6 (about arrays) and going over three sections that we skipped last semester.

Read Sections 6.3, 6.17, 6.18, from the textbook. Do all the "Participation Activities" and "Challenge Activities" in each section.

If you do not yet have access to the zyBook, then you can read this alternative textbook about ArrayLists. Read Section 1, Section 2, and Section 3.

Here is a summary of the methods you can use on an ArrayList object.

Here are the code examples we used in class today.

Lab Exercise: I am not sure how many students have access to the zyBook. So for this lab, we will use a free textbook (that we also used last semester).

Solve the following coding problems. Show me your result when you finish each one.