↑ COP4813

Course & Module Outcomes

Module Topics & Outcomes

Module 1: 1 -GitHub, GitHub Pages, and Your First HTML Page

Topics

Introduction to GitHub

Students learn what GitHub is and why it is used, then create and configure a personal GitHub account to get started.

Creating Your First Repository

Students set up a new GitHub repository, understanding key concepts such as repository naming, visibility settings, and initialization options.

Deploying with GitHub Pages

Students enable GitHub Pages on their repository and learn how GitHub automatically publishes web content to a live public URL.

Writing Your First HTML Document

Students create a basic 'Hello, World' HTML file, learning the essential structure of an HTML document including the doctype, head, and body elements.

Publishing and Verifying Your Live Page

Students commit and push their HTML file to GitHub and confirm the page renders correctly on their GitHub Pages site.

Understanding the Development Workflow

Students review the end-to-end workflow of editing code locally, committing changes to GitHub, and seeing updates reflected on a live site, establishing the pattern used throughout the course.

Learning Outcomes

MO1
Create and configure a personal GitHub account, repository, and GitHub Pages deployment to host a live public website
Level: ApplyType: BehavioralCourse mapping: —
MO2
Construct a valid HTML document by correctly combining the DOCTYPE declaration, root html element, head element, and body element into a complete minimal structure
Level: ApplyType: CognitiveCourse mapping: —
MO3
Execute the commit–push–verify workflow to publish an HTML file to GitHub Pages and confirm it renders correctly at the assigned public URL
Level: ApplyType: BehavioralCourse mapping: —
MO4
Explain how GitHub Pages automatically detects pushed changes, rebuilds the site, and serves content at a URL derived from the GitHub username and repository name
Level: UnderstandType: CognitiveCourse mapping: —
MO5
Differentiate the three stages of the local-to-live pipeline — local editing, committing and pushing to GitHub, and live site publication — and identify the role each stage plays in the recurring course development workflow
Level: AnalyzeType: CognitiveCourse mapping: —

Module 2: 2 -Building a Full Website with HTML, Images, and Links

Topics

Introduction to Multi-Page Website Structure

Overview of how a full website is organized across multiple pages and the role HTML plays in defining that structure. Establishes the foundational concepts learners will build upon throughout the module.

Semantic HTML Markup

Explores the use of semantic HTML elements such as header, nav, main, section, article, and footer to create meaningful, accessible page structure. Explains why semantic markup matters for readability and search engines.

Embedding Images in HTML

Covers how to use the img element to embed images into web pages, including setting source paths, alt text, and sizing attributes. Addresses best practices for image formats and accessibility.

Creating Hyperlinks

Introduces the anchor element and its attributes for building both internal and external hyperlinks. Explains how linking connects pages and resources to form a cohesive website experience.

Internal Navigation and Site Linking

Focuses on constructing internal links that connect multiple pages within the same website, including relative file paths and navigation menus. Demonstrates how to build a consistent navigation structure across pages.

External Links and Web Resources

Explains how to link to external websites and online resources using absolute URLs and appropriate anchor attributes such as target and rel. Covers security and user experience considerations for external linking.

Bringing It All Together: Building a Complete Website

Guides learners through assembling all module concepts into a cohesive, functional multi-page website using semantic markup, images, and links. Reinforces skills through a practical, end-to-end project exercise.

Learning Outcomes

MO1
Construct a multi-page HTML website using semantic elements such as header, nav, main, section, article, and footer to create a meaningful, accessible page structure
Level: CreateType: CognitiveCourse mapping: —
MO2
Embed images in HTML pages by correctly applying the src, alt, width, and height attributes in accordance with accessibility best practices
Level: ApplyType: BehavioralCourse mapping: —
MO3
Implement internal hyperlinks using relative file paths and external hyperlinks using absolute URLs, including appropriate use of the target and rel attributes for security and user experience
Level: ApplyType: BehavioralCourse mapping: —
MO4
Organize a multi-page website's file and folder structure and build a consistent navigation menu that correctly links all pages using the anchor element within a nav element
Level: CreateType: CognitiveCourse mapping: —
MO5
Evaluate a completed multi-page website by testing all internal links, external links, and embedded images to verify they function correctly and meet accessibility standards
Level: EvaluateType: CognitiveCourse mapping: —

Module 3: 3 -Styling Web Pages with CSS

