Please enable JavaScript to use CodeHS

Web Design and Development

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.

Objective

Students will be able to:

  • Identify the purpose and applications of HTML
  • Create their first simple web page
Description

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

Objective

Students will be able to:

  • Discern the various parts of an HTML page
  • Create fully formed HTML pages
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.

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
Description

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

Objective

Students will be able to:

  • Add and utilize hyperlinks on their webpages
Description

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

Objective

Students will be able to:

  • Embed an image in HTML
Description

In this lesson, students will learn what copyright laws are and how to avoid copyright infringement. They will explore why copyright laws are important and how they protect the creators. They will practice finding and citing online images.

Objective

Students will be able to:

  • Explain what copyright laws are and why they are important
  • Find images they are legally allowed to use in their projects
  • Accurately attribute images they find and want to use
Description

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

Objective

Students will be able to:

  • Incorporate different kinds of lists to their web pages
  • Understand the differences between unordered lists and ordered lists.
Description

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

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
Description

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

Objective

Students will be able to:

  • Understand how to apply styling to HTML tags
  • Apply HTML styling to make their web pages more visually appealing and unique
Description

In this lesson, students will dissect how colors are represented on a webpage. They will learn about how red, green, and blue are mixed to create colors, and how the levels of red, green, and blue are specified using RGB values and hex values.

Objective

Students will be able to:

  • Explain how colors are created on webpages
  • Create their own colors by mixing red, green, and blue
  • Make use of the color wheel to choose coordinating colors for their webpages
Description

This lesson is a summative assessment of the unit’s learning objectives.

Objective
  • Assess student achievement of the learning goals of the unit
Description

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

Objective

Students will be able to:

  • Describe how CSS adds styling to HTML pages
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.

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

Objective

Students will be able to:

  • Use CSS Class selectors to apply CSS styling to all HTML units that share a specified class
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.

Objective

Students will be able to:

  • Use CSS Selectors by ID to select a single element to format on a webpage
Description

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

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
Description

In this lesson, students complete a summative assessment of the unit’s learning objectives.

Objective

Students will be able to:

  • Prove their knowledge of CSS styling through a multiple choice quiz
Description

In this lesson, students will preview some of the advanced HTML/CSS features they will be learning how to use in this module!

Objective

Students will be able to:

  • Reflect on what they have learned so far in this course
  • Preview what they will learn in the advanced HTML/CSS module
Description

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

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
Description

In this lesson, students will learn how to embed content from other websites into their own websites using IFrames.

Objective

Students will be able to:

  • Define what an IFrame is, and explain how they might be used in websites
  • Use IFrames to embed other websites into their own website
Description

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

Objective

Students will be able to:

  • Use divs to group and style multiple elements at once
Description

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

Objective

Students will be able to:

  • Use the <span> tag to style multiple elements of inline text
Description

In this lesson, students learn about HTML5 semantic tags and create web pages that leverage these tags to enhance the structure of their HTML documents.

Objective

Students will be able to:

  • Identify HTML5 semantic tags primarily used for page layout and structure
  • Describe the benefits of using semantic tags in HTML documents
  • Create web pages using semantic tags aligned with best web design practices
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.

Objective

Students will be able to:

  • Combine CSS selectors to style multiple selectors, parent/child selectors, and specific combinations of classes, ids, and tags
Description

In this lesson, students will learn the Don’t Repeat Yourself (DRY) principle.

Objective

Students will be able to:

  • Articulate the importance of the DRY Principle
  • Cut down on the amount of repeated code in their programs by combining selectors and using divs
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.

Objective

Students will be able to:

  • Use special selectors to style their website as the user interacts with elements on the page
Description

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

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

In this lesson, students will learn how they can use documentation as a resource to learn more about HTML and CSS features.

Objective

Students will be able to:

  • Use documentation to explore HTML and CSS features that are not covered in the course
Description

In this lesson, students will learn how to use the inspector tool to explore and modify code inline.

Objective

Students will be able to:

  • Use the inspector tool to modify styling and content inline
Description

In this lesson, students will learn what the box model is and how they can use it to add a border around elements and to define space between elements.

Objective

Students will be able to:

  • Name the different components that wrap around an HTML element
  • Modify the margins, borders, and padding of an HTML element
Description

In this lesson, students will learn how to include images in their programs and manipulate their pixels using WebImage. Students will learn how image filters manipulate stored pixel data.

Objective

Students will be able to:

  • Include images in their programs
  • Manipulate the stored pixel data arbitrarily
Description

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

Objective

Students will be able to:

  • Add simple animations to their websites, such as transitions, transition delays, color changes, size changes, and rotations
Description

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

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
Description

In this lesson, students complete a summative assessment of the unit’s learning objectives.

Objective

Students will be able to:

  • Prove their knowledge of advanced HTML and CSS styling through a multiple choice quiz
Description

In this lesson, students will learn about various software development life cycle models and what tools can be used at different stages of the process.

Objective

Students will be able to:

  • Identify different software development models
  • Describe tools used during the software development life cycle
  • Explain how tools can help developers collaborate
Description

This project is meant to be a challenge that touches multiple concepts from the course to produce a digital artifact. In this Practice PT, students will be developing their first digital artifact: their very own website! This website will start off as their own personal homepage, and as students progress through the course, they will keep adding links to their favorite projects. By the end of the course this homepage will serve as their own personal portfolio website showcasing their work!

Objective

Students will create their own website from scratch, hosted at their own custom domain.

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 will learn about web development stacks and create basic server-side programs.

Objective

Students will be able to:

  • Identify essential components of a web stack
  • Identify different web development stacks
  • Use a server-side language to create a program
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 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 will look at what it means to make a website accessible for different users with different needs.

Objective

Students will be able to:

  • Identify common web accessibility issues.
  • Use basic WCAG measures to remedy common web accessibility issues.
  • Describe the impact of web accessibility issues on users with disabilities.
Description

In this lesson, students will learn about connection and content web security. They’ll also practice basic web security techniques to prevent cross-site scripting.

Objective

Students will be able to:

  • Identify intranet vulnerabilities
  • Reflect on data breaches and ethical responsibilities
  • Use a basic method of escaping cross-site scripting
Description

In this lesson, students will learn about The CIA Triad. The CIA Triad is a widely-accepted security measure that should be guaranteed in every secure system. It stands for Confidentiality, Integrity, and Availability.

  • Confidentiality is the protection of information from people who are not authorized to view it.
  • Integrity aims at ensuring that information is protected from unauthorized or unintentional alteration.
  • Availability is the assurance that systems and data are accessible by authorized users when and where needed.
Objective

Students will be able to:

  • Identify what the CIA triad is and how it relates to cybersecurity
  • Identify which part of the CIA triad has been broken in a given scenario
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
Description

In this lesson, students will explore careers available in computer science and student organizations to prepare them for various technological careers. They’ll also learn how bias can affect computer programs.

Objective

Students will be able to:
- Explore different computer science careers and opportunities
- Learn how bias can affect computer programs