Two individuals are working together on a robotic device made of metal parts and wheels on a wooden table.

Noncredit Certificates

Noncredit Certificates for Career Advancement and Graduate Program Preparation

Noncredit certificates are available for students looking to strengthen their technical skills for career advancement or to qualify for admission to a College of Innovation & Technology graduate program. These intensive, asynchronous online courses are designed to fill skill gaps for students who have already completed undergraduate degrees.

Courses are primarily self-paced, with weekly live Q&A sessions via Zoom led by CIT faculty for additional support. Each course concludes with a final exam, and students who successfully complete a course will receive a certificate of completion, which can be included with CIT graduate program application materials.

Computing certificates are four-week courses scheduled back-to-back, and registration is open year-round.

Please note: Noncredit certificates are not eligible for financial aid.


Foundations of Object-Oriented Programming

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.

Foundations of Object Oriented Programming Objectives

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.

  • Recognize the concept of object-oriented programming and creating classes.
  • Design algorithms using pseudo-code, flowcharts, and structured charts.
  • Use object-oriented programming methods to create computer programs that solve a variety of problems
  • Apply foundational techniques to the design of such programs
  • Demonstrate Integrated Development Environment for the editing, building, debugging, and testing of programs.
  • Outline the differences between different data structures as well as searching and sorting algorithms.
  • Calculate and analyze the complexity of small to medium programs built with basic data structures.
  •  Demonstrate implemented solution with appropriate data structure and algorithm for the assigned problem
  •  Describe basic and advanced data structures such as linked lists, stacks, and queues.
  •  Evaluate data structures for efficient data representation and organization with demonstrable results.
  • Use object-oriented programming methods to create computer programs that solve a variety of problems
  • Apply foundational techniques to the design of such programs

The student learning outcomes above will be achieved by means of lectures, reading assignments, and learn-by-doing homework assignments.

Registration links

  • Foundations of Object-Oriented Programming September 14 to October 12, 2026
  • Foundations of Object-Oriented Programming October 19 to November 16, 2026
  • Foundations of Object-Oriented Programming November 23 to December 21, 2026

*Refunds may be requested up to seven days before the start of the coursework. Refunds requested after that date will not be issued.

Foundations of Programming

This introductory course in computer programming provides students with a solid foundation in programming concepts, problem-solving strategies, and algorithmic thinking using C++. The course will focus on key programming concepts, including variables, control structures, functions, arrays, object-oriented programming and file handling. Emphasis will be placed on writing clean, efficient, and well-documented code, as well as on developing strong problem-solving skills.

Foundations of Programming Educational Objectives

 By the end of this course, students should be able to:

  • Understand and apply the basic principles of programming in C++.
  • Solve problems using algorithms and C++ programming constructs.
  • Design, implement, and test programs that solve real-world problems.
  • Develop an understanding of control structures (if-else, loops), functions, arrays, and basic object-oriented
    programming concepts.
  • Write, debug, and optimize code efficiently, following best practices.
  • Work with files for input and output operations in C++.
  • Collaborate on projects and understand the importance of code readability and documentation.

Registration links

  • Foundations of Programming September 14 to October 12, 2026
  • Foundations of Programming October 19 to November 16, 2026
  • Foundations of Programming November 23 to December 21, 2026

*Refunds may be requested up to seven days before the start of the coursework. Refunds requested after that date will not be issued.


Foundations of Data Structures

This certificate introduces problem-solving and programming principles appropriate for scientific and technical applications. Students will experience the development of step-wise refinement and program decomposition methods. Programming language concepts including iteration, selection, input-output protocols, arrays, structures, and subprograms will also be covered. This course will introduce the students to the Java programming language and prepare students to use it in the design of algorithms, programming, and testing code. Topics include the basics of programming problem analysis, inheritance, complexity, data structures, linked lists, stacks, queues, trees recursion, and the mechanics of running, testing and debugging. 

Foundations of Data Structures Objectives

  • Classify the nodes of a tree by parent, children, siblings, ancestors and descendants.
  • Design and conduct experiments to verify the theoretical complexities of algorithm implementations.
  • Identify the properties (transitivity, reflexivity, symmetry and anti-symmetry) of a binary relation.
  • Identify various paths and cycles (such as Euler and Hamiltonian) in a graph.
  • Perform complexity analysis of simple algorithms.
  • Prove the correctness of simple algorithms using program assertions.
  • Understand and use the basic concepts of relational database systems.
  • Utilize a truth table to decide the veracity of a proposition.
  • Write an induction proof.

Registration links

  • Foundations of Data Structures September 14 to October 12, 2026
  • Foundations of Data Structures October 19 to November 16, 2026
  • Foundations of Data Structures November 23 to December 21, 2026

*Refunds may be requested up to seven days before the start of the coursework. Refunds requested after that date will not be issued.