This course is designed to present students with an overview of advanced topics in Software Engineering. This course aims to provide students to develop techniques of software-intensive systems through successful requirements engineering, design, testing, maintenance and evolution, and project and quality management. The course covers the latest developments, technology, and research in the areas of software process, requirements engineering, model-driven engineering, design strategies, design patterns, architectural patterns, service-oriented architectures, microservices, security, testing techniques, cybersecurity, autonomous systems. In this class, students will learn modern software engineering practices and discuss state-of-the-art research in software engineering.
1 - Remembers a knowledge of quality assurance techniques, requirements management techniques, software project planning, quality engineering techniques
9
A, F
2 - Understand full life-cycle design, implementation and testing of applications and apply different testing, code review, code analysis, and code refactoring approaches
9
A, F
3 - Discuss industrial state of the art practice methods, current and new technologies, methodologies in software engineering.
9
A, F
4 - Presents a developed project/research on a topic and present it.
9
A, F
Teaching Methods:
9: Lecture Method
Assessment Methods:
A: Traditional Written Exam, F: Project Task
Course Outline
Order
Subjects
Preliminary Work
1
Software Process
2
Requirements Engineering
3
Model-driven engineering
4
Design strategies
5
Design Patterns
6
Architectural Patterns
7
Exam Week overview
8
Service Oriented Architectures
9
Microservices
10
Risk management, maintenance, and reengineering
11
Security
12
Testing techniques
13
Autonomous Systems
14
Project/Research Presentations
Resources
- Software Engineering: A Practitioner’s Approach. Roger Pressman, Publisher: McGraw Hill
- Software Engineering by Ian Sommerville. Publisher: Pearson.
- Bernd Bruegge and Allen Dutoit, Object-Oriented Software Engineering: Using UML, Patterns, and Java, Third Edition, Prentice-Hall.
- Several papers (ACM Digital Library / IEEE Xplore)
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications
No
Program Qualification
Contribution Level
1
2
3
4
5
1
Develop and deepen the current and advanced knowledge in the field with original thought and/or research and come up with innovative definitions based on Master's degree qualifications.
X
2
Conceive the interdisciplinary interaction which the field is related with ; come up with original solutions by using knowledge requiring proficiency on analysis, synthesis and assessment of new and complex ideas.
X
3
Evaluate and use new information within the field in a systematic approach and gain advanced level skills in the use of research methods in the field.
X
4
Develop an innovative knowledge, method, design and/or practice or adapt an already known knowledge, method, design and/or practice to another field.
X
5
Broaden the borders of the knowledge in the field by producing or interpreting an original work or publishing at least one scientific paper in the field in national and/or international refereed journals.
6
Contribute to the transition of the community to an information society and its sustainability process by introducing scientific, technological, social or cultural improvements.
7
Independently perceive, design, apply, finalize and conduct a novel research process.
X
8
Ability to communicate and discuss orally, in written and visually with peers by using a foreign language at least at a level of European Language Portfolio C1 General Level.
X
9
Critical analysis, synthesis and evaluation of new and complex ideas in the field.
X
10
Recognizes the scientific, technological, social or cultural improvements of the field and contribute to the solution finding process regarding social, scientific, cultural and ethical problems in the field and support the development of these values.
Assessment Methods
Contribution Level
Absolute Evaluation
Rate of Midterm Exam to Success
50
Rate of Final Exam to Success
50
Total
100
ECTS / Workload Table
Activities
Number of
Duration(Hour)
Total Workload(Hour)
Course Hours
14
3
42
Course Hours
0
0
0
Course Hours
0
0
0
Guided Problem Solving
0
0
0
Guided Problem Solving
0
0
0
Guided Problem Solving
0
0
0
Resolution of Homework Problems and Submission as a Report
1
45
45
Resolution of Homework Problems and Submission as a Report
0
0
0
Resolution of Homework Problems and Submission as a Report
0
0
0
Term Project
0
0
0
Term Project
0
0
0
Term Project
14
3
42
Presentation of Project / Seminar
4
15
60
Presentation of Project / Seminar
0
0
0
Presentation of Project / Seminar
0
0
0
Quiz
0
0
0
Quiz
0
0
0
Quiz
0
0
0
Midterm Exam
0
0
0
Midterm Exam
0
0
0
Midterm Exam
1
15
15
General Exam
1
40
40
General Exam
0
0
0
General Exam
0
0
0
Performance Task, Maintenance Plan
0
0
0
Performance Task, Maintenance Plan
0
0
0
Performance Task, Maintenance Plan
0
0
0
Total Workload(Hour)
244
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(244/30)
8
ECTS of the course: 30 hours of work is counted as 1 ECTS credit.
Detail Informations of the Course
Course Description
Course
Code
Semester
T+P (Hour)
Credit
ECTS
ADVANCED SOFTWARE ENGINEERING
COED1114311
Fall Semester
3+0
3
8
Course Program
Prerequisites Courses
Recommended Elective Courses
Language of Course
English
Course Level
Third Cycle (Doctorate Degree)
Course Type
Elective
Course Coordinator
Prof.Dr. Selim AKYOKUŞ
Name of Lecturer(s)
Prof.Dr. Selim AKYOKUŞ
Assistant(s)
Teaching assistant.
Aim
This course is designed to present students with an overview of advanced topics in Software Engineering. This course aims to provide students to develop techniques of software-intensive systems through successful requirements engineering, design, testing, maintenance and evolution, and project and quality management. The course covers the latest developments, technology, and research in the areas of software process, requirements engineering, model-driven engineering, design strategies, design patterns, architectural patterns, service-oriented architectures, microservices, security, testing techniques, cybersecurity, autonomous systems. In this class, students will learn modern software engineering practices and discuss state-of-the-art research in software engineering.
1 - Remembers a knowledge of quality assurance techniques, requirements management techniques, software project planning, quality engineering techniques
9
A, F
2 - Understand full life-cycle design, implementation and testing of applications and apply different testing, code review, code analysis, and code refactoring approaches
9
A, F
3 - Discuss industrial state of the art practice methods, current and new technologies, methodologies in software engineering.
9
A, F
4 - Presents a developed project/research on a topic and present it.
9
A, F
Teaching Methods:
9: Lecture Method
Assessment Methods:
A: Traditional Written Exam, F: Project Task
Course Outline
Order
Subjects
Preliminary Work
1
Software Process
2
Requirements Engineering
3
Model-driven engineering
4
Design strategies
5
Design Patterns
6
Architectural Patterns
7
Exam Week overview
8
Service Oriented Architectures
9
Microservices
10
Risk management, maintenance, and reengineering
11
Security
12
Testing techniques
13
Autonomous Systems
14
Project/Research Presentations
Resources
- Software Engineering: A Practitioner’s Approach. Roger Pressman, Publisher: McGraw Hill
- Software Engineering by Ian Sommerville. Publisher: Pearson.
- Bernd Bruegge and Allen Dutoit, Object-Oriented Software Engineering: Using UML, Patterns, and Java, Third Edition, Prentice-Hall.
- Several papers (ACM Digital Library / IEEE Xplore)
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications
No
Program Qualification
Contribution Level
1
2
3
4
5
1
Develop and deepen the current and advanced knowledge in the field with original thought and/or research and come up with innovative definitions based on Master's degree qualifications.
X
2
Conceive the interdisciplinary interaction which the field is related with ; come up with original solutions by using knowledge requiring proficiency on analysis, synthesis and assessment of new and complex ideas.
X
3
Evaluate and use new information within the field in a systematic approach and gain advanced level skills in the use of research methods in the field.
X
4
Develop an innovative knowledge, method, design and/or practice or adapt an already known knowledge, method, design and/or practice to another field.
X
5
Broaden the borders of the knowledge in the field by producing or interpreting an original work or publishing at least one scientific paper in the field in national and/or international refereed journals.
6
Contribute to the transition of the community to an information society and its sustainability process by introducing scientific, technological, social or cultural improvements.
7
Independently perceive, design, apply, finalize and conduct a novel research process.
X
8
Ability to communicate and discuss orally, in written and visually with peers by using a foreign language at least at a level of European Language Portfolio C1 General Level.
X
9
Critical analysis, synthesis and evaluation of new and complex ideas in the field.
X
10
Recognizes the scientific, technological, social or cultural improvements of the field and contribute to the solution finding process regarding social, scientific, cultural and ethical problems in the field and support the development of these values.