Topics

Introduction to CSS

An overview of what Cascading Style Sheets are and how they work alongside HTML to control the visual presentation of web pages. Students learn how to link CSS to their HTML documents using inline, internal, and external stylesheet methods.

CSS Selectors

Exploration of the different types of CSS selectors including element, class, ID, and combination selectors used to target specific HTML elements. Students learn how specificity and the cascade determine which styles are applied when rules conflict.

The Box Model

A foundational concept explaining how every HTML element is treated as a rectangular box with content, padding, border, and margin areas. Students learn how to manipulate these properties to control spacing and sizing of elements on a page.

Typography and Colors

Covers CSS properties for styling text including font family, size, weight, line height, and text alignment to improve readability. Students also learn how to apply colors using named values, hex codes, and RGB notation to both text and backgrounds.

CSS Layout Techniques

An introduction to modern CSS layout methods including Flexbox and basic positioning to arrange elements on a web page. Students apply these techniques to structure multi-section page layouts in a visually organized way.

Styling a Complete Web Page

Students bring together all learned CSS concepts to apply cohesive visual styling to the websites they built in the previous lesson. This capstone topic reinforces best practices for writing clean, organized CSS stylesheets.

Learning Outcomes

MO1
Distinguish between inline, internal, and external CSS methods and select the appropriate method based on the scope and scale of a given styling scenario
Level: AnalyzeType: CognitiveCourse mapping: —
MO2
Construct CSS rules using element, class, ID, and combination selectors, applying knowledge of specificity and the cascade to resolve conflicting style declarations
Level: ApplyType: CognitiveCourse mapping: —
MO3
Manipulate the CSS box model properties — content, padding, border, and margin — to control the spacing and sizing of elements on a web page
Level: ApplyType: BehavioralCourse mapping: —
MO4
Arrange page elements into multi-section layouts by applying Flexbox alignment properties and CSS positioning techniques
Level: ApplyType: BehavioralCourse mapping: —
MO5
Produce a fully styled, cohesive web page by integrating typography, color, layout, and box model styles within a single organized external stylesheet
Level: CreateType: BehavioralCourse mapping: —

Module 4: 4 - Introduction to the Document Object Model (DOM)

Topics

What is the DOM?

Introduces the Document Object Model as a concept, explaining what it is and why it exists as a bridge between HTML documents and JavaScript programming.

How Browsers Parse HTML into the DOM

Explains the process browsers use to read HTML markup and construct the DOM tree, including how the parsing sequence affects script execution and page rendering.

The DOM Tree Structure

Describes the hierarchical node-based structure of the DOM, covering the relationships between document, element, text, and attribute nodes.

Selecting DOM Elements

Covers the core vanilla JavaScript methods used to query and retrieve elements from the DOM, such as getElementById, querySelector, and querySelectorAll.

Manipulating DOM Elements

Explains how to read and modify element properties, attributes, styles, and text content using JavaScript once elements have been selected.

Adding and Removing DOM Nodes

Demonstrates how to dynamically create new elements, insert them into the DOM tree, and remove existing nodes using JavaScript methods.

Learning Outcomes

MO1
Describe the DOM as a hierarchical tree structure and explain how browsers parse HTML markup to construct it, including the roles of the document, element, text, and attribute nodes
Level: UnderstandType: CognitiveCourse mapping: —
MO2
Differentiate between parser-blocking scripts and scripts using the defer and async attributes, and predict how script placement affects DOM construction and page rendering
Level: AnalyzeType: CognitiveCourse mapping: —
MO3
Apply getElementById, querySelector, and querySelectorAll to locate specific elements within a DOM tree and verify selection results to prevent null-reference errors
Level: ApplyType: BehavioralCourse mapping: —
MO4
Manipulate selected DOM elements by modifying text content, HTML attributes, inline styles, and CSS classes using JavaScript DOM properties and methods such as the classList API and getComputedStyle
Level: ApplyType: BehavioralCourse mapping: —
MO5
Construct dynamic page content by creating new elements with createElement(), inserting them using appendChild(), insertBefore(), or insertAdjacentElement(), and removing or replacing existing nodes using remove(), replaceWith(), or cloneNode()
Level: CreateType: BehavioralCourse mapping: —

Module 5: 5 - Creating and Validating HTML Forms

Topics

Introduction to HTML Forms

