University of Michigan-Flint graphic promoting noncredit certificate courses for technical skill building with innovation-themed digital network design.
Course

Foundations of Object-Oriented Programming - Aug/Sept 2026

Aug 10, 2026 - Sep 7, 2026
Instructor: Sana Neji

$1,000 Enroll

Full course description

This course will be offered asynchronous online, with synchronous instructor sessions via zoom weekly for Q&A or other assistance with coursework. The course concludes with a final exam. Successful completion includes testing on the certificate course content with 85% or better score. Certificates of completion will be issued to students who successfully complete the course, to be included with any CIT graduate program admissions materials. 

Course Description:

Textbook:    Deitel, P. J., & Deitel, H. M. (2017). Java: How to program: Late Objects. New York, NY: Pearson.

Software:    https://netbeans.apache.org/download/index.html (Netbeans) or you can use Repl.it environment (https://Repl.it/).

Introduction to problem-solving and programming principles appropriate for scientific and technical applications. Development of step-wise refinement and program decomposition methods. Programming language concepts including iteration, selection, input-output protocols, arrays, structures, and subprograms. The programming language used is Java. In addition, this course will introduce the students to the principles of computer analysis of problems, design of algorithms, programming, and testing using the Java programming language. Topics include problem analysis basics of programming, inheritance, complexity, data structures, linked lists, stacks, queues, trees recursion, and the mechanics of running, testing, and debugging.

The course is designed to make the students fluent in analyzing and creating programs using java programming language. The course teaches the students the different keywords needed to write a complete java program using different coding structures. The major emphasis of the course is to provide the students with the knowledge of design, write, compile, run and debug a java program.

Topic Details

Week 1 - Algorithmic Analysis

  • Design algorithms using pseudo-code

  • Use object-oriented programming methods to create computer validity programs that solve a variety of problems

  • Model multiple algorithmic solutions to computing problems and compare them

  • Assess different algorithmic approaches to optimization, performance, and accuracy

Week 2 - Object-oriented Design

  • Classes and objects

  • Inheritance and polymorphism

Week 3: Data structures

  • Primitive data structures such as integers, floating-point numbers, characters and booleans

  • Non-primitive data structures such as arrays, linked lists, stacks, queues, trees, graphs and hash tables

Week 4: Complexity Analysis

  • Sorting algorithms

  • Recursion

  • Complexity of Sorting Algorithms

Final exam