Class Lectures and Reading Assignments
CS 12300-02 (TR)
Programming I: Java
Fall, 2020

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. The exam can be downloaded from Brightspace at 1:00 pm. Your completed exam document is due back in Brightspace at 11:00 pm this evening. The exam document is on the same page in Brightspace where you submit programming assignments. There are more detailed instructions about completing the exam on the first page of the exam document. If you have a question about the exam, please send me an email at any time or joing the following Zoom meeting.

I will be available during the regular class time, from 3:30 to 5:00, using the Zoom application. Please click on the following invite link if you would like to ask a question about the exam.

Here is a link to today's video lecture.

Remember that the final exam for this class will be on Thursday, December 17. See the review information from Tuesday's class.

Here is the Temperature class we worked with in class today.

Here is a link to today's video lecture.

According to the university's final exam schedule, the final exam for this class will be one week from Thursday, on December 17. The final exam will begin at 1:00 p.m. and it will be administered the same way as the two midterm exams. We will not meet for class on Thursday (or Tuesday) of final exam week, but I will be available for a Zoom meeting during what would be class time so you can ask questions about exam problems. The exam will be due in Brightspace that Thursday evening.

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

Here is the last reading assignment.

Here is the BankAccount example we worked with in class today.

Here is a link to today's video lecture.

See the programming assignment page for your fourth assignment.

Read the following sections about writing classes.

Here is the example we worked with in class today.

Here is a link to today's video lecture.

Read the following sections about writing classes.

Here are the examples we worked with in class today.

Thanksgiving Break. No class.

Here is a link to today's video lecture.

Here are the examples we worked with in class today.

Here is a link to today's video lecture.

For next week, read the following sections which introduce classes and objects.

Here are the examples we worked with in class today.

Here is a link to today's video lecture.

Here are some array practice problems.

Here are the examples we worked with in class today.

Here is a link to today's video lecture.

We will begin these introductions to arrays.

Read the following two sections on arrays.

Here are the examples we worked with in class today.

Class was canceled because of illness.

Here is a link to today's video lecture.

The second midterm exam is today. The exam can be downloaded from Brightspace when class ends at 4:45. Your completed exam document is due back in Brightspace at midnight this evening. The exam document is on the same page in Brightspace where you submit programming assignments. There are more detailed instructions about completing the exam on the first page of the exam document.

Here are the examples we wrote in class today.

Here is a link to today's video lecture.

Remember that the second midterm exam is this Thursday. See the review material from last Thursday.

Here are the examples we wrote in class today.

Here is a link to today's video lecture.

The second midterm exam will be one week from today, on Thursday, November 5.

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

For next week, read the first five sections of the following introduction to arrays.

And also read this section on arrays.

Here are two more CodingBat problems.

Here are the examples from today's class that demonstrate method return values.

Here is a link to today's video lecture.

Here are some examples we will look at today.

Here is the vocabulary we wrote for talking about methods and the example method we used in class.

Here is a link to today's video lecture.

For next week, read the following sections about methods,

Here are two more CodingBat problems.

Here are two zip files containing all the picture puzzle examples.

Here is a link to today's video lecture.

Solve these problems from the CodingBat web site. These problems use string methods, if-statements, boolean logic, and possibly a single loop.

Here is the code we worked with in class today.

Here is a link to today's video lecture.

Read the following two sections about loops,

and read this section about methods.

Here are some practice problems.

Here is the code we worked with in class today and a couple of other examples of string manipulations.

Fall Break. No class.

Here is a link to today's video lecture.

For next week, read the following two sections about loops.

Solve these problems from the CodingBat web site. These problems use string methods, if-statements, and boolean logic.

Here are the notes we used in class today.

Here is a link to today's video lecture.

For this week, read the following introductions to while-loops and for-loops.

Here are the examples we did with "compound boolean expressions".

Here is the code that demonstrated comparing String objects.

Here is a link to today's video lecture.

The first midterm exam is today. The exam can be downloaded from Brightspace when class ends at 4:45. The exam document is on the same page in Brightspace where you submit programming assignments. Your completed exam document is due back in Brightspace at midnight this evening. There are more detailed instructions about completing the exam on the first page of the exam document.

Here is a link to today's video lecture.

Remember that the first midterm exam is this Thursday. See the list of review problems posted last Thursday.

Here is a zip file containing several simple tables that summarize useful facts about Java.

Here is a link to today's video lecture.

Remember that the first midterm exam is a week from today. Here is a summary of the midterm exam topics and some review/practice problems (this should be the final version of the review).

For next week, read the following sections (these sections are not on the exam).

Here are the nested, else-if-statement examples that we wrote in class.

Here is a link to today's video lecture.

The first midterm exam will be one week from Thursday, on October 1.

Here is a summary of the midterm exam topics and some review/practice problems. This list is not finished yet, so I will be updating it soon.

For Thursday, read the following sections.

Solve these problems from the CodingBat web site. These are similar to programming assignment 3 and you solve them using methods from the String class.

Here are the if-statement examples that we wrote in class.

Here is a link to today's video lecture.

See the programming assignment page for your third assignment.

For next week, read the following introductions to if-statements and boolean expressions.

Here are the String and Turtle code that we wrote in class.

Here is a link to today's video lecture.

You may want to re-download the following zip file containing DrJava. I added to the zip file "dark/light" modes for DrJava which make it more pleasant to look at and I added the turtle geometry library used in the textbook so you can compile and run turtle code in DrJava.

For Thursday, read the following sections,

from this textbook.

Here are some practice problems for you to work on.

Here is the Turtle code and object memory diagram, and the String code, that we wrote in class.

Here is a link to today's video lecture.

For Tuesday, read the following sections,

from this textbook.

Here is the Turtle code that we wrote in class. You can copy and past this code into this page to run and modify it. Later we will see how to use this Turtle code with DrJava.

Here is a link to today's video lecture.

For Thursday, read the following sections,

from this textbook. These sections are about objects and methods. Be sure to try all of the built in problems.

Here are links to the code we used in class with the Java Visualizer.

Here is a link to today's video lecture.

For next week, read Chapter 4 from Think Java. This chapter introduces methods, one of the most important ideas in Computer Science.

Here are some practice problems for you to work on.

Here are the Scanner examples we did in class. Run these in DrJava because DrJava implements Scanner in a better way than the Java Visualizer.

Here is a link to today's video lecture.

See the programming assignment page for your second assignment.

Read Chapter 3 from Think Java and also Section 1.4.6 from the other textbook. Both readings are about user input and Java's Scanner class.

Here is a link to the code we used in class with the Java Visualizer.

Here is a link to today's video lecture.

For next Tuesday, read Section 1.3 and Section 1.4 from the other course textbook. Each section has many built in problems and exercises. Be sure to do all of them as you read these sections.

Here is a link to the example code that we wrote in class today.

Here is a link to today's video lecture.

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

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

Here is a brief DrJava Primer

For today, read Chapter 1 from the textbook.

For Thursday, read Chapter 2 from the textbook.

Homework: Copy this HelloWorld program from the Java Visualizer into DrJava running on your home computer. Use DrJava to save the program on your computer (as a file named HelloWorld.java), compile the program, and run it. Then use that program to do Exercise 3 at the end of Chapter 1.