Software engineering deals with issues that arise in building large programs, typically by a team of programmers. Topics include organizing and designing a programming project, working from specifications top-down decomposition using stepwise refinement, object-oriented design principles, model-based approaches to software engineering, testing, software quality reliability, maintenance, identifying the nature and sources of software costs, coordinating multiple programmers, the design and documentation of user interfaces This course will emphasise team projects to give give students real-life practical experience in building large software systems.
Software Engineering (CS 308)
Programs\Type | Required | Core Elective | Area Elective |
BA- Political Science | |||
BA-Cultural Studies | |||
BA-Cultural Studies | |||
BA-Economics | |||
BA-Economics | |||
BA-International Studies | |||
BA-International Studies | |||
BA-Management | |||
BA-Management | |||
BA-Political Sci.&Inter.Relat. | |||
BA-Political Sci.&Inter.Relat. | |||
BA-Social & Political Sciences | |||
BA-Visual Arts&Visual Com.Des. | |||
BA-Visual Arts&Visual Com.Des. | |||
BS-Biological Sci.&Bioeng. | * | ||
BS-Computer Science & Eng. | * | ||
BS-Computer Science & Eng. | * | ||
BS-Electronics Engineering | * | ||
BS-Electronics Engineering | * | ||
BS-Industrial Engineering | * | ||
BS-Manufacturing Systems Eng. | * | ||
BS-Materials Sci. & Nano Eng. | * | ||
BS-Materials Science & Eng. | * | ||
BS-Mechatronics | * | ||
BS-Mechatronics | * | ||
BS-Microelectronics | |||
BS-Molecular Bio.Gen.&Bioeng | * | ||
BS-Telecommunications | * |
CONTENT
OBJECTIVE
To introduce the basics of the software engineering process life cycle, including requirements gathering, specification, and testing.
To introduce the principles of object-oriented (OO) analysis and design, as well as software architecture, through OO principles and design/architectural patterns.
To introduce the basics of UML (Unified Modeling Language) ? a way of expressing requirements and design in software engineering.
To practice the application of object-oriented software development principles through a team project.
To develop teamwork and communication skills through a team project.
LEARNING OUTCOME
Describe the basics of the software engineering process life cycle.
Identify, formulate, and solve basic software engineering problems, including the requirements gathering, specification, design, architecture, and testing of software systems.
Analyze software engineering artifacts, including the requirements, design, and architecture of software systems.
Design basic object-oriented software systems that meet requirements by applying OO software development principles and design/architectural patterns.
Evaluate the impact of potential solutions to basic software engineering problems.
Update Date:
ASSESSMENT METHODS and CRITERIA
Percentage (%) | |
Final | 20 |
Midterm | 20 |
Exam | 10 |
Group Project | 50 |
RECOMENDED or REQUIRED READINGS
Optional Readings |
Timothy C. Lethbridge and Robert Laganiere, Object Oriented Software Engineering: Practical Software Development using UML and Java, McGraw Hill, ISBN 0-07-710908-2 |