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 pro- gramming 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; MEAN stack; command line interface.

Course Schedule

DateClass SummaryExamples and CodeHomework
8/23/2017 Syllabus and course expectations. Introductions. Review Chapters 1 - 3 in Object oriented structures in Java.
8/25/2017 Java review of 1052 material
8/28/2017 Cont. Java review of 1052 material - Stacks, Queues, Exceptions, Generics Review Chapters 4 - 6 in Object oriented structures in Java.
8/30/2017 Recursion - went over Factorial, Fibonacci, recursive vs iterative solutions Warm up Prime number example
9/1/2017 Recursion Lab Lab 1
9/4/2017 Labor Day no class
9/6/2017 Trees, Graphs, Adjacency Matrices, Implementation Read Chapter 10 in Object oriented structures in Java.
9/8/2017 Graphs Lab Lab 2
Supporting code Zip
9/11/2017 Adjacency Lists and Implementation
9/13/2017 Maps, Hashing, Hash functions, Collisions, Guest speaker Read Chapter 8 in Object oriented structures in Java.
9/15/2017 HashMaps Lab Lab 3
Supporting code Zip
9/18/2017 Finish up discussion on hashing, 2d buckets, chanining Project 1 assigned. PDF here
9/20/2017 Concurrency, Interference, Synchronization
9/22/2017 Concurrency Lab Lab 4
Also install Command Line on your machine suggested : Windows Linux Subsystem or Mac iTerm2
9/25/2017 Command Line Command Line Cheat Sheet