Course Objectives: |
By teaching students object-oriented programming concepts, it enables them to make the software development process more efficient and streamlined, and enables them to design powerful and scalable software systems that incorporate OOP principles. |
Course Content: |
This course begins with an introduction to object-oriented programming (OOP) and covers object-oriented thinking, design principles, and the history of OOP. Emphasis is placed on OOP fundamentals such as core concepts, properties, methods, events, control structures, loops, and arrays. While examining primitive and reference types, data structures, and algorithms, applications of structures such as lists, stacks, queues, and dictionaries in OOP are addressed. Later in the course, object and class design, Unified Modeling Language (UML) and various UML diagrams such as class, object, activity diagrams are studied. Concepts such as inheritance, abstract classes, composition, interfaces, polymorphism, and SOLID principles are explored. It also covers exception and error handling in OOP. After the midterm, the focus is on topics such as memory management, garbage collection, and resource handling. It examines object serialization, JSON, XML, and working with databases, while moving on to advanced topics such as concurrency, parallel programming, and asynchronous programming. Emphasis is placed on other design patterns, architectural patterns (MVC, MVVM, etc.), microservices, and API development. Finally, topics such as software engineering principles, agile methodologies, version control systems, code reviews and testing are explored. The course ends with the final exam. |
Week |
Subject |
Related Preparation |
1) |
Introduction to Object Oriented Programming (OOP): Object-oriented thinking, history and design principles |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
2) |
OOP fundamentals: Properties, methods, events, control structures, loops and arrays |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
3) |
Data structures and algorithms: Primitive and reference types, lists, stacks, queues, dictionaries, and their applications in OOP |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
4) |
Object and class design, Unified Modeling Language (UML): Class diagrams, object diagrams, and activity diagrams |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
5) |
Inheritance, abstract classes, and composition |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
6) |
Interfaces, polymorphism and SOLID principles |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
7) |
Midterm |
|
8) |
Exception handling and error handling in OOP |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
9) |
Memory management, garbage collection and resource handling |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
10) |
Object Serialization, working with JSON, XML and databases |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
11) |
Concurrency, parallel programming and asynchronous programming |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
12) |
Other design patterns and architectural patterns (MVC, MVVM, etc.), microservices and API development |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
13) |
Software engineering principles: Agile methodologies, version control systems, code reviews and testing |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
14) |
Cloud computing and serverless architectures: Deployment, scalability and security considerations in modern software development |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
15) |
Cloud computing and serverless architectures: Patterns, scalability, and security solutions in modern software development |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
16) |
Final |
Kitap: "Clean Architecture: A Craftsman's Guide to Software Structure and Design" by Robert C. Martin - Bu kitap, mimari ve tasarım prensiplerine odaklanarak nesne yönelimli programlamaya güçlü bir temel sağlar.
Kitap: "Design Patterns and Best Practices: A comprehensive guide to building smart and reusable code" by Kamaljeet Singh and Adrian Ianculescu - Bu kitap, tasarım desenleri ve en iyi uygulamalar hakkında bilgi sunar.
Kitap: "Effective Object-Oriented Software Construction: Concepts, Practices, and Metrics" by Kayshav Dattatri - Bu kitap etkili nesne yönelimli yazılım geliştirme süreçlerine odaklanarak, OOP kavramlarını, uygulamalarını ve ölçümlerini kapsamlı bir şekilde ele almaktadır.
Online Kaynak: Coursera: https://www.coursera.org/
Online Kaynak: Pluralsight: https://www.pluralsight.com/browse?=&q=oop&type=all&sort=default
Online Kaynak: Udemy:https://www.udemy.com/courses/search/?src=ukw&q=oop |
|
Program Outcomes |
Level of Contribution |
1) |
Ability to use and apply current technical concepts and practices in the information technologies of engineering, data management and computer security. |
|
2) |
Understanding user needs, analyzing them, and using them in the selection, evaluation, and management of computer-based systems. |
|
3) |
Ability to use data structures and develop algorithms. |
|
4) |
Ability to analyze and interpret complex big data systems. |
|
5) |
Ability to interpret and apply concepts and algorithms in machine learning. |
|
6) |
Understanding of the mathematical foundations of deep learning in the field of data analysis and the ability to apply the theory. |
|
7) |
Ability to solve complex data structures, develop and apply deep learning models, and interpret artificial intelligence-focused research on these topics. |
|
8) |
Ability to apply deep learning techniques and interpret real-world datasets and projects to solve problems in image analysis, natural language processing, and recommendation systems. |
|
9) |
Ability to transfer the basic principles and mathematical infrastructure of digital signal processing to practical applications. |
|
10) |
Gaining knowledge about the tools and technologies used via the Internet and the different technologies used for server coding languages and tools. |
|
11) |
Ability to understand of how genes function in multicellular species, the flow of genetic information in single-cell organisms, and the ability to interpret and apply biotechnology applications. |
|
12) |
Being aware of ethical values and understanding the need to conduct research and practice within the framework of these values. |
|