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.
These courses will open in January; if you want to take a course now, please visit the uCertify links at the bottom of the page.
Foundation Courses:
Data Structures and Complexity Analysis
uCertify Course:
More Information:
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
Registration links
If you want to take something right now, please visit the uCertify section.
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
Registration links
If you want to take something right now, please visit the uCertify section.
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
Registration links
If you want to take something right now, please visit the uCertify section.
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
- Statistics and Analytics - offered through uCertify
- Contact us for the section keys!
Network Technology
Course Description
This course teaches essential networking technologies and skills, including TCP/IP, stable network creation, wireless networking, mobile devices, and network troubleshooting.
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
- Network Topologies and Major Network Operating Systems
- Local Area and Wide Area Networks
- Wireless Networks
- IP Addressing
- Internet and Routing Protocols
- Firewalls and Internet Security
- Content Management Systems
- File System Management
Registration links
- Network Technology offered through uCertify
- Contact us for the section keys!
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?
- Johanna Swanson, Graduate Programs Coordinator, [email protected]
- Who should students contact for questions about the program?
- Johanna Swanson, Graduate Programs Coordinator, [email protected]
uCertify Classes
Contact us for the section keys!