Please enable JavaScript to use CodeHS


Web Development

Lessons

  1. Introduction to Javascript in HTML

    1. 1.1 Diagnostic Quizzes

    2. Description

      In this lesson, students will take a diagnostic assessment to determine their proficiency in HTML/CSS and Javascript. The results will help determine which module students should begin with in the Web Development course.

    3. Objective
    4. 1.2 The Script Tag

    5. Description

      In this lesson, students learn how to incorporate JavaScript into their HTML pages using the script tag.

    6. Objective

      Students will be able to:

      • Incorporate JavaScript into their HTML pages
      • Use the console to debug scripts
    7. 1.3 Using the DOM

    8. Description

      In this lesson, students learn how to modify HTML tags on a webpage using the DOM. The DOM, or Document Object Model, translates HTML files into accessible objects that can be manipulated or added to a webpage.

    9. Objective

      Students will be able to:

      • Modify existing elements on a web page using document.getElementById
      • Modify existing elements on a web page using document.getElemenyByTagName
      • Explain the purpose of the DOM, and how it is used to manipulate HTML files
    10. 1.4 Creating Elements Using the DOM

    11. Description

      In this lesson, students will learn how to create elements using the Document Object Model.

    12. Objective

      Students will be able to:

      • Create elements using document.createElement
      • Add created elements to an existing webpage
    13. 1.5 Styling Elements Using Javascript

    14. Description

      In this lesson, students learn how to style elements in HTML using JavaScript and the Document Object Model.

    15. Objective

      Students will be able to:

      • Utilize setAttribute appropriately to style elements in JavaScript
      • Distinguish between .attribute and setAttribute notation and determine the advantages and disadvantages of both
    16. 1.6 Functions in HTML

    17. Description

      In this lesson, students learn how to use functions to make their webpages more dynamic.

    18. Objective

      Students will be able to:

      • Articulate the difference between dynamic and static websites
      • Create buttons with onclick events
      • Use functions to create working, dynamic buttons
    19. 1.7 This Keyword

    20. Description

      In this lesson, students learn how to use the keyword this to pass elements as parameters in their click events.

    21. Objective

      Students will be able to:

      • Appropriately use the keyword this
      • Explain the difference between how this is used with onclick and with eventListeners
    22. 1.8 Challenge: Make a Keyboard

    23. Description

      In this lesson, students will implement the skills they’ve learned from the previous lessons to create a working, clickable keyboard.

    24. Objective

      Students will be able to:

      • Create a working, clickable keyboard using only JavaScript
    25. 1.9 Keyboard Interactions

    26. Description

      In this lesson, students learn about another event listener - keyboard interactions. Students learn how to listen for a keyboard press, and how to access information about each keyboard stroke.

    27. Objective

      Students will be able to:

      • Use keydown and keyup events to read keyboard information
      • Distinguish between key.code and key.key, and when it’s appropriate to use each
    28. 1.10 JavaScript Animations

    29. Description

      In this lesson, students learn how to animate web page elements using timers.

    30. Objective

      Students will be able to:

      • Describe what animation is, and how it works
      • Use timers to successfully animate web page elements and terminate animations
    31. 1.11 Positioning and Animations

    32. Description

      In this lesson, students learn how to use the position style in CSS to improve animations.

    33. Objective

      Students will be able to:

      • Explain the difference between all the position attributes
      • Use position to animate elements
    34. 1.12 Introduction to JavaScript in HTML Quiz

    35. Description

      In this lesson, students test their knowledge of concepts from this module with a unit quiz.

    36. Objective

      Students will be able to:

      • Prove their knowledge of JavaScript in HTML through a multiple choice quiz
  2. Using JavaScript Libraries

    1. 2.1 Introduction to jQuery

    2. Description

      In this lesson, students learn how libraries can be used to make JavaScript easier to read and write, and how they can incorporate them in their own projects.

    3. Objective

      Students will be able to:

      • Articulate what libraries in programming are, and how they are used.
      • Successfully incorporate a library into their own program.
      • Explain the limitations of “vanilla” JavaScript and how jQuery eliminates some of those limitations.
    4. 2.2 Iterating with jQuery

    5. Description

      In this lesson, students learn how to iterate through selected jQuery elements using the .each function.

    6. Objective

      Students will be able to:

      • Use the each function to iterate through selected jQuery elements and appropriately use the each function parameters.
      • Explain when each should and should not be used for any given jQuery selection.
    7. 2.3 Animations with jQuery

    8. Description

      In this lesson, students learn how to animate elements using jQuery.

    9. Objective

      Students will be able to:

      • Animate elements using jQuery
      • Sequentially execute animations
    10. 2.4 Callback Functions and Synchronization

    11. Description

      In this lesson, students learn how callback functions are used in programming to execute code segments after a particular action has been completed. Students learn how programs can execute synchronously and asynchronously, and how to use callback functions to control program execution flow.

    12. Objective

      Students will be able to:

      • Use a callback function correctly in their programs
      • Define synchronous and asynchronous, and explain how those concepts show up in computer science
    13. 2.5 Using Multiple Files in JavaScript

    14. Description

      In this lesson, students learn how to better organize their HTML files by separating their scripts into a separate js file.

    15. Objective

      Students will be able to:

      • Write js files with the correct syntax
      • Properly load js files in the correct order, and explain why the order of script loading impacts usability and performance
    16. 2.6 Using JavaScript Libraries Quiz

    17. Description

      In this lesson, students test their knowledge of concepts from this module with a unit quiz.

    18. Objective

      Students will be able to:

      • Prove their knowledge of jQuery through a multiple choice quiz
  3. Project: Build an Interactive Resume!

    1. 3.1 Creating a Resume

    2. Description

      In this lesson, students learn how to write a resume. Students will use this skill to develop an interactive resume on a website.

    3. Objective

      Students will be able to:

      • Define what a resume is and its components
      • Write a resume
    4. 3.2 Layout and Web Design Theory

    5. Description

      In this lesson, students learn about website layouts, and how to construct a website so that it is aesthetically pleasing. Students will use these concepts to evaluate the quality of formatted resumes.

    6. Objective

      Students will be able to:

      • Differentiate between different website layouts
      • Explain the importance of choosing a website layout
      • Define the Gestalt Principle, F and Z Layouts, and Visual Hierarchy and explain their use in web design
    7. 3.3 Interactive Resume Development

    8. Description

      In this lesson, students will draft their interactive resume and make changes based on constructive feedback.

    9. Objective

      Students will be able to:

      • Create a visually appealing interactive resume
      • Provide constructive feedback on a peer’s project
      • Make changes based on feedback
  4. Storing and Collecting Data

    1. 4.1 Collecting and Storing Data

    2. Description

      In this lesson, students learn about the pros and cons of data collection and the different ways that data can be stored.

    3. Objective

      Students will be able to:

      • Explain the pros and cons of data collection
      • Define browser and server storage
      • Explain the pros and cons of browser storage
      • Determine if their current browser supports local storage
    4. 4.2 Storing Data with Local Storage

    5. Description

      In this lesson, students learn how to store data using localStorage.

    6. Objective

      Students will be able to:

      • Store data using localStorage and setItem
      • Retrieve data using localStorage and getItem
    7. 4.3 Storing Data Structures with Local Storage

    8. Description

      In this lesson, students learn how to store objects and data structures in local storage using JSON.

    9. Objective

      Students will be able to:

      • Store objects and data structures in local storage using JSON.stringify
      • Retrieve objects and data structures from local storage using JSON.parse
      • Describe the use and purpose of JSON
    10. 4.4 JavaScript Objects

    11. Description

      In this lesson, students will learn how to store data using objects.

    12. Objective

      Students will be able to:

      • Create a JavaScript object
      • Store and access data from a JavaScript object
      • Explain the importance of using objects
    13. 4.5 Using Input Fields

    14. Description

      In this lesson, students learn how to use forms to collect data from users.

    15. Objective

      Students will be able to:

      • Use the form tag
      • Successfully retrieve data from a form
      • Use a variety of input tags to request data from users
    16. 4.6 Challenge: Create a Survey

    17. Description

      In this lesson, students will implement the skills they’ve learned from the previous lessons to create an online survey.

    18. Objective

      Students will be able to:

      • Create an online survey
    19. 4.7 Storing Data with Firebase

    20. Description

      In this lesson, students learn how to store and retrieve data using Firebase. Firebase is a cloud data storage system that enables programmers to save and retrieve data using only JavaScript.

    21. Objective

      Students will be able to:

      • Explain what Firebase is
      • Store and retrieve data using Firebase
    22. 4.8 Traversing Data with Firebase

    23. Description

      In this lesson, students learn how to navigate through data nodes in Firebase using ref().

    24. Objective

      Students will be able to:

      • Use ref() to navigate data nodes
      • Access data nodes using the appropriate pathway
    25. 4.9 Challenge: Collecting User Clicks

    26. Description

      In this lesson, students will implement the skills they’ve learned from the previous lessons to create a program that tracks the number of times elements are clicked.

    27. Objective

      Students will be able to:

      • Track click events
      • Appropriately implement the Date object class
    28. 4.10 For/In Loops

    29. Description

      In this lesson, students learn how to iterate through objects using the for/in loop.

    30. Objective

      Students will be able to:

      • Iterate through objects using for/in
      • Iterate through Firebase objects using for/in
    31. 4.11 Using APIs

    32. Description

      In this lesson, students learn how to request API data from a URL, and how to access that data using getJSON.

    33. Objective

      Students will be able to:

      • Explain the purpose of an API key and request one
      • Request a URL from an API database
      • Access and navigate data from a URL request using getJSON
    34. 4.12 Storing and Collecting Data Quiz

    35. Description

      In this lesson, students test their knowledge of concepts from this module with a unit quiz.

    36. Objective

      Students will be able to:

      • Prove their knowledge of data collection through a multiple choice quiz
  5. Project: Collecting Data

    1. 5.1 Define Your Product

    2. Description

      In this lesson, students are introduced to a data collection project that will require them to create a website that collects user data.

    3. Objective

      Students will be able to:

      • Describe the requirements of the data collection project
    4. 5.2 Develop Hypotheses

    5. Description

      In this lesson, students learn about user personas and how they are used by companies to make predictions about user interactions.

    6. Objective

      Students will be able to:

      • Explain the purpose of user personas
      • Create a user persona for their website
    7. 5.3 Creating Your Data Collection Website

    8. Description

      In this lesson, students will draft and complete their data collection websites.

    9. Objective

      Students will be able to:

      • Create a website that collects data from users
      • Explain the way that they organized their data collections
    10. 5.4 Collecting User Data

    11. Description

      In this lesson, students will collect data on their project websites from users, and provide feedback to classmates on the quality of their data collection process.

    12. Objective

      Students will be able to:

      • Provide constructive feedback to classmates
      • Collect user data
    13. 5.5 Analyzing User Data

    14. Description

      In this lesson, students learn about the different types of data that they can collect from users, and how they can use that to make informed decisions about their website.

    15. Objective

      Students will be able to:

      • Define behavioral and declarative data
      • Categorize their data into behavioral and declarative data
    16. 5.6 Making Decisions

    17. Description

      In this lesson, students will write up a report about their data collection findings.

    18. Objective

      Students will be able to:

      • Write a data report about their data collection findings
  6. How to Build and Maintain a Website

    1. 6.1 Choosing a Domain Name

    2. Description

      In this lesson, students will learn how to choose a meaningful and appropriate domain name for their website.

    3. Objective

      Students will be able to:

      • Register a domain name
      • Describe the components of an effective domain name
      • Evaluate the quality of a domain name
    4. 6.2 Hosting Your Website

    5. Description
    6. Objective
    7. 6.3 Using a CMS

    8. Description

      In this lesson, students will learn about web CMS providers, the different benefits each offer, and how to choose the best fit for their website.

    9. Objective

      Students will be able to:

      • Understand the pros and cons of choosing a web CMS provider vs. building from scratch with HTML/CSS
      • Identify popular web CMS providers
      • Evaluate the features and offerings of different CMS providers
    10. 6.4 What is Web Optimization?

    11. Description

      In this lesson, students will learn what web optimization and web conversion rate are why they are important and useful.

    12. Objective

      Students will be able to:

      • Explain what web optimization is and why it is important in web communications. They will also be able to explain and determine a web conversion rate.
    13. 6.5 Optimizing Web Information

    14. Description

      In this lesson, students will learn how to optimize a web site, understand how a search engine works, and use their understanding of F-pattern reading, SEO, and the Yoast tool to further optimize a site.

    15. Objective

      Students will be able to:

      • Explain the basics of optimizing a web site and make their own adjustments to their sites, when needed, to optimize for the web.
    16. 6.6 How to Build and Maintain a Website Quiz

    17. Description

      In this lesson, students test their knowledge of concepts from this module with a unit quiz.

    18. Objective

      Students will be able to:

      • Prove their knowledge of website hosting through a multiple choice quiz
  7. Final Project

    1. 7.1 Project Overview

    2. Description

      In this lesson, students are introduced to the final project, and work to brainstorm ideas for their final project innovation.

    3. Objective

      Students will be able to:

      • Describe the requirements of the final project
      • Effectively brainstorm using a mind-map
    4. 7.2 Planning Your Site

    5. Description

      In this lesson, students will plan their website using a project timeline and sitemap.

    6. Objective

      Students will be able to:

      • Create a project timeline using Gantt Charts
      • Create a sitemap
      • Determine the purpose of their final project
    7. 7.3 Creating Your Site

    8. Description

      In this lesson, students will draft and complete their final project innovation.

    9. Objective

      Students will be able to:

      • Create an innovative website that uniquely improves their community
    10. 7.4 Providing Feedback

    11. Description

      In this lesson, students will provide feedback to classmates on the quality of their final project innovation.

    12. Objective

      Students will be able to:

      • Provide constructive feedback to classmates
    13. 7.5 Presenting your Innovation

    14. Description

      In this lesson, students prepare a presentation to share their innovation and how it’s changed over time.

    15. Objective

      Students will be able to:

      • Articulate how their website has changed over time
      • Make changes to their site based on feedback
  8. HTML Bootcamp

    1. 8.1 Introduction to HTML

    2. Description

      In this lesson, students will be introduced to HTML: the language for building web pages. Students will discover why HTML is important and how it works in order to start building their own web pages.

    3. Objective

      Students will be able to:

      • Identify the purpose and applications of HTML
      • Create their first simple web page
    4. 8.2 Structure of an HTML Page

    5. Description

      In this lesson we upgrade from simple tags to full HTML documents. We learn some new tags that let us put information in different places on the web page, and we learn about the nested tree structure of an HTML document.

    6. Objective

      Students will be able to:

      • Discern the various parts of an HTML page
      • Create fully formed HTML pages
    7. 8.3 Formatting Text

    8. Description

      In this lesson, students learn about formatting tags that let them modify the appearance of text and make their web pages look clear and aesthetically pleasing.

    9. Objective

      Students will be able to:

      • Apply formatting tags in order to modify the appearance of text and make web pages look clear and aesthetically pleasing
    10. 8.4 Links

    11. Description

      In this lesson, students learn how to add hyperlinks to their web pages using the <a> tag.

    12. Objective

      Students will be able to:

      • Add and utilize hyperlinks on their webpages
    13. 8.5 Images

    14. Description

      In this lesson, students learn how to add images to their own web pages using the <img> tag!

    15. Objective

      Students will be able to:

      • Embed an image in HTML
    16. 8.6 HTML Lists

    17. Description

      In this lesson, students learn how to add lists to their web pages and practice making different kinds of lists.

    18. Objective

      Students will be able to:

      • Incorporate different kinds of lists to their web pages
    19. 8.7 HTML Tables

    20. Description

      In this lesson, students learn how to create and add tables to their web pages!

    21. Objective

      Students will be able to:

      • Create tables in their web pages
      • Explain the benefits of including tables on web pages
      • Compare various ways of displaying information and choose the appropriate format
    22. 8.8 HTML Styling

    23. Description

      In this lesson, students will use HTML styling to make their pages visually appealing and unique.

    24. Objective

      Students will be able to:

      • Apply HTML styling to make their web pages more visually appealing and unique
    25. 8.9 Introduction to CSS

    26. Description

      In this lesson, students will begin using CSS to add styling to their HTML pages.

    27. Objective

      Students will be able to:

      • Describe how CSS adds styling to HTML pages
    28. 8.10 CSS Select by Tag

    29. Description

      In this lesson, students will learn CSS superpowers! CSS tag selectors can be used to select all elements of the same kind (<table>, or <h1> for example) and give them all the same style.

    30. Objective

      Students will be able to:

      • Use CSS tag selectors to select all elements of the same kind and give them all the same style
    31. 8.11 CSS Select by Class

    32. Description

      In this lesson, students will learn how to use CSS class selectors to apply CSS styling to all HTML elements that share a specified class. This allows for more specific styling.

    33. Objective

      Students will be able to:

      • Use CSS Class selectors to apply CSS styling to all HTML units that share a specified class
    34. 8.12 CSS Select by ID

    35. Description

      Using CSS to select an element by ID helps to select a single element to format on a webpage. This is helpful when there is a need to be very specific in applying the CSS rules for the webpage.

    36. Objective

      Students will be able to:

      • Use CSS Selectors by ID to select a single element to format on a webpage
    37. 8.13 The Cascade

    38. Description

      In this lesson, students will learn how CSS rules are applied when more than one rule applies to an element.

    39. Objective

      Students will be able to:

      • Explain the order of precedence of CSS rules
      • Explain why CSS allows rules to cascade
      • Apply the order of precedence of CSS rules to achieve the desired styling of specific elements on the webpage
    40. 8.14 Multi-file Websites

    41. Description

      In this lesson, students will learn why multi-file websites are important and how they can create them.

    42. Objective

      Students will be able to:

      • Articulate why multi-page websites make sense from a user experience perspective and from a development perspective
      • Create multi-file websites that are divided for clarity and organization
    43. 8.15 Divs

    44. Description

      In this lesson, students will learn how to use divs to group and style multiple elements.

    45. Objective

      Students will be able to:

      • Use divs to group and style multiple elements at once
    46. 8.16 Spans

    47. Description

      In this lesson, students will learn how to use spans to group and style multiple elements of inline text.

    48. Objective

      Students will be able to:

      • Use the <span> tag to style multiple elements of inline text
    49. 8.17 Combining CSS Selectors

    50. Description

      In this lesson, students wlll learn how to combine CSS selectors so they can style multiple selectors and combinations, or specific parent/child selectors.

    51. Objective

      Students will be able to:

      • Combine CSS selectors to style multiple selectors, parent/child selectors, and specific combinations of classes, ids, and tags
    52. 8.18 Special Selectors

    53. Description

      In this lesson, students will learn about special selectors such as :hover and :focus, and how these selectors can be used to style elements as the user interacts with them on the page.

    54. Objective

      Students will be able to:

      • Use special selectors to style their website as the user interacts with elements on the page
    55. 8.19 Visibility

    56. Description

      In this lesson, students will learn how to use the visibility property to make elements visible or invisible on their page.

    57. Objective

      Students will be able to:

      • Use the visibility property to make elements visible or invisible on their page.
      • Articulate the difference between visibility and display properties (visibility still takes up space when it’s not visible, display does not)
    58. 8.20 Animation

    59. Description

      In this lesson, students will learn how to add simple animations to their websites.

    60. Objective

      Students will be able to:

      • Add simple animations to their websites, such as transitions, transition delays, color changes, size changes, and rotations
    61. 8.21 Interaction

    62. Description

      In this lesson, students will combine special selectors like :hover with animations to create sites that respond to the user’s actions.

    63. Objective

      Students will be able to:

      • Add simple interactions to their websites, so that parts of the website change if the user hovers or clicks on parts of the site
  9. JavaScript Bootcamp

    1. 9.1 Hello World

    2. Description

      In this lesson, students will learn how to print messages out onto the console using the Javascript command println.

    3. Objective

      Students will be able to:

      • Write a JavaScript program by typing commands with proper syntax in the start function
      • Write a program that prints out a message to the user
    4. 9.2 Variables

    5. Description

      In this lesson, students learn how to assign values to variables, manipulate those variable values, and use them in program statements. This is the introductory lesson into how data can be stored in variables.

    6. Objective

      Students will be able to…

      • Explain what variables are and what they are used for
      • Create their own variables
      • Print out the values stored in variables
    7. 9.3 User Input

    8. Description

      In this lesson, students learn how they can allow users to input information into their programs, and use that input accordingly.

    9. Objective

      Students will be able to…

      • Create programs that ask the user for input
      • Store user input in variables and print it back to the user
      • Choose the proper input function to use depending on the type of information needed
    10. 9.4 Basic Math in JavaScript

    11. Description

      In this lesson, students learn about the different mathematical operators they can use to perform mathematical computations and create useful programs that compute information for the user.

    12. Objective

      Students will be able to…

      • Describe the different mathematical operators we can use in programs
      • Create programs that use basic math to compute useful things
      • Create programs that take in user input, do simple computations with the input, and produce useful output
    13. 9.5 Booleans

    14. Description

      In this lesson, students will learn more about boolean values. Booleans refer to a value that is either true or false, and are used to test whether a specific condition is true or false.

    15. Objective

      Students will be able to…

      • Create boolean variables to represent meaningful yes/no values
      • Print out the value of a boolean variable
    16. 9.6 Logical Operators

    17. Description

      In this lesson, students will learn about logical operators. Logical operators allow students to connect or modify Boolean expressions. Three logical operators are the !, ||, && characters.

      • ! = NOT
      • || = OR
      • && = AND
    18. Objective

      Students will be able to…

      • Describe the meaning and usage of each logical operator: OR (||), AND (&&), and NOT (!)
      • Construct logical statements using boolean variables and logical operators
    19. 9.7 Comparison Operators

    20. Description

      In this lesson, students learn how to use comparison operators. Comparison operators let students compare two values.

    21. Objective

      Students will be able to…

      • Explain the meaning of each of the comparison operators (<, <=, >, >=, ==, !=)
      • Create programs using the comparison operators to compare values
      • Predict the boolean result of comparing two values
      • Print out the boolean result of comparing values
    22. 9.8 If Statements

    23. Description

      In this lesson, students learn about if statements as a way to make decisions and execute specific code depending on the validity of a condition.

    24. Objective

      Students will be able to…

      • Explain the purpose of if statements
      • Create their own if statements to selective choose which code is executed in their programs
    25. 9.9 For Loops in JavaScript

    26. Description

      In this lesson, students will learn in greater detail about for loops. For loops in Javascript are written and executed in the same manner as Karel exercises, except now students will explore modifying the initialization statement, test statement, and increment statements of the loops.

    27. Objective

      Students will be able to…

      • Create for loops in JavaScript
      • Explain the purpose of for loops
      • Utilize for loops to avoid typing out repeated code
      • Use the loop counter i inside the for loop code to do something different on each iteration
    28. 9.10 For Loop Practice

    29. Description

      In this lesson, students will learn how to create for loops to solve increasingly challenging problems by using nested for loops and branching control structures.

    30. Objective

      Students will be able to…

      • Explain the purpose of for loops
      • Create for loops to solve increasingly challenging problems
      • Create nested for loops
    31. 9.11 Random Numbers

    32. Description

      In this lesson, students will learn how randomization can enhance a program and be used in combination with various control structures.

    33. Objective

      Students will be able to…

      • Explain why random numbers are a useful part of computer programs
      • Create random values in a program
      • Utilize the DOCS for the Randomizer class in order to learn how to generate random values
    34. 9.12 While Loops

    35. Description

      In this lesson, students will explore while loops and JavaScript variables. This combines the ideas of creating variables, updating variables throughout a loop, and determining the correct ending condition.

    36. Objective

      Students will be able to…

      • Explain the purpose of a while loop
      • Create while loops to repeat code while a condition is true
      • Utilize while loops to solve new types of problems
    37. 9.13 Loop and a Half

    38. Description

      In this lesson, students will learn how to create a Loop and Half. A Loop and a Half is a specific way to write a while loop with the condition being true. Inside the loop, students create a SENTINEL value to break out of the loop whenever that condition is met, causing the loop to end.

    39. Objective

      Students will be able to:

      • Explain how the loop-and-a-half structure is different from a traditional while loop
      • Explain what an infinite loop is
      • Explain what the break statement does
      • Create programs that use the loop-and-a-half structure to repeat code until a SENTINEL is met, causing the program to break out of the loop
    40. 9.14 Functions and Parameters 1

    41. Description

      In this lesson, students learn about functions and parameters in the context of JavaScript, which builds on their prior knowledge of working with functions in Karel. This lesson focuses specifically on defining and calling functions, and passing simple, single parameters to functions.

    42. Objective

      Students will be able to…

      • Explain the purpose of functions
      • Create JavaScript functions
      • Utilize JavaScript functions to solve simple problems
      • Create functions that take in parameters as input
    43. 9.15 Functions and Parameters 2

    44. Description

      In this lesson, students will work with, define and call their own functions that take in multiple parameters as input and print out output.

    45. Objective

      Students will be able to:

      • Explain the purpose of functions
      • Create JavaScript functions
      • Utilize JavaScript functions to solve simple problems
      • Create functions that take in multiple parameters as input, and use print statements for output
    46. 9.16 Functions and Return Values 1

    47. Description

      In this lesson, students learn about return values so they can write functions that do some work and send the result back or use later in the program.

    48. Objective

      Students will be able to:

      • Explain the purpose of returning a value from a function.
      • Create functions that return values.
      • Create programs that call functions with return values and store the result for later use.
    49. 9.17 Functions and Return Values 2

    50. Description

      In this lesson, students work with and define functions with return values and more than one parameter.

    51. Objective

      Students will be able to:

      • Explain the purpose of returning a value from a function.
      • Create functions that return values.
      • Create programs that call functions with return values and use the return values to solve a higher order problem.
    52. 9.18 Local Variables and Scope

    53. Description

      In this lesson, students will explore the scoping of a variable, which is where the variable is ?defined? or where it exists.

    54. Objective

      Students will be able to:

      • Identify the scope of a variable
      • Identify which variables are in scope at a given point in a program
    55. 9.19 Intro to Lists/Arrays

    56. Description

      In this lesson, students learn about lists/arrays and how to access an element in an array with an index so they can create ordered collections of items and use them in their programs.

    57. Objective

      Students will be able to:

      • Define an array
      • Access certain elements of an array by using an index
    58. 9.20 Indexing Into an Array

    59. Description

      In this lesson, students continue to work with array indexing to get and assign array values so they can incorporate arrays/lists into their programs and handle data more efficiently.

    60. Objective

      Students will be able to:

      • Use indexing to call and assign items in an array
    61. 9.21 Adding/Removing From an Array

    62. Description

      In this lesson, students learn how to add and remove elements at the end of an array using the push and pop methods.

    63. Objective

      Students will be able to:

      • Add elements at the end of an array using the push method
      • Remove elements from the end of an array using the pop method
    64. 9.22 Array Length and Looping Through Arrays

    65. Description

      In this lesson, students will be able to get the length of an array and learn how to loop through an array so they can have more functionality with arrays in their programs.

    66. Objective

      Students will be able to:

      • Determine the length of an array using the length property
      • Use the length of an array and a for loop to loop through the elements in an array
      • Loop over an array to filter or print certain elements based on tested criteria
  10. Creating Data Visualizations

    1. 10.1 Visualizing Weather Data

    2. Description
    3. Objective
    4. 10.2 Visualizing Movie Data

    5. Description
    6. Objective
  11. Computer Science Careers