COSC 2436 Logo
COSC 2436.42700
Programming Fundamentals III
Instructor: David Kirk
Spring 2025  Jan 21 - May 15
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 January 20, 2025
Week 1
Tuesday Jan 21
Virtual Class 6pm
Discuss syllabus and class format

Discuss Java compiler options

About Java Language

Review structured programming in Java

Week 2
Tuesday Jan 28
Virtual Class 6pm
Review object oriented programming (OOP) in Java

Review Homework 1

Homework 1 Due Feb 1
Week 3
Tuesday Feb 4
Virtual Class 6pm
Discuss Recursion, Discuss Recursion
Week 4
Tuesday Feb 11
Virtual Class 6pm
Review Homework 2

Homework 2 Due Feb 15
Week 5
Tuesday Feb 18
Virtual Class 6pm
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 6
Tuesday Feb 25
Virtual Class 6pm
Review Homework 3

Homework 3 Due Mar 1
Week 7
Tuesday Mar 4
Virtual Class 6pm
Discuss Stacks & Queues

Review Homework 4

Exam 1 Due Mar 8 - ArrayList class, Recursion, Sorting theory, Big-O notation
Week 8
No Virtual Class
Spring Break
Week 9
Tuesday Mar 18
Virtual Class 6pm
Review Homework 4

Homework 4 Due Mar 22


Week 10
Tuesday Mar 25
Virtual Class 6pm
Discuss Linked Lists

Review Homework 5
Week 11
Tuesday Apr 1
Virtual Class 6pm
Discuss Binary Trees

Review Homework 5

Homework 5 Due Apr 5

Week 12
Tuesday Apr 8
Virtual Class 6pm
Discuss Hashing
Week 13
Tuesday Apr 15
Virtual Class 6pm
Review Homework 6

Homework 6 Due Apr 19

Apr 17, 2025 is the last day to Withdraw
Week 14
Tuesday Apr 22
Virtual Class 6pm
Discuss graphs and shortest path algorithm

Dijkstra's Algorithm Video 1  |  Dijkstra's Algorithm Video 2  | A* Algorithm
Week 15
 Tuesday Apr 29
Virtual Class 6pm
Discuss Homework 7
Week 16
Tuesday May 6
Virtual Class 6pm
Homework 7 Due May 6 - Optional demonstrations to class
Week 16
No Virtual Class

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