COSC 2436 Logo
COSC 2436.1 (lecture)
COSC 2436.4 (online)

Programming Fundamentals III
Instructor: David Kirk
Fall 2025  Oct 20 - Dec 11
Java Online Book
Chapter 1 - Programming Terminology
Chapter 2 - Hello World
Chapter 3 - Variables, Strings, Arrays
Chapter 4 - Input
(console, dialog, file)
Chapter 5 - Control (if, while, for)
Chapter 6 - Importing Packages
Chapter 7 - Writing Methods
Chapter 8 - Classes
Chapter 9 - Inheritance
Chapter 11 - Recursion
Chapter 12 - ArrayList
Chapter 13 - Sorting
Chapter 14 - Stacks & Queues
Chapter 15 - Linked Lists & Trees
Chapter 16 - Big O
Chapter 17 - Hashing
Chapter 18 - Graphs
Chapter 19 - Bells & Whisltes
Resources
How to run Java programs on Windows with TextPad
How to run C++ and Java programs on Mac with TextMate

Online Java Compiler - may not work with the large data sets used in this class

primes1.txt 100,000 unsorted prime numbers     primes2.txt like primes1.txt but only 100 unsorted
primes4.txt 1,000,000 unsorted prime numbers
flora.csv names and family of flora in a CSV file

names.txt 1000 first names
Syntax Highlighter  |  w3schools.com Java Tutorial 
Class Calendar - last updated November 19, 2025
Week 1
Tuesday Oct 21
Virtual Class 9:30am
Discuss syllabus and class format

Discuss Java compiler options

About Java Language

Review structured programming in Java

Week 1
Thursday Oct 23
Virtual Class 9:30am
Review object oriented programming (OOP) in Java

Review Homework 1

Homework 1 Due Oct 25   Homework 1 Tips
Week 2
Tuesday Oct 28
Virtual Class 9:30am
Discuss Recursion, Discuss Recursion
Week 2
Thursday Oct 30
Virtual Class 9:30am
Review Homework 2

Homework 2 Due Nov 1   Homework 2 Tips
Week 3
Tuesday Nov 4
Virtual Class 9:30am
Discuss various sorting algorithms and their growth rate
Discuss Big-O Notation
Discuss reading data from a text file into an ArrayList

Bubble Sort   Selection Sort   Merge Sort   Radix Sort

24 Sorts Visualized   Big-O Notation in 100 Seconds
Week 3
Thursday Nov 6
Virtual Class 9:30am
Review Homework 3

Homework 3 Due Nov 8   Homework 3 Tips
Week 4
Tuesday Nov 11
Virtual Class 9:30am
Veteran's Day Holiday - no class

Exam 1 Due Nov 12 - ArrayList class, Recursion, Sorting theory, Big-O notation
Week 4
Thursday Nov 13
Virtual Class 9:30am
Discuss Stacks & Queues

Review Homework 4

Homework 4 Due Nov 15  
Homework 4 Tips
Week 5
Tuesday Nov 18
Virtual Class 9:30am
Discuss Linked Lists

Review Homework 5
Week 5
Thursday Nov 20
Virtual Class 9:30am
Discuss Binary Trees

Review Homework 5

Homework 5 Due Nov 22   Homework 5 Tips - Part 1   Part 2

Week 6
Tuesday Nov 25
Virtual Class 9:30am
Discuss Hashing

Review Homework 6


Homework 6 Due Nov 29
Week 6
Thursday Nov 27
Virtual Class 9:30am
Thanksgiving Holiday - no class
Week 7
Tuesday Dec 2
Virtual Class 9:30am
Discuss graphs and shortest path algorithm

Dijkstra's Algorithm Video 1  |  Dijkstra's Algorithm Video 2  | A* Algorithm
Week 7
 Thursday Dec 4
Virtual Class 9:30am
Discuss Homework 7
Week 8
Tuesday Dec 9
Virtual Class 9:30am
Homework 7 Due Dec 9 - Optional demonstrations to class
Week 8
Thursday Dec 11
No Virtual Class

Exam 2 Due Dec 10 - Big 0 Notation, stack, queue, linked list, binary tree, hash tables, graphs