Chương trình đào tạo ngành Kỹ thuật phần mềm - Software Engineering Overview
PROGRAM OVERVIEW
The Software Engineering Program was initiated in 2009 in the International School at Duy Tan University. This is a general program of study in the field of information technology, subfield of software development, in service of the Central and national economy of Vietnam. A bachelor’s degree of Software Engineering is considered the minimum requirement for most entry-level software engineering positions. Students who pursue this degree will learn how to perform key processes at different stages of software creation, along with the fundamental theories that guide this cutting-edge field.
Bachelor’s in Software Engineering Program culminate with a capstone course, which allows students to demonstrate the knowledge and skills they have gained with a comprehensive research project. Software Engineering Program at Duy Tan University has long been recognized around the country as one of the top 5 programs in the discipline.
PROGRAM EDUCATIONAL OBJECTIVES
The Software Engineering Program at International School expects the graduates within
three to five years of graduation to attain the following:
» Strive for professional practices in the design, implementation, operation, and maintenance of computer software and systems in their future career under constantly-changing environments;
» Excel in their everyday work environment and to continue their professional development through expertise exchange, continuing education and/or graduate studies;
» Function effectively as a team-player with strong personal and interpersonal skills and a high level of ethics and social responsibility.
STUDENT OUTCOMES
The students are expected to be able to do by the time of graduation from Software Engineering
Program:
CURRICULUM OF SOFTWARE ENGINEERING
1.general education courses
Courses |
Required or Selected Elective or Elective |
Credit Hours |
|
DTE-IS 102 |
Career Orientation 1 |
R |
1 |
ENG 126 |
Reading - Level 1 (International School) |
R |
2 |
ENG 127 |
Writing - Level 1 (International School) |
R |
2 |
CS 201 |
Basic Software Applications |
R |
3 |
DTE-IS 152 |
Career Orientation 2 |
R |
1 |
ENG 128 |
Listening - Level 1 (International School) |
R |
2 |
ENG 129 |
Speaking - Level 1 (International School) |
R |
2 |
ENG 226 |
Reading - Level 2 (International School) |
R |
2 |
COM 102 |
Professional Writing |
R |
2 |
ENG 227 |
Writing - Level 2 (International School) |
R |
2 |
ENG 228 |
Listening - Level 2 (International School) |
R |
2 |
ENG 229 |
Speaking - Level 2 (International School) |
R |
2 |
COM 101 |
Professional Speaking |
R |
2 |
PHI 100 |
Critical Thinking (including Scientific Research Methodology) |
R |
2 |
CMU-ENG 130 |
English for Information Technology 1 |
R |
2 |
PHI 161 |
Marxism - Leninism 1 |
R |
2 |
CMU-ENG 230 |
English for Information Technology 2 |
R |
2 |
PHI 162 |
Marxism - Leninism 2 |
R |
3 |
CMU-ENG 330 |
English for Information Technology 3 |
R |
2 |
|
Selected Elective course, one of three below: |
|
|
LAW 201 |
Basic Principles of Law (2) |
SE |
2 |
DTE 201 |
Business Ethics (2) |
2 |
|
MED 268 |
Medical Ethics (2) |
2 |
|
|
Selected Elective course, one of three below: |
|
|
HIS 221 |
- World Civilizations 1(2) |
SE |
2 |
AHI 392 |
History of Eastern Architectures (2) |
2 |
|
AHI 391 |
History of Western Architectures (2) |
2 |
|
HIS 361 |
History of the Communist Party of Vietnam |
R |
3 |
POS 361 |
Ho Chi Minh’s Ideology |
R |
2 |
Total |
|
47 |
2.math and basic sciences
Courses |
Required or Selected Elective or Elective |
Credit Hours |
EVR 205 - Environmental Health |
R |
2 |
CHE 101 - Introduction to Chemistry |
R |
3 |
CS 216 - Introduction to Mathematical Computing |
R |
3 |
MTH 103 - Advanced Mathematics A1 |
R |
3 |
MTH 104 - Advanced Mathematics A2 |
R |
4 |
MTH 254 - Discrete Mathematics & Applications |
R |
3 |
MTH 291 - Applied Mathematics for Information Technology 1 |
R |
3 |
MTH 341 - Applied Mathematics for Information Technology 2 |
R |
3 |
PHY101 - Introduction to Physics 1 |
R |
3 |
STA 151 - Principles of Statistics & Probabilities |
R |
3 |
Total |
30 |
3. core courses requirements
Courses |
Required or Selected Elective or Elective |
Credit Hours |
|
CMU-SE 100 |
Introduction to Software Engineering |
R |
3 |
CS 211 |
Fundamentals of Programming |
R |
4 |
CMU-CS 252 |
Introduction to Network & Telecommunications Technology |
R |
3 |
CMU-CS 303 |
Fundamentals of Computing 1 |
R |
3 |
CMU-CS 311 |
Object-Oriented Programming C++ (Advanced Concepts in Computing) |
R |
4 |
CMU-CS 316 |
Fundamentals of Computing 2 |
R |
3 |
CMU-SE 214 |
Requirements Engineering |
R |
3 |
CMU-CS 246 |
Application Development Practices |
R |
3 |
CMU-CS 297 |
CDIO Project |
R |
1 |
CMU-SE 252 |
Computer Science for Practicing Engineers (Software Construction) |
R |
3 |
IS 301 |
Database system |
R |
3 |
Total |
33 |
Courses |
Required or Selected Elective or Elective |
Credit Hours |
|
CMU-IS 432 |
Software Project Management |
R |
3 |
CMU-SE 303 |
Software Testing (Verification & Validation) |
R |
3 |
CMU-CS 447 |
CDIO Project 2 |
R |
1 |
|
Selected Elective course, one of two below: |
|
|
CMU-CS 445 |
System Integration Practices |
SE |
3 |
CMU-SE 445 |
Software Reuse and Integration |
3 |
|
CMU-CS 462 |
Software Measurements & Analysis |
R |
3 |
CS 414 |
Winforms Programming: VB.NET / C#.NET |
R |
3 |
CMU-IS 401 |
Information System Applications |
R |
3 |
CMU-SE 403 |
Software Architecture & Design |
R |
4 |
CMU-SE 450 |
Capstone Project for Software Engineering 1 |
R |
3 |
|
Selected Elective course, one of three below: |
|
|
CS 366 |
L.A.M.P. (Linux, Apache, MySQL, PHP) |
SE |
2 |
CS 466 |
Perl & Python |
2 |
|
CR 424 |
Mobile Application Development |
3 |
|
CMU-SE 433 |
Software Process & Quality Management |
R |
3 |
CMU-SE 451 |
Capstone Project for Software Engineering 2 |
R |
3 |
IS 384 |
e-Commerce Technologies (ASP.NET) |
R |
3 |
Total |
|
37 |
COURSE DESCRIPTION
CMU-SE 100 – INTRODUCTION TO SOFTWARE ENGINEERING (3). This course aims at helping students to build up an understanding of how to develop a software system from scratch by guiding them through the step-by-step in-software development process and giving them the knowledge of fundamental principles and discipline of a software engineer. The course will provide students with overview about all phrases in a software life cycle such as requirement, analysis, design, coding, testing and maintenance. Prerequisite: N/A.
CS 211 - FUNDAMENTALS OF PROGRAMMING (4, 3-1). This course equips students with the basic skills and knowledge of computer programming with the C/C++ programming language. Students will first learn about basic data types, storage classes, block structures, data hiding and data initialization. They will then move on with topics on pointers and storage allocation as well as arrays and dynamic memory allocation. Later in the course, students will learn how to write functions or subroutines with the emphasis on command line arguments, environment variables, recursion and reentrancy. By the end of the course, students will be introduced to structures and file structures: how to define and declare structures, how to access members, how to pass a structure to a function, etc. Prerequisite: N/A
MTH 254 – DISCRETE MATHEMATICS & APPLICATIONS (3, 2+1). Discrete mathematics is a branch of mathematics that studies discrete objects and it is a required subject for Information Technology students. This course not only gives students an understanding and application for the problems encountered in the foundation of basic discrete structures such as sets, relations, graphs, but also helps students create conditions to understand storing and processing data in computers where discrete progresses are the essentials.
CMU-CS 252 – INTRODUCTION TO NETWORK & TELECOMMUNICATIONS TECHNOLOGY (3). This course will focus on the following key issues: Understand the basic concepts of computer network technology. The ability to design, implement, operate and evaluate a network system to meet desired needs and analyze the local and global impact of computer network on individuals, organizations, society and all requirements of the curriculum. Prerequisite: N/A.
CMU-CS 303 - FUNDAMENTALS OF COMPUTING 1 (3, 2-1). This course introduces basic programming using the JAVA programming language with object-oriented programming principles. There will be a revisit to basic concepts of programming but the emphasis is placed on object-oriented programming principles, the use of some of the common Java libraries from the core Java APIs and event-driven programming. The purpose is to help students develop programming skills and form object-oriented thinking which serves as the foundation for becoming a software engineer. Prerequisite: N/A.
CMU-CS 316 - FUNDAMENTALS OF COMPUTING 2 (3). This course introduces the student to fundamental data structures & algorithms and the tradeoffs between different implementations of the following abstractions of array lists, linked lists, stacks, queues, heaps, trees, binary search trees and balanced trees. This course also introduces algorithm designs including searching, sorting, and recursion as well as the basic performance and analysis (i.e., the best case, worse case, average case, linear and non-linear algorithms and their impact on performance). Prerequisite: CMU-CS 303.
CMU-SE 214 - REQUIREMENTS ENGINEERING (3). The course presents basic concepts and techniques in requirements engineering. Students will learn to systematically establish, define and manage the requirements of software systems, from technical, organizational and management perspectives. The course also focuses on various techniques of elicitation, analysis, specification, documentation, validation, verification and requirement change management in software development. Prerequisite: Sophomore status or above.
CMU-CS 311– OBJECT ORIENTED PROGRAMMING AND C++ (Advanced Concepts in Computing) (4, 3+1). This course provides in-depth coverage of object-oriented programming principles and techniques using C++. Topics include classes, overloading, data abstraction, information hiding, encapsulation, inheritance, polymorphism, file processing, templates, exceptions, container classes, and low-level language features. The course also covers GUI and the C++11 language standard. Prerequisite: CS 211.
CMU-SE 252 – COMPUTER SCIENCE FOR PRACTICING ENGINEERS (Software Construction)(3). This course introduces the concepts which are related to the design and analysis of algorithms. It covers in detail algorithm complexity such as greedy strategies, divide and conquer techniques, dynamic programming, and approximation algorithms. It also covers some abstract data types and their attributes. Prerequisite: CMU-CS 303.
CMU-CS 462 – SOFTWARE MEASUREMENT AND ANALYSIS (3). This course provides the basic skills needed to define, capture and analyze software processes and product measurements in support of management information needs. Including: Basic of measurement, data analysis and reporting, software project measurement and analysis, the relationship between metrics and project processes, the relationship between metrics and product quality, measuring and managing risk, the software project measurement process, defining software project and product measures, capturing and storing software project and product measures, data analysis techniques, status reporting, collecting and using information for historical purposes, ROI (return of investment) associated with software project measurement and analysis. Prerequisite: CMU-IS 432.
CMU-IS 432 - SOFTWARE PROJECT MANAGEMENT (3). This course provides engineering students with a comprehensive understanding of how to plan, optimize and efficiently manage projects (or tasks) to implement products, services or developments. This includes building the structures, processes, components and linkages in a team for successful project delivery within schedule, budget and quality requirements. Prerequisite: CMU-SE 214
CMU-SE 303 - SOFTWARE TESTING (Verification & Validation) (3). Major topics of this course include practical software testing goals and approaches to testing software through all phases of the Software Testing Lifecycle. Practical testing tools are discussed and used in assignment work. In particular, students learn how to apply the tools that come in open-source package in order to gain a solid understanding of how testing is done in practice. The course also covers the difference between ideal testing practice and real-life scenarios where standards are not always given appropriate levels of importance. Prerequisite: CMU-CS 303, CMU-SE 214.
IS 301 – DATABASE (3). This course presents the concept of a database system with extensive coverage on data modeling, database design, data definition language, relational algebra, and SQL, NoSQL. The course also covers relational design principles based on dependencies and normal forms (Boyce-Codd Normal Form: 1NF, 2NF, 3NF). Students will have the chance to practice with SQL 2016, T-SQL, indexes, views, and constraints in a small database design project. Prerequisite: CS 201.
CMU-IS 401 - INFORMATION SYSTEM APPLICATIONS (3). The course aims to provide students with knowledge about the Relational Database Management Systems such as data structure, file organization, the Structured Query Language (SQL), transaction management, concurrent access management mechanisms, security and data recovery after an incident, optimization, big data analytics as well as organizational structure and access methods. Prerequisite: IS 301.
IS 384 - E-COMMERCE TECHNOLOGIES (ASP.NET) (3). In this course, students will learn about major technologies for ecommerce such as ASP.NET (C#), CSS, JavaScript, XML and SQL Server. Students, in teams of 3 to 5 members, will also engage in a full-scale group project to develop an ecommerce application of their own design. A brief introduction to GUI design and database optimization for web applications is also given in this course. Prerequisite: CS 211.
CMU-SE 433 - SOFTWARE PROCESS & QUALITY MANAGEMENT (3). The course is designed to provide students with the basic concepts of process justification, identification, implementation, and software development, the different process improvement models, and how organizations can be evaluated for adherence to high quality processes that generate high quality products. The course offers an understanding of how to evaluate, instantiate, and analyze a development process in an organization. Prerequisite: CMU-IS 432.
CMU-CS 445 - SYSTEM INTEGRATION PRACTICES (3). This course gives students an understanding about many of the problems encountered when integrating two or more applications into a single system following the System Integration Life cycle. Based on the case studies, students can recognize the challenges of integrating different applications with different database schemas and different security services. Students also learn when it is appropriate to apply integration models and middleware technologies. Prerequisite: CS 211, CMU-CS 316.
CMU-SE 403 – SOFTWARE ARCHITECTURE AND DESIGN (4). This course is targeted at those practicing professionals who design, develop, and/or manage the construction of software-intensive systems. It provides an overview of architecture design for practicing engineers and provides insights on the latest thinking in architecture design. The topics such as “Why architecture design is important, what is architecture, how to design and do documentation, how to create architecture, how to evaluate the architecture and what is its role in system development” will be discussed in the class. Students should have prior experience in the development of software-intensive systems and some familiarity with modern software engineering concepts. Prerequisite: CMU-CS 311, CMU-SE 214.
CMU-CS 246 – APPLICATION DEVELOPMENT PRACTICES (3). In this course, students will play a variety of roles in the software industry, including: team leader, project manager, and quality assurance manager. With such roles, students will learn to know-how each position in the software industry. Also, this course helps students to deal with critical issues in the process of working as technical review and configuration management. Prerequisite: CS211
CS 424 – MOBILE APPLICATION DEVELOPMENT (3). This course is designed to introduce students how to develop smartphone apps on major platforms. The course includes hands-on tutorials with screenshots and step-by-step instructions to guide students in developing applications for Google Android, Apple iOS and Windows Phone. Featured topics are installation and setup, best practices for small device programming, Android Studio, Apple iOS, Microsoft Windows Phone and Cross-Platform Development with Phone-Gap or Unity. Prerequisite: CMU-CS 303.
CS 366 – L.A.M.P (LINUX, APACHE, MYSQL, PHP) (2). In this course, students will learn the fundamental of web application with PHP technology. The web solutions of this course are using: Linux as server operation system role, apache web server to operate the web, PHP server-side language to write the code and, MySQL database to store data. This course involves installing and configuring the PHP engine, a MySQL database, and an Apache web server. Prerequisite: CMU-CS 303, IS 301
.
CS 414 – WINFORM PROGRAMMING: VB.NET/ C#.NET (3). This course provides knowledge of Windows form programing, object-oriented programing with C#.NET, and database access with ADO.NET. It helps students analyze real world problems and develop Windows form applications in an object-oriented manner. The objective of this course is to help students to develop the skills of Windows Form application programming and database connectivity a variety of DBMS, especially in developing management applications. Prerequisite: CS211, IS 301
CMU-SE 450 - CAPSTONE PROJECT FOR SOFTWARE ENGINEERING 1 (3). This Capstone project focuses on a simulation project. It emphasizes team collaboration and application of modern engineering approaches to software construction. The main objective is the development by each team of an original, industry-strength and system-intensive product. The teams report on their project’s progress by giving presentations and submitting deliverables related to the project. The teams deliver and present project parts at the following stages of project development: (1) topic proposal (concept), (2) software specification (requirements), (3) design (model), and (4) implemented software/system (in-progress & final product/service). At the beginning of the semester, the teams set up a communication protocol between team and its mentor(s), which will be updated regularly to reflect the projects’ progress and team meetings. At the end of the semester, there is a Senior Projects Defense with project demos, posters, and presentations. Prerequisite: CMU-IS 432, CMU-CS 316, CMU-SE 303 or CMU-CS462.
CMU-SE 451 – CAPSTONE PROJECT FOR SOFTWARE ENGINEERING 2 (3). This capstone course focuses on a real-world project. It emphasizes team collaboration and application of modern engineering approaches to software construction. The development by each team of an original, industry-strength software-intensive product is the main objective of the course. The teams will report on their project’s progress by giving presentations and submitting deliverables related to the project. The teams will deliver and present project parts at the following stages of project development: topic proposal (concept), software specification (requirements), design (model), and implemented software (in-progress & final product). At the beginning of the semester the teams will set up a communication protocol between team and mentor, which will be updated regularly to reflect the projects’ progress and team meeting. At the end of the semester there will be a Capstone Projects Defense with project demos, posters, and presentations. Prerequisite: CMU-SE 450.
» Tin mới nhất: