Please enable JavaScript to use CodeHS


Indiana Principles of Computing

Lessons

  1. Programming With Karel

    1. 1.1 Introduction to Programming With Karel

    2. Description
    3. Objective
    4. 1.2 More Basic Karel

    5. Description
    6. Objective
    7. 1.3 Karel Can't Turn Right

    8. Description
    9. Objective
    10. 1.4 Functions in Karel

    11. Description
    12. Objective
    13. 1.5 The Start Function

    14. Description
    15. Objective
    16. 1.6 Top Down Design and Decomposition in Karel

    17. Description
    18. Objective
    19. 1.7 Commenting Your Code

    20. Description
    21. Objective
    22. 1.8 Super Karel

    23. Description
    24. Objective
    25. 1.9 For Loops

    26. Description
    27. Objective
    28. 1.10 If Statements

    29. Description
    30. Objective
    31. 1.11 If/Else Statements

    32. Description
    33. Objective
    34. 1.12 While Loops in Karel

    35. Description
    36. Objective
    37. 1.13 Control Structures Example

    38. Description
    39. Objective
    40. 1.14 More Karel Examples and Testing

    41. Description
    42. Objective
    43. 1.15 How to Indent Your Code

    44. Description
    45. Objective
    46. 1.16 Debugging Strategies

    47. Description
    48. Objective
    49. 1.17 Computer Science Careers

    50. Description
    51. Objective
  2. Karel Challenges

    1. 2.1 Challenge Problems

    2. Description
    3. Objective
  3. Cybersecurity

    1. 3.1 Intro to Cybersecurity

    2. Description
    3. Objective
    4. 3.2 Digital Footprint and Reputation

    5. Description
    6. Objective
    7. 3.3 Privacy & Security

    8. Description
    9. Objective
    10. 3.4 Information Literacy

    11. Description
    12. Objective
    13. 3.5 Creative Credit & Copyright

    14. Description
    15. Objective
    16. 3.6 Hacking Ethics

    17. Description
    18. Objective
    19. 3.7 Identifying Risks

    20. Description
    21. Objective
    22. 3.8 Assessing Risk

    23. Description
    24. Objective
    25. 3.9 Cybersecurity Unit Test

    26. Description
    27. Objective
  4. What is Computing?

    1. 4.1 History of Computers

    2. Description
    3. Objective
    4. 4.2 Computer Organization

    5. Description
    6. Objective
    7. 4.3 Software

    8. Description
    9. Objective
    10. 4.4 Hardware

    11. Description
    12. Objective
    13. 4.5 Future of Computing

    14. Description
    15. Objective
    16. 4.6 Cloud Computing

    17. Description
    18. Objective
    19. 4.7 Different Types of Cloud Computing

    20. Description
    21. Objective
    22. 4.8 Lab: Chat Bot

    23. Description
    24. Objective
    25. 4.9 Cloud Storage

    26. Description
    27. Objective
    28. 4.10 What is Computing? Quiz

    29. Description
    30. Objective
  5. Digital Information

    1. 5.1 Intro to Digital Information

    2. Description
    3. Objective
    4. 5.2 Number Systems

    5. Description
    6. Objective
    7. 5.3 Encoding Text with Binary

    8. Description
    9. Objective
    10. 5.4 Pixel Images

    11. Description
    12. Objective
    13. 5.5 Hexadecimal

    14. Description
    15. Objective
    16. 5.6 Pixel Colors!

    17. Description
    18. Objective
    19. 5.7 Digital Information Quiz

    20. Description
    21. Objective
  6. The Internet

    1. 6.1 Intro to the Internet

    2. Description
    3. Objective
    4. 6.2 Internet Hardware

    5. Description
    6. Objective
    7. 6.3 Internet Addresses

    8. Description
    9. Objective
    10. 6.4 DNS

    11. Description
    12. Objective
    13. 6.5 Routing

    14. Description
    15. Objective
    16. 6.6 Packets and Protocols

    17. Description
    18. Objective
    19. 6.7 The Impact of the Internet

    20. Description
    21. Objective
    22. 6.8 The Internet Quiz

    23. Description
    24. Objective
  7. Project: The Effects of the Internet

    1. 7.1 Project: The Effects of the Internet

    2. Description
    3. Objective
  8. JavaScript and Graphics

    1. 8.1 Intro to Integrated Development Environments

    2. Description
    3. Objective
    4. 8.2 Hello World

    5. Description
    6. Objective
    7. 8.3 Variables

    8. Description
    9. Objective
    10. 8.4 User Input

    11. Description
    12. Objective
    13. 8.5 Basic Math in JavaScript

    14. Description
    15. Objective
    16. 8.6 Using Graphics in JavaScript

    17. Description
    18. Objective
    19. 8.7 Pixel Images

    20. Description
    21. Objective
    22. 8.8 Using RGB to Create Colors

    23. Description
    24. Objective
  9. Graphics Challenges

    1. 9.1 Collaborative Programming

    2. Description
    3. Objective
    4. 9.2 Graphics Challenges

    5. Description
    6. Objective
  10. JavaScript Control Structures

    1. 10.1 Booleans

    2. Description
    3. Objective
    4. 10.2 Logical Operators

    5. Description
    6. Objective
    7. 10.3 Comparison Operators

    8. Description
    9. Objective
    10. 10.4 If Statements

    11. Description
    12. Objective
    13. 10.5 For Loops in JavaScript

    14. Description
    15. Objective
    16. 10.6 General For Loops

    17. Description
    18. Objective
    19. 10.7 For Loop Practice

    20. Description
    21. Objective
    22. 10.8 Random Numbers

    23. Description
    24. Objective
    25. 10.9 While Loops

    26. Description
    27. Objective
    28. 10.10 Loop and a Half

    29. Description
    30. Objective
  11. Control Structures Challenges

    1. 11.1 Control Structures Challenges

    2. Description
    3. Objective
  12. Functions and Parameters

    1. 12.1 Functions and Parameters 1

    2. Description
    3. Objective
    4. 12.2 Functions and Parameters 2

    5. Description
    6. Objective
    7. 12.3 Functions and Parameters 3

    8. Description
    9. Objective
    10. 12.4 Functions and Return Values 1

    11. Description
    12. Objective
    13. 12.5 Functions and Return Values 2

    14. Description
    15. Objective
    16. 12.6 Local Variables and Scope

    17. Description
    18. Objective
  13. Functions Challenges

    1. 13.1 Functions Challenges

    2. Description
    3. Objective
  14. Operating Systems and Software

    1. 14.1 Programming Fundamentals

    2. Description
    3. Objective
    4. 14.2 Operating Systems

    5. Description
    6. Objective
    7. 14.3 Comparing Operating Systems

    8. Description
    9. Objective
    10. 14.4 Software and Applications

    11. Description
    12. Objective
    13. 14.5 Software Licenses

    14. Description
    15. Objective
    16. 14.6 Software Development

    17. Description
    18. Objective
  15. IT Infrastructure

    1. 15.1 Internal Components

    2. Description
    3. Objective
    4. 15.2 Peripheral Devices

    5. Description
    6. Objective
    7. 15.3 Network Devices

    8. Description
    9. Objective
    10. 15.4 IT Infrastructure Quiz

    11. Description
    12. Objective
  16. Data

    1. 16.1 Getting Started with Data

    2. Description
    3. Objective
    4. 16.2 Visualizing and Interpreting Data

    5. Description
    6. Objective
    7. 16.3 Present a Data-Driven Insight

    8. Description
    9. Objective
    10. 16.4 Data Quiz

    11. Description
    12. Objective
  17. Final Project

    1. 17.1 Project Prep and Development

    2. Description
    3. Objective
  18. Final Exam

    1. 18.1 Final Exam

    2. Description
    3. Objective
  19. Midterm

    1. 19.1 Midterm

    2. Description
    3. Objective
  20. Extra Karel Practice

    1. 20.1 Extra Karel Practice

    2. Description
    3. Objective
  21. Animation and Games

    1. 21.1 Timers

    2. Description
    3. Objective
    4. 21.2 Random Circles

    5. Description
    6. Objective
    7. 21.3 Random Ghosts

    8. Description
    9. Objective
    10. 21.4 Bouncing Ball

    11. Description
    12. Objective
    13. 21.5 Mouse Events: Mouse Clicked

    14. Description
    15. Objective
    16. 21.6 Mouse Events: Mouse Moved

    17. Description
    18. Objective
    19. 21.7 Drawing Lines

    20. Description
    21. Objective
    22. 21.8 Key Events

    23. Description
    24. Objective
    25. 21.9 Crazy Ball Game

    26. Description
    27. Objective
  22. Animation Challenges

    1. 22.1 Animation Challenges

    2. Description
    3. Objective
  23. Project: Breakout

    1. 23.1 Breakout

    2. Description
    3. Objective
  24. Extra Karel Puzzles

    1. 24.1 Extra Karel Puzzles

    2. Description
    3. Objective
  25. Functions and Parameters Practice

    1. 25.1 Functions and Parameters Practice

    2. Description
    3. Objective
  26. Extra Console Challenges

    1. 26.1 Prime Numbers

    2. Description
    3. Objective
  27. More Graphics and Animation

    1. 27.1 Fun Snake

    2. Description
    3. Objective
    4. 27.2 Fun Graphics Challenges

    5. Description
    6. Objective
  28. Data Structures Challenge Problems

    1. 28.1 Conway's Game of Life

    2. Description
    3. Objective
    4. 28.2 Connect Four

    5. Description
    6. Objective
  29. Evolution Simulation

    1. 29.1 Evolution Simulation

    2. Description
    3. Objective
  30. Demo Problems

    1. 30.1 Lesson 1

    2. Description
    3. Objective
  31. Extra Quiz Questions

    1. 31.1 Basic Javascript and Graphics

    2. Description
    3. Objective
    4. 31.2 Animation and Games

    5. Description
    6. Objective
    7. 31.3 Basic Data Structures

    8. Description
    9. Objective
  32. Visualizing Music

    1. 32.1 Visualizing Music

    2. Description
    3. Objective
  33. Data Structures

    1. 33.1 Intro to Lists/Arrays

    2. Description
    3. Objective
    4. 33.2 Indexing Into an Array

    5. Description
    6. Objective
    7. 33.3 Adding/Removing From an Array

    8. Description
    9. Objective
    10. 33.4 Array Length and Looping Through Arrays

    11. Description
    12. Objective
    13. 33.5 Iterating Over an Array

    14. Description
    15. Objective
    16. 33.6 Finding an Element in a List

    17. Description
    18. Objective
    19. 33.7 Removing an Element From an Array

    20. Description
    21. Objective
    22. 33.8 Intro to Objects/Maps

    23. Description
    24. Objective
    25. 33.9 Basics of Objects

    26. Description
    27. Objective
    28. 33.10 Iterating Over an Object

    29. Description
    30. Objective
    31. 33.11 When Do I Use an Object?

    32. Description
    33. Objective
    34. 33.12 Intro to Sets

    35. Description
    36. Objective
    37. 33.13 Intro to Grids

    38. Description
    39. Objective
    40. 33.14 Looping Over a Grid

    41. Description
    42. Objective
    43. 33.15 Grid Example: Get a Row

    44. Description
    45. Objective
    46. 33.16 Data Structures Challenges

    47. Description
    48. Objective
  34. Project: Tic Tac Toe

    1. 34.1 Tic Tac Toe

    2. Description
    3. Objective
  35. Project: Helicopter Game

    1. 35.1 Game Design: Helicopter

    2. Description
    3. Objective
    4. 35.2 Basics

    5. Description
    6. Objective
    7. 35.3 Improvements

    8. Description
    9. Objective
    10. 35.4 Polish

    11. Description
    12. Objective
    13. 35.5 Intro to Computer Science Completed

    14. Description
    15. Objective
  36. Principles of Computing Pretest

    1. 36.1 Intro to CS: JavaScript Pretest

    2. Description
    3. Objective