Our Courses

We teach students how to use their imagination to explore unlimited possibilities and create the things they love with code. At Codecraft Works, it all starts with WHY we code. We begin the learning experience with an exploration of real-world applications, concepts, and problems that help students understand how the skills and knowledge they are learning in school can be applied to everyday life. Our Certified Codecraft Instructors teach their students how to combine creative problem solving with computer science to create things with purpose and meaning. Students of all ages build a positive social connection with mentors, their community, and technology. Computer science coupled with expressing interests and passions means a brighter future for everyone.

LEARN MORE ABOUT ONLINE & IN-PERSON PROGRAMS

Block Programming Intro to CS & Engineering

Description

If computer science and software engineering are new to you, and maybe even a little bit intimidating, this course is a great way to get started! This course introduces students to the concepts and vocabulary required to work in any coding language. Using a block-based system, we can focus on the application of concepts and technical problem-solving techniques without the associated syntax. Passionate about video games, saving the planet, a mission to Mars, or impossible quizzes? This course provides you with the basic knowledge and skills you need to create your first passion projects and share them with the world. No previous programming experience is required for participation.

Objective

This course aims to teach the basics of computer science concepts and software engineering in a fun and dynamic way for first-time or practicing makers. Students will build technical vocabulary and a solid understanding of foundational computer science concepts. By the end of the course, students will be able to take a prompt in any subject and combine it with the power of new computer science and software engineering knowledge to showcase an original computer program with confidence.

Requirements

  • A stable internet connection.
  • A web browser that supports Flash Player. (Chrome is the preferred browser.)
Sign Up Now!
Block Programming Next Level Challenges

Description

You’ve mastered the basics of Block-Based programming. Now is the time to challenge yourself to learn more advanced topics and create expansive projects. This course covers more advanced concepts and vocabulary required to work in any coding language. Using a block-based system, we can focus on the application of concepts and technical problem-solving techniques without the associated syntax. This course provides a platform to expand your passion projects to the next level. You must complete the Block Programming Intro to CS & Engineering course before enrollment in this course.

Objective

This course aims to teach additional concepts of computer science concepts and software engineering in a fun and dynamic way for practicing makers. Students will build advanced technical vocabulary and a solid understanding of foundational computer science concepts. By the end of the course, students will be able to design and create their own original in-depth and interactive projects based on their interests.

Requirements

  • A stable internet connection.
  • A web browser that supports Flash Player. (Chrome is the preferred browser.)
  • Completion of the Block Programming Intro to CS & Engineering course.
Sign Up Now!
Level Up! Platform Game Development

Description

This module is designed for older beginners and intermediate level coders. We will focus on using an Independent Development Environment (IDE) to rapidly create fun and modern 2D games for any web browser! You will learn everything needed to make web games quickly and with relative ease. From layers to writing event-driven code, this module introduces students to the concepts they will need to create video games on a professional level.

Objective

This is a game development module. You will learn the basics of computer science through developing your very own web-based video game from start to finish. You will be able to create your own assets and design your own levels. You will understand the importance of User Experience and Game Design. You will become familiar with an HTML5 IDE and understand why these types of tools are so useful to independent developers and rapid development teams.

Requirements

  • A stable internet connection.
  • An HTML5 compatible browser
  • The ability to install the Construct 2
  • Windows 7 or higher. (Currently Construct 2 only supports Windows operating systems.)
  • A graphics card that supports DX9 or DX11.
  • 1 gigabyte RAM. (This is to run the development tools. Some games created by students may require more.)
  • For more in depth requirements visit
  • Note: Construct 3 is a lightweight alternative to Construct 2. It is web based and requires no download. However, project size is severely limited.
Sign Up Now!
Level Up! Space Fighter Game Development

Description

Build on your game creation knowledge. Now that you have created a game, we will delve deeper into the true power of the IDE. We will create a game that utilizes the built-in tools provided to us along with algorithms that we will develop together as a team. Level up your coding vocabulary as we introduce you to the mainstream programming model known as Object-Oriented Programming (OOP). Create code like you see the world as you create Objects and give them properties and functions to perform during gameplay. We will teach these concepts while walking you through how to create your very own Space Shooter video game.

Objective

You will be introduced to Object-Oriented Programming concepts such as Encapsulation and Objects. By using these concepts, you will write code that looks more and more like professional level programs. You will create your first User Interface and learn the importance of a properly designed game flow. We will explore physics-based movement and become less dependent on pre-written behaviors. You build your ability to create custom solutions to your game development needs.

Requirements

  • A stable internet connection.
  • An HTML5 compatible browser
  • The ability to install the Construct 2
  • Windows 7 or higher. (Currently Construct 2 only supports Windows operating systems.)
  • A graphics card that supports DX9 or DX11.
  • 1 gigabyte RAM. (This is to run the development tools. Some games created by students may require more.)
  • For more in depth requirements visit
  • Note: Construct 3 is a lightweight alternative to Construct 2. It is web based and requires no download. However, project size is severely limited.