An overview of the purpose and structure of HTML forms, including the form element and how forms facilitate user input and data submission.

Form Input Types and Elements

Exploration of the various HTML input types such as text, email, password, checkbox, radio, and more, along with select menus and text areas.

Labels, Fieldsets, and Form Accessibility

How to use label elements, fieldsets, and legends to create well-structured, accessible forms that improve usability for all users.

Form Submission and Action Attributes

Understanding how forms submit data using the action and method attributes, including the difference between GET and POST methods.

Built-in HTML5 Validation Attributes

Using native HTML5 attributes such as required, minlength, maxlength, pattern, and type constraints to validate form input without JavaScript.

Custom JavaScript Form Validation

Implementing custom client-side validation logic using JavaScript to handle complex validation scenarios beyond what HTML5 attributes provide.

Validation Feedback and User Experience

Techniques for displaying meaningful error messages and visual feedback to guide users in correcting invalid form input effectively.

Learning Outcomes

MO1
Construct a well-structured HTML form using appropriate input types, labels, fieldsets, and legends that meet semantic and accessibility standards
Level: ApplyType: BehavioralCourse mapping: —
MO2
Differentiate between the GET and POST submission methods and select the appropriate method and encoding type for a given form use case
Level: AnalyzeType: CognitiveCourse mapping: —
MO3
Implement client-side form validation using HTML5 built-in attributes such as required, pattern, minlength, maxlength, min, and max to enforce data integrity without JavaScript
Level: ApplyType: BehavioralCourse mapping: —
MO4
Develop custom JavaScript validation logic using the Constraint Validation API and event listeners to handle complex validation scenarios and display accessible inline error messages
Level: CreateType: BehavioralCourse mapping: —
MO5
Evaluate validation feedback strategies — including real-time feedback, on-submit feedback, ARIA error announcements, and summary error lists — based on their usability and accessibility trade-offs
Level: EvaluateType: CognitiveCourse mapping: —

Module 6: 6 - External Libraries: jQuery, Bootstrap, and Plotting Tools

Topics

Introduction to External Libraries and CDN Integration

Explains what third-party libraries are and how to load them into a web project using Content Delivery Networks (CDNs). Covers the benefits of CDNs over local file hosting and the basic script/link tag syntax required.

jQuery Fundamentals and DOM Manipulation

Introduces jQuery as a JavaScript library that simplifies HTML document traversal, event handling, and DOM manipulation. Demonstrates core jQuery syntax and practical examples for selecting and modifying page elements.

jQuery Events and Dynamic Interactivity

Explores how jQuery handles user events such as clicks, form submissions, and keyboard input to create dynamic, interactive web pages. Covers event binding methods and common interaction patterns.

Bootstrap Layout and the Responsive Grid System

Introduces Bootstrap's grid system and how it enables responsive, mobile-first page layouts using rows and columns. Explains breakpoint classes and how to structure content that adapts across screen sizes.

Bootstrap UI Components and Styling

Covers ready-made Bootstrap components such as navigation bars, buttons, modals, and cards that accelerate UI development. Demonstrates how to apply Bootstrap utility classes to achieve consistent, professional styling.

Data Visualization with Chart.js

Introduces Chart.js as a plotting library and explains how to integrate it via CDN to render interactive charts on an HTML canvas element. Covers creating common chart types such as bar, line, and pie charts using JavaScript data configuration.

Combining Libraries in a Complete Web Project

Demonstrates how jQuery, Bootstrap, and Chart.js can be used together within a single cohesive web page to deliver layout, interactivity, and data visualization. Highlights best practices for managing multiple external dependencies without conflicts.

Learning Outcomes

MO1
Integrate jQuery, Bootstrap, and Chart.js into a web project by loading each library via CDN using the correct script and link tag syntax and proper load order
Level: ApplyType: CognitiveCourse mapping: —
MO2
Construct interactive web page behaviors by writing jQuery event handlers — including click, form submission, and keyboard events — that select and manipulate DOM elements dynamically
Level: ApplyType: BehavioralCourse mapping: —
MO3
Build responsive, mobile-first page layouts by applying Bootstrap's 12-column grid system, breakpoint classes, and UI components such as navbars, modals, and cards
Level: ApplyType: BehavioralCourse mapping: —
MO4
Produce data visualizations by configuring and rendering bar, line, and pie charts using Chart.js on an HTML canvas element with appropriate data and options objects
Level: CreateType: CognitiveCourse mapping: —
MO5
Evaluate strategies for combining multiple external libraries in a single project, identifying potential conflicts and applying dependency management best practices to resolve them
Level: EvaluateType: CognitiveCourse mapping: —

