Please enable JavaScript to use CodeHS



Intro to Programming in JavaScript with Arduino

The Intro to Programming in JavaScript with Arduino course merges the Introduction to Computer Science in JavaScript and the Introduction to Physical Computing with Arduino courses. The JavaScript course will provide the prerequisite information needed before students apply programming concepts to their physical Arduino device.

Syllabus

Units: 16
Timeframe: Year
Contact Hours: 175

By the Numbers


Contact Hours 175
Lessons 85
Videos 82
Exercises 114
Challenges 56
Offline Handouts 191

Units

Unit Description
Programming With Karel: Students will be introduced to programming with Karel. Karel is a dog that only knows how to move, turn left, and place tennis balls in his world. Karel can be given commands to instruct him to do certain things. Karel will be used to show students what it means to program with a strong focus on problem solving.
Karel Challenges: Students will apply all the foundational concepts from Karel to solve some programming challenges.
JavaScript and Graphics: Students will be introduced to the basics of JavaScript, including variables, user input, mathematics, and basic graphics.
Graphics Challenges: Students will learn how to pair program! They will then apply all the foundational concepts from JavaScript Graphics to solve some programming challenges.
Intro to Arduino: Students will go through the basics of the Arduino device, such as how to light up and change the brightness of LEDs, and learn how variables can be used to write more versatile programs. Students will build circuits to control LEDs and motors with the Arduino and explore how pseudocode can be used to structure programs from the start.
JavaScript Control Structures: Students will learn how to use control structures such as if/else statements and loops to make more advanced programs in JavaScript.
Control Structures Challenges: Students will apply all the foundational concepts from the Control Structures unit to solve some programming challenges.
Functions and Parameters: Students learn to write reusable code with functions and parameters.
Functions Challenges: Students use what they have learned in the Functions unit to solve challenges.
Program Control with Arduino: Students will learn how to apply control structures, such as if/else statements and loops to create programs that will react to the outside world. They will build programs that use sensors to detect temperature, light, and distance and make decisions based on the information collected.
Animation and Games: Students will learn how to make objects move around the screen. They will also learn how to let the user interact with your program with the mouse. At the end of this section, they will program their very own video game.
Animation Challenges: Students will apply all the foundational concepts from the Animations unit to solve some programming challenges.
Project: Breakout: Students make the game invented by Steve Jobs and Steve Wozniak! In this module, they will build their very own breakout game from scratch using JavaScript.
Advanced Arduino: Students will have a chance to explore all of the capabilities of the Arduino on their own! They will research, explore, and teach their peers about new sensors, follow directions to build an advanced device, and have a chance to create their very own Arduino machine.
Final Project: Students apply all the skills they've learned throughout the course to create a final program with a partner!
Final Exam: Students prove their knowledge of all concepts learned throughout the coruse in a final exam.

Format of Course

This course utilizes a blended classroom approach. The content is provided through a mix of web-based and physical exercises, with students writing and running code in the browser and then downloading code to their physical devices for further testing and exploration. Each unit is broken down into lessons which are made up of video tutorials, short quizzes, pseudocode exercises, physical explorations, example programs, and written programming exercises. The course is designed for a year long class that meets 5 days per week, though schools implement it in a variety of ways.

Required Materials

For students to fully experience the physical computing portion of this course, they’ll need access to a few materials. These include the Arduino device, various wires to connect external components and sensors, and breadboards which allow for more complex circuit builds. A complete list can be found at codehs.com/arduino_materials.
In the final physical computing module of the course, students will explore additional sensors on their own and teach their peers how they can be incorporated in different projects. You may provide options or allow students to research various sensors on their own, but these should be provided to students in addition to the required materials list.

Who is it for?

The Intro to Programming in JavaScript with Arduino course is designed for complete beginners with no previous background in computer science. The course is highly visual, dynamic, and interactive making it engaging for new coders.

Physical Computing Demos

Students begin by developing simple programs and circuits utilizing LEDs:
Opposite Blinking LEDs Exercise
They then move on to create more complicated circuits using breadboards and simple sensors, such as buttons and potentiometers:
Blinking Based on Potentiometer Exercise
And finally include control structures and more external components, such as ultrasonic range finders and servo motors:
Distance Warning Lights Exercise

Interested?

Interested in teaching the Introduction to Programming in JavaScript with Arduino course with CodeHS? Get in touch, so we can help you bring CodeHS to your school!

Bring to My School

Standards

Intro to Programming in JavaScript with Arduino is aligned with the following standards

Standards Framework View Alignment
Arkansas 9-12 View (51.6%)
Utah 11-12 View (50%)