Sign Up Now!
Level Up! Object.io Game Development

Description

As a final challenge, we will create our very own .io game. We will use this module to teach a more Object-Oriented driven project. We will be creating our very own Classes. We will design these classes to work together to create a final project that is more complex than any we have ever developed before. We will teach the vital importance of separating code into separate files and combining them all in a final game loop that will control the gameplay. This module will introduce a concept that can be found in any modern programming language, the Function. We will also create an Artificial Intelligence system that is robust and provides adequate challenge to our players. We will learn how to create a Leaderboard and how to save this board locally.

Objective

The objective of this module is to transition you from a purely event-driven coder into an Object-Oriented Programmer. We will teach you how to create and use a Class. You will also learn about key OOP concepts such as Inheritance, Encapsulation, Object, and Instancing. You will learn how to read from a saved file and how to save information from your game onto a local file. You will also learn how to add your project to the file sharing service known as Github. You will be able to upload your project to the web and have full access to it from anywhere with an internet connection. After this course, you will be able to transition into our Python course with ease.

Requirements

  • A stable internet connection.
  • An HTML5 compatible browser
  • The ability to install the Construct 2
  • Windows 7 or higher. (Currently Construct 2 only supports Windows operating systems.)
  • A graphics card that supports DX9 or DX11.
  • 1 gigabyte RAM. (This is to run the development tools. Some games created by students may require more.)
  • For more in depth requirements visit
  • Note: Construct 3 is a lightweight alternative to Construct 2. It is web based and requires no download. However, project size is severely limited.
Sign Up Now!
Unity C# Game Development Level 1

Description

Whether your student is looking for a game industry career or simply curious about the way game developers think, Codecraft Works makes video game design and development FUN and approachable! Students explore concepts like gamification, the uncanny valley, and get an intro to C# development!

Objective

This course is designed to migrate students from a 2D development environment to a 3D one and from Event-Driven to Object-Oriented programming. Students will learn basic 3D math concepts and apply them to their games. This is an Object-Oriented programming course, meaning students will understand one of the most commonly used programming paradigms in modern computer science.

Requirements

  • A stable internet connection.
  • The ability to install the Unity Game Development Tools.
  • Windows 7 or higher 64-bit, macOS 10.9 or higher.
  • A graphics card that supports DX9 or DX11.
  • 1 gigabyte RAM. (This is to run the development tools. Some games created by students may require more.)
  • For more in depth requirements visit
Sign Up Now!
Invention Convention

Description

Makey Makey allows you to create your own controller for any computer game! Learn how electricity is used to send signals along a closed circuit. Explore new and innovative ways of interacting with a variety of programs and hardware.

Objective

This course teaches the basics of electrical engineering by showing how the flow of electricity is used in technology. Students will also be flexing their creative skills by inventing new types of input for computers. Students will leave this course with a better understanding of how devices like keyboards, mice, and controllers function and why easy computer interaction is so important.

Requirements

  • A stable internet connection.
  • A web browser that supports Flash Player. (Chrome is the preferred browser.)
  • The Makey Makey Invention Kit.
  • Previous experience with Block-Based programming is helpful but not required.
Sign Up Now!
Web Tools & Circuit Tech

Description

Have you ever wondered how hardware detects the outside world? How does your T.V. respond to a remote? How does a watch count your steps? If you’ve asked these questions then this course is for you. Students will explore how hardware and software can be combined to make fun and exciting inventions. Learn how to manipulate data collected by scientific instruments into something new. This course is great for students of all ages.

Objective

This course introduces students into programming for a specific hardware device. Using the Circuit Playground teaches how to use custom tools designed for a specific purpose. Then, students will take those tools and come up with new ways to use them. This course also acts as a transition from Block-Based programming into JavaScript for more advanced students.

Requirements

  • A stable internet connection.
  • A web browser that supports Flash Player. (Chrome is the preferred browser.)
  • The Circuit Playground Kit.
  • Previous experience with Block-Based programming is helpful but not required.
Sign Up Now!
Web Master

Description

Everything that you see when using the web is a combination of HTML5, CSS, and JavaScript. Create your own online games, web apps, and websites that you can share with your family and friends! Amaze people with your creations as you play with HTML5, CSS, and Javascript. Already familiar with web development? Increase your skills by mastering intermediate and advanced front-end development projects.

Objective

This course will teach you all you need to know to create your own website. You will understand the difference between HTML5, CSS, and Javascript. You will learn the correct usage of each of these tools and how to integrate all three into any website you can imagine.

Requirements

  • A stable internet connection
  • Access to  codepen.io
Sign Up Now!
Web Master JavaScript Programming

Description

You have explored HTML and how to add CSS to make your very own web pages. That is just the tip of the iceberg. This course teaches you how to add extensive JavaScript to a web page creating an interactive experience for your users. Discover how JavaScript brings web pages to like with this intermediate course. You must complete the Web Master course before enrollment in this course.

Objective

