High School Foundations - Unlimited Suite License
- Grades: 9-12
- Number of Students: Unlimited
- Number of Lessons: 36 Units, 17 Projects
- Hours of Content: 420
- Additional Resources:
- Web Development Foundations: Flyer, Syllabus
- Game Development Foundations: Flyer, Syllabus
- Computer Science Foundations: Flyer, Syllabus
- Game Development I: Flyer, Syllabus
- Game Development II: Flyer, Syllabus
Highlights:
Master the foundations with Mastery Coding's High School Foundations - Unlimited Suite License. This license combines Web Development Foundations, Game Development Foundations, Computer Science Foundations, Computer Science Principals with Python, Game Development I, and Game Development II all in one package, and for all of the students at your school.
Web Development Foundations:
This course teaches students the basics of web design and web development. This course will dive into the following topics: basic art principles, user experience and interface design, responsive layouts, accessibility, HTML, CSS, and JavaScript. At the end of this course, students will be able to build responsive websites and web-based tools that are designed with a target audience and accessibility needs in mind.
Certifications:
Upon completing this course, students will be prepared to earn the following industry-recognized certification:
- KnowledgePillars HTML & CSS Coding Specialist
- Pearson IT Specialist HTML and CSS
- ICT Essentials Web Design Essentials
Game Development Foundations:
Game Development Foundations leverages the excitement of creating games to teach computer science, mathematics, and problem-solving. Students use custom JavaScript engines and the PixilArt editor to build games while learning computational thinking, 2D graphic design, and game development principles.
Certifications:
Upon completing this course, students will be prepared to earn the following industry-recognized certification:
- ICT Essentials - Gaming Essentials
Computer Science Foundations:
Computer Science Foundations is a comprehensive introduction to computer science and programming, designed for middle school and high school students. Through engaging projects and clear, step-by-step guidance, students will learn to code in Python while exploring the exciting world of computer science.
Certifications:
Upon completing this course, students will be prepared to earn the following industry-recognized certifications:
- Certiport IT Specialist Python
- Knowledge Pillars Python Coding Apprentice
- PCEP Certified Entry-Level Python Programmer
Computer Science Principals with Python:
Computer Science Principles with Python teaches students the fundamentals of computer science and computer programming, including algorithms, data structures, and computer networks. It prepares students with little to no coding experience to write programs using Python and can help students attain up to three different Python programming certifications. This course also prepares students for the AP Computer Science Principles exam.
Certifications:
Upon completing this course, students will be prepared to earn the following industry-recognized certifications:
- PCEP Certified Entry-Level Python Programmer
- Pearson Python IT Specialist
- ICT Essentials Programming and Logic Essentials
- KnowledgePillars Python Coding Apprentice
Game Development I
Game Development I teaches C# coding and game design with the Unity 3D Engine using a project-based approach. Beginning with little to no coding experience, students build their knowledge of C# and Unity by creating multiple full-featured games combining 3D models, animation, audio files, and scripts. Upon course completion, students will have the ability to create a 3D game from scratch on their own.
Certifications:
Upon completing this course, students will be prepared to earn the following industry-recognized certifications:
- Unity Certified User - Artist
- Unity Certified User - Programmer
Game Development II
This course teaches students intermediate to advanced topics in game development, including complex physics simulations, AI navigation and behavior scripting, 3D math and geometry, art and design principles, as well as industry-established software design and development practices. By the end of the course, students will be able to create 2D and 3D games and simulations from scratch, covering various game genres. They will also have gained proficiency in C#, Unity Engine, and Blender 3D, which are the most important technologies taught in this course.
Certifications:
Upon completing this course, students will be prepared to earn the following industry-recognized certifications:
- Unity Certified Associate - Game Developer
- Unity Certified Associate - Programmer
Curriculum or Lesson Topics:
Web Development Foundations
Course Outline:
Designing for the Internet
Students learn the fundamentals of visual design, how to create layouts for the web using design software, and the best practices to make designs that a variety of people can enjoy.
Web Development Basics
Students begin the transition from web designer to web developer as we discuss the workings of the internet, the web browser and the foundational skills that will allow us to turn our designs to websites.
JavaScript Basics & HTML Forms
Students will develop an understanding of the programming language used for this course, JavaScript, which is used in almost every modern website. So in this unit we start with the basics such as using data types for different purposes, writing expressions, and programming behavior with functions.
Designing & Developing Responsive Websites
Students will conclude by utilizing more advanced concepts to take their CSS and JavaScript knowledge to the next level as we build a variety of interactive projects.
Projects:
Web Design Wire Frames
Students create a mood board and a collection of both block and high-fidelity wireframes utilizing their understanding of UI and UX design, the web design workflow, and visual hierarchy.
Green Team Website
Students create a responsive static website using HTML and CSS from scratch, exercising their understanding of semantic and non-semantic HTML elements, typography, and positioning.
Color Picker
Using HTML, CSS, and JavaScript, students will create a color picker application that can generate RGBA values and hexadecimal color code.
Game Development Foundations:
Course Outline:
JavaScript and Game Development
Students create video game assets using pixel art software. Then they learn the fundamentals of JavaScript and how to utilize object-oriented programming to build a text adventure game.
Game Mechanics and Control Structures
Students utilize game mechanics to build player-oriented gameplay and leverage new data types, logical operators, conditionals, loops, and other coding concepts to build a word-guessing game.
Canvas Coding
Students use JavaScript, HTML Canvas, and the P5.js graphics library to write their own 2D browser games from scratch.
Arcade Project
Students build and theme an arcade game within HTML 5 Canvas. They use tools, math, and creativity to discover the magic of coding.
Projects:
Narrative Text Adventure
A browser-based text adventure game to learn how to build and incorporate a unique game narrative using JavaScript.
Play in Browser
Word Guessing Game
In this project, students build out a word-guessing game where a random word is chosen and the player is given the opportunity to guess letters.
Play in Browser
Computer Science Foundations:
Course Outline:
What is Code?
Students start their journey into computer science by learning the basic principles of coding including variables, control structures, and basic collections.
What is Data?
Students dive deeper into the fundamentals of computer science, examining how computers use data to represent real world information.
What is a Program?
Building on students' understanding of coding / computer science fundamentals, students start writing more complex programs.
What is Computer Science?
With a strong foundation in coding, students are ready to take their first steps into the larger world of computer science, introducing topics such as testing, software design, algorithms and data structures.
Computer Science Principals with Python:
Course Outline:
Hello World
Students are introduced to the basics of computer programming including variables, syntax, and control structures. Students use these fundamental concepts and building blocks to start writing simple programs.
Hello, Data
Students learn about the importance of data in computer programming and learn how programs manipulate data to produce different outcomes and interactions. Students are introduced to the different data types and collections in python as well as the basics of how computers store and represent data.
Programming Programs
Students learn about programming concepts including functions, objects, modules, and abstraction to help them understand and program more complex programs and applications.
Data Structures
Students learn about different data structures and how they enable programmers to more effectively store, organize, and access data.
Algorithms
Students learn about algorithms including how to construct and analyze classic algorithms such as searching algorithms, sorting algorithms, and binary search.
Computer Systems
Students take a deeper look into the inner workings of computing systems to provide a greater understanding of what's actually happening when their code runs. In this unit students will explore logic gates, the binary number system, and the instruction set architecture.
Computer Networks
Students will learn about computer networks, the internet, and different programming paradigms including parallel programming, and distributed systems.
Impacts of Computing
In the final unit of the course students explore the impacts of computing and discuss emerging topics in computer science and technology.
Game Development I:
Course Outline:
Introduction to Unity
In this Unit, students are introduced to the Unity Engine. They learn how to navigate the Unity Interface, create and manipulate GameObjects, and implement physics simulations and collision detection.
Introduction to C#
Students learn the fundamentals of C# and Object-Oriented Programming so they can start programming scripts for their games.
3D Modeling with Blender
Students learn key principles of 3D modeling with Blender. They use modeling tools to construct and transform objects, then create and apply their own textures to objects
Unity Scripting API
Students combine their understanding of Unity and C# and use the Unity Scripting API (Application Programming Interface) to program their own games from scratch.
2D Game Development
Students take the skills they've learned and apply them to 2D to create 2 dimensional games in Unity.
Unity Events and Interactions
Students use the 3D models they made in Unit 5 to build a medieval alchemy lab escape room game in Unity, complete with a first-person player controller, object interactions, and player objectives.
Data Structures
Students learn about fundamental data structures, the C# collections library, and how to use different data structures to create a tower defense game.
Capstone
As the summation of this course, students will combine their knowledge of programming, asset creation, and game design to build and publish their own games from scratch.
Projects:
Medieval Scene
Students create 5 fully formed 3D models and an image texture in a self guided project to create a Medieval themed scene.
Alchemy Lab
Students create their very own alchemy lab escape rooms complete with a first-person player controller, object interactions, and player objectives.
Play in Browser
Car Game
In this project, students create a driving game where the player controls a car driving around a level built by students, in a frantic dash to collect as many stars as they can before time runs out.
Play in Browser
Castle Attack
Students become familiar with the Unity Scripting API to create a 3D castle attack arcade game reminiscent of Angry Birds.
Play in Browser
Mojave Runner
Students learn how to transfer their knowledge of 3D game development into 2D, and learn some tips and tricks for better program structure and design.
Play in Browser
Physics Fun
Students are introduced to the Unity Physics System and use it to create their own fun physics simulations using high-quality 3D assets.
Game Development II:
Course Outline:
Rocket Kart Racing
Design and develop a 3D, physically-simulated racing game. Students learn how to implement real-world physical forces such as torque, friction, and spring force and damping in code. Students also learn how to analyze and reverse engineer game mechanics from popular games such as Rocket League and Mario Kart.
Voxel World
Programmatically generate 3D models and voxel-based worlds. Students learn how to generate 3D models from code in Unity and how to generate an entire voxel-based world, similar to Minecraft. Students learn about the fundamentals of 3D graphics including vertices, edges, faces, UVs and texture mapping, and how to optimize game systems for large scale worlds.
Collectible Card Game
Design and develop the framework for a highly extensible collectible card game similar to popular games such as Hearthstone or Magic: The Gathering. Students learn about industry-standard practices for content design and implementation. Students program a turn-based collectible card game, with potentially dozens of different cards, from the ground up including enemy AI scripting.
3D Modeling Animation
Apply the principles of 3D modeling and apply them to create a low-polygon character. Students learn how to texture and rig their models for animation. Principles of animation, including keyframes, timing, and Blender specific editors, will be learnt to animate their character. Game Development pipeline tools are used to fully realize and animate characters for use in other programs.
MOBA Prototype
Students develop a single-player prototype for an Multiplayer Online Battle Arena similar to League of Legends. Students learn about multiple approaches to designing and implementing AI Behavior including finite-state machines and behavior trees. Students learn how to implement a complex system of AI tasks using C# interfaces to facilitate low-coupling and high code reuse.
Level Design and Lighting
Students learn about level design and lighting while building a simple first-person action game.
Third-Person Platformer
Students learn how to build a third-person 3D platformer, focusing on different approaches to character movement and player control and AI behavior scripting.
Career Readiness/Exam Prep
Students explore careers in the game industry, prepare for job applications and interviews, and prepare for Unity certification exams.
Projects:
Rocket Kart Racing
Students learn how to analyze and reverse engineer game mechanics and their implementation from popular Esports games such as Rocket League while learning physic concepts such as torque.
Play in Browser
Voxel World
Students create procedurally generated voxel worlds modeled after the core functionality of games like Minecraft.
Play in Browser
Collectible Card Game
Students design and develop the framework for a highly extensible collectible card game similar to popular games such as Hearthstone and Magic: The Gathering.
Play in Browser
MOBA Prototype
Students develop a single-player prototype for an Multiplayer Online Battle Arena similar to League of Legends while learning about approaches to designing and implementing AI Behavior.
Play in Browser
First-Person Action Game
Students build a first-person action game prototype while learning key elements of level design including asset creation, unifying color theory, workflow improvements, lighting and environment design.
Play in Browser
3D Platformer
Students build the basics of a third-person 3D platformer from scratch focusing on input interfaces, physics-based character movement, character animations, and collision detection in Unity.
Play in Browser
Technical Requirements:
Web Development Foundations, Game Development Foundations, Computer Science Foundations, and Computer Science Principals with Python:
Operating System
- Chromebook: Chrome OS 100.0 or later
- Windows: 7, 8, 8.1, 10 or later
- Mac: OS X El Capitan 10.11 or later
- Linux: 64-bit Ubuntu 18.04+, Debian 10+, openSUSE 15.2+, or Fedora Linux 32+
Software Installed
- Google Chrome
Game Development I and Game Development II:
Software Installed:
- Google Chrome
- Unity Hub + Unity 2021 LTS
- Blender 3.1 or Later
- Microsoft Visual Studio Code
Operating System:
- 64-bit Windows 10 or later
- macOS 11 or later