Spring 2024 (01/25/2024 - 05/22/2024)

The semester has 29 class meetings including the final exam. Clicking on a class day below, you should find the class module for the day including lecture notes, assignments, and others. The instructor releases the content for a class generally on the Monday before the class. However, the instructor often makes update to the module content after the initial release. You should check this page often for up-to-date content.

In case you encounter a problem when viewing class content, such as, a broken link, please report it to the instructor immediately.

Topics: overview of class organization (syllabus); history of computing; preparing programming environment (JRE and JDK); basic program structure; writing, compiling, and executing Java programs;

Course Objectives

(Objective 1) Understand the concept of a program (i.e., a computer following a series of instructions)
(Objective 8) Master a simple programming environment (Windows or Unix command lines)

Lecture Notes

CodeLab

Reading

Sections 1.1 - 1.6

Topics: Primitive data types; variables; (in-class) programming lab 1;

Course Objectives

(Objective 1) Understand the concept of a program (i.e., a computer following a series of instructions)
(Objective 2) Declare a variable with an appropriate data type (either character or numeric), initialize the variable's value, and change the value when appropriate

Lecture Notes

Reading

Sections 1.1 - 1.10 of the textbook

Topics: Numeric data types; expressions and assignment;

Course Objectives

(Objective 1) Understand the concept of a program (i.e., a computer following a series of instructions)
(Objective 2) Declare a variable with an appropriate data type (either character or numeric), initialize the variable's value, and change the value when appropriate

Lecture Notes

CodeLab

Reading

Sections 1.1 - 1.10 of the textbook
Sections 2.1 - 2.8 of the textbook

Topics: augmented assignment; data type casting; (in-class) programming lab 2;

Course Objectives

(Objective 1) Understand the concept of a program (i.e., a computer following a series of instructions)
(Objective 2) Declare a variable with an appropriate data type (either character or numeric), initialize the variable's value, and change the value when appropriate

Lecture Notes

CodeLab

Individual Programming Project

Reading

Sections 1.1 - 1.10 of the textbook
Sections 2.1 - 2.8 of the textbook

Topics: system time; common pitfallsa and errors about numeric data types; boolean; relational operators; if, if-else, if-else cascaded, nested if;

Course Objectives

(Objective 3) Use control structures, including a loop to repeat the execution of a series of statements and a conditional statement to select one from a series of alternatives
(Objective 6) Trace the execution of a program and predict the results of the execution

Lecture Notes

CodeLab

Reading

Sections 3.1 - 3.3 of the textbook

Topics: boolean; relational operators; if, if-else, if-else cascaded, nested if; programming examples; in-class lab 3

Course Objectives

(Objective 3) Use control structures, including a loop to repeat the execution of a series of statements and a conditional statement to select one from a series of alternatives
(Objective 6) Trace the execution of a program and predict the results of the execution

Lecture Notes

Reading

Sections 3.3 - 3.9 of the textbook

Topics: logical operators; switch statement; conditional operator; operator precedence and associativity

Course Objectives

(Objective 3) Use control structures, including a loop to repeat the execution of a series of statements and a conditional statement to select one from a series of alternatives
(Objective 6) Trace the execution of a program and predict the results of the execution

Lecture Notes

Lab Exercises (Review/Journal Assignments)

Individual Programming Project

Reading

Sections 3.10 - 3.12 of the textbook

Topics: basics about loops; while loop;

Course Objectives

(Objective 3) Use control structures, including a loop to repeat the execution of a series of statements and a conditional statement to select one from a series of alternatives
(Objective 6) Trace the execution of a program and predict the results of the execution
(Objective 7) Write an algorithm for a simple task

Lecture Notes

CodeLab

Reading

Sections 5.1 - 5.2 of the textbook

Notice: Classes Follow Monday Schedule

Topics: do-while loop; for loop; break; continue; nested-loops; pitfalls and errors; alogoritms and examples (computing sum; root finding; checking palindromes; checking prime numbers)

Course Objectives

(Objective 3) Use control structures, including a loop to repeat the execution of a series of statements and a conditional statement to select one from a series of alternatives
(Objective 6) Trace the execution of a program and predict the results of the execution
(Objective 7) Write an algorithm for a simple task

Lecture Notes

Reading

Sections 5.3 - 5.8 of the textbook
Section 5.10 of the textbook

Topics: using the char data type; using the String type;

Course Objectives

(Objective 1) Understand the concept of a program (i.e., a computer following a series of instructions)
(Objective 2) Declare a variable with an appropriate data type (either character or numeric), initialize the variable's value, and change the value when appropriate

Lecture Notes

Individual Programming Project

Reading

Sections 4.3 - 4.6 of the textbook

Topics: using Math methods; String Formattinga; System.out.printf; String.format

Course Objectives

(Objective 1) Understand the concept of a program (i.e., a computer following a series of instructions)
(Objective 2) Declare a variable with an appropriate data type (either character or numeric), initialize the variable's value, and change the value when appropriate

Lecture Notes

Reading

Sections 4.1 - 4.6 of the textbook

Topics: loops; alogoritms and examples (computing sum; root finding; checking palindromes; checking prime numbers)

Course Objectives

(Objective 3) Use control structures, including a loop to repeat the execution of a series of statements and a conditional statement to select one from a series of alternatives
(Objective 6) Trace the execution of a program and predict the results of the execution
(Objective 7) Write an algorithm for a simple task

Lecture Notes

Individual Programming Project

