

Our Courses
Excel for Everyone: Core Foundations
Learn Excel fundamentals including data wrangling, spreadsheet management, and basic data analysis.
-
Course by
-
Self Paced
-
English
Excel for Everyone: Data Management
Further your Excel skills to manage larger datasets and more complex data wrangling, management and modelling.
-
Course by
-
Self Paced
-
English
Excel for Everyone: Data Analysis Fundamentals
Perform advanced data wrangling, analysis and dashboard visualization to help drive strategic decision-making.
-
Course by
-
Self Paced
-
English
How to Code: Simple Data
Learn the secret to writing well-tested and easy to improve programs, that will set you up to master any programming language
-
Course by
-
English
How to Code: Complex Data
Learn how to design more complex programs, using new data structures, abstraction, and generative recursion.
-
Course by
-
English
Policy Analysis Using Interrupted Time Series
A comprehensive course on conducting and presenting policy evaluations using interrupted time series analysis.
-
Course by
-
Self Paced
-
English
Software Construction: Data Abstraction
Learn powerful data abstraction and decomposition techniques to build large, complex programs.
-
Course by
-
English
Software Construction: Object-Oriented Design
Learn how to design large software systems that solve real-world problems using object-oriented design techniques.
-
Course by
-
English
Video Game Writing Essentials
Learn the essentials of writing for video games, from how games are developed and what game writers do, to the ways game stories differ from other kinds of stories.
-
Course by
-
Self Paced
-
English
Writing Video Game Characters
Learn how to make effective, memorable video game characters, from protagonists and antagonists to NPCs.
-
Course by
-
Self Paced
-
English
Writing Video Game Scenes and Dialogue
Learn the fundamentals of writing cinematics, cutscenes, and in-game dialogue.
-
Course by
-
Self Paced
-
English
Worldbuilding for Video Games
Learn the fundamentals of building video game worlds, from a writer’s perspective.
-
Course by
-
English
Interactive Narrative
Learn how to use player choice and interactivity to create compelling game experiences
-
Course by
-
Self Paced
-
English
Teaching Coding in Grades 5-8 with Scratch Encore
This course introduces teachers and other educators to the basics of teaching programming with Scratch to students in grades 5-8 using Scratch Encore, a culturally responsive, intermediate computer science curriculum. Each week, participants are introduced to key computer science concepts (e.g., loops, synchronization), and then apply those concepts as they complete programming assignments in Scratch. Helpful pedagogical practices and teaching strategies are introduced throughout the course.
-
Course by
-
Self Paced
-
English
Algorithmic Design and Techniques
Learn how to design algorithms, solve computational problems and implement solutions efficiently.
-
Course by
-
Self Paced
-
English
Data Structures Fundamentals
Learn about data structures that are used in computational thinking – both basic and advanced.
-
Course by
-
Self Paced
-
English
Graph Algorithms
Learn how to use algorithms to explore graphs, compute shortest distance, min spanning tree, and connected components.
-
Course by
-
Self Paced
-
English
NP-Complete Problems
Learn about NP-complete problems, known as hard problems that can’t be solved efficiently, and practice solving them using algorithmic techniques.
-
Course by
-
Self Paced
-
English
String Processing and Pattern Matching Algorithms
Learn about pattern matching and string processing algorithms and how they apply to interesting applications.
-
Course by
-
Self Paced
-
English
Dynamic Programming: Applications In Machine Learning and Genomics
Learn how dynamic programming and Hidden Markov Models can be used to compare genetic strings and uncover evolution.
-
Course by
-
English