This course will teach you how to integrate the JavaScript programming language into a web page. You will understand Javascript is used to provide the interactive layer of a web page. You will take a deeper dive into the web development world and build upon previously gained knowledge to complete your project.

Requirements

  • A stable internet connection
  • Access to codepen.io
  • Completion of the Web Master course.
Sign Up Now!
Python Power 1

Description

Python is a powerful language used by sites like YouTube and Dropbox. In this course, we introduce students to the Python Coding Language. We teach the basics of Object-Oriented programming concepts using Classes, Variables, and Functions.

Objective

After taking this course, you will have an understanding of the different tools used in many Object-Oriented Programming Languages. You will be able to create Classes and Objects. You will be able to utilize these concepts, plus loops, functions, and variables, to create small-scale projects such as quizzes and text adventure games.

Requirements

  • A stable internet connection
  • Windows 7 or later, macOS, or Linux
  • 512 megabytes RAM (This is to run the development tools, some games created by students may require more)
Sign Up Now!
Python Power 2

Description

This course reviews and builds on the lessons from Module 1. We will revisit Object-Oriented programming and delve deeper into Inheritance, Encapsulation, Classes, and Objects. We will use the skills built in the previous module and introduce a new topic, Libraries. Students will expand their abilities by learning about Libraries and how to use them. We will teach students how to create their very own games using the PyGame Library. These games will include custom graphics, animation, and sound.

Objective

Your knowledge of the true power of Python will increase after this course. You will understand how to extend the power of Python through the use of Libraries. You will use the tools provided in these Libraries to create your own 2D video game. You will learn how to add your own images, animations, and sound effects to your game to make an entertaining environment in which to play! You will also build your knowledge of Object-Oriented Programming and how it is used to create a medium-scale, portfolio ready project.

Requirements

  • A stable internet connection
  • Windows 7 or later, macOS, or Linux
  • 512 megabytes RAM (This is to run the development tools, some games created by students may require more)
Sign Up Now!
Python Power 3

Description

Python 3 rounds out students’ coding experience by teaching how to tap into other application’s resources. We will teach students how to access and apply Application Program Interfaces (API) to build projects that can communicate and consume live data from other applications. Students will be challenged to use all that they have learned from Module 1 and Module 2 to integrate an API and build a full scale, dynamic, portfolio ready programming project.

Objective

At the conclusion of this course, students will be able to use Object-Oriented Programming techniques, Python Libraries, and open APIs to create projects that can consume data from other applications. You will have worked diligently to gain a good understanding of the capabilities of Python and be able to apply that knowledge to build other applications. After this course, you will be primed to succeed in an introductory college programming course, dominate that AP Computer Science course in high school, or get going on the side hustle project that motivated you to learn in the first place.

Requirements

  • A stable internet connection
  • Windows 7 or later, macOS, or Linux
  • 512 megabytes RAM (This is to run the development tools, some games created by students may require more)
Sign Up Now!
US CyberPatriot

Description

US CyberPatriot is the National Youth Cyber Education Program. At the center of CyberPatriot is the National Youth Cyber Defense Competition. The competition pits teams of middle school students in the position of newly hired IT professionals tasked with managing the network of a small company. In the rounds of competition, teams are given a set of virtual images that represent operating systems and are tasked with finding cybersecurity vulnerabilities within the images and hardening the system while maintaining critical services in a six-hour period. Teams compete for the top placement within their state and region, and the top teams in the nation earn all-expenses-paid trips to Baltimore, MD for the National Finals Competition where they can earn national recognition and scholarship money.

Objective

CyberPatriot Competition teams meet, prepare and practice for competitions in cyber security. Beginner & Intermediate skills, self-motivated, focused middle schoolers welcome.

Requirements

  • A stable internet connection
  • Windows 7 or later, or Linux
  • The latest versions of Chrome and Internet Explorer
Sign Up Now!
US CyberPatriot

Description

Ethical hacking is receiving permission and authorization to research a system for the purpose of discovering vulnerabilities and investigating what unintended behavior may occur due to such flaws. Ethical hackers use many hacking techniques, tactics, and procedures for penetrating and exploiting a system.

Objective

This class does not promote, encourage or develop hackers. Its purpose is to make people aware of cybersecurity weaknesses and flaws so that we can prevent malicious hacking. By having the knowledge of an ethical hacker, you can better defend yourself and systems from malicious attacks. All data and information shared in this class is for informational and educational purposes only.

Requirements

  • A stable internet connection
  • Windows 7 or later, or Linux
  • The latest versions of Chrome and Internet Explorer
Sign Up Now!
US CyberPatriot

Description

Make videos and manage a Youtube channel.

Objective

Take all of your hard work and showcase it on Youtube! This course will walk students through becoming a Youtuber from creating their accounts to adding content and even producing their very own channel trailer. This course is designed for advanced students with previous completed projects to showcase.

Requirements

  • A stable internet connection
  • The latest versions of Chrome and Internet Explorer
Sign Up Now!