Module 7: 7 - Drawing and Graphics with the HTML5 Canvas

Topics

Introduction to the HTML5 Canvas Element

Students learn what the HTML5 Canvas element is, how to add it to a webpage, and how to access the 2D rendering context using JavaScript to begin drawing programmatically.

Drawing Basic Shapes

This topic covers how to draw fundamental shapes such as rectangles, circles, and polygons using the Canvas API's built-in methods and properties.

Working with Paths and Lines

Students explore how to create complex custom shapes and line drawings by defining paths, using moveTo, lineTo, and related methods to construct precise graphics.

Applying Colors, Styles, and Gradients

This topic introduces fill and stroke styles, including solid colors, gradients, and patterns, enabling students to add visual richness and detail to their canvas drawings.

Rendering Text on the Canvas

Students learn how to render and style text on the canvas, including setting font properties, alignment, and applying fill or stroke to textual content.

Drawing and Manipulating Images

This topic covers how to load and draw images onto the canvas using the drawImage method, including techniques for cropping and scaling image content.

Foundations of Interactive Canvas Graphics

Students are introduced to the principles of combining Canvas drawing with JavaScript events to create dynamic and interactive browser-based graphics experiences.

Learning Outcomes

MO1
Construct a functioning HTML5 Canvas setup by embedding the canvas element in a webpage, selecting it with JavaScript, and retrieving the 2D rendering context
Level: ApplyType: BehavioralCourse mapping: —
MO2
Produce canvas drawings that incorporate basic shapes, paths, text, and images by applying the appropriate Canvas API methods and styling properties, including fill and stroke styles, gradients, and drawImage
Level: ApplyType: BehavioralCourse mapping: —
MO3
Differentiate between retained-mode and immediate-mode rendering by explaining why dynamic canvas graphics require explicit clearing and redrawing in response to state changes or user input
Level: AnalyzeType: CognitiveCourse mapping: —
MO4
Build an interactive canvas application that translates mouse event coordinates to canvas space, responds to user input via event listeners, and uses requestAnimationFrame to synchronize redraws with the display refresh rate
Level: CreateType: BehavioralCourse mapping: —
MO5
Evaluate the visual and structural quality of canvas code by identifying separation of concerns across initialization, event handling, state management, and rendering responsibilities
Level: EvaluateType: CognitiveCourse mapping: —

Module 8: 8 - Introduction to JSON and Using It in the Browser

Topics

What is JSON?

An introduction to the JSON (JavaScript Object Notation) data format, its purpose, and why it is widely used for data interchange on the web.

JSON Syntax and Structure

An exploration of the rules and structure of valid JSON, including data types, objects, arrays, and formatting conventions.

Parsing JSON in JavaScript

How to convert a JSON string into a usable JavaScript object using JSON.parse(), including handling common errors.

Stringifying JavaScript Objects to JSON

How to convert JavaScript objects into JSON strings using JSON.stringify(), and when this operation is needed in web development.

Fetching JSON Data with the Fetch API

How to use the modern Fetch API to retrieve JSON data from a server or external source and process the response in the browser.

Fetching JSON Data with XMLHttpRequest

How to use the older XMLHttpRequest method to retrieve JSON data, providing context for legacy codebases and browser compatibility.

Displaying JSON Data in a Web Page

Techniques for dynamically rendering fetched JSON data in the browser by manipulating the DOM to present information to users.

Learning Outcomes

MO1
Identify the syntax rules, supported data types, and structural elements — including objects, arrays, and nested structures — that constitute valid JSON
Level: RememberType: CognitiveCourse mapping: —
MO2
Differentiate between a JSON-formatted string and a native JavaScript object, explaining how JSON.parse() and JSON.stringify() convert between the two formats
Level: AnalyzeType: CognitiveCourse mapping: —
MO3
Construct JavaScript code that retrieves JSON data from an external source using the Fetch API or XMLHttpRequest, parses the response, and handles both network and HTTP errors appropriately
Level: ApplyType: BehavioralCourse mapping: —
MO4
Compare the Fetch API and XMLHttpRequest approaches for retrieving JSON data, evaluating the trade-offs between modern promise-based syntax and legacy compatibility requirements
Level: EvaluateType: CognitiveCourse mapping: —
MO5
Produce a dynamic web page that fetches JSON data, iterates over JSON arrays, and renders the results by manipulating the DOM using both innerHTML string-building and programmatic node creation techniques
Level: CreateType: BehavioralCourse mapping: —

