Computer Science & Software Engineering
Course Progress
0/0
Code Runner - Examples
Objectives in Technical Learning
Code Runner - JavaScript
Lesson Planning
Variables
Strings
Classes and Methods
Mathematical Expressions
Booleans
JSON and JavaScript Objects
Nested Conditionals
Iterations
Data Abstraction!
Arrays
Conditionals
Functions
Teaching Weeks Issue
Likert Review
Sprint 4 - CSSE Objectives
OCS GameEngine Guide
Variables and HTML DOM
GameEngine Essentials Guide
Characters
Backgrounds
Enemy Death
Enemy Collision
DOM Updates
Objects, Instance Data
Randomized Dialogues
Local Storage in JS
Gravity
Blocks
Transitions Screens
Single Responsibility Principle (SRP)
Finite State Programming
GameEngine Essentials Summative Assessment
Game-in-game
Implementing Enemies
Web APIs and Local Storage Documentation
API's and how they are used
Game Over | Transitions | Leaderboard
Local Storage
Player | Animation | Collision
Backgrounds | Theme | Messages
Enemies | Collision
Platform | Elevated
Sprint 5 - CSSE Objectives
Game Help - Platformer
OOP, Multiplayer
Code Runner - JavaScript
2 min read
Code-Runner Automation
The notebook (ipynb) to web (html) conversion system automatically generates a “code-runner” web experience from code cells.
JavaScript Code Cells
- %%js: required for code cell testing
- JavaScript/Java:
// CODE_RUNNER: <challenge text>
Code Runner Challenge
Personalize your student record.
View IPYNB Source
%%js
// CODE_RUNNER: Personalize your student record.
// Simple person object with key-value pairs
const person = {
name: "Jane",
age: 16
};
console.log(person);
Lines: 1
Characters: 0
Output
Click "Run" in code control panel to see output ...
Practical Example: Fix the Syntax Error
Here’s a lesson example to fix a syntax error.
Code Runner Challenge
Fix the syntax errors. Run the code to get a hint!
View IPYNB Source
%%js
// CODE_RUNNER: Fix the syntax errors. Run the code to get a hint!
console.log(Office hours 10-10:30))
Lines: 1
Characters: 0
Output
Click "Run" in code control panel to see output ...
Practical Example: JavaScript Loop
A JavaScript example where students complete a loop.
Code Runner Challenge
Complete the for loop to print numbers 1 through 5. Fill in the missing parts of the loop.
View IPYNB Source
%%js
// CODE_RUNNER: Complete the for loop to print numbers 1 through 5. Fill in the missing parts of the loop.
// Complete the for loop
for (let i = ???; i <= ???; i++) {
console.log(i);
}
Lines: 1
Characters: 0
Output
Click "Run" in code control panel to see output ...
Build Process
When you run make or the notebook conversion script:
- The script detects CODE_RUNNER comments in code cells
- Extracts the challenge text from the comment
- Generates a unique
runner_idbased on the permalink + index - Strips magic commands (
%%js,%%python) and CODE_RUNNER comments from the code - Clears Jupyter outputs from cells with CODE_RUNNER (since code-runner provides interactive execution)
- Injects a code-runner block after the code cell in the generated markdown
Testing Notebooks
- In Notebook: Run cells normally, see outputs using Help-Toggle Developer Tools
- On Website: Viewers can modify, run code, and view outputs localhost and deployed
- No Duplication: Code exists is in both places, but only requires development in notebook (IPYNB)
Migrating Notebooks
If you have existing IPYNB lessons with code cell that only run in VSCode:
- You will need to enable your repo for Code Runner support
- Add to frontmatter of the page
codemirror: true - Add a comment to the top of desired code-runner cell
// CODE_RUNNER: <challenge text> - Run make, view, and test on localhost
- Commit the change to production
The system will automatically generate the code-runner blocks in the page that enable interaction on the Web.