ENS204 Object Oriented Programming

4 ECTS - 3-0 Duration (T+A)- 4. Semester- 3 National Credit

Information

Code ENS204
Name Object Oriented Programming
Semester 4. Semester
Duration (T+A) 3-0 (T-A) (17 Week)
ECTS 4 ECTS
National Credit 3 National Credit
Teaching Language Türkçe
Level Lisans Dersi
Type Normal
Mode of study Yüz Yüze Öğretim
Catalog Information Coordinator Prof. Dr. CENK ŞAHİN


Course Goal

This course teaches students basic concepts of object-oriented programming using object-oriented programming language.

Course Content

This course is a conceptual and application based introduction using C plus plus and Python programming language, which are widely used for object oriented programming. Basic concepts related to object oriented programming (eg objects, classes, etc.) will be introduced and explained with examples using C plus plus and Python programming language. This course provides a basis for students to support further work on object-oriented program development.

Course Precondition

No

Resources

Downey, A. (2012). Think python: How to think like a computer scientist. Needham: Green Tea Press.

Notes

D. S. Malik - C++ Programming: From Problem Analysis to Program Design.Lecture Notes by Cenk Sahin.


Course Learning Outcomes

Order Course Learning Outcomes
LO01 Students will learn object-oriented programming using classes, class constructors, and other tools.
LO02 Students will learn the concept of inheritance.
LO03 Students will learn the interface concept.
LO04 Solutions to real life problems will be developed.
LO05 Students will be able to develop programs with Python and C plus plus languages.


Relation with Program Learning Outcome

Order Type Program Learning Outcomes Level
PLO01 Bilgi - Kuramsal, Olgusal Have sufficient knowledge of mathematics, science and related engineering disciplines; can use the theoretical and applied knowledge in these fields in complex engineering problems. 4
PLO02 Bilgi - Kuramsal, Olgusal Acquire the ability to identify, define, formulate and solve complex Industrial Engineering problems; for this purpose, will have the ability to choose and apply appropriate analysis and modeling methods. 2
PLO03 Bilgi - Kuramsal, Olgusal Design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions; can apply modern design methods for this purpose.
PLO04 Bilgi - Kuramsal, Olgusal Develops modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications, and has the ability to use information technologies effectively. 5
PLO05 Bilgi - Kuramsal, Olgusal Have the ability to design experiments, collect data, analyze and interpret results for the investigation of complex engineering problems or discipline-specific research topics.
PLO06 Bilgi - Kuramsal, Olgusal Have the ability to work effectively in disciplinary and multi-disciplinary teams or individually. 5
PLO07 Beceriler - Bilişsel, Uygulamalı Ability to communicate effectively in Turkish orally and in writing; knowledge of at least one foreign language; have the ability to write effective reports and understand written reports, to prepare design and production reports, to make effective presentations, to give and receive clear and understandable instructions. 4
PLO08 Beceriler - Bilişsel, Uygulamalı Have the awareness of the necessity of lifelong learning; can follow the developments in science and technology and have the ability to constantly renew themselves. 5
PLO09 Yetkinlikler - Öğrenme Yetkinliği Acts in accordance with ethical principles, has knowledge about the standards used in engineering applications with the awareness of professional and ethical responsibility. 3
PLO10 Yetkinlikler - Öğrenme Yetkinliği Gain knowledge of business practices such as project management, risk management and change management; become aware of entrepreneurship and innovation. 4
PLO11 Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği Gains knowledge about the effects of engineering practices on health, environment and safety in universal and social dimensions and the problems of the age reflected in the field of engineering and has awareness of the legal consequences of engineering solutions.
PLO12 Yetkinlikler - Öğrenme Yetkinliği They can benefit from the power of effective communication in their professional life and have the ability to interpret developments correctly. 4
PLO13 Yetkinlikler - Öğrenme Yetkinliği Have the ability to design, develop, implement and improve integrated systems involving machine, time, information and money.
PLO14 Yetkinlikler - Öğrenme Yetkinliği Have the ability to design, develop, implement and improve complex products, processes, businesses, systems by applying modern design methods, under realistic conditions and constraints such as cost, environment, sustainability, manufacturability, ethical, health, safety and political issues.


Week Plan

Week Topic Preparation Methods
1 Introduction to Object Oriented Programming Reading lecture notes and references about the subject Öğretim Yöntemleri:
Anlatım, Soru-Cevap
2 Object Oriented Programming Basics Reading lecture notes and references about the subject Öğretim Yöntemleri:
Anlatım, Soru-Cevap
3 Object-based design Reading lecture notes and references about the subject Öğretim Yöntemleri:
Anlatım, Soru-Cevap
4 Class Reading lecture notes and references about the subject Öğretim Yöntemleri:
Anlatım, Soru-Cevap
5 Class constructors object creation and deletion Reading lecture notes and references about the subject Öğretim Yöntemleri:
Anlatım, Soru-Cevap
6 Inheritance Reading lecture notes and references about the subject Öğretim Yöntemleri:
Anlatım, Soru-Cevap
7 Abstract classes, interfaces and multiple inheritance Reading lecture notes and references about the subject Öğretim Yöntemleri:
Anlatım, Soru-Cevap
8 Mid-Term Exam Study for Midterm Exam Ölçme Yöntemleri:
Yazılı Sınav
9 Polymorphism and virtual functions Reading lecture notes and references about the subject Öğretim Yöntemleri:
Anlatım, Soru-Cevap
10 Exception handling Reading lecture notes and references about the subject Öğretim Yöntemleri:
Anlatım, Soru-Cevap
11 Streams, serialization and file input / output Reading lecture notes and references about the subject Öğretim Yöntemleri:
Anlatım, Soru-Cevap
12 Introduction to design patterns Reading lecture notes and references about the subject Öğretim Yöntemleri:
Anlatım, Soru-Cevap
13 Graphical interface programming tools Reading lecture notes and references about the subject Öğretim Yöntemleri:
Anlatım, Soru-Cevap
14 Project Presentation1 Presentation Preparation Ölçme Yöntemleri:
Proje / Tasarım
15 Project Presentation2 Presentation Preparation Ölçme Yöntemleri:
Proje / Tasarım
16 Term Exams Study for Final Exam Ölçme Yöntemleri:
Yazılı Sınav
17 Term Exams Study for Final Exam Ölçme Yöntemleri:
Ödev


Student Workload - ECTS

Works Number Time (Hour) Workload (Hour)
Course Related Works
Class Time (Exam weeks are excluded) 14 3 42
Out of Class Study (Preliminary Work, Practice) 14 3 42
Assesment Related Works
Homeworks, Projects, Others 0 0 0
Mid-term Exams (Written, Oral, etc.) 1 7 7
Final Exam 1 18 18
Total Workload (Hour) 109
Total Workload / 25 (h) 4,36
ECTS 4 ECTS