Foundations of Computing Certificates

The Algorithmic Analysis, Object-Oriented Design, and Data Structures and Complexity Analysis certificates are intensive, fully-online programs designed to provide students and professionals with essential computing knowledge and skills. These courses are ideal for those looking to fill gaps in their current skill set and build a strong foundation in computing. No prior experience or coursework in computing is required.

These courses are especially suited for individuals from nontechnical backgrounds who are seeking to gain computing knowledge in order to shift their career path. They are also an excellent opportunity for current undergraduate students who may not have these skills as part of their degree requirements but would benefit from their addition to their studies. The certificates provide a valuable boost of high-demand job skills that are applicable across many fields. Additionally, the courses count toward prerequisite requirements for graduate study in computing-related fields within the College of Computing at Grand Valley State University

Courses are offered asynchronously, allowing students to learn and practice independently at their own pace. In addition, weekly Q&A sessions with faculty are available for further support and clarification. Each course culminates in a final exam, and students who successfully complete the program will receive certificates of completion.

*Please note that students will need to join the course two days prior to the published start date. Once the course has begun and the start date passed, students will be unable to register.*

*A valid alternative to these courses would be taking undergraduate courses. Please consult with your graduate program director to know which to take.*

Foundation Courses:

Algorithmic Analysis

Object-Oriented Design

Data Structures and Complexity Analysis

 

Foundation Course for Health Informatics and Bioinformatics Students (if needed):

Introduction to Human Biology for Health and Bioinformatics

 

Foundation Course for Networking:

Introduction to Computer Networking

 

uCertify Course:

Statistics and Analytics 

 

More Information:

Frequently Asked Questions


Algorithmic Analysis

Course Description

This course introduces problem-solving and programming principles tailored to scientific and technical applications. Students will develop essential programming skills and learn methods for breaking down complex problems using step-wise refinement and program decomposition techniques. The course covers fundamental programming language concepts, including control structures (iteration and selection), input-output protocols, arrays, structures, and subprograms. Emphasis will be placed on creating solutions that are efficient, robust, and applicable to scientific and technical contexts.

The course is designed to make the students fluent in analyzing and creating programs using Java and Python programming languages. The course teaches the students the different keywords needed to write a complete Java and Python 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.

Course Objectives

  • Model multiple algorithmic solutions to computing problems and compare them
  • Design algorithms using pseudo-code, flowcharts, and structured charts
  • Use an object-oriented programming approach to create computer validity programs that solve a variety of problems
  • Understand the use of conditional statements like if, else if, and else
  • Understand and implement different loop structures: for, while, and do-while loops
  • Create programs using Java and Python programming languages

Object-Oriented Design

Course Description

This course provides a comprehensive introduction to Object-Oriented Programming (OOP) and design, guiding students through the fundamental concepts and practical applications of OOP in software development. Students will learn to define and construct classes, incorporating key components such as attributes (fields) and methods (functions).

Through a hands-on approach, the course explores the relationship between classes and objects, defines essential OOP principles: encapsulation, inheritance, polymorphism, and abstraction, and demonstrates how these principles facilitate efficient and modular programming. By the end of this course, students will gain a solid foundation in OOP, equipping them with the skills to create reusable, well-structured code for various programming tasks and applications.

Course Objectives

  • Learn how to define a class, including attributes (fields) and methods (functions)
  • Understand the relationship between classes and objects in OOP
  • Grasp the key principles of OOP, including encapsulation, inheritance, methods polymorphism, and abstraction
  • Learn how to define primitive data structures such as integers, floating-point numbers, characters, and Booleans
  • Learn how to define an array data structure

Data Structures and Complexity Analysis

Course Description

This course offers an in-depth exploration of fundamental data structures and the principles of complexity analysis, emphasizing the efficiency and performance of algorithms. Students will begin by learning how recursive functions simplify complex problems by breaking them down into smaller, manageable subproblems, and they will study the essential components that define a recursive function. The course also delves into the purpose and critical role of sorting within computer science, covering popular sorting algorithms and their applications in searching, data analysis, and optimization. Students will gain insight into how efficient sorting is foundational to effective data manipulation and retrieval.

