Anyone Can Teach And Learn Computer ScienceSelf-paced curriculums for grades 6 to 12
Introduction to ProgrammingCS1 (age 12+)
This course is ideal for beginners with little to no experience in programming.
Through various STEM projects, students will learn the basic building blocks of a high-level programming language: instructions, variables, conditional statements and looping structures.
By the end of the course, students will be able to solve various problems through code.
Introduction to Game ProgrammingCS2 (age 13+)
This course is a follow-up to the Introduction to Programming course.
By creating rich and immersive casual games, students will discover that programs go beyond simple scripts.
They will learn to interact with a game loop, create functions, use a spatial reference system (SRS) to display visual elements and generate and respond to events.
By the end of the course, students will be able to build various 2D games and complex programs.
Introduction to Web ProgrammingCS3 (age 14+)
This course delves into the intricacies of the modern World Wide Web.
By building dynamic Web pages, students will discover how the websites are organized and retrieved on the Internet.
They will learn to structure and display information using a markup language. They will also learn the importance of responsible digital citizenship.
By the end of the course, students will be able to create complete websites to organize and present information.
Introduction to Data ScienceCS4 (age 15+)
This course involves the application of a high-level programming language in the field of data science.
Students will learn to create and search through large datasets, structure and organize information, and consider the ethical implications of collecting user data.
By the end of the course, students will be able to structure, sanitize and use large quantities of data in a program.
Application DevelopmentCS5 (age 16+)
This course introduces students to the development process of an application.
By studying various real-world business cases, students will learn to plan and design an application, handle and protect user data, communicate with external Web services and create modern user interfaces.
By the end of the course, students will be able to create an application to support a need of their community.
RoboticsCS6 (age 17+)Coming Soon
This course is designed for students who have an interest in hardware and wish to explore how coding can be used to control a large range of robotic features from an LED to the servo of an automated arm.
Through the use of microcontrollers, students will learn to use a solderless breadboard to create complex circuits and to setup and manipulate servos and other sensors.
By the end of the course, students will be able to explain the intricate connections between physical hardware and software, as well as create robots to accomplish specific tasks, like following a line.
Artificial IntelligenceCS6 (age 17+)Coming Soon
This course is designed for students who are curious of how computers can make precise predictions about our everyday life.
By studying intelligent behaviors through machine learning, students will learn to gather and model data, train and evaluate a learning system and use common modeling methods, such as linear regression.
By the end of the course, students will be able to apply various learning models to identify trends and propose possible predictions.
Cyber SecurityCS6 (age 17+)Coming Soon
This course is designed for students who are interested in learning how information is secured on networks.
By identifying and studying common types of cyber threats, students will learn the key components of modern cyber security, such as encryption, protocols and architecture.
By the end of the course, students will be able to explain and apply methods to mitigate cyber attacks and perform system penetration tests.
Advanced Game ProgrammingCS6 (age 17+)Coming Soon
This course is designed for students who are interested in furthering their knowledge of game development.
In this course, students will build full-fledged 3D games. Students will be exposed to topics such as creating and using agents, creating environments, scripting AI opponents and creating user interfaces.
By the end of the courses, students will be able to develop their own 3D environments and create various types of games.