Noncredit Certificate

Noncredit Certificates in the Foundations of Algorithms, Programming & Data Structures

The certificates in the Foundations of Algorithms, Programming, & Data Structures 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 CIT faculty instructor.

This program is suitable for 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 College of Innovation and Technology.

For these noncredit certificates, participants will undertake 24 hours of coursework – to be certified in all three areas, 72 hours of coursework is required. Each certificate covers a different topic: programming, data structures and algorithms. Courses will be offered asynchronous online, with synchronous instructor sessions via Zoom periodically for Q&A or other assistance with coursework. Each of the courses concludes with a final exam. Successful completion includes testing on the certificate course content with a score of 85% or better. Certificates of completion will be issued to students who successfully complete the course, to be included with any CIT graduate program admissions materials.

COST: $1,000 per certificate ($3,000 for the three certificates)*
Please note that these noncredit programs are not eligible for financial aid assistance.

All three certificate schedules will run concurrently on the following schedule, four weeks per certificate, and you can enroll in one or multiple certificates based on your preferences.

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 prior to 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 prior to 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 prior to the start of the coursework. Refunds requested after that date will not be issued.