### Please enable JavaScript to use CodeHS

North Carolina Intro to Computer Science

#### Outline

1. Introduction to Programming
1.1 Introduction to Programming With Karel
Video 1.1.1 Introduction to Programming With Karel
Check for Understanding 1.1.2 Quiz: Karel Commands
Example 1.1.3 Our First Karel Program
Exercise 1.1.4 Your First Karel Program
Exercise 1.1.5 Short Stack
Debugging 1.1.6 Dancing Karel
1.2 More Basic Karel
Video 1.2.1 More Basic Karel
Check for Understanding 1.2.2 More Basic Karel Quiz
Example 1.2.3 Tennis Ball Square
Exercise 1.2.4 Make a Tower
Exercise 1.2.5 Pyramid of Karel
Debugging 1.2.6 Go Through the Door
1.3 Karel Can't Turn Right
Video 1.3.1 Karel Can't Turn Right
Check for Understanding 1.3.2 Karel Can't Turn Right Quiz
Example 1.3.3 Tower and Turn Right
Exercise 1.3.4 Fireman Karel
Exercise 1.3.5 Slide Karel
Free Response 1.3.6 Reflection: Teaching Karel New Commands
1.4 Functions in Karel
Video 1.4.1 Functions in Karel
Check for Understanding 1.4.2 Functions in Karel Quiz
Example 1.4.3 Turn Around
Exercise 1.4.4 Pancakes
Exercise 1.4.5 Backflip
Exercise 1.4.6 Digging Karel
Debugging 1.4.7 Build a Shelter
1.5 The Start Function
Video 1.5.1 The Start Function
Check for Understanding 1.5.2 The Start Function Quiz
Example 1.5.3 Tower with Start Function
Exercise 1.5.4 Pancakes with Start
Exercise 1.5.5 Digging Karel with Start
1.6 Top Down Design and Decomposition in Karel
Video 1.6.1 Top Down Design and Decomposition in Karel
Check for Understanding 1.6.2 Top Down Design and Decomposition Quiz
Example 1.6.3 Hurdle Karel
Exercise 1.6.4 The Two Towers
Debugging 1.6.5 Make a 'Z'
Free Response 1.6.6 Reflection: Top Down Design
Check for Understanding 1.7.2 Commenting Your Code Quiz
Example 1.7.3 Hurdle Karel
Exercise 1.7.4 The Two Towers + Comments
Free Response 1.7.5 Reflection: Commenting
1.8 Abstraction
Video 1.8.1 Abstraction
Check for Understanding 1.8.2 Abstraction Quiz
Example 1.8.3 Abstracting Away buildTower
Free Response 1.8.4 Abstracting Your Day
Free Response 1.8.5 Reflection: Abstraction
Free Response 1.8.6 Reflection: Abstraction in Karel
1.9 Super Karel
Video 1.9.1 Super Karel
Check for Understanding 1.9.2 Super Karel Quiz
Example 1.9.3 Hurdle Karel (with SuperKarel)
Exercise 1.9.4 The Two Towers + SuperKarel
1.10 For Loops
Video 1.10.1 For Loops
Check for Understanding 1.10.2 For Loops Quiz
Example 1.10.3 Repeated Move
Example 1.10.4 Put Down Tennis Balls
Exercise 1.10.5 Take 'em All
Exercise 1.10.6 Dizzy Karel
Exercise 1.10.7 For Loop Square
Exercise 1.10.8 Lots of Hurdles
1.11 If Statements
Video 1.11.1 If Statements
Check for Understanding 1.11.2 If Statements Quiz
Example 1.11.3 If Statements
Example 1.11.4 Safe Take Ball
Exercise 1.11.5 Is There a Ball?
Survey 1.11.6 Mindsets
1.12 If/Else Statements
Video 1.12.1 If/Else Statements
Check for Understanding 1.12.2 If/Else Statements Quiz
Example 1.12.3 If/Else Statements
Exercise 1.12.4 Right Side Up
1.13 While Loops in Karel
Video 1.13.1 While Loops in Karel
Check for Understanding 1.13.2 While Loops in Karel Quiz
Example 1.13.3 Move to Wall
Exercise 1.13.5 Lay Row of Tennis Balls
Exercise 1.13.6 Big Tower
1.14 Control Structures Example
Video 1.14.1 Control Structures Example
Check for Understanding 1.14.2 Control Structures Example Quiz
Example 1.14.3 Cleanup Karel
Exercise 1.14.4 Random Hurdles
1.15 Debugging Strategies
Video 1.15.1 Debugging Basics
Check for Understanding 1.15.2 Debugging Basics
Debugging 1.15.3 Debug: The Two Towers
Debugging 1.15.4 Debug: Lots of Hurdles
Video 1.15.5 Debugging From Error Messages
Check for Understanding 1.15.6 Debugging with Error Messages
Debugging 1.15.7 Debug: Big Tower
Debugging 1.15.8 Debug: Random Hurdles
1.16 Organizational Techniques
Video 1.16.1 Organizational Techniques
Check for Understanding 1.16.2 Organizational Techniques Quiz
Example 1.16.3 Hurdle Karel
Exercise 1.16.4 One Ball in Each Spot
Exercise 1.16.5 The Two Towers
1.17 Karel Algorithms
Video 1.17.1 Karel Algorithms
Check for Understanding 1.17.2 Quiz: Which Control Structure?
Video 1.17.3 Algorithms Example: Move Stack
Example 1.17.4 Move Tennis Ball Stack
Example 1.17.5 Climbing Karel
Exercise 1.17.6 Decorate the Fence
1.18 How to Indent Your Code
Video 1.18.1 How to Indent Your Code
Check for Understanding 1.18.2 How to Indent Your Code Quiz
Example 1.18.3 Dance and Clean Karel
Exercise 1.18.4 Diagonal
Exercise 1.18.5 Staircase
1.19 Ultra Karel
Video 1.19.1 Ultra Karel
Check for Understanding 1.19.2 Ultra Karel Quiz
Example 1.19.3 Red Frame
Example 1.19.4 Slip 'n Slide
Exercise 1.19.5 Invert Colors
Exercise 1.19.6 Checkerboard Karel
1.20 Karel Challenges
Challenge 1.20.1 Fetch
Challenge 1.20.2 Racing Karel
Challenge 1.20.3 Tower Builder
Challenge 1.20.4 Super Cleanup Karel
Challenge 1.20.5 Double Tennis Balls
1.21 Introduction to Programming Quiz
Unit Quiz 1.21.1 Introduction to Programming Quiz
2. Programming with JavaScript
2.1 What is Code
Video 2.1.1 What is Code?
Connection 2.1.2 What is Software
Free Response 2.1.3 Respond: What is Software
2.2 Uses of Programs
Video 2.2.1 Uses of Programs
Connection 2.2.2 Why Should You Learn to Program?
Free Response 2.2.3 Reflection: Learning to Program
Free Response 2.2.4 Reflection: Programs in Your Life
Free Response 2.2.5 Reflection: Future Programs
Free Response 2.2.6 Task: Computing Innovations
2.3 Hello World
Video 2.3.1 Hello World
Check for Understanding 2.3.2 Hello World Quiz
Example 2.3.3 Hello World
Exercise 2.3.4 Your Name and Hobby
2.4 Variables
Video 2.4.1 Variables
Check for Understanding 2.4.2 Variables Quiz
Example 2.4.3 Basic Variables
Exercise 2.4.4 Apples and Oranges
2.5 User Input
Video 2.5.1 User Input
Check for Understanding 2.5.2 User Input Quiz
Example 2.5.3 Basic User Input
Exercise 2.5.4 Obi-Wan Says
2.6 Basic Math in JavaScript
Video 2.6.1 Basic Math in JavaScript
Check for Understanding 2.6.2 Basic Math in JavaScript Quiz
Example 2.6.3 Order of Operations
Example 2.6.4 Dollars to Pounds
Example 2.6.5 Dividing Up Groups
Exercise 2.6.6 Sporting Goods Shop
Exercise 2.6.7 Running Speed
Exercise 2.6.8 24 vs. "24"
2.7 Using Graphics in JavaScript
Video 2.7.1 Graphics
Check for Understanding 2.7.2 JavaScript Graphics Quiz
Example 2.7.3 Graphics Hello World
Example 2.7.4 Blue Circle
Example 2.7.5 Red Rectangle
Example 2.7.6 8 Ball
Exercise 2.7.7 French Flag
Exercise 2.7.8 Snowman
2.8 Mouse Events: Mouse Clicked
Video 2.8.1 Mouse Events: Mouse Clicked
Check for Understanding 2.8.2 Mouse Events: Mouse Clicked Quiz
Example 2.8.3 Click For Circles
Example 2.8.4 Click For Mickey
Exercise 2.8.5 Click for Rectangles
2.9 Programming with JavaScript Quiz
Unit Quiz 2.9.1 Programming with JavaScript Quiz
3. JavaScript Control Structures
3.1 Booleans
Video 3.1.1 Booleans
Check for Understanding 3.1.2 Booleans Quiz
Example 3.1.3 First Boolean
Exercise 3.1.4 Do You Have a Cat?
3.2 Logical Operators
Video 3.2.1 Logical Operators
Check for Understanding 3.2.2 Logical Operators Quiz
Example 3.2.3 Light Switch
Example 3.2.4 President
Example 3.2.5 Wasting Time
Exercise 3.2.7 School's Out
3.3 Comparison Operators
Video 3.3.1 Comparison Operators
Check for Understanding 3.3.2 Comparison Operators Quiz
Example 3.3.3 Voting Age
Exercise 3.3.5 Rolling Dice
Exercise 3.3.6 All Star
3.4 If Statements
Video 3.4.1 If Statements
Check for Understanding 3.4.2 If Statements Quiz
Example 3.4.3 Negative Numbers
Example 3.4.4 Great Names
Example 3.4.5 Even and Odd
Exercise 3.4.7 Teenagers
Exercise 3.4.8 Meal Planner
3.5 Key Events
Video 3.5.1 Key Events
Check for Understanding 3.5.2 Key Events Quiz
Example 3.5.3 Keyboard Square
Exercise 3.5.4 Growing Circle
3.6 For Loops in JavaScript
Video 3.6.1 Basic For Loop
Check for Understanding 3.6.2 For Loops Quiz
Example 3.6.3 For Loop
Exercise 3.6.4 Meme Text Generator
Exercise 3.6.5 The Worm
Exercise 3.6.6 Caterpillar
3.7 General For Loops
Video 3.7.1 General For Loop
Check for Understanding 3.7.2 General For Loop Quiz
Example 3.7.3 Countdown
Example 3.7.4 Count By Twos
Exercise 3.7.5 Count By Sevens
Exercise 3.7.6 Powers of Two
3.8 For Loop Practice
Video 3.8.1 For Loop Examples
Check for Understanding 3.8.2 For Loop Examples Quiz
Example 3.8.3 For Loop Sum
Exercise 3.8.4 Better Sum
Exercise 3.8.5 Factorial
Exercise 3.8.6 All Dice Values
3.9 Random Numbers
Video 3.9.1 Random Numbers
Check for Understanding 3.9.2 Random Numbers Quiz
Example 3.9.3 Rolling a Die
Example 3.9.4 Flipping a Coin
Exercise 3.9.5 Lots of Dice
Exercise 3.9.6 Random Color Square
Survey 3.9.7 Mindsets
3.10 While Loops
Video 3.10.1 While Loops
Check for Understanding 3.10.2 While Loops Quiz
Example 3.10.3 While Loop Countdown
Exercise 3.10.4 Inventory
Exercise 3.10.5 Fibonacci
3.11 Loop and a Half
Video 3.11.1 Loop and a Half
Check for Understanding 3.11.2 Loop and a Half Quiz
Exercise 3.11.4 Snake Eyes
3.12 Javascript Control Structures Quiz
Unit Quiz 3.12.1 JavaScript Control Structures Quiz
4. Basic Data Structures
4.1 Intro to Lists/Arrays
Video 4.1.1 Intro to Lists/Arrays
Check for Understanding 4.1.2 Intro to Lists/Arrays Quiz
Example 4.1.3 Making an Array
Exercise 4.1.4 List of Places to Travel
Exercise 4.1.5 List of Prime Numbers
4.2 Indexing Into an Array
Video 4.2.1 Indexing Into an Array
Check for Understanding 4.2.2 Indexing into an Array Quiz
Example 4.2.3 Array Indexing Practice
Exercise 4.2.4 Top Movies
Video 4.3.1 Adding/Removing From an Array
Check for Understanding 4.3.2 Adding/Removing from an Array Quiz
Exercise 4.3.4 Empty Array (Push/Pop)
4.4 Array Length and Looping Through Arrays
Video 4.4.1 Array Length and Looping Through Arrays
Check for Understanding 4.4.2 Array Length and Looping Through Arrays Quiz
Example 4.4.3 Print Shopping List
Example 4.4.4 Print First Five Items
Example 4.4.5 Sum Array
Example 4.4.6 Max Value in Array
Exercise 4.4.7 Product of List
Exercise 4.4.8 Print Flight Itinerary
Exercise 4.4.9 Double List
Exercise 4.4.10 Evens Only List
Exercise 4.4.11 In a World Without Arrays!
Free Response 4.4.12 Reflection: World Without Arrays!
Exercise 4.4.13 Reverse List
4.5 Iterating Over an Array
Video 4.5.1 Examples: Iterating Over an Array
Check for Understanding 4.5.2 Iterating Over an Array Quiz
Example 4.5.3 Coin Flips
Example 4.5.4 Many Crazy Balls
Exercise 4.5.5 Coin Flip Fun: Number of Heads and Tails
Exercise 4.5.6 Coin Flip Fun: Longest Streak of Heads
Exercise 4.5.7 Changing Circles
Exercise 4.5.8 Draw a Barcode
Survey 4.5.10 Mindsets
4.6 Finding an Element in a List
Video 4.6.1 Finding an Element in a List
Check for Understanding 4.6.2 Finding an Element in a List Quiz
Example 4.6.3 Array indexOf
Exercise 4.6.4 Who is in Line?
Example 4.6.5 Algorithm Efficiency
4.7 Removing an Element From an Array
Video 4.7.1 Removing an Element From an Array
Check for Understanding 4.7.2 Removing an Element from an Array Quiz
Example 4.7.3 Splice and Remove
Exercise 4.7.4 Remove From Line
4.8 Basic Data Structures Quiz
Unit Quiz 4.8.1 Basic Data Structures Quiz
5. Computing Basics
5.1 Intro to Digital Information
Video 5.1.1 What is Digital Information?
Check for Understanding 5.1.2 What is Digital Information Quiz
Example 5.1.4 DNA
Free Response 5.1.5 Reflection: Encodings Everywhere
5.2 Number Systems
Video 5.2.1 Number Systems
Notes 5.2.2 Number Base Tool
Check for Understanding 5.2.3 Number Systems Quiz
Video 5.2.4 Decimal to Binary
Check for Understanding 5.2.5 Decimal to Binary Quiz
Exercise 5.2.6 Binary Game
Exercise 5.2.7 Overflow Error
Example 5.2.8 More Overflow Errors
5.3 Encoding Text with Binary
Video 5.3.1 Encoding Text with Binary
Check for Understanding 5.3.2 Encoding Text with Binary Quiz
Example 5.3.3 Morse Code
Example 5.3.4 Decoding a Binary Message
Example 5.3.5 2-bit Custom Encoding
Example 5.3.6 Bits to ASCII
Exercise 5.3.7 Hello Karel in Bits
Exercise 5.3.8 Create your own Encoding
Exercise 5.3.9 Text to Binary
5.4 Pixel Images
Video 5.4.1 Pixel Images
Check for Understanding 5.4.2 Pixel Images Quiz
Resource 5.4.3 Creating Pixel Images
Example 5.4.4 CodeHS Logo
Exercise 5.4.5 Checkerboard
Exercise 5.4.7 Create an Image!
5.5 Internal Components
Video 5.5.1 Internal Components
Check for Understanding 5.5.2 Internal Components
Connection 5.5.3 Build a Computer
Free Response 5.5.4 Build a Computer
Example 5.5.5 Test Your Brain's RAM!
Free Response 5.5.6 Test Your Brain's RAM! Reflection
Connection 5.5.7 The Machine Instruction Cycle
5.6 Peripheral Devices
Video 5.6.1 Peripheral Devices
Check for Understanding 5.6.2 Peripheral Devices
Free Response 5.6.3 Personalized Peripherals
Free Response 5.6.4 IT Help
Free Response 5.6.5 Your Ideal Computer Setup
5.7 Privacy & Security
Video 5.7.1 What is Data Privacy & Security?
Check for Understanding 5.7.2 Privacy & Security Quiz
Example 5.7.6 Guess: Using an Algorithm
Example 5.7.7 Guess: Brute Force
Example 5.7.10 You Can Be Tracked!
Video 5.8.1 Creative Credit and Copyright
Check for Understanding 5.8.2 Creative Credit and Copyright
Free Response 5.8.3 Cite!
Connection 5.8.4 Exploring Creative Commons
Free Response 5.8.5 Respond: Creative Commons
Free Response 5.8.6 Task: Finding Images
Free Response 5.8.7 Reflection: Why is Copyright Important?
5.9 Digital Information Quiz
Unit Quiz 5.9.1 Digital Information Quiz
6. Creative Development
6.1 Intro to Design Thinking
Video 6.1.1 Intro to Design Thinking
Check for Understanding 6.1.2 Intro to Design Thinking
Free Response 6.1.3 User Interface Scavenger Hunt
Connection 6.1.4 Case Study: Helping Blind People See
Free Response 6.1.5 Case Study Responses
Demo 6.1.6 Tell a Story Demo
Free Response 6.1.7 Brainstorming Project Ideas
6.2 Prototype
Video 6.2.1 Prototype
Check for Understanding 6.2.2 Prototype Quiz
Connection 6.2.3 Wizard of Oz Prototyping
Connection 6.2.4 Example Wizard of Oz Paper Prototype
Free Response 6.2.5 Make Your Paper Prototypes!
6.3 Test
Video 6.3.1 Test
Check for Understanding 6.3.2 Testing Quiz
Connection 6.3.3 Testing with Users
Connection 6.3.4 Example: How to User Test
Free Response 6.3.5 How to User Test Responses
Connection 6.3.6 Example: How NOT to User Test
Free Response 6.3.7 How NOT to User Test Responses
Resource 6.3.8 How to Make Accessible Programs
Free Response 6.3.9 Test Prototype 1
Free Response 6.3.10 Test Prototype 2
Free Response 6.3.11 Improve Your Prototype
6.4 Project Prep and Development
Free Response 6.4.1 Online Collaboration Tools
Free Response 6.4.2 Pseudocode
Challenge 6.4.3 Write the Code!