Additionally, students will be taught to work on complex data structures and algorithms. It includes key data structures including stacks, queues, linked lists, binary trees, recursion, and examples using some fundamental algorithms of computer science. Java and Python programming languages will be used. Course is designed keeping in mind the need to make students understand concepts related to data representation and organization in development of software products and services. The students will learn advanced algorithmic concepts such as time and space complexity, searching algorithms and sorting algorithms, etc. By the end of this course, students will be capable to select and implement data structures and algorithms that best suit specific computational tasks, with an understanding of the trade-offs between performance and resource consumption.

Course Objectives

  • Learn how recursive functions break down a problem into smaller subproblems
  • Understand the key components of a recursive function
  • Grasp the purpose and importance of sorting in computer science and data manipulation
  • Understand how sorting algorithms are used in searching, data analysis, and optimization
  • Grasp the concept of time complexity and how it is used to measure the performance of algorithms based on input size

Introduction to Human Biology for Health Informatics and Bioinformatics

Course Description

This course is designed to introduce students to the fundamental concepts of human biology, providing the foundational knowledge required to excel in the Health Informatics and Bioinformatics (HIB) program. It is particularly tailored for  students transitioning from non-health or non-biology-related disciplines, equipping them with a robust understanding of biological systems, processes, and structures critical for success in their graduate studies.

Course Objectives

  • Understand the basic principles of biology as they apply to human health
  • Learn the organization of the human body from the cellular to the systemic level
  • Gain insights into essential biological processes, including genetic mechanisms and cellular functions
  • Build a strong foundation for interpreting health-related data in future coursework

Introduction to Computer Networking

Course Description

This course introduces the fundamental concepts of computer networks. It covers the principles of networking, network architectures and communication protocols.

Whether you are new to networking concepts or have some prior experience, this course is designed to provide you with a solid foundation in computer networking. Throughout this course, we will explore fundamental networking principles, including the TCP/IP model, network devices, IP addressing, routing and switching. By the end of the course, you will be equipped with the knowledge and skills necessary to understand and work with modern networking technologies.

This online course is delivered asynchronously, allowing you to learn at your own pace while maintaining the same level of academic rigor as an on-campus course. While the flexibility of online learning is a benefit, success in this course will require commitment, organization, and self-discipline.

Instructor: Dr. Samah Mansour

Course Objectives

Upon successful completion of this course, students will be able to:

  • Understand basic networking concepts and terminologies.
  • Explain the TCP/IP model and its layers.
  • Describe various networking devices and their roles.
  • Understand IP addressing, subnetting, and routing principles.
  • Identify common network protocols and their functions.

Statistics and Analytics

Course Description

This course teaches the basic concepts that to apply statistics and analytics in life. Students will also learn the most commonly used statistical methods and have the opportunity to practice those methods while using Microsoft Excel.


Components of the Course

  • Sections and Fact Sheets: Each lesson comprises sections with fact sheets which is the combination of key information around a particular topic, with the help of paragraphs, images, charts, etc.
  • Virtual Labs: After going through the lessons, students are now ready to complete three levels of labs: Skills, Challenges, and Projects. Students spend the majority of their time practicing skills. Each lab is designed in a way where students can boost their speed, memory, and confidence.

Topics Covered

  • Basic and Descriptive Statistics
  • Probability
  • Sampling Distributions and Confidence Intervals
  • Hypothesis Testing
  • Simple Linear Regression
  • Multiple Regression
  • Basic and Predictive Analytics

Registration links


Frequently Asked Questions

  • How late can students join a course?
    • Students will need to join the course two days prior to the published start date. Once the course has begun and the start date passed, students will be unable to register.
  • How many days into the program can students receive a refund?
    • Refunds will not provided once the course has begun. Full refunds will be provided if a student cancels prior to the start date.
  • Can students transfer to another course?
    • No.
  • Can students request an extension for the course?
    • No. Students who do not complete the assigned coursework and assessments during the month-long course will need to register and pay for a future course.
  • Who should students contact for extenuating circumstances?
  • Who should students contact for questions about the program?


Page last modified March 5, 2025