Course Outline
Foundations of Web Programming and WebAssembly
- The progression of client-side web programming
- The constraints of traditional JavaScript-based browser applications
- An introduction to WebAssembly and its place in modern web development
- Key benefits of WebAssembly:
- Enhanced performance
- Portability across platforms
- Operational efficiency
- Near-native execution speeds in browsers
WebAssembly Architecture and Core Concepts
- How the WebAssembly execution model works
- Breaking down the structure of a WebAssembly module
- The distinction between binary format and text representation
- Exploring WebAssembly modules, memory management, tables, and the execution environment
- The interplay between JavaScript and WebAssembly
Transitioning from JavaScript to WebAssembly
- The evolution of JavaScript, asm.js, and WebAssembly
- A comparison of execution models between JavaScript and WebAssembly
- Browser support requirements and runtime integration
- Invoking WebAssembly code from within JavaScript applications
Structuring WebAssembly Programs
- Identifying the key components of WebAssembly
- Utilizing functions, imports, and exports effectively
- Managing memory allocation and data exchange
- Representing bytecode using Abstract Syntax Trees (AST)
Building WebAssembly Applications
- Creating a foundational WebAssembly module
- Mastering WebAssembly instructions and syntax
- Developing modules using C and C++
- The process of compiling source code into WebAssembly format
- Embedding WebAssembly modules into web applications
WebAssembly Toolchain and Development Setup
- Configuring the necessary WebAssembly development tools
- Utilizing compilers and build systems
- Selecting appropriate editors and development environments
- Techniques for debugging WebAssembly applications
- Testing strategies and performance optimization
Advanced WebAssembly Topics
- Addressing performance-related considerations
- Strategies for optimizing WebAssembly applications
- Interacting with browser APIs
- Navigating security implications and best practices
- Exploring interoperability between WebAssembly and JavaScript
Hands-On WebAssembly Workshop
- Developing a complete WebAssembly application
- Compiling C or C++ code for browser deployment
- Integrating WebAssembly features with a web user interface
- Refining application performance through debugging and analysis
The Future of WebAssembly
- Current use cases and industry adoption trends
- Key application areas:
- Gaming
- Virtual reality
- High-performance computing
- Advanced web applications
- Emerging trends in browser-based development
Course Summary and Next Steps
- Recapping WebAssembly concepts and the development workflow
- Discussing industry best practices
- Identifying pathways for further skill development
Requirements
- Familiarity or experience with browser-based, client-side programming.
- Programming experience in C/C++.
- A curiosity about web programming technologies that extend beyond JavaScript.
Target Audience
- Web developers
- C and C++ developers
Testimonials (3)
The training helped me expand my knowledge and understanding of Burp Suite. I also realized that what I had learned through self-study was still quite limited. This training was very helpful to me as a QA because Burp Suite is a valuable tool for performing security testing and improving the overall quality of application testing. I will continue exploring this tool and learning more about its features and capabilities.
Rea Mendez - BAKAWAN Data Anallytics Inc.
Course - OWASP Top 10 2025
I really enjoyed learning about AI attacks and the tools out there to begin practicing and actively using for security testing. I took a lot of knowledge away which I didn't have at the beginning and the course met what I hoped it would be. My favorite part shown from the training was Comet Browser and was amazed at what it could do. Definitely something will be looking into more. Overall it was a great course and enjoyed learning all OWASP GenAI Top 10.
Patrick Collins - Optum
Course - OWASP GenAI Security
Hands-on, exercises, in-person helping and questioning.