Rich Media Web Application Development I


Master Web Apps: Media-Rich Design with JavaScript & a taste of React!

As an educator, I focus on equipping students with a deep understanding of modern web development tools, frameworks, and methodologies. The courses I teach blend hands-on experience with foundational concepts, ensuring students are prepared to excel in the ever-evolving tech landscape. Here’s a breakdown of the key topics covered:

Modern JavaScript Ecosystem

  • Babel & Webpack: Introduction to Babel for transpiling modern JavaScript and Webpack for bundling and optimizing assets.
  • Node.js: Building server-side applications, initializing projects, and managing dependencies using npm and package.json.
  • ES6+ Features: Deep dive into arrow functions, modules, destructuring, and the nuances of NaN, undefined, truthy, and falsy values.

TypeScript: Enhancing JavaScript

  • Introduction to TypeScript: Benefits of strong typing and the relationship between JavaScript and TypeScript.
  • Typing & Interfaces: Explicit typing for variables, functions, and parameters; leveraging interfaces and enums.
  • TypeScript in Practice: Building maintainable, error-free applications.

React: Building User Interfaces

  • Core Concepts: JSX, component-based architecture, and state management.
  • React Hooks: Practical use cases for hooks like useState and useEffect.
  • Development Tools: Exploring Vite for fast project scaffolding and development.

Advanced Front-End Concepts

  • CSS Media Queries: Responsive design techniques.
  • HTML with JavaScript: Dynamic content creation using .map() and .join().
  • Canvas API: Drawing state properties, creating paths, and transformations.
  • Web Audio Basics: Routing graphs, analyser nodes, and gain adjustments for audio-driven applications.

Data Handling & APIs

  • Fetch API: Understanding promises, asynchronous operations, and the benefits of async and await.
  • Firebase: Working with Realtime Database for structured data storage, updates, and synchronization.
  • GeoJSON & Mapbox: Visualizing geospatial data and building interactive maps.

Unix & Tooling

  • Command Line Essentials: Navigating and manipulating the file system with Unix commands.
  • Linting & Best Practices: Ensuring clean and maintainable code.

Practical Development Skills

  • Variable Scope: Understanding reference vs. value types.
  • Higher-Order & Pure Functions: Writing reusable and testable code.
  • JSON & XHR: Parsing, well-formed JSON, and XMLHttpRequest objects.

What Sets This Classes Apart

Interdisciplinary Integration: Lessons include applications in creative fields like audio processing and data visualization.

Project-Based Learning: Students create real-world applications to apply concepts in meaningful ways.

Focus on Modern Tools: Exposure to industry-standard tools like Webpack, Firebase, Mapbox, and React ensures they’re job-ready.

Syllabus: Download

Times Taught: 1

Class Reviews

  • I think that our instructor is a very well speaker. I, personally, enjoyed his zoom meetings more as I can see the board more clearly and maybe take screenshots. He is very friendly and seems to care a lot about the students. His knowledge of the subject really helps us and he shares a lot of tips and tricks which i appreciated a lot
  • Very friendly and helpful after/outside of class
  • He was very understanding and adaptive, which was very noteworthy as this class was his first time teaching. He would often adjust and work with students which was very respectable. Very good and understanding teacher.
  • I think this instructor did a good job at looking for answers or solutions whenever there was an issue.
  • Well versed in the subject, and the assignments were all good at furthering my knowledge

Official Course Description

This course provides students the opportunity to explore the design and development of media-rich web applications that utilize both static and procedurally manipulated media such as text, images, and audio. This course examines client and server-side web development and features common to such applications. Issues explored include framework characteristics, information management, presentation, interactivity, persistence, and data binding. Programming projects are required. 3 Credits.

Photo Gallery

Tagged Skills

API HTML / CSS JavaScript React