Sign InNuggetsTutorials CodePadCheatsheet

Learn. Practice. Create.

Personalized Computer Science Education for Children
Create Free Account
Interactive Online Courses
Learn computer science at your own pace.
Introduction to Programming 1
This entry-level course is for students who have no computer programming experience. You will use Python to learn basic programming concepts, including binary number systems, programming languages, variables, primary data types, conditional statements, loops, and functions. You will design your own art work and solve interesting problems using Python.

Introduction to Programming 2
This course is for students who have successfully completed the Introduction to Programming 1 course or have some equivalent experience. You will learn the computational thinking process and further explore more advanced programming topics, including collection data types, classes and objects, modules, scope, file IO, and exception handling. You will implement some fun projects and solve interesting problems using Python.

Introduction to Algorithms 1
This course is for students who have completed the Introduction to Programming courses or have some equivalent experience. You will go beyond basic programming and learn how to write elegant code efficiently. Study some classic computer science techniques and algorithms including divide and conquer, recursion, binary search, insertion sort and selection sort. Algorithm analysis and Big-O notation are introduced.

Introduction to Algorithms 2
This course is for students who have completed the Introduction to Algorithms 1 course or have some equivalent experience. You will be introduced to the concept of abstract data types (ADTs) and learn some basic ADTs including stacks, queues, and hash tables. You will also study more efficient sorting algorithms such as merge sort and quicksort.

Introduction to Algorithms 3
This course is for students who have completed the Introduction to Algorithms 2 course or have some equivalent experience. You will learn more data structures including arrays, linked lists, binary trees, and graphs. You will also study more interesting algorithms such as breadth first search, depth first search, greedy algorithm, and Dijkstra's algorithm.

Game Programming with Turtle
This course is for students who have successfully completed the Introduction to Programming courses or have some equivalent experience. You will learn how to write online games using Turtle Graphics, and get familiar with the concepts of computer graphics, animation, and event handling.

Game Programming - Introduction to Pygame
This course is for students who have successfully completed the Introduction to Programming courses or have some equivalent experience. You will use Pygame to learn the fundmentals of game programming including basic computer graphics, animation, event handling, and object oriented design.

Game Programming - Shooting Game
This course is for students who have successfully completed the Introduction to Pygame course. You will learn to write a shmup game, in which a player character engages in a lone assault, shooting large numbers of enemies while dodging their attacks.

Game Programming - Platform Game
This course is for students who have successfully completed the Introduction to Pygame course. You will learn to write a 2-dimentional platform game, in which a player character or avatar jumps between suspended platforms and over obstacles to traverse the environment.

ACSL Contest
This course helps students prepare for the acsl contest.

© CS Wonders·Home·About·Contact·Classes·Gallery·Glossary·Fun Facts