Programming Project 4 (on CodeLab) (Due: March 26, 2024)

Reading

Sections 5.9 and 5.11 - 5.14 of the textbook

Topics: Q & A for Midterm Exam.

Lecture Notes

Reading

all chapters discussed

Topics: Calling and defining methods; formal and actual parameters; passing parameters and pass-by-value; return type;

Course Objectives

(Objective 4) Write a function to perform a subtask and use the function as part of a larger program
(Objective 6) Trace the execution of a program and predict the results of the execution

Lecture Notes

CodeLab

Reading

Sections 6.1 - 6.5 of the textbook

Topics: The instructor will hold a midterm exam in class (or online depending on course modality)

Topics: calling and defining methods; formal and actual parameters; return type; pass by value; using methods modularization; method overloading; scope of local variables;

Course Objectives

(Objective 4) Write a function to perform a subtask and use the function as part of a larger program
(Objective 6) Trace the execution of a program and predict the results of the execution

Lecture Notes

Reading

Sections 6.6 - 6.10 of the textbook

Topics: method overloading; scope of local variables;

Course Objectives

(Objective 4) Write a function to perform a subtask and use the function as part of a larger program
(Objective 6) Trace the execution of a program and predict the results of the execution

Lecture Notes

Individual Programming Project

Reading

Sections 6.1 - 6.11 of the textbook

Topics: stepwise-refinement using methods; using methods; example programs;

Course Objectives

(Objective 5) Use an array to store multiple pieces of homogeneous data, and to use a simple class to store multiple pieces of heterogeneous data
(Objective 7) Write an algorithm for a simple task

Lecture Notes

Individual Programming Project

Reading

Sections 6.10 - 6.11 of the textbook

Topics: The instructor will hold the 2nd midterm exam in class (or online depending on course modality)

Topics: concept of arrays; 1-dimensional array; declare array reference variable; create array; initialize array; accessing array size; accessing array elements; displaying arrays; summing all elements; computing average; counting array elements.

Course Objectives

(Objective 5) Use an array to store multiple pieces of homogeneous data, and to use a simple class to store multiple pieces of heterogeneous data
(Objective 7) Write an algorithm for a simple task

Lecture Notes

CodeLab

Reading

Sections 7.1 - 7.2 of the textbook

Topics: finding minimum and maximum; random shuffling and shifting elements; passing 1-Dimensional Arrays to Methods; return 1-Dimensional Array from Methods

Course Objectives

(Objective 5) Use an array to store multiple pieces of homogeneous data, and to use a simple class to store multiple pieces of heterogeneous data
(Objective 7) Write an algorithm for a simple task

Lecture Notes

CodeLab

Reading

Sections 7.3 - 7.5 of the textbook
Sections 7.6 - 7.9 of the textbook

Topics: sorting 1-dimensional arrays; searching 1-dimensional arrays;

Course Objectives

(Objective 5) Use an array to store multiple pieces of homogeneous data, and to use a simple class to store multiple pieces of heterogeneous data
(Objective 7) Write an algorithm for a simple task

Lecture Notes

Individual Programming Project

Programming Project 7 (on CodeLab). (Due: May 2, 2024)

Reading

Section 7.10 of the textbook
Section 7.13 of the textbook

Topics: sorting 1-dimensional arrays; searching 1-dimensional arrays;

Course Objectives

(Objective 5) Use an array to store multiple pieces of homogeneous data, and to use a simple class to store multiple pieces of heterogeneous data
(Objective 7) Write an algorithm for a simple task

Lecture Notes

Reading

Section 7.11 of the textbook

Topics: 1-dimensional arrays; text/character files; File; Scanner; PrintWriter

Course Objectives

(Objective 5) Use an array to store multiple pieces of homogeneous data, and to use a simple class to store multiple pieces of heterogeneous data
(Objective 7) Write an algorithm for a simple task

Lecture Notes

Reading

Section 12.11 of the textbook

Notice: College is Open. No Classes Scheduled. Spring Recess

Notice: College is Open. No Classes Scheduled. Spring Recess

Notice: College is Open. No Classes Scheduled. Spring Recess

Topics: 1-dimensional arrays; text/character files; File; Scanner; PrintWriter; Demo and exercises (sorting, searching, using arrays to process files; command line applications)

Course Objectives

(Objective 5) Use an array to store multiple pieces of homogeneous data, and to use a simple class to store multiple pieces of heterogeneous data
(Objective 7) Write an algorithm for a simple task

Lecture Notes

Individual Programming Project

Programming Project 8 (On CodeLab). (Due: May 9, 2024)

Reading

Section 12.12 of the textbook

Topics: 2-dimensional and multi-dimensional arrays

Course Objectives

(Objective 5) Use an array to store multiple pieces of homogeneous data, and to use a simple class to store multiple pieces of heterogeneous data
(Objective 7) Write an algorithm for a simple task

Lecture Notes

Reading

Sections 8.1 - 8.8 of the textbook

Topics: Q & A for Final Exam.

Lecture Notes

Individual Programming Project

TBA

Reading

Relevant chapters in the textbook; lecture notes; all labs; all projects; review guides and tests

Topics: Q & A for Final Exam.

Lecture Notes

Final Review
Sample Final Exam

Reading

Relevant chapters in the textbook; lecture notes; all labs; all projects; review guides and tests

Topics: The final exam is scheduled in Room 432 Ingersoll Hall Extension (IA-432) 1:00 - 3:00PM, Tuesday, May 21, 2024.