WEB ATELIER (UDIT) · Learning by doing, with theory, practice and shared reflection

Modern Responsive Web Design with Bootstrap: 6-Session Guide

URL: https://ruvebal.github.io/web-atelier-udit/lessons/en/bootstrap/roadmap/

📋 Table of Contents

Modern Responsive Web Design with Bootstrap: 6-Session Guide

This six-session roadmap teaches students with basic HTML/CSS knowledge how to build a modern, responsive portfolio site using Bootstrap as a learning tool for web development concepts. We combine concise theory with hands-on coding in each lesson: students learn a concept, see how Bootstrap implements it, and then practice by adding it to their site. Emphasizing a mobile-first, responsive design approach (as defined by MDN Web Docs), the course covers setup (via CDN or npm), layout grids, components, customization, interactivity, and deployment. Each session has clear objectives and ends with a short coding exercise or mini-project, reinforcing the theory with practice.

Session 1: Introduction – Responsive Design & Bootstrap Setup

Objectives

  • Learn what Bootstrap is and why it matters
  • Understand responsive web design fundamentals
  • Set up a basic HTML template with Bootstrap

Core Concepts

Introduce the concept of responsive web design (RWD): web pages that adapt to different screen sizes for usability (MDN Web Docs). Explain mobile-first design (optimize for small screens first) as a key methodology (Bootstrap Docs). Present Bootstrap as a popular open-source framework: “the world’s most popular framework for building responsive, mobile-first sites” (Bootstrap Docs).

Discuss the HTML5 boilerplate: <!DOCTYPE html>, the <meta name="viewport"> tag for mobile scaling (required for Bootstrap) (Bootstrap Docs), and how Bootstrap normalizes styles across browsers. Show how to include Bootstrap in a page, either by linking its CSS/JS from a CDN (jsDelivr) or by installing it via npm (Node.js package) (Bootstrap Download).

Topics Covered

  • Responsive design principles
  • Mobile-first strategy
  • HTML5 doctype and viewport meta tag
  • Bootstrap overview and installation methods

Hands-on Practice

Create index.html with Bootstrap linked. Test resizing the browser to see the basic responsive behavior (the heading and paragraph adjust on different widths). This sets up the project portfolio page.

Session 2: Layout – Bootstrap’s Grid and Containers

Objectives

  • Understand Bootstrap’s 12-column grid
  • Learn about containers, rows, and breakpoints
  • Build responsive layouts

Core Concepts

Dive into Bootstrap’s grid system: a mobile-first flexbox grid with 12 columns and multiple breakpoints (Bootstrap Grid). Explain how .container (or .container-fluid) centers content, and .row wraps columns with gutters. Columns like .col-sm-4 or .col-md-6 specify how many columns an element spans at each breakpoint. Emphasize that Bootstrap’s grid is flexbox-based and fully responsive (Bootstrap Grid).

Use examples: e.g. three <div class="col"> inside a row auto-stack on small screens and sit side-by-side on larger screens. Show how to use predefined classes (e.g. .col-4) or let columns auto-size. Discuss the concept of breakpoints (xs, sm, md, lg, xl) for responsive tiers (Bootstrap Grid).

Topics Covered

  • .container vs .container-fluid
  • .row and .col-* classes
  • Breakpoints (xs/sm/md/lg/xl)
  • Columns adding up to 12

Hands-on Practice

Build a simple portfolio section with Bootstrap grid. For example, create a row with three columns (<div class="col-sm-4">) each containing a card or image. Resize the viewport to observe how columns stack on narrow screens. This reinforces how to structure content responsively using Bootstrap’s grid.

Session 3: Bootstrap Components – Navbar, Cards, and Forms

Objectives

  • Use Bootstrap’s prebuilt components (navigation bar, cards, buttons, etc.)
  • Understand how classes simplify UI development

Core Concepts

Introduce common Bootstrap components and utility classes. For example, add a navbar at the top: explain the <nav class="navbar navbar-expand-lg"> syntax and how to make it collapsible on small screens. Show cards for portfolio items: <div class="card"> with image, title, and text. Highlight how Bootstrap’s CSS classes (e.g. btn btn-primary) style elements consistently without writing new CSS. Emphasize using semantic HTML (sections, headings, lists) wrapped in Bootstrap classes. Also cover a basic responsive image (<img class="img-fluid">).

Topics Covered

  • Navbar creation and mobile collapse
  • Bootstrap card layout
  • Responsive images (.img-fluid)
  • Buttons and typography classes

Hands-on Practice

