Course Information


Course Information
Course Title Code Semester L+U Hour Credits ECTS
OBJECT ORIENTED PROGRAMMING YMH221 3. Semester 3 + 2 4.0 5.0

Prerequisites None

Language of Instruction Turkish
Course Level Bachelor's Degree
Course Type Compulsory
Mode of delivery
Course Coordinator
Instructors Zafer KADIRHAN
Assistants
Goals To teach students object-oriented programming concepts, to enable them to make the software development process more efficient and organized, and to design powerful and scalable software systems by applying OOP principles.
Course Content This course is designed to teach the object-oriented method and software design and development techniques. Students will learn design and software techniques with an object-oriented approach. Topics include Data Types, Strings and Characters, Classes and Objects, Methods, Control Structures, GUI Components, Arrays, Inheritance, Concurrent programming, and Exception Handling. Additionally, classes, polymorphism, writing and developing abstract classes and interfaces are covered.
Learning Outcomes 1) It provides object-based thinking skills.
2) Increases software development skills.
3) It improves the ability to manage and handle software errors.
4) Improves data processing and analysis capabilities.
5) Learn to create functional and scalable software architectures in complex software projects.

Weekly Topics (Content)
Week Topics Teaching and Learning Methods and Techniques Study Materials
1. Week Introduction to Object-Oriented Programming (OOP): Object-oriented thinking, history and design principles Lecture

Presentation (Including Preparation Time)
2. Week OOP fundamentals: Properties, methods, events, control structures, loops and arrays Lecture

Presentation (Including Preparation Time)
3. Week Data structures and algorithms: Primitive and reference types, lists, stacks, queues, dictionaries, and their applications in OOP Lecture

Presentation (Including Preparation Time)
4. Week Object and class design, Unified Modeling Language (UML): Class diagrams, object diagrams and activity diagrams Lecture

Presentation (Including Preparation Time)
5. Week Inheritance, abstract classes, and composition Lecture

Presentation (Including Preparation Time)
6. Week Interfaces, polymorphism and SOLID principles Lecture

Presentation (Including Preparation Time)
7. Week Exception handling and error handling in OOP Lecture

Presentation (Including Preparation Time)
8. Week Memory management, garbage collection and resource processing Lecture

Presentation (Including Preparation Time)
9. Week Object Serialization, working with JSON, XML and databases Lecture

Presentation (Including Preparation Time)
10. Week Concurrency, parallel programming and asynchronous programming Lecture

Presentation (Including Preparation Time)
11. Week Other design patterns and architectural patterns (MVC, MVVM, etc.), microservices and API development Lecture

Presentation (Including Preparation Time)
12. Week Software engineering principles: Agile methodologies, version control systems, code reviews and testing Lecture

Presentation (Including Preparation Time)
13. Week Cloud computing and serverless architectures Lecture

Presentation (Including Preparation Time)
14. Week Deployment, scalability and security considerations in modern software development Lecture

Presentation (Including Preparation Time)

Sources Used in This Course
Recommended Sources
Introduction to Java Programming, Brief Version, Ninth Edition.Y. Daniel Liang, Pearson
Pro C# 2010 and the .NET 4 Platform by Andrew W. Troelsen (May 14, 2010)

Relations with Education Attainment Program Course Competencies
Program RequirementsContribution LevelDK1DK2DK3DK4DK5
PY1555555
PY2500000
PY3555555
PY4555555

*DK = Course's Contrubution.
0 1 2 3 4 5
Level of contribution None Very Low Low Fair High Very High
.

ECTS credits and course workload
Event Quantity Duration (Hour) Total Workload (Hour)
Course Duration (Total weeks*Hours per week) 14 3
Work Hour outside Classroom (Preparation, strengthening) 14 3
Project (Including Preparation and presentation Time) 1 30
Midterm Exam 1 2
Time to prepare for Midterm Exam 1 12
Final Exam 1 2
Time to prepare for Final Exam 1 20
Total Workload
Total Workload / 30 (s)
ECTS Credit of the Course
Quick Access Hızlı Erişim Genişlet
Course Information