- Semantic markup
- HTML standards mode and quirks mode
- HTML fundamentals
- Classes and IDs
- CSS fundamentals
- Selectors
- Resets and normalizers
- The box model
border-box
- Mobile design principles
- Desktop design principles
- JavaScript fundamentals
- Variables and functions
- Data structures
- Object-oriented JavaScript
- First-class functions
- Scopes and closures
- Types and grammar
- Node.js basics
- Test-driven JavaScript
- Version control
- How the Web Works
- HTTP actions
- Request/response headers
- Browser Events
- Prototypal inheritance in JavaScript
- AJAX
- Client-side debugging strategies
- User research
- UX fundamentals
- UI prototyping
- UI architecture
- Usability and accessibility
- jQuery fundamentals
- jQuery UI
- HTML templating (e.g. Handlebars, etc.)
- Front-end Build Tools and Workflows
- Intermediate CSS
- Floats
- Clearing techniques
- Writing efficient CSS
- CSS transitions and animations
- Translations
- CSS preprocessors: SASS, LESS, and Stylus
- Progressive enhancement (and graceful degradation)
- Asynchronous JavaScript
- Callbacks
- Promises
- Functional JavaScript
- Partial application
- Currying
- Immutable data
- Localization and internationalization
- Responsive design, media queries, and breakpoints
- CSS frameworks (e.g. Bootstrap, Foundation, Pure, Skeleton)
- CSS methodologies
- OOCSS
- BEM
- SMACSS
- cookie, sessionStorage, and localStorage
- HTML 5 Media APIs
- Canvas
- Web Audio
- Video
- WebRTC
- Flexbox
- Image replacement techniques
- Web fonts and responsive typography
- CORS
- Web components
- WebSockets
- Cross-browser development and testing
- Front-end JavaScript Frameworks
- Mobile Development with Apache Cordova
- CDNs and Asset Delivery
- Offline Caching
- Client-side security
- Data visualization wit D3
- Scalable Vector Graphics
- Styling SVG
- Limits of SVG
- Client-side performance