Creative Coding 3

40 hours • ONLINE OR BLENDED CLASS • JavaScript

In Creative Coding 3 students will build on the programming skills they learned in Creative Coding 2 and begin applying these skills to larger and more complex projects. The projects cover a wide range of visual, interactive and algorithmic elements that students can recombine into useful apps, including custom buttons and sliders, instantiating multiple copies of objects, managing large numbers of variables in data structures, and writing readable and reusable code. After completing this course, students will know everything they need to begin creating unique, publishable artifacts in JavaScript: apps, games, and simulations.

Students will form teams and spend multiple class periods on one project, studying software development strategies and algorithm design. The course also focuses on communication and collaboration in the development process and the importance of testing and iterating on their projects.

The structure of Creative Coding 3 is designed to guide students through the planning and development process. 
 

Format

Vidcode is a project-based web curriculum with year long courses that are delivered in units. Each unit consists of student-led tutorials, practice activities, discussions, assessment and lesson plans.

Our courses are developed in cohesion with one another, and as stand-alone environments.  Each project is open ended and allows for continual experiment and interaction.  

We use NO video tutorials and provide skill building quizzes, assessment, challenge problems and unit tests.

 

Who is this for?

The Vidcode Creative Coding 3 course is built for high school students who have completed Creative Coding 1 and 2. 

 

Unit Theme Code Focus Time
CC3.1 Make a Plan! Object-Oriented Programming Object constructors 10 hours
CC3.2 Make it Work! Data Structures Objects, arrays 10 hours
CC3.3 Make Your Mark! Algorithms and Data Structures Nested loops and conditionals, data 10 hours
CC3.4 Make Up Your Mind! Artificial Intelligence Decision trees, heuristics 10 hours

 

Creative Coding 3 Weekly Software Development Cycle

Weekend Homework: Over the weekend, students will work through an online tutorial as preparation for the coming week, coming in on Monday ready to share, reflect on, and learn more about what they created.
Monday Planning: Students will share and discuss what they made following the initial tutorial and plan how to extend it in a meaningful way. They will go away excited about what they're going to make and with a clear plan of how they think it will look and work.
Tuesday Development: Each Tuesday is mostly work time. Students will implement their plan from Monday, working either in the Sandbox if they are very confident, or in the tutorial itself if they need more guidance.
Wednesday User Testing: Students will test each other's programs and give suggestions. Students should potentially take about 15 minutes per project.They not only help each other and find bugs and issues, but also practice communicating about programming.
Thursday Iteration: Students will implement their plan from Wednesday. They may be extending further, fixing final bugs, or building their first extensions on the tutorial.
Friday Sharing: Students will present their final product to the class, assessing their work and giving feedback to others. Then the teacher will introduce the background information for the next week’s development cycle and set the homework.

 

Ready to join thousands of districts Already teaching with Vidcode?

 

Unit 1: Make a Plan!

In Unit 1 students are introduced to Object-Oriented Programming, a way of approaching program design that uses generalization and abstraction to make the code compact, efficient, and reusable. Students will define their own custom objects with properties and methods, and learn the syntax for instantiating and modifying them. The humble button is the subject of Unit 1: a user interface object that is the central control structure of many apps. It requires specific interactive methods and extensive testing, but is deeply customizable and reusable, giving students a new level of complexity for their final projects. 

In this unit students will use object constructors to create their own objects with properties and methods. Using objects, students will create buttons to add and remove effects from their videos.

Time: 10 hours

Unit theme: Object-Oriented Programming

Code focus: objects, object constructors,  properties, method

Essential Question: How does the design of objects contribute to good programs?

Enduring Understandings: 

  • An object is a collection of properties and methods.
  • Pseudocode has its own simplified syntax.
  • Object-oriented programming is a way of organizing code that defines objects first and says what happens to the objects later. 

Common Preconceptions: 

  • Programs are always written in the same order.
  • All ways of organizing code are equally good.
  • It doesn't matter whether other people can understand my code.
  • I can write better code alone than in a team. 

 

What students are making

 

Unit 2: The Creation Zone

Unit 2 expands on the theory of a button object to create a slider, an interactive user element that controls continuous values. Students will use mathematical modeling to make apps that respond to user input in real time, both with the mouse and the keyboard.

Building complex objects and using them in concert with nested control structures allows students to create abstractions and simulations, including a dimmer switch, a multi-button music player, and a model of animal speeds.

Time: 10 hours

Unit theme: Data Structures

Code focus: objects, arrays

Essential Question: How can computers create models with math?

Enduring Understandings:

  • Applications are usually made up of many components. 
  • Programmers define equations, and computers solve them.
  • Any relationship between two values can be defined mathematically or logically.

Common Preconceptions:    

  • Math is about solving equations.
  • I won't ever have to use math in my job.
  • Longer programs are better.
  • I don't need to go back and read my old programs.

 

What students are making

 

Unit 3: Make Your Mark!

In Unit 3, students dive deep into algorithms and data structures. They start by comparing generalized algorithms that fill a space of arbitrary dimensions, and finish by making a data visualization app that gathers information from users and updates its display in real time.

Students will be guided through the process of creating computational artifacts that have a positive impact on others, communicating information that brings people together, or solving problems in the real world.

Time: 10 hours

Unit theme: Algorithms and Data Structures

Code focus: nested loops and conditionals, data

Essential Question: 

  • How can algorithms be designed to be more efficient?
  • How do programs store data?

Enduring Understandings:

  • Objects are data structures.
  • There are many ways to structure data, and some are better than others.
  • There are many algorithms to solve the same problem, and some are better than others.
  • A good algorithm is both fast and accurate. 

Common Preconceptions:

  • All algorithms are basically the same.
  • Data is just variables. 
  • Arrays are the only way to store data.
  • I can't handle lots of data. 


What students are making

 

Unit 4: Make Up Your Mind!

Unit 4 introduces students to Artificial Intelligence, the capacity for computers to make independent decisions. Students build a binary decision tree to help them decide what to have for dinner, create a cheat-proof math quiz for their peers that randomizes the questions, and use heuristics, or rules of thumb, to make Amazon-style suggestions for what movies users might like.  

Working in teams of two or more, students move through the design process just like real engineers, gathering requirements, prototyping, user testing, and iterating.

Time: 10 hours

Unit theme: Artificial Intelligence

Code focus: decision trees, heuristics

Essential Question: How do computers make choices? 

Enduring Understandings: 

  • Programmers combine sequencing, iteration, selection, and data to get computers to produce solutions to problems.
  • Encapsulating often-used actions into functions and methods can make your code shorter and easier to understand. 

Common Preconceptions:

  • Computers learn from experience.
  • It's easy to get computers to make good choices.
  • People always accept the choices made by a computer.
  • There is a solution to every problem.
  • It doesn't matter how long it takes a computer to find an answer.


What students are making

 

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