Build the portfolio homepage content. For example, create a header, an “About Me” text block, and a grid of project cards with images and captions using Bootstrap classes. Use the navigation bar component to navigate between “Home” and “Portfolio” pages (the links can be anchors in the one-page prototype). This session applies theory by coding a visible layout and components on the site.

Session 4: Theming and Customization – CSS and Sass

Objectives

  • Learn how to customize Bootstrap styles
  • Introduce Bootstrap theming and use of custom CSS or Sass variables

Core Concepts

Explain that Bootstrap can be customized by overriding CSS or by using its Sass source. First, show how to override styles by adding a custom <style> after Bootstrap or a separate CSS file: e.g., change the navbar color or card header color with simple CSS selectors. Then introduce the idea of using npm & Sass: after installing Bootstrap via npm install bootstrap, you can customize Sass variables (like $primary) and recompile Bootstrap’s CSS. Mention that tools like npm, Sass compilers, and build scripts help in professional workflows (Bootstrap Docs). Discuss methodology: choose a few theme colors and fonts, modify Bootstrap variables (or use CSS classes/utilities) to change the look.

Topics Covered

  • Overriding Bootstrap defaults with custom CSS
  • Using Sass variables
  • Package managers (npm/yarn) for Bootstrap
  • Introduction to build tools (optional)

Hands-on Practice

Style the portfolio: override Bootstrap’s default primary color and link color, adjust font sizes, or switch to a dark navbar. If using npm, show a quick example of importing Bootstrap in a simple build (or show relevant docs). Emphasize safe practices: always include the HTML structure, then add new CSS to tweak styling. This teaches the student how real projects balance framework defaults with custom design.

Session 5: Interactivity – Bootstrap’s JavaScript Components

Objectives

  • Add interactivity using Bootstrap’s built-in JS components
  • No coding in JS needed, using data attributes

Core Concepts

Many Bootstrap features (modal dialogs, dropdowns, carousel sliders, collapse menus) require JavaScript. Explain that Bootstrap v5 bundles its JS in bootstrap.bundle.min.js (which includes Popper for tooltips) (Bootstrap Docs). In practice, show how adding data-bs-toggle="collapse" on the navbar and linking the JS makes the mobile menu work without writing any actual JS code. Demonstrate a simple modal popup: an “About Project” button that triggers a modal with project details. Show a carousel slideshow for images. Emphasize that Bootstrap’s interactive components often just need specific data- attributes and the scripts included.

Topics Covered

  • Including Bootstrap’s JS bundle
  • Data attributes (e.g. data-bs-toggle)
  • Examples: navbar collapse, modal, carousel, tooltips

Hands-on Practice

Enhance the portfolio with one interactive element. For example, create a button on a project card that opens a Bootstrap modal with more information, or add a carousel of screenshots. Confirm that the JS bundle is loaded (via CDN or local) and that components respond. This demonstrates the practical effect of including Bootstrap’s JavaScript.

Session 6: Final Project – Bringing It All Together

Objectives

  • Consolidate learning by finishing the portfolio site
  • Ensure responsiveness and good practice
  • Prepare for deployment

Core Concepts

Review all concepts by polishing the portfolio. Ensure all pages are responsive on mobile, tablet, and desktop. Conduct a “checkpoint” where students test their site at different screen widths (mobile emulator or resizing) to catch layout issues. Emphasize semantic HTML (use headings, nav, footer, etc.) and accessibility (alt attributes on images). Discuss deployment: one can simply upload the HTML/CSS/JS to a web host or GitHub Pages. If using a Node setup, mention building/compiling CSS, but keep it simple.

Topics Covered

  • Responsive testing
  • SEO-friendly elements (title, meta description)
  • Final cleanup of code
  • Mobile-first workflow (start coding for small screens, then adjust for larger ones)

Hands-on Practice

Present the finished portfolio project. Students should have a functional multi-section site (Home, About, Portfolio items, Contact). Optionally, add a polished touch like a fixed navbar or footer. As a capstone, let students share their screens and discuss challenges (peer learning).

Pedagogical Approach

Throughout all sessions, reinforce progressive enhancement and iterative development: start simple, then add complexity. The methodology is project-based learning: theory segments are immediately followed by hands-on coding, so students build real artifacts (their portfolio) as they learn. Bootstrap’s comprehensive documentation (Bootstrap Docs) and MDN guides (MDN Web Docs) are used as authoritative references to ground the lessons.

By the end of Session 6, students will have a modern, responsive site and a solid understanding of Bootstrap’s core concepts and how they relate to standard web development practices.

References & Further Reading

Official Documentation

Key Resources

Additional Learning