Creative Coding 2

40 HOURS • ONLINE OR BLENDED CLASS • JAVASCRIPT

Untitled.png

In the Vidcode Creative Coding 2 curriculum, students learn important concepts in programming with a focus on creativity and problem solving. Students complete projects that build on the concepts covered in Creative Coding 1 and learn about different applications of JavaScript programming including interactivity, algorithms, and procedural art. Special focus is also given to the importance of collaboration and helping to build a supportive programmer community. The course also highlights how the computer science concepts students learn have an impact on their everyday lives in areas such as app development and cybersecurity. Along the way, students will create interactive videos, pop art, a name generator and their own unique video games!

Creative Coding 2 covers concepts and practices of Computer Science set by the K-12 Computer Science Framework and is fully aligned to CSTA Level 2 standards for Algorithms and Programming.


Format

Vidcode is a project-based web curriculum with year long courses that are delivered in units. Our courses are developed in cohesion with one another, and as stand-alone environments. The projects in this course review previously learned concepts and introduce new ones through open-ended projects.The curriculum is designed for a semester-long course that meets five days a week, but it can be implemented in a variety of ways.

Who is this for?

The Vidcode Creative Coding 2 course is built for students in middle or high school who have completed Vidcode’s Creative Coding 1 curriculum or already have some experience with programming.

Learning Objectives

Students learn advanced concepts in JavaScript and the use of programming in the creation of digital media.

 

Unit Theme Code Focus Time
CC2.1 Make it Interactive! Handling user interaction is an important part of programming! Event listeners, logical operators 10 hours
CC2.2 Algorithms and Art Control structures give you creative control! Loops, functions 10 hours
CC2.3 Word Wizardry With user input, the possibilities are endless! String manipulation, parameters 10 hours
CC2.4 Choose Your Own Codeventure! Programmers learn from each other! Simulations, combining control structures 10 hours
 

READY TO JOIN THOUSANDS OF DISTRICTS Already TEACHING WITH VIDCODE?

 

Unit 1: Make it Interactive!

Students will learn about event handlers and transition their projects from static to interactive. They will encode logical and spatial reasoning into nested control structures. They will explore the relationship between developer and user, and learn to incorporate feedback from others to improve their programs. 

Time: 10 hours

Unit theme: Handling user interaction is an important part of programming!

Code focus: Event listeners, logical operators

Essential Question: How do computers handle user interaction? 

Enduring Understandings:  

  • Event handlers tell the computer what user interaction to look out for, and what to do when they happen.
  • User interaction can be in the form of mouse clicks, keyboard presses, or any other input device.
  • There are logical operators that help computers make more complex decisions.

Common Preconceptions:

  • Computers automatically respond to what users do with the keyboard and mouse.
  • There is no difference between programmer and user.
  • You only have to think about yourself when you are designing a program.


What students are making

Activity 3: Secret Message

Activity 5: Grumpy Cat Returns

Activity 8: Create an App

 

Unit 2: Algorithms and Art

Students will begin to see programs as the implementation of algorithms. They will create procedurally generated patterns using linear and geometric progressions, and randomness

Time: 10 hours

Unit theme: Control structures give you creative control!

Code focus: loops, functions

Essential Question: What is an algorithm? How can algorithms enhance self-expression?

Enduring Understandings:

  • An algorithm is a recipe for solving a specific set of problems.
  • Programmers break their code into smaller, reusable pieces by writing functions.
  • Algorithms can automate processes of creation to do more than  humans can in less time.
  • There are different type of loops that have different benefits.

Common Preconceptions:  

  • Art and programming have nothing in common.
  • It's easier to repeat familiar code than to learn a new way to do it.
  • If code works it's not worth improving.
  • If my program slows down my computer it's not my fault.
     

What students are making

Activity 1: Growing Circles

Activity 5: Emoji Battle

Activity 7: Control the Weather


Unit 3: Word Wizardry

Students will delve into strings and string methods, creating interactive apps that need extensive testing and debugging. They will design their code to be readable and reusable by defining functions with input and output

Time: 10 hours

Unit theme: With user input, the possibilities are endless!

Code focus: string manipulation, parameters

Essential Question: How do computers represent and manipulate text? 

Enduring Understandings:

  • Strings and numbers are different data types with different methods.
  • Text is a special type of user input.
  • Algorithms enable computers to make complex decisions quickly.
  • Input and output are fundamental parts of a program.

Common Preconceptions:     

  • Computers understand what you type.
  • There's no difference between strings and numbers.
  • Computers speak English.
  • Functions and methods are the same thing.


What students are making

Activity 2: Silly Sentence

Activity 3: Emojify

Activity 5: Celebrity Couple

 

Unit 4: Choose Your Own Codeventure!

Students will learn about defining and instantiating custom objects and data structures. They will design and decompose complex programs with multiple interactive elements and collaborate in design teams to build their apps and games

Time: 10 hours

Unit theme: Programmers learn from each other!

Code focus: simulations, combining control structures

Essential Question: How can a large program be broken down into reusable pieces? 

Enduring Understandings:

  • Objects can be used to break a program into reusable pieces. 
  • Objects have properties and methods.
  • Objects can be combined into a new object.
  • Collision detection determines whether two objects are touching.
  • Simulations are models of things in the real world.

Common Preconceptions:     

  • Games are too hard to write in JavaScript.
  • The only objects I can use are the ones Vidcode gives me.
  • A program with more lines of code is always better.
  • A simulation has to be virtual reality.


What students are making

Activity 1: Click for Creatures

Activity 3: 500-Pixel Dash

Activity 9: Create Your Own Game

 

Interested in Vidcode courses - or still have questions about Creative Coding 1? Schedule a consultation with the Vidcode team.