Experiential Lab in Software Engineering

An experiential learning opportunity offered at the the Department of Computer Science at Boston University.

Overview

The Experiential Lab in Software Engineering (ELSE) at Boston University is an experiential learning program within the Department of Computer Science primarily intended for students at the undergraduate level and open to any interested undergraduates (select Master’s level students may also be considered).

The purpose of the program is to complement both the computer science curriculum and the many internal and external internship opportunities available to students. The program allows students to apply concepts, methods, and skills developed in other courses while working on projects and case studies motivated or inspired by real-world projects within an industry-standard software engineering environment and under the guidance of experienced instructors and professional research software engineers.

Course Offering

The first iteration of the course that acts as the primary component of the ELSE program is taking place during the Fall 2017 semester (CAS CS 491 L1). The course will focus on four software engineering projects drawn from or based upon those encountered or being undertaken at the Software & Application Innovation Lab (SAIL). Professional software engineers from SAIL will also be offering guest lectures, and students will have a chance to interact with the faculty and researchers with whom SAIL collaborated or collaborates on these efforts.

Course projects and instructional presentations are organized to expose students to issues, concepts, methods, techniques, technologies, and methodologies relevant to modern software engineering practice. Some of these are enumerated below.

  • Project planning and budgeting, as well as project management.
  • Application Lifecycle Management (ALM) and Software Development Life Cycle (SDLC), including relevant terminology, workflows, and software suites.
  • Assembly of project documentation appropriate for various scenarios (commercial software, research software, and so on).
  • Scalability through distributed and cloud computing technologies, tools, and platforms.
  • Integration of User Experience (UX) and User Interface (UI) design into software engineering workflows.
  • Quality assurance, testing, specification, verification, and validation of software artifacts.
  • Continuous integration and continuous deployment.
  • Modes of engagement with the open source community.
  • Effective planning, development, release, and deployment of open source software packages (including package repositories and content distribution networks).
  • Intellectual property and software licensing (including open source licenses).

Acknowledgments

This experiential program is being offered at Boston University thanks to the support and cooperation of the Department of Computer Science, the Hariri Institute for Computing, and the Software & Application Innovation Lab.

To request further information or make other inquiries, please contact Andrei Lapets (lapets@bu.edu), Associate Professor of the Practice in Computer Science.