Information Systems Engineering | |||||
Bachelor | TR-NQF-HE: Level 6 | QF-EHEA: First Cycle | EQF-LLL: Level 6 |
Course Code: | FET301 | ||||||||
Ders İsmi: | Advanced Object Oriented Programming | ||||||||
Ders Yarıyılı: | Fall | ||||||||
Ders Kredileri: |
|
||||||||
Language of instruction: | Turkish | ||||||||
Ders Koşulu: | |||||||||
Ders İş Deneyimini Gerektiriyor mu?: | No | ||||||||
Type of course: | Bölüm Seçmeli | ||||||||
Course Level: |
|
||||||||
Mode of Delivery: | Face to face | ||||||||
Course Coordinator : | Asst. Prof. Dr. SUAT UĞURLU | ||||||||
Course Lecturer(s): |
|
||||||||
Course Assistants: |
Course Objectives: | The purpose of the "Advanced Object-Oriented Programming" course is to go beyond the basic concepts of object-oriented programming (OOP) and teach advanced principles, design patterns, and software architecture used in more complex software designs. It aims to enhance students' ability to develop large-scale, modular software and to enable them to write flexible, reusable, and maintainable code |
Course Content: | Advanced Concepts of Object-Oriented Programming: Classes, Objects, and Relationships; Interfaces and Abstract Classes; Polymorphism; Access Modifiers and Package Organization; SOLID Principles; Advanced Programming Techniques; Design Patterns; Performance Optimization and Memory Management; Performance Analysis Tools and Improvement Methods |
The students who have succeeded in this course;
|
Week | Subject | Related Preparation |
1) | Introduction and Fundamentals of Object Oriented Programming | |
2) | Advanced Inheritance and Composition | |
3) | Interfaces and Abstract Classes | |
4) | Advanced Programming Techniques - Generics, Lambda expressions, Reflection | |
5) | Object Oriented Design Principles – SOLID Principles (Part 1) | |
6) | Object Oriented Design Principles – SOLID Principles (Part 2) | |
7) | Design Patterns – Creational Patterns | |
8) | Midterm Exam | |
9) | Design Patterns – Structural Patterns | |
10) | Design Patterns – Behavioral Patterns (Part 1) | |
11) | Design Patterns – Behavioral Patterns (Part 2) | |
12) | Dependency Management and Dependency Injection (DI) | |
13) | Performance Optimization and Memory Management | |
14) | Object-Oriented Design in Large-Scale Software Systems | |
15) | Final Exam |
Course Notes / Textbooks: | "Head First Design Patterns" – Eric Freeman, Elisabeth Robson "Design Patterns: Elements of Reusable Object-Oriented Software" – Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four) |
References: | "Object-Oriented Design Heuristics" – Arthur J. Riel "Object-Oriented Analysis and Design with Applications" – Grady Booch "Effective Java" – Joshua Bloch |
Ders Öğrenme Kazanımları | 1 |
2 |
3 |
4 |
||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Outcomes | ||||||||||||||||||||||||
1) Adequate knowledge in the fields of mathematics and science; ability to use theoretical and practical knowledge in these fields | ||||||||||||||||||||||||
2) Adequate knowledge in subjects specific to the relevant engineering discipline; ability to use theoretical and applied knowledge in these areas to solve complex engineering problems. | ||||||||||||||||||||||||
3) Ability to identify, formulate and solve complex engineering problems. | ||||||||||||||||||||||||
4) Ability to select and apply appropriate analysis and modeling methods to complex engineering problems. | ||||||||||||||||||||||||
5) The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements. | ||||||||||||||||||||||||
6) Ability to apply modern design methods to design a complex system, process, device or product. | ||||||||||||||||||||||||
7) Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering practice. | ||||||||||||||||||||||||
8) Ability to use information technologies effectively to analyze and solve complex problems encountered in engineering applications. | ||||||||||||||||||||||||
9) Ability to design and conduct experiments to investigate complex engineering problems or discipline-specific research topics. | ||||||||||||||||||||||||
10) Ability to collect data, analyze and interpret results for the investigation of complex engineering problems or discipline-specific research topics. | ||||||||||||||||||||||||
11) Ability to work effectively in disciplinary teams. | ||||||||||||||||||||||||
12) Ability to work effectively in multidisciplinary teams. | ||||||||||||||||||||||||
13) Ability to work individually. | ||||||||||||||||||||||||
14) Ability to communicate effectively both orally and in writing. | ||||||||||||||||||||||||
15) Knowledge of at least one foreign language. | ||||||||||||||||||||||||
16) Effective report writing and comprehension of written reports, ability to prepare design and production reports. | ||||||||||||||||||||||||
17) Ability to make effective presentations, give and receive clear and understandable instructions. | ||||||||||||||||||||||||
18) Awareness of the necessity of lifelong learning. | ||||||||||||||||||||||||
19) Ability to access information, to follow developments in science and technology and to continuously renew oneself. | ||||||||||||||||||||||||
20) Knowledge about acting in accordance with ethical principles, professional and ethical responsibility and standards used in engineering practices. | ||||||||||||||||||||||||
21) Knowledge of business practices such as project management, risk management and change management. | ||||||||||||||||||||||||
22) Awareness about entrepreneurship and innovation. | ||||||||||||||||||||||||
23) Knowledge about sustainable development. | ||||||||||||||||||||||||
24) Knowledge about the effects of engineering applications on health, environment and safety in universal and social dimensions and the problems of the era reflected in the field of engineering. | ||||||||||||||||||||||||
25) Awareness of the legal implications of engineering solutions. |
No Effect | 1 Lowest | 2 Low | 3 Average | 4 High | 5 Highest |
Program Outcomes | Level of Contribution | |
1) | Adequate knowledge in the fields of mathematics and science; ability to use theoretical and practical knowledge in these fields | |
2) | Adequate knowledge in subjects specific to the relevant engineering discipline; ability to use theoretical and applied knowledge in these areas to solve complex engineering problems. | |
3) | Ability to identify, formulate and solve complex engineering problems. | |
4) | Ability to select and apply appropriate analysis and modeling methods to complex engineering problems. | |
5) | The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements. | 5 |
6) | Ability to apply modern design methods to design a complex system, process, device or product. | 5 |
7) | Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering practice. | 5 |
8) | Ability to use information technologies effectively to analyze and solve complex problems encountered in engineering applications. | 5 |
9) | Ability to design and conduct experiments to investigate complex engineering problems or discipline-specific research topics. | 5 |
10) | Ability to collect data, analyze and interpret results for the investigation of complex engineering problems or discipline-specific research topics. | 4 |
11) | Ability to work effectively in disciplinary teams. | 3 |
12) | Ability to work effectively in multidisciplinary teams. | |
13) | Ability to work individually. | |
14) | Ability to communicate effectively both orally and in writing. | |
15) | Knowledge of at least one foreign language. | |
16) | Effective report writing and comprehension of written reports, ability to prepare design and production reports. | |
17) | Ability to make effective presentations, give and receive clear and understandable instructions. | |
18) | Awareness of the necessity of lifelong learning. | |
19) | Ability to access information, to follow developments in science and technology and to continuously renew oneself. | |
20) | Knowledge about acting in accordance with ethical principles, professional and ethical responsibility and standards used in engineering practices. | |
21) | Knowledge of business practices such as project management, risk management and change management. | |
22) | Awareness about entrepreneurship and innovation. | |
23) | Knowledge about sustainable development. | |
24) | Knowledge about the effects of engineering applications on health, environment and safety in universal and social dimensions and the problems of the era reflected in the field of engineering. | |
25) | Awareness of the legal implications of engineering solutions. |
Semester Requirements | Number of Activities | Level of Contribution |
Project | 1 | % 25 |
Midterms | 1 | % 25 |
Final | 1 | % 50 |
total | % 100 | |
PERCENTAGE OF SEMESTER WORK | % 50 | |
PERCENTAGE OF FINAL WORK | % 50 | |
total | % 100 |