First Cycle - Faculty of Engineering - Computer Engineering (English)
Y : Year of Study S : Semester
Course Unit Code Course Unit Title Type of Course Y S ECTS
CSE3044 Software Engineering Compulsory 3 6 7
Objectives of the Course
The goal of this class is to have the juniors of the computer engineering department learn the stages of software development and apply basic techniques used in these stages. In this class, students will find opportunities to experience potential problems encountered during software development either as a standalone system or as a part of a whole system and learn to generate alternative solutions for these problems.
Learning Outcomes
1 prepare a final report regarding all phases of the software process about the sample problem
2 understand and comment on the uniqueness of the software evolution as the only phase that starts after the delivery of the product and proceeds to change the software as necessary while new economic, legislative, social, organizational and domain requirements arise
3 implement and perform tests
4 prepare the necessary test plans along with the requirements at 6 to check whether each requirement is fulfilled.
5 define and apply the verification and validation phase, comprehend its scope throughout the software development process and its deep influence on software quality
6 discuss alternative design approaches and determine and apply a suitable design approach for the solution of a sample problem
7 comprehend the creative nature of the software design phase and classify and correctly apply the design approaches
8 apply the tools in 5 to a sample problem to extract its requirements
9 explain and apply the tools used in the requirements engineering phase
10 analyze and select/determine a software process model based on the type of a sample problem
11 express the hybrid and more complex software process models
12 define the basic software process models
13 understand and describe the software process and its phases
Mode of Delivery
Formal Education
Course Contents
SW Processes
Project Management
SW Requirements
Requirements Engineering
SW Architectural Design
Distributed SW Design
Object Oriented Design
Real-time SW Design
Rapid SW Development
Verification and Validation
SW Cost Estimation
Weekly Detailed Course Contents
Week Theoretical Practice Laboratory
1 Introduction
2 Software Processes
3 Project Management
4 Software Requirements
5 Requirements Engineering
6 Software Architectural Design
7 Distributed Software Design
8 Midtetrm Exam
9 Object-Oriented Design
10 Real Time Software Design
11 Rapid Software Development
12 Verification and Validation
13 Software Testing
14 Software Cost Estimation
15 Software Quality and Process Improvement
16 Final Exam Study
17 Final Exam
Recommended or Required Reading
Ian Sommerville, Software Engineering, 8th edition, Addison-Wesley, 2007
Planned Learning Activities and Teaching Methods
Midterm and final exams, quizes, a semester project

Lectures are given using both a black board and data projection. As much as possible, the lecture is given in an interactive fashion such that students actively participate in in-class discussions.
Term (or Year) Learning Activities60
End Of Term (or Year) Learning Activities40
Term (or Year) Learning ActivitiesQuantityWeight
Midterm Exam150
Quiz Exam416
Homework Exam214
End Of Term (or Year) Learning ActivitiesQuantityWeight
Final Exam180
Project Exam120
Language of Instruction
Work Placement(s)
Workload Calculation
Activities Number Time (hours) Total Work Load (hours)
Theoretical 3 14 42
Applied 2 14 28
Midterm Preparation 1 7 7
Final Preparation 1 7 7
Quiz Preparation 1 7 7
Home Work 1 14 14
Project 1 70 70
Total 10 133 175
Contribution of Learning Outcomes to Programme Outcomes
PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10PO 11PO 12PO 13PO 14PO 15PO 16
LO 10000000000000000
LO 20000000000000000
LO 30000000000000000
LO 40000000000000000
LO 50000000000000000