Module 9: 9 - Implementing Drag and Drop Interactions

Topics

Introduction to HTML5 Drag and Drop

Overview of the native HTML5 drag-and-drop API and its role in building interactive web interfaces. Covers browser support, use cases, and the foundational concepts behind draggable elements.

Making Elements Draggable

Explains how to enable drag functionality on HTML elements using the draggable attribute. Covers the setup required to prepare elements as drag sources within the DOM.

Handling the dragstart Event

Explores the dragstart event and how to use JavaScript to initialize drag operations. Covers how to store drag data using the DataTransfer object when a drag begins.

Handling the dragover Event

Covers the dragover event and how to designate valid drop targets by preventing default browser behavior. Explains how to provide visual feedback to users during an active drag operation.

Handling the drop Event

Examines the drop event and how to retrieve transferred data to complete a drag-and-drop interaction. Covers updating the DOM appropriately when an element is successfully dropped onto a target.

Building an Interactive UI Component

Brings together all drag-and-drop events and techniques to construct a fully functional interactive UI component. Students apply their knowledge to a practical project such as a sortable list or Kanban-style board.

Learning Outcomes

MO1
Identify the core events, attributes, and DataTransfer object methods that constitute the HTML5 Drag and Drop API
Level: RememberType: CognitiveCourse mapping: —
MO2
Implement dragstart, dragover, and drop event listeners using JavaScript to enable functional drag-and-drop interactions on a web page
Level: ApplyType: BehavioralCourse mapping: —
MO3
Differentiate the responsibility of each drag-and-drop event in the interaction lifecycle, including how preventDefault() designates valid drop targets and how dataTransfer transfers data between source and target elements
Level: AnalyzeType: CognitiveCourse mapping: —
MO4
Construct a fully functional interactive UI component — such as a sortable list or Kanban-style board — that integrates all drag-and-drop events, DOM updates, and accessibility enhancements
Level: CreateType: BehavioralCourse mapping: —
MO5
Evaluate a drag-and-drop implementation for usability and accessibility gaps, proposing keyboard alternatives and appropriate ARIA attributes to support assistive-technology users
Level: EvaluateType: CognitiveCourse mapping: —

Module 10: 10 - Animation Techniques in the Browser

Topics

Introduction to Browser Animation

Overview of how animations work in the browser and why they matter for user experience. Introduces the two primary approaches: CSS-based and JavaScript-driven animation.

CSS Transitions

Covers how to use CSS transitions to animate changes in element properties smoothly over time. Explores transition properties such as duration, timing functions, and delay.

CSS Keyframe Animations

Explains how to define multi-step animations using the @keyframes rule in CSS. Covers animation properties including iteration, direction, and fill modes.

JavaScript-Driven Animation with requestAnimationFrame

Introduces the requestAnimationFrame API for creating animations controlled through JavaScript. Demonstrates how to build animation loops that are synchronized with the browser's rendering cycle.

Animation Performance and Best Practices

Examines techniques for creating smooth, performant animations by minimizing layout and paint operations. Covers concepts such as compositing, GPU acceleration, and choosing the right animation approach for a given use case.

Learning Outcomes

MO1
Distinguish between CSS-based animation (transitions and keyframe animations) and JavaScript-driven animation using requestAnimationFrame, identifying appropriate use cases for each approach
Level: AnalyzeType: CognitiveCourse mapping: —
MO2
Construct CSS transitions and @keyframes animations by applying transition and animation sub-properties such as duration, timing function, delay, iteration count, direction, and fill mode
Level: ApplyType: BehavioralCourse mapping: —
MO3
Implement a JavaScript animation loop using the requestAnimationFrame API, incorporating timestamp-based updates and cancellation control to produce smooth, synchronized browser animations
Level: ApplyType: BehavioralCourse mapping: —
MO4
Evaluate animation implementations for performance by analyzing the browser rendering pipeline stages, identifying composited properties, detecting layout thrashing, and using Chrome DevTools to profile and diagnose animation bottlenecks
Level: EvaluateType: CognitiveCourse mapping: —
MO5
Apply animation best practices—including GPU-accelerated property selection, batched DOM reads and writes, and appropriate choice of CSS versus JavaScript animation—to produce smooth 60-frames-per-second web animations
Level: ApplyType: BehavioralCourse mapping: —

