Syllabus Application
CS 308
Software Engineering
Faculty
Faculty of Engineering and Natural Sciences
Semester
Spring 2025-2026
Course
CS 308 -
Software Engineering
Time/Place
Time
Week Day
Place
Date
09:40-10:30
Mon
SBS-G071
Feb 16-May 22, 2026
08:40-10:30
Thu
SBS-G071
Feb 16-May 22, 2026
Level of course
Undergraduate
Course Credits
SU Credit:4, ECTS:7, Engineering:7
Prerequisites
CS 204
Corequisites
CS 308L
Course Type
Lecture
Instructor(s) Information
Cemal Yılmaz
- Email: cyilmaz@sabanciuniv.edu
Course Information
Catalog Course Description
This course covers the following fundamental topics in software engineering: software and software engineering, software development processes, agile development, requirements engineering, object-oriented software modeling, object-oriented software design, software design patterns, software architecture, and software quality assurance. The application of the theoretical knowledge gained in the lectures, is achieved by carrying out large-scale software engineering projects in teams.
Course Learning Outcomes:
| 1. | Describe the basics of the software engineering process life cycle. |
|---|---|
| 2. | Identify, formulate, and solve basic software engineering problems, including the requirements gathering, specification, design, architecture, and testing of software systems. |
| 3. | Analyze software engineering artifacts, including the requirements, design, and architecture of software systems. |
| 4. | Design basic object-oriented software systems that meet requirements by applying OO software development principles and design/architectural patterns. |
| 5. | Evaluate the impact of potential solutions to basic software engineering problems. |
Course 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.
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.
Sustainable Development Goals (SDGs) Related to This Course:
| Decent Work and Economic Growth | |
| Industry, Innovation and Infrastructure |