COSC 2436 Logo
COSC 2436.41350
Programming Fundamentals III
Instructor: David Kirk
Fall 2021  October 18 - December 8

EFC Home
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 26, 2021
Week 1
Tuesday Oct 19
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 21
Virtual Class 9:30am
Review object oriented programming (OOP) in Java

Review Homework 1

Homework 1 Due October 23
Week 2
Tuesday Oct 26
Virtual Class 9:30am
Discuss Recursion, Discuss Recursion
Week 2
Thursday Oct 28
Virtual Class 9:30am
Review Homework 2

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

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

Homework 4 Due November 13

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

Homework 5 Due November 20

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

Review Homework 6

November 24, 2021 is the last day to Withdraw
Week 6
Thursday Nov 25
Thanksgiving Holiday - no class

Homework 6 Due November 27
Week 7
Tuesday Nov 30
Virtual 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 Dec 2
Virtual Class 9:30am
Discuss Homework 7

Exam 2 Due December 5 - Big 0 Notation, stack, queue, linked list, binary tree, hash tables, graphs
Week 8
Tuesday Dec 7
Virtual Class 9:30am
Work on Homework 7

Homework 7 Due December 7 - Optional demonstrations to class