Noncredit Certificates

Noncredit Certificates in the Foundations of Algorithms, Programming, Data Structures and Professional Engineering

The Foundations of Algorithms, Programming, Data Structures, and Professional Engineering certificates are an intensive online program designed for students and professionals who seek to add foundational knowledge of computing and programming to fill gaps in their current skill set. Prior experience or coursework in computing is not required. Courses are asynchronous online, so students can learn and practice independently, with Q&A sessions offered each week by a College of Innovation and Technology faculty instructor.

This program suits individuals with nontechnical backgrounds looking for computing knowledge and skills to change their career path. This certificate program is also for current undergraduate students who do not have programming and algorithms as part of their degree coursework but would benefit from incorporating these skills into their own program of study. Computing provides an immediate boost of high-demand job skills. This program may also count toward prerequisite requirements for graduate study in computing-related fields offered by the CIT.

Courses will be offered asynchronously online, with synchronous instructor sessions via Zoom periodically for Q&A or other assistance with coursework. Each course concludes with a final exam. Students who successfully complete the course will receive certificates of completion, which will be included with any CIT graduate program admissions materials.

Please note that these noncredit programs are not eligible for financial aid assistance.

Foundations of Algorithms

This certificate is designed to make students fluent in analyzing and creating programs using Java programming language. This certificate teaches 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 how to design, write, compile, run and debug a Java program.

Foundations of Algorithms Objectives

  • 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.

Registration links

*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 certificate is an introduction to problem-solving by using MATLAB. It includes basic procedural programming concepts, including input/output, branching, looping, functions, file input/output, and data structures such as arrays and structures. It also covers basic linear algebra concepts such as matrix operations, solving sets of equations, and numerical methods such as least squares solutions and their use for curve fitting.

Foundations of Programming Educational Objectives

  •  Have a good knowledge of the programming environment and applications.
  •  Understand the foundations of computer programming.
  •  Understand the use of a matrix-based programming language.
  •  Understand how to use computation to solve problems.
  •  Have an understanding of how to test and debug computer programs.
  •  Have the ability and an appreciation for good documentation of computer programs.
  •  Understand basic algorithms for solving engineering problems.

Registration links

*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 is an introduction to 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

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

Professional Engineering

This course introduces students to various topics in mechanical engineering, such as mechanics of materials, mechanical design and analysis, fluid mechanics, heat transfer, dynamics, electricity and magnetism, instrumentation and control, etc. The course is suitable for students with previous backgrounds in mathematics, computing, or science, but seek to develop knowledge of mechanical engineering. Completing this course, along with a sufficient GPA and meeting the other requirements, can qualify students for admission to the MSE in Mechanical Engineering at the College of Innovation & Technology, University of Michigan-Flint.

Students will receive a certificate of completion if they pass the course with a 70% total score on all course homework, quizzes, and tests.

Professional Engineering Objectives

  • Develop an in-depth understanding of stress, strain, safety factors, and other design parameters.
  • Design mechanical systems and components using different design and failure theories.
  • Analyze fluid flow problems for both internal and external flows.
  • Perform thermal analysis and design of heat exchangers.
  • Solve problems in dynamics and vibration applications.
  • Analyze electrical circuits to determine the power, voltage and current.
  • Demonstrate knowledge of control theories and instrumentations.

Registration links

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