COSC 2436 Logo
COSC 2436.41350
Programming Fundamentals III
Instructor: David Kirk
Fall 2024  October 21 - December 12
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 December 04, 2024
Week 1
Tuesday Oct 22
Class 9:30am
Discuss syllabus and class format

Discuss Java compiler options

About Java Language

Review structured programming in Java

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

Review Homework 1

Homework 1 Due Oct 27
Week 2
Tuesday Oct 29
Class 9:30am
Discuss Recursion, Discuss Recursion
Week 2
Thursday Oct 31
Class 9:30am
Review Homework 2

Homework 2 Due Nov 3
Week 3
Tuesday Nov 5
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 7
Class 9:30am
Review Homework 3

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

Homework 4 Due Nov 17

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

Homework 5 Due Nov 24

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

Review Homework 6

Nov 27, 2024 is the last day to Withdraw
Week 6
Thursday Nov 28
Thanksgiving Holiday - no class

Homework 6 Due Dec 1
Week 7
Tuesday Dec 3
Class 9:30am
Discuss graphs and shortest path algorithm

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


Discuss Homework 7
Week 7
 Thursday Dec 5
Class 9:30am
Discuss Homework 7
Week 8
Tuesday Dec 10
Class 9:30am

Homework 7 Due Dec 10 - Optional demonstrations to class

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