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).