Module 11: 11 - Designing Mobile-Ready and Responsive Websites

Topics

Introduction to Responsive Web Design

Explore the foundational concepts of responsive web design and understand why building websites that adapt to multiple screen sizes is essential in today's multi-device landscape.

Fluid Grids and Flexible Layouts

Learn how to construct fluid grid systems using relative units that allow page layouts to scale proportionally across different screen sizes and resolutions.

Flexible Images and Media

Discover techniques for making images and other media elements resize and adapt fluidly within responsive layouts without breaking the design.

CSS Media Queries

Understand how to write and apply CSS media queries to target specific screen sizes, orientations, and device capabilities to deliver tailored styles.

Mobile-First Design Philosophy

Examine the mobile-first approach to web design, which prioritizes designing for the smallest screens first and progressively enhancing the experience for larger displays.

Viewport Configuration and Screen Sizes

Learn how to configure the viewport meta tag and manage breakpoints to ensure websites render correctly across a wide range of devices and screen dimensions.

Learning Outcomes

MO1
Explain the three core pillars of responsive web design — fluid grids, flexible images, and CSS media queries — and their roles in adapting layouts across multiple screen sizes
Level: UnderstandType: CognitiveCourse mapping: —
MO2
Construct fluid grid layouts using relative units, CSS Flexbox, and CSS Grid that scale proportionally across a continuous range of viewport dimensions
Level: ApplyType: BehavioralCourse mapping: —
MO3
Implement responsive images and media using the max-width technique, srcset attribute, picture element, and background-size property to ensure correct scaling and performance across devices
Level: ApplyType: BehavioralCourse mapping: —
MO4
Write mobile-first CSS using min-width media queries and viewport meta tag configuration to progressively enhance layouts from small screens to larger displays
Level: ApplyType: BehavioralCourse mapping: —
MO5
Evaluate the trade-offs between mobile-first and desktop-first breakpoint strategies in terms of performance, maintainability, and content prioritization
Level: EvaluateType: CognitiveCourse mapping: —

Module 12: 12 - Dynamic Objects and Controls with JavaScript and the DOM

Topics

Introduction to the DOM and Dynamic Manipulation

Introduces the Document Object Model as a programmable interface and establishes the foundation for dynamically interacting with HTML elements using JavaScript at runtime.

Creating and Inserting HTML Elements Dynamically

Covers JavaScript methods for programmatically creating new HTML elements and inserting them into the DOM at specified locations within a webpage.

Modifying Existing Elements and Their Properties

Explores techniques for reading and updating element attributes, styles, classes, and content to change the appearance and behavior of existing DOM nodes at runtime.

Removing Elements from the DOM

Explains how to programmatically remove HTML elements and their child nodes from the document, including best practices for clean and safe removal.

Adding and Managing Event Listeners

Details how to attach, configure, and remove event listeners on DOM elements to enable user interaction and respond to browser events dynamically.

Building Interactive UI Controls with JavaScript

Brings together DOM creation, modification, and event handling concepts to construct fully functional interactive user interface controls entirely through JavaScript code.

Learning Outcomes

MO1
Explain the DOM tree structure and the role JavaScript plays in accessing and modifying elements at runtime
Level: UnderstandType: CognitiveCourse mapping: —
MO2
Apply JavaScript DOM methods — including createElement(), appendChild(), insertBefore(), and remove() — to programmatically create, insert, and remove HTML elements within a webpage
Level: ApplyType: CognitiveCourse mapping: —
MO3
Manipulate existing DOM element properties, including inline styles, CSS classes via the classList API, and text or HTML content using textContent, innerText, and innerHTML
Level: ApplyType: CognitiveCourse mapping: —
MO4
Implement event listeners using addEventListener, applying event delegation patterns and proper listener removal to manage user interactions on dynamically generated elements
Level: ApplyType: BehavioralCourse mapping: —
MO5
Construct a fully functional, accessible, and reusable interactive UI control built entirely with JavaScript DOM creation, modification, and event-handling techniques
Level: CreateType: CognitiveCourse mapping: —

