Office Hours:

T Th 10:00 AM -11:30 AM and by appointment

Course Description:

This is the third course introduction to problem analysis, algorithm design, and the implementation of algorithms in an object-oriented high-level language. It is intended for computer science majors, computer engineers, and other students with a significant interest in programming and computing. Java, Linux, and standard web programming languages will used in this course. Topics that we will cover include Object-oriented design; recursion; graphs; trees; hashing; physical programming; LAMP stack; MERN stack; command line interface.

Course Schedule

DateClass SummaryExamples and CodeHomework
8/27/2018 Syllabus and course expectations. Introductions. Review Chapter 1 in Object oriented structures in Java.
8/29/2018 Java review of 1052 material, Notation Review Review Chapter 1-2 in Object oriented structures in Java.
8/31/2018 Cont. Java review of 1052 material - Stacks, Queues, Exceptions, Generics
9/3/2018 No class Labor Day
9/5/2018 Recursion - Factorial, Fibonacci, recursive vs iterative solutions Warm up Prime number example Review Chapters 4 - 6 in Object oriented structures in Java.
9/7/2018 Recursion Lab Watch: Tips and Guidelines, How companies evaluate technical interview
Recommended: Solve Recursion:Fibonacci Numbers and 2D Array - DS on HackerRank
Lab 1
9/10/2018 Trees, Graphs, Adjacency Matrices, Implementation Read Chapter 10 in Object oriented structures in Java.
9/12/2018 Graphs, Bridges of Konigsberg, Adjacency Lists Project 1 Assigned. Due Oct 3.
9/14/2018 Graphs Lab Bridges of Konigsberg Watch: How to Approach Behavioral Questions
Recommended: Solve Arrays: Left Rotation on HackerRank
Lab 2
Supporting code Zip
9/17/2018 Review of Lab1, Project 1, Hashing Read Chapter 8 in Object oriented structures in Java.
9/19/2018 Maps, Hashing, Hash functions, Collisions
9/21/2018 HashMaps Lab Watch: Solving Algorithms
Recommended: Solve Trees: Height of Binary Tree on HackerRank
Lab 3
Supporting code Zip