CodeCombat Documentation
repository·master·Indexed 27 days ago
https://github.com/codecombat/codecombatAn open-source multiplayer programming game for learning how to code. This documentation includes developer setup guides via the Archmage wiki, details on the partner API for SSO and user progress tracking, and comprehensive curriculum resources for AP CS Principles, including unit planning, assessment strategies for challenge levels, and guidance for the Explore and Create Performance Tasks.
What's inside CodeCombat
- The CodeCombat AP Computer Science Principles syllabus provides a broad introduction to computer science, emphasizing computational thinking and problem-solving. The course is structured around six Computational Thinking Practices and seven Big Ideas to meet College Board curricular requirements.
Overview of Game Development 1 Course
masterThe Game Development 1 course is a beginner-level curriculum designed to introduce students to game design and development. Students learn to use specific commands to design levels, culminating in a final project where they create a unique game.
Course Structure:
- Module 1: Spawnables and Mechanics (Levels 1-5): Spawning objects and defining mechanics.
- Module 2: Goal Changes (Levels 6-11): Defining goals and types of spawnables.
- Module 3: Changing Properties (Levels 12-16): Manipulating object properties.
- Module 4: Final Project - Tabula Rasa (Level 17): Combining all course topics.
Note: While written for Python, the concepts are adaptable for JavaScript.
Overview of Game Development 1 Curriculum
masterThe 'Game Development 1' course is an introductory level curriculum (4 x 55-minute sessions) designed to teach game design and development through classroom discussion and hands-on programming. Students learn specific commands by completing game levels and conclude with a final project where they design and create their own unique game.
Curriculum Modules
Module Level Range Topic 1. Elements and Mechanisms 1-5 ("Over the Garden Wall" to "Gems are Awesome") Spawning elements, game mechanisms 2. Goal Adjustment 6-11 ("Decapitate Mouse" to "Obstacle Magic") Goals, spawning element types 3. Attribute Adjustment 12-16 ("Forest Invasion" to "Survival Time") Object attributes 4. Course Design - From Scratch 17 ("From Scratch") Comprehensive application Overview of CodeCombat Arena Levels
masterArena levels serve as course-end capstones where students develop an artificial intelligence program to solve a problem and compete against computer opponents and classmates. The levels are categorized by course and focus on specific programming concepts:
| Arena | Course | Concepts | | :--- | :--- | : | | Wakka Maul | Introduction to Computer Science | Sequencing, syntax, strings,
while Trueloops, variables | | Power Peak | Computer Science 2 | Functions,ifstatements, events, parameters | | Cross Bones | Computer Science 3 | Boolean logic, nested conditionals, arithmetic | | Summation Summit | Computer Science 4 | Arrays,whileloops,forloops, objects |Overview of Web Development 1 Course
masterThe Web Development 1 course is a beginner-level curriculum designed to introduce students to web development using HTML and CSS. The course is structured into five modules covering page setup, images, advanced page setup (divs and lists), styling (CSS), and a final creative project.
Course Modules
Module Levels Topics 1. Page Setup 1-4 Break tags, paragraph tags, heading tags 2. Images 5-6 Image tags and size attributes 3. Page Setup 2 7-9 Div tags, unordered and ordered lists 4. Page Style 10-12 Text-align, color, classes, IDs 5. Final Project 13 All course topics combined Overview of Computer Science 2 Curriculum
masterThe Computer Science 2 (CS2) course is designed for students who have completed 'Introduction to Computer Science'. It transitions students from basic coding to software and application development. The curriculum covers advanced concepts including conditional structures, functions, and events. While designed for Python, it is also applicable to JavaScript.
Course Structure:
- Duration: 4 x 45-60 minute coding sessions.
- Key Topics:
- Conditional structures (
if,else, nested conditionals) - Functions
- Events (listening for events and executing code)
- Algorithm design and implementation (Multiplayer Arena review)
- Conditional structures (
Introduction to Computer Science Course Overview
masterThis course is designed for beginners (3rd-grade level) to learn Python (or JavaScript) syntax and coding standards through practical application in a game environment. It consists of 4 sessions, each lasting 45-60 minutes.
Course Modules
Module Levels Learning Objective 1. Basic Syntax 1-6 Call functions in sequence 2. Loops 7-14 Repeat code sequences 3. Variables 15-20 Store and access data 4. Review – Multiplayer Arena 21 Master syntax and sequential execution Curriculum Overview: Computer Science 2
masterThe Computer Science 2 curriculum is designed for students who have completed 'Introduction to Computer Science'. It consists of six 45-60 minute coding sessions focused on transitioning from basic syntax to advanced programming concepts like conditionals, functions, and events.
Key Learning Objectives:
- Conditionals: Using
ifandelsestatements to perform actions based on the game state. - Functions: Organizing code into reusable logic blocks.
- Events: Writing code that responds to specific occurrences (the basis for game and web development).
- Advanced Fundamentals: Mastering arguments, strings, variables, and loops.
Note: While designed for Python-language classrooms, the concepts can be adapted for JavaScript.
- Conditionals: Using
Web Development WD1 Course Overview
masterWeb Development WD1 is a beginner-level course (prerequisite: CS1 recommended) designed to introduce students to HTML and CSS through practical web design. The course is structured into five modules covering page setup, images, advanced page setup, styling, and a final practical project.Explore AP CS Principles Curriculum Units
masterThe curriculum is organized into six distinct units covering the AP CS Principles scope:
- Unit 1: Who is a Computer Scientist?
- Unit 2: Thinking in Algorithms
- Unit 3: Designing Arcade Games
- Unit 4: Abstractions are Magic
- Unit 5: Connecting Computing
- Unit 6: Preparing for the Exam
Computer Science 3 Course Overview
masterComputer Science 3 (CS3) is an advanced coding course designed for students who have already mastered basic control flow (conditionals, functions, and events). The course focuses on enhancing conditional logic, introducing sophisticated operators, and exploring object-oriented programming concepts.
Key Learning Objectives:
- String Concatenation: Modifying text dynamically.
- Computational Arithmetic: Using math within code to perform complex actions.
- Object Properties: Accessing internal data of game objects (e.g., position, value).
- Real-time Input: Using 'flags' to interact with programs during execution.
- Functions with Return Values: Breaking down calculations into smaller, reusable parts.
- Boolean Logic: Using compound conditionals with operators like equality, inequality,
OR, andAND. - Relative Movement: Combining object properties and arithmetic to navigate to dynamic locations.
- Loop Control: Using
breakandcontinueto managewhileloops.
Prerequisites: Computer Science 2. Format: 11 sessions of 45-60 minutes each. Language Note: While written with Python in mind, these concepts are applicable to JavaScript.
Esports Bootcamp: AI League Curriculum Overview
masterThe AI League Esports Bootcamp is a beginner-level curriculum designed for 3 x 45-60 minute coding sessions. It introduces students to formal syntax and typing code using real programming languages (Python or JavaScript) rather than block-based visual programming. The curriculum is structured into three modules:
- Basic Syntax (Levels 1-6): Focuses on calling methods in order, with and without arguments.
- Loops (Levels 7-9): Focuses on repeating code sequences.
- Enter the Arena (Level 11): Focuses on applying coding skills to compete in an AI League arena.