Please enable JavaScript to use CodeHS

Web Development

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.

Description

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

Objective

Students will be able to:

  • Incorporate JavaScript into their HTML pages
  • Use the console to debug scripts
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.

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
Description

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

Objective

Students will be able to:

  • Create elements using document.createElement
  • Add created elements to an existing webpage
Description

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

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
Description

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

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
Description

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

Objective

Students will be able to:

  • Appropriately use the keyword this
  • Explain the difference between how this is used with onclick and with eventListeners
Description

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

Objective

Students will be able to:

  • Create a working, clickable keyboard using only JavaScript
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.

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
Description

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

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
Description

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

Objective

Students will be able to:

  • Explain the difference between all the position attributes
  • Use position to animate elements
Description

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

Objective

Students will be able to:

  • Prove their knowledge of JavaScript in HTML through a multiple choice quiz
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.

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.
Description

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

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.
Description

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

Objective

Students will be able to:

  • Animate elements using jQuery
  • Sequentially execute animations
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.

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
Description

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

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
Description

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

Objective

Students will be able to:

  • Prove their knowledge of jQuery through a multiple choice quiz
Description

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

Objective

Students will be able to:

  • Define what a resume is and its components
  • Write a resume
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.

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
Description

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

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
Description

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

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
Description

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

Objective

Students will be able to:

  • Store data using localStorage and setItem
  • Retrieve data using localStorage and getItem
Description

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

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
Description

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

Objective

Students will be able to:

  • Create a JavaScript object
  • Store and access data from a JavaScript object
  • Explain the importance of using objects
Description

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

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
Description

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

Objective

Students will be able to:

  • Create an online survey
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.

Objective

Students will be able to:

  • Explain what Firebase is
  • Store and retrieve data using Firebase
Description

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

Objective

Students will be able to:

  • Use ref() to navigate data nodes
  • Access data nodes using the appropriate pathway
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.

Objective

Students will be able to:

  • Track click events
  • Appropriately implement the Date object class
Description

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

Objective

Students will be able to:

  • Iterate through objects using for/in
  • Iterate through Firebase objects using for/in
Description

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

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
Description

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

Objective

Students will be able to:

  • Prove their knowledge of data collection through a multiple choice quiz
Description

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

Objective

Students will be able to:

  • Describe the requirements of the data collection project
Description

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

Objective

Students will be able to:

  • Explain the purpose of user personas
  • Create a user persona for their website
Description

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

Objective

Students will be able to:

  • Create a website that collects data from users
  • Explain the way that they organized their data collections
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.

Objective

Students will be able to:

  • Provide constructive feedback to classmates
  • Collect user data
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.

Objective

Students will be able to:

  • Define behavioral and declarative data
  • Categorize their data into behavioral and declarative data
Description

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

Objective

Students will be able to:

  • Write a data report about their data collection findings
Description

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

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
Description

In this lesson, students will learn the different steps needed to host a website, either online or using a home computer.

Objective

Students will be able to:

  • Explain what it means to host a website.
  • Describe what is needed to host a website, either online or using a home computer
  • Identify the advantages and disadvantages of hosting a website online or on a home computer
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.

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
Description

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

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.
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.

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.
Description

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

Objective

Students will be able to:

  • Prove their knowledge of website hosting through a multiple choice quiz
Description

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

Objective

Students will be able to:

  • Describe the requirements of the final project
  • Effectively brainstorm using a mind-map
Description

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

Objective

Students will be able to:

  • Create a project timeline using Gantt Charts
  • Create a sitemap
  • Determine the purpose of their final project
Description

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

Objective

Students will be able to:

  • Create an innovative website that uniquely improves their community
Description

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

Objective

Students will be able to:

  • Provide constructive feedback to classmates
Description

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

Objective

Students will be able to:

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