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 |

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 |