Module 13: 13 - Building a Browser-Embedded Game

Topics

Game Design Fundamentals

Students learn the core principles of designing a simple browser game, including defining objectives, rules, and the overall game structure before writing any code.

Canvas Drawing for Games

Students apply HTML5 Canvas drawing techniques to render game elements such as characters, obstacles, and backgrounds onto the browser screen.

Animation and the Game Loop

Students implement a continuous game loop using requestAnimationFrame to drive smooth animation and update game state on every frame.

Event Handling and Player Input

Students wire up keyboard, mouse, or touch event listeners to capture player input and translate it into meaningful in-game actions.

Game Logic and State Management

Students manage core game mechanics such as scoring, collision detection, win and loss conditions, and tracking the overall state of the game.

Integrating and Assembling the Complete Game

Students bring together all previous skills — drawing, animation, input, and logic — into a single cohesive, fully functional browser-embedded game project.

Learning Outcomes

MO1
Design a scoped browser game by defining its objective, rules, game entities, player interaction model, and overall state structure before writing any code
Level: CreateType: CognitiveCourse mapping: —
MO2
Implement a frame-rate-independent game loop using requestAnimationFrame that clears, updates, and redraws all Canvas-rendered game elements on every frame
Level: ApplyType: CognitiveCourse mapping: —
MO3
Wire keyboard, mouse, and touch event listeners to translate raw player input into in-game actions while suppressing disruptive default browser behaviors
Level: ApplyType: BehavioralCourse mapping: —
MO4
Integrate collision detection, scoring, and win/loss condition logic into the update phase of a unified game loop to produce correct gameplay state transitions
Level: AnalyzeType: CognitiveCourse mapping: —
MO5
Assemble drawing, animation, input handling, and game logic subsystems into a single cohesive, fully functional browser-embedded game that can be tested, debugged, and presented as a finished project
Level: CreateType: CognitiveCourse mapping: —

Module 14: 14 - Content Management Systems, Webmaster Roles, and Site Maintenance

Topics

Introduction to Content Management Systems

An overview of what CMS platforms are, how they function, and the role they play in modern web development. This topic establishes foundational knowledge before exploring specific platforms.

Popular CMS Platforms and Their Features

A survey of widely used CMS platforms such as WordPress, Joomla, Drupal, and others, examining their core features, ecosystems, and typical use cases. Learners will understand the strengths and limitations of each platform.

CMS vs. Custom Builds: Choosing the Right Approach

A comparative analysis of when to use a CMS versus building a custom website from scratch. This topic covers decision criteria including project scope, budget, scalability, and client needs.

The Webmaster Role and Professional Responsibilities

An exploration of the duties and expectations of a professional webmaster managing production websites. Topics include site ownership, accountability, team coordination, and day-to-day operational responsibilities.

Website Maintenance and Production Management

Best practices for keeping a live website secure, up-to-date, and performant over time. This topic covers routine maintenance tasks such as updates, backups, performance monitoring, and troubleshooting.

Client Relations and Communication

Guidance on working effectively with clients throughout the lifecycle of a website project, from requirements gathering to ongoing support. This topic addresses setting expectations, delivering updates, and managing feedback.

Learning Outcomes

MO1
Compare the core features, strengths, limitations, and appropriate use cases of major CMS platforms—including WordPress, Joomla, Drupal, Shopify, and headless CMS solutions—against custom-built websites
Level: AnalyzeType: CognitiveCourse mapping: —
MO2
Select and justify the appropriate web development approach—CMS or custom build—for a given project scenario by applying a structured decision-making framework that accounts for scope, budget, scalability, client technical capability, and security implications
Level: EvaluateType: CognitiveCourse mapping: —
MO3
Outline the day-to-day operational responsibilities of a professional webmaster, including routine software updates, backup strategies, security monitoring, performance optimization, and content auditing for a production website
Level: RememberType: CognitiveCourse mapping: —
MO4
Construct a production maintenance plan that incorporates patch management, backup and disaster recovery procedures, performance monitoring, and scheduled maintenance communication to stakeholders
Level: CreateType: BehavioralCourse mapping: —
MO5
Apply professional client communication strategies—including requirements gathering, expectation setting, progress reporting, feedback management, and conflict resolution—across the full lifecycle of a website project
Level: ApplyType: BehavioralCourse mapping: —