Roger L. Kraft

Class Lectures and Reading Assignments
CS 12300
Programming I: Java
Fall, 2015

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.

  • Thursday, December 10.
  • Tuesday, December 8.
  • Thursday, December 3.
    • Read Chapter 7, Section 7.4 (pages 538-544).
    • Here is a copy of the file that we used in class today.
    • Here are some example programs for Chapter 7.
  • Tuesday, December 1.
  • Tuesday, November 24.
  • Thursday, November 19.
    • Here is a copy of the file that we used in class today.
  • Tuesday, November 17.
    • The second midterm exam is today.
    • Read Chapter 6, Section 6.2 (pages 399-418).
  • Tuesday, November 10.
    • Remember that the second midterm exam is next Tuesday, November 17.
    • Here is the list of review/practice problems for the midterm exam.
  • Thursday, November 5.
    • Read Chapter 6, Section 6.1 (pages 384-399).
    • Here are example programs for Section 6.1.
  • Tuesday, November 3.
    • Be sure to carefully read the section about "Encapsulation" on pages 322-325. This is one of the most important ideas in all of Computer Science.
      • Do Self Test Questions 20 - 23 on page 327.
      • Do Self Test Questions 15 - 16 on page 312.
  • Thursday, October 29.
    • See the homework page for your fifth programming assignment.
    • The next exam will be on Tuesday, November 17 (not on November 3).
    • Read Chapter 5, Section 5.3 (pages 327-352).
  • Tuesday, October 27.
    • Read Chapter 5, Section 5.2 (pages 299-327).
    • Here are the example programs from Chapter 5 of the textbook.
  • Thursday, October 22.
    • Here is a new copy of DrJava that fixes a bug in DrJava's debugger.
    • Here is a copy of the file that we modified in class today.
  • Tuesday, October 20.
    • Here is a copy of the file that we wrote in class today.
  • Thursday, October 15.
    • Here is a copy of the file that we wrote in class today that printed triangles.
  • Tuesday, October 13.
    • No class (Fall Break).
  • Thursday, October 8.
    • See the homework page for your fourth programming assignment.
    • Read Chapter 5, Section 5.1 (pages 268-299).
    • Here are the example programs from Chapter 4 of the textbook.
    • Here is a copy of the file of for-loops (from Tuesday) that we made changes to in class today.
  • Tuesday, October 6.
    • Read Chapter 4, Section 4.2 (pages 226-245).
    • Here is a copy of the file of for-loops that we wrote in class today.
  • Thursday, October 1.
    • The first midterm exam is today.
  • Thursday, September 24.
    • The first midterm exam will be one week from today.
    • Here is a list of review/practice problems for the midterm exam.
  • Tuesday, September 22.
    • Here is a copy of the file we produced today that shows some if-else-statment patterns.
    • Read Chapter 3, Section 3.2 (pages 169-175).
    • Use DrJava's Interactions Pane to do Self-Test Exercises 12, 13, 14 on page 175.
    • Read Chapter 4, Section 4.1 (pages 200-226).
    • Here are the example programs from Chapter 3 of the textbook.
  • Thursday, September 17.
    • See the homework page for your third programming assignment.
  • Tuesday, September 15.
  • Thursday, September 10.
    • Here is a copy of the interactions we did in class today to solve Self Test Question 30 on page 102.
    • For Tuesday, read Chapter 3, Section 3.1 (pages 140-167).
    • Use DrJava's Interactions or Definitions Pane to do Self-Test Exercises 1, 3, 5 on page 157.
    • Use DrJava's Interactions or Definitions Pane to do Self-Test Exercises 10, 11 on page 167.
    • Here are the example programs from Chapter 3 of the textbook.
  • Thursday, September 3.
    • For next Tuesday, read Chapter 2, Section 2.4 (pages 103-109).
    • Use DrJava's Interactions Pane to do Exercises 2, 3, 4, 6, 9, 10 on pages 127-128.
    • Experiment with this program visualization of the code from page 95 of the textbook.
  • Tuesday, September 1.
    • See the homework page for your second programming assignment.
    • For Thursday, read Chapter 2, Section 2.3 (pages 91-102).
    • Experiment with this program visualization of the code from page 87 of the textbook.
    • Use DrJava's Definitions Pane (or this web page) to do Self Test Question 30 on page 102.
  • Thursday, August 27.
    • For next Tuesday, read Chapter 2, Sections 2.1 and 2.2 (pages 48-90).
    • Use DrJava's Interactions Pane to do Self Test Questions 1 - 16 in Section 2.1.
    • Use DrJava's Interactions Pane to do all the Self Test Questions on page 90.
    • Here are the example programs from Chapter 2 of the textbook.
  • Tuesday, August 25.
    • See the homework page for your first programming assignment.
    • On your home computer, install the Java 8 JDK and DrJava as described in these instructions.
    • For today and Wednesday, read Chapter 1, Sections 1.1 - 1.3 (pages 2-29) from the textbook.
    • Do the "Self-Test Exercises" throughout Chapter 1 (the solutions are on pages 43-45).
    • Here are the example programs from Chapter 1 of the textbook.
    • Here is a brief DrJava Primer.
    • Here is a simple program that helps demonstrate the difference between DrJava's "Definitions Pane" and "Interactions Pane".
    • Use the "Interactions Pane" in DrJava to do Self Test Questions 11 and 12 on page 19 of the textbook.
    • Use the "Interactions Pane" in DrJava to do Exercises 6, 7, and 8 on page 40 of the textbook.
    • Use the "Definitions Pane" in DrJava to do Self Test Questions 15 on page 19 of the textbook
    • Use the "Definitions Pane" in DrJava to do Practice Programs 2, 3, and 4 on page 42 of the textbook.