CS-391 S1: Spark! Software Engineering Immersion

🎓 • Boston University

Course Overview

Introductory software engineering course emphasizing practical skills in full-stack and cloud-native development. Covers frontend (React.js), backend (FastAPI), containerization (Docker, Kubernetes), and collaborative engineering workflows using GitHub. Designed to accelerate technical readiness through hands-on assignments and team projects with real infrastructure.

Teaching Impact

Spring 2024 – Spring 2025: Co-authored the course and oversaw all offerings. Recruited and mentored instructors each semester. Did not serve as primary instructor. Provided ongoing curricular guidance and operational support as part of Spark’s practicum suite.

Course introduces engineering literacy early in the undergraduate experience and expands Spark’s portfolio into foundational software immersion experiences.

Learning Objectives

By the end of this course, students will be able to:

  1. Software Literacy: Design, build, and deploy full-stack applications using industry-standard tools
  2. Collaboration: Practice agile methods and Scrum ceremonies in team-based development
  3. Infrastructure Awareness: Understand containerization, orchestration, and serverless components
  4. Code Quality: Write maintainable, testable, and well-documented code
  5. Presentation Skills: Communicate technical work effectively through live demos and video tours

Course Innovation

  • Cloud-native tech stack: Includes Docker, Kubernetes, FastAPI, and modern JS frameworks
  • Scrum-based structure: Students participate in sprint planning, standups, and retrospectives
  • Scaffolded build-up: Begins with guided assignments, culminates in independent team projects
  • Video demos: Final projects presented via narrated video walkthroughs to the Spark! community

Technologies Used

  • React.js: Frontend development
  • FastAPI: Backend web services
  • Docker/Kubernetes: Containerization and orchestration
  • GitHub: Source control and code review workflows
  • HTML/CSS: Interface layout and design
  • VS Code & Dev Tools: Local development environment