Information
Code | ENS204 |
Name | Object Oriented Programming |
Term | 2023-2024 Academic Year |
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 Instructor |
Prof. Dr. CENK ŞAHİN
(A Group)
(Ins. in Charge)
|
Course Goal / Objective
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 |