COSC 2436 Logo
COSC 2436.41350
Programming Fundamentals III
Instructor: David Kirk
Fall 2023  October 16 - December 7
Tue/Thur 9:30am L311 Eastfield
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 October 15, 2023
Week 1
Tuesday Oct 17
Class 9:30am
Discuss syllabus and class format

Discuss Java compiler options

About Java Language

Review structured programming in Java

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

Review Homework 1

Homework 1 Due October 22
Week 2
Tuesday Oct 24
Class 9:30am
Discuss Recursion, Discuss Recursion
Week 2
Thursday Oct 26
Class 9:30am
Review Homework 2

Homework 2 Due October 29
Week 3
Tuesday Oct 31
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 2
Class 9:30am
Review Homework 3

Homework 3 Due  November 5
Week 4
Tuesday Nov 7
Class 9:30am
Discuss Stacks & Queues
Week 4
Thursday Nov 9
Class 9:30am
Review Homework 4 - using stack to check if parenthesis are balanced

Homework 4 Due November 12

Exam 1 Due November 13 - ArrayList class, Recursion, Sorting theory, Big-O notation
Week 5
Tuesday Nov 14
Class 9:30am
Discuss Linked Lists
Week 5
Thursday Nov 16
Class 9:30am
Discuss Binary Trees

Homework 5 Due November 19

Week 6
Tuesday Nov 21
Class 9:30am
Discuss Hashing

Review Homework 6

November 22, 2023 is the last day to Withdraw
Week 6
Thursday Nov 23
Thanksgiving Holiday - no class

Homework 6 Due November 26
Week 7
Tuesday Nov 28
Class 9:30am
Discuss graphs and shortest path algorithm

Dijkstra's Algorithm Video 1  |  Dijkstra's Algorithm Video 2


Discuss Homework 7
Week 7
 Thursday Nov 30
Class 9:30am
Discuss Homework 7
Week 8
Tuesday Dec 5
Class 9:30am
Work on Homework 7

Homework 7 Due December 5 - Optional demonstrations to class

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