Introduction to Software Engineering (SWE201c)
Vietnamese title: Nhập môn kĩ thuật phần mềm
Credits: 3
Prerequisites: PRO192 (not applied to the BIT_AI and BA programs)

Description:
SWE201c is for people who are new to software engineering. It's also for those who have already developed software, but wish to gain a deeper understanding of the underlying context and theory of software development practices.

At the end of this course, we expect learners to be able to:

1.) Build high-quality and secure software using SDLC methodologies such as agile, lean, and traditional/waterfall.

2.) Analyze a software development team's SDLC methodology and make recommendations for improvements.

3.) Compare and contrast software development methodologies with respect to environmental, organizational, and product constraints.

Learning outcomes:
Compare and contrast software development methodologies with respect to environmental, organizational, and product constraints.
Demonstrate the ability to participate effectively in agile practices/process for software development.
Apply lean techniques / methods to software development
Comfortably and effectively participate in various techniques and processes for building secure and high quality software.

Student tasks:
Student must get the certification of Software Development Lifecycle specialization from Coursera to be accepted to the final examination

Tools:

Materials:
description: https://learner.coursera.help/hc/en-us/articles/208280036-Coursera-Code-of-Conduct
publisher: Coursera
description: https://www.coursera.org/learn/software-processes
publisher: Coursera
note: MOOC 01: Software Development Processes and Methodologies
description: https://www.coursera.org/learn/agile-software-development
publisher: Coursera
note: MOOC 02: Agile Software Development
description: https://www.coursera.org/learn/lean-software-development
publisher: Coursera
note: MOOC 03: Lean Software Development
description: https://www.coursera.org/learn/engineering-practices-secure-software-quality
publisher: Coursera
note: MOOC 04: Engineering Practices for Building Quality Software
description: https://www.coursera.org/specializations/software-development-lifecycle
publisher: Coursera
note: SPEC: Software Development Lifecycle

Assessments:
category: PE
type: Final exam
weight: 40.0
duration: 120'
grading_guide: All studied courses.
note: by Exam Board
category: TE
type: Final exam
weight: 60.0
duration: 60'
no_question: Computer gradable
knowledge_and_skill: 50
grading_guide: All studied courses. Each module of course contributes 2-3 questions.
note: by Exam Board

Schedule:
session: Specialization Introduction
Software Development Processes and Methodologies:
- Software development processes: Part 1
Offline 1: Introduction to the online course SWE201c
session: - Software Development Processes : Part 2
session: - Software Development Models: Traditional Models
session: - Software Development Models: Agile and Lean
session: Agile Software Development:
- Agile Fundamentals
- Requirements and Planning
session: - Scrum
- XP and Course Wrap-up
session: Lean Software Development:
- Lean Fundamentals
- Kanban, Value Steam Mapping and Kaizen
session: - Lean Startup
- Design Thinking
session: Engineering Practices for Building Quality Software:
- Introduction to Quality Software
- Quality in Design
session: - Quality in Architecture
session: - Quality in Implementation
session: - Quality in Testing and Deployment
Offline 2: Review Software Development Lifecycle Specialization