COURSE SYLLABUS NO.
51: INTRODUCTION TO
SOFTWARE ENGINEERING
1. GENERAL INFORMATION
Course name (Vietnamese): Nhập môn Công nghệ phần mềm
Course name (English): Introduction to Software Engineering
Knowledge category: Core curriculum
Course type: Compulsory
Course Code: Course Id: 01200051
Responsible Unit: Software Engineering Department – Faculty of Information Technology
Credits: 3 (3,0)
Time Allocation:
- Theory sessions: 45 periods
- Laboratory/Practical sessions: 00 periods
- Self-study hours: 90 hours
Prerequisites for Course Enrollment:
- Prerequisite courses: None
- Prior courses: Database, Database Practice, Object-Oriented Programming
- Concurrent courses: None
2. LECTURER INFORMATION
No. Full Name Email Affiliated Unit
349 Master Nguyễn Thị nganntb@[Link] Faculty of Information
Bích Ngân Technology – HUFI
350 Master Mạnh Thiên lymt@[Link] Faculty of Information
Lý Technology – HUFI
351 Master Trần Văn Thọ thotv@[Link] Faculty of Information
Technology – HUFI
3. COURSE DESCRIPTION
This course provides students with foundational knowledge in the field of software engineering,
including processes, methodologies, and tools for software development. It fosters skills in analysis,
evaluation, and model selection, and equips students with practical tools and methods for building
real-world software systems following established processes. Additionally, the course helps students
develop the ability to engage in independent research, a strong sense of responsibility, and the
capacity to demonstrate their individual roles in team-based work.
4. COURSE OBJECTIVES
Objective Objective Description [2] Program Competency
[1] Learning Level [4]
Outcomes [3]
G1 Present and explain key concepts and PLO4.1 2
terminologies in the field of software engineering.
G2 Analyze and select appropriate software PLO1.4, PLO4.2 4
development models for specific real-world
projects.
G3 Apply basic and specialized knowledge to PLO1.3, PLO6.1 4
essential phases of software development (e.g.,
surveying, requirement analysis, design,
construction, testing, packaging, maintenance) to
implement software projects.
G4 Execute tasks in the software development PLO6.1, PLO6.2 4
process using selected support tools.
G5 Synthesize data, documents, and products from PLO4.2, PLO6.2 4
each development phase.
G6 Plan, assign, and evaluate work performance; PLO9.1, 4
cultivate professional ethics in the field of PLO12.1,
information technology. PLO12.2,
PLO12.3,
PLO15.1
G7 Describe individual and group contributions; PLO7.1, 4
coordinate and collaborate effectively in team PLO10.1,
settings. PLO12.2,
PLO12.3
5. COURSE LEARNING OUTCOMES
The detailed course learning outcomes (CLOs) are as follows:
Course Course Description of Learning Outcome [3] Competency
Objective [1] Learning Level [4]
Outcome
(CLO) [2]
Explain concepts and terminologies in 1
G1 CLO1
software engineering.
Analyze systems to propose solutions and 4
G2 CLO2
choose appropriate approaches.
Explain tasks involved in each phase of the 2
CLO3.1
development process.
G3
Apply basic and specialized knowledge to 4
CLO3.2 each step in the software development
process.
Carry out software processes including: 4
CLO4.1 requirement analysis, specification, design,
implementation, etc.
G4
Use technologies and tools to support 4
CLO4.2
software development.
Conduct and synthesize data collection 4
G5 CLO5
results at different phases.
CLO6.1 Plan, assign, and evaluate task performance. 4
G6
Develop awareness of professional ethics in 4
CLO6.2
IT.
Proactively search, research materials, and 4
CLO7.1
present work.
G7 CLO7.2 Proactively plan and carry out group work. 4
CLO7.3 Interact and collaborate in teamwork. 4
6. COURSE CONTENT
6.1. General Time Allocation
No. Chapter/Topic Name [2] Course Time Allocation (Periods/Hours) [4]
[1] Learning
Outcomes Total Lecture Laboratory/P Self-
(CLOs) [3] time ractice study
CLO1,
Chapter 1. Overview of
218 CLO2, 06 06 00 12
Software Engineering
CLO6.2
CLO5,
Chapter 2. Software Project
219 CLO6.1, 06 06 00 12
Management
CLO7.2
CLO3.1,
CLO3.2,
CLO4.1,
Chapter 3. Status Survey,
CLO4.2,
220 Analysis, and Requirement 12 12 00 24
CLO5,
Specification
CLO6.1,
CLO7.1,
CLO7.3
CLO4.1,
CLO4.2,
CLO5,
221 Chapter 4. Software Design 12 12 00 24
CLO6.1,
CLO7.1,
CLO7.3
CLO4.2,
CLO5,
Chapter 5. Software CLO6.1,
222 04 04 00 08
Implementation CLO6.2,
CLO7.1,
CLO7.3
CLO4.1,
Chapter 6. Software Testing
CLO5,
223 and Deployment, 05 05 00 10
CLO6.1,
Maintenance
CLO7.3
Total 45 45 0 90
6.2. Detailed Course Content
Chapter 1. Overview of Software Engineering
1.1. History and Development
1.2. Some Basic Concepts in the Field of Software Engineering
1.3. Some Issues Regarding Professional Ethics in the IT Field
1.4. Software Development Process
1.4.1. Some Software Process Models
1.4.2. Basic Steps in the Software Process
1.5. Some Software Development Models
1.6. Tools and Environments for Software Development
1.7. Software Design Strategies
1.8. Types of Advanced Software
1.8.1. Parallel Processing Software
1.8.2. Distributed Processing Software
Chapter 2. Software Project Management
2.1. Projects and Project Management
2.2. Project Management Activities
2.3. Project Planning
2.4. Project Execution
2.5. Risk Management
2.6. Project Closure
Chapter 3. Surveying the Current Situation, Analyzing and Specifying Requirements
3.1. Surveying the Current Situation and Identifying Requirements
3.1.1. Surveying Business Processes
3.1.2. Collecting Documents and Templates
3.1.3. Functional and Non-functional Requirements
3.1.4. Feasibility Analysis of Requirements
3.2. Requirement Analysis and Specification
3.2.1. Processing Analysis
3.2.2. Data Analysis
Chapter 4. Software Design
4.1. Data Design
4.2. Interface Design
4.3. Processing Design
Chapter 5. Software Programming
5.1. Basic Principles in Software Construction
5.2. Programming Languages Used in Software Construction
5.3. Writing Programs
5.4. Technologies Used in Software Construction
5.5. Tools Used in Software Construction
Chapter 6. Software Testing, Deployment, and Maintenance
6.1. Software Testing
6.1.1. Definition and Terminologies Related to Testing
6.1.2. Software Testing Process
6.1.3. Introduction to Basic Types of Testing
6.1.4. Designing Test Cases and Test Data
6.1.5. Roles and Common Tools Used by Testers
6.2. Software Packaging and Maintenance
6.2.1. Software Packaging
6.2.2. Creating Documentation for Software
6.2.3. Role of Software Maintenance
7. COURSE ASSESSMENT
– Grading scale: 10/10
– The specific course assessment plan is as follows:
Assessment Method Timing Course Learning Weight Rubric
Outcomes (CLOs) (%)
Formative Assessment
Rubric 1.
Participation
Throughout
Attendance CLO6.1, CLO7.2 10 Assessment
the course
(Class
attendance)
According
CLO1, CLO3.1,
to the
CLO3.2, CLO4.1,
Test / 60 minutes Week 10 20 grading
CLO5, CLO6.2,
scale for the
CLO7.1
test
Final Exam
CLO1, CLO2,
CLO3.1, CLO3.2, According
Weeks 14, CLO4.1, CLO4.2, to the
Project Report 70
15 CLO5, CLO6.1, project
CLO6.2, CLO7.1, report rubric
CLO7.2, CLO7.3
8. LEARNING MATERIALS
8.1. Main Textbook
[1] Faculty of Information Technology, Lecture Notes on Software Engineering, HCMC University of
Food Industry, 2019.
[2] Ian Sommerville (2016), Software Engineering (10th ed.), ISBN 978-1-292-09613-1, Addison
Wesley.
[3] A project of the IEEE Computer Society Professional Practices Committee, Guide to the Software
Engineering Body of Knowledge - SWEBOK, 2014.
8.2. Reference Materials
[1] Steve McConnell, Software Project Survival Guide, Microsoft Press, 2013.
[2] Ngô Việt Trung, Textbook on IT Project Management, Ho Chi Minh City University of
Technology and Education.
8.3. Software:
[1] Power Designer / Rational Rose / Visio
[2] MS Project
9. COURSE REGULATIONS
Students are responsible for:
– Attending more than 75% of theoretical class hours;
– Proactively planning their studies:
+ Reading and researching materials provided or requested by instructors in advance;
+ Reviewing learned content and self-assessing knowledge through exercises and essays assigned
by instructors.
– Actively participating in group activities, discussions, and Q&A sessions in class.
– Completing assignments and course projects fully, honestly, and creatively according to the learning
progress.
– Participating in group projects, in-class assessments (if any), and submitting the final course project
report.
10. IMPLEMENTATION GUIDELINES
– Scope of application: This syllabus is applied to undergraduate students majoring in Information
Technology starting from the 2020–2021 academic intake.
– Instructors: Use this general syllabus as a basis for drafting detailed teaching plans, test preparation,
and exam question banks.
– Students: Use this general syllabus as a reference to understand the course content and proactively
plan their learning to achieve expected outcomes.
– This general syllabus is issued along with the training program and will be officially announced to
relevant parties in accordance with regulations.