TR EN

OBJECT ORIENTED PROGRAMMING PROGRAMME COURSE DESCRIPTION

Code Name of the Course Unit Semester In-Class Hours (T+P) Credit ECTS Credit
COM201 OBJECT ORIENTED PROGRAMMING 3 5 4 8

GENERAL INFORMATION

Language of Instruction : English
Level of the Course Unit : BACHELOR'S DEGREE, TYY: + 6.Level, EQF-LLL: 6.Level, QF-EHEA: First Cycle
Type of the Course : Compulsory
Mode of Delivery of the Course Unit -
Coordinator of the Course Unit Assist.Prof. OĞUZHAN ÖZTAŞ
Instructor(s) of the Course Unit Assist.Prof. ZEINAB HASSANZADEH
Course Prerequisite No

OBJECTIVES AND CONTENTS

Objectives of the Course Unit: This course aims to teach the student the concepts of object-oriented programming and to learn and develop object-oriented programs with the Python programming language. After completing this course, the student is expected to examine the original codes related to object-oriented programming for relevant applications and make changes to them.
Contents of the Course Unit: Object-Oriented Programming (OOP) is a fundamental programming that organizes code around objects, which are instances of classes. Objects and classes, constructor, static variable, constants, methods, visibility modifiers, temporary objects, calling methods with objects, immutability, variable visibility, class abstraction, and wrapping, concepts of superclass and subclass, inheritance, multiple meanings, chewing, overloading, abstract class, object-oriented design.

KEY LEARNING OUTCOMES OF THE COURSE UNIT (On successful completion of this course unit, students/learners will or will be able to)

Core Programming Skills: Understand OOP Concepts, Create Classes and Objects, Design and Implement Systems, Use Inheritance and Polymorphism, Work with Access Modifiers.
Advanced Techniques: Encapsulate Data, Overloading and Overriding Methods, Manage Memory with Constructors/Destructors, Work with Abstract Classes and Interfaces, Handle Exceptions.
Design Patterns and Best Practices: Apply Design Patterns, Follow SOLID Principles, Implement Dependency Injection.
Practical Application: Work with UML Diagrams, Debug OOP Applications, Collaborate in Teams, Test Object-Oriented Systems.
Specialized Areas: Optimize Code for Performance, Work with Libraries and Frameworks,mHandle Object Persistence.

WEEKLY COURSE CONTENTS AND STUDY MATERIALS FOR PRELIMINARY & FURTHER STUDY

Week Preparatory Topics(Subjects) Method
1 The relevant section of the reference, additional resources, and lecture notes Python Programming Language Basics: Introduction to Python, Why is Python so popular? Python packages, Anaconda, Python editors Resources, Installing Python, Python IDLE, First Python Program, Introduction to Object-Oriented Programming in Python (Primitive concepts and definitions); Lecture presentation, Discussion(Question-Answer)
2 The relevant section of the reference, additional resources, and lecture notes Python Basics: Integers, Floating-point numbers, Strings, Examples, Exercises; Lecture presentation, Discussion(Question-Answer), Laboratory Exercises.
3 The relevant section of the reference, additional resources, and lecture notes Variables and Scope: Variables, Modifying values, Type conversion, Answers to exercises; Lecture presentation, Discussion(Question-Answer), Laboratory Exercises.
4 The relevant section of the reference, additional resources, and lecture notes Selection Control Statements: Introduction, Selection: if statement, More on the if statement, Boolean values, operators and expressions, The None value, Examples, Exercises; Lecture presentation, Discussion(Question-Answer), Laboratory Exercises.
5 The relevant section of the reference, additional resources, and lecture notes Collections: Lists, Tuples, Sets, Ranges, Dictionaries, Converting between collection types, Two-dimensional sequences, Answers to exercises; Lecture presentation, Discussion(Question-Answer), Laboratory Exercises.
6 The relevant section of the reference, additional resources, and lecture notes Loop Control Statements: Introduction, The while statement, The for statement, Nested loops, Iterables, iterators and generators, Comprehensions, The break and continue statements, Examples, Exercises; Lecture presentation, Discussion(Question-Answer), Laboratory Exercises.
7 The relevant section of the reference, additional resources, and lecture notes Errors and Exceptions: Errors, Handling exceptions, Debugging programs, Logging, Answers to exercises; Lecture presentation, Discussion(Question-Answer), Laboratory Exercises.
8 - MID-TERM EXAM -
9 The relevant section of the reference, additional resources, and lecture notes Functions: Introduction, Input parameters, Return values, The stack, Default parameters, *args and **kwargs, Decorators, Lambdas, Generator functions and yield, Answers to exercises; Lecture presentation, Discussion(Question-Answer), Laboratory Exercises.
10 The relevant section of the reference, additional resources, and lecture notes Classes: Defining and using a class, Instance attributes, Class attributes, Class decorators, Inspecting an object, Overriding magic methods, and Answers to exercises; Lecture presentation, Discussion(Question-Answer), Laboratory Exercises.
11 The relevant section of the reference, additional resources, and lecture notes Object-oriented Programming: Introduction, Composition, Inheritance, More about inheritance, Avoiding inheritance, Answers to exercises; Lecture presentation, Discussion(Question-Answer), Laboratory Exercises.
12 The relevant section of the reference, additional resources, and lecture notes Packaging and Testing: Modules, Packages, Documentation, Testing, Examples, Exercises; Lecture presentation, Discussion(Question-Answer), Laboratory Exercises.
13 The relevant section of the reference, additional resources, and lecture notes Useful Modules in the Standard Library: Date and time: datetime, Mathematical functions: math, Pseudo-random numbers: random, Matching string patterns: re, Parsing CSV files: CSV, Writing scripts: Answers to exercises; Lecture presentation, Discussion(Question-Answer), Laboratory Exercises.
14 The relevant section of the reference, additional resources, and lecture notes Introduction to GUI Programming with Tkinter: Event-driven programming, Tkinter basics, Layout options, Custom events, Putting it all together, Examples, Exercises; Lecture presentation, Discussion(Question-Answer), Laboratory Exercises.
15 The relevant section of the reference, additional resources, and lecture notes Sorting, Searching, and Algorithm Analysis: Introduction, Sorting Algorithms, Searching Algorithms, Algorithm Complexity, Complexities of common operations in Python, Answers to exercises; Lecture presentation, Discussion(Question-Answer), Laboratory Exercises.
16 - FINAL EXAM -
17 - FINAL EXAM -

SOURCE MATERIALS & RECOMMENDED READING

Main Reference: Object-Oriented Programming in Python Documentation, Hans-Petter Halvorsen, 2013.
Lecture Notes and Presentations, Asst. Prof. Zeinab HASSANZADEH , 2024-2025 Fall Semester.
- Python 3 Object-oriented Programming, Dusty Phillips, Second Edition, Published by Packt Publishing Ltd, ISBN: 978-1-78439-878-1.
https://www.udemy.com/course/python-object-oriented-programming-oop/?utm_source=adwords&utm_medium=udemyads&utm_campaign=Search_DSA_Alpha_Prof_la.EN_cc.ROWEnglish&campaigntype=Search&portfolio=ROW
Main Reference: Object-Oriented Programming in Python Documentation, Hans-Petter Halvorsen, 2013.
Lecture Notes and Presentations, Asst. Prof. Zeinab HASSANZADEH , 2024-2025 Fall Semester.
- Python 3 Object-oriented Programming, Dusty Phillips, Second Edition, Published by Packt Publishing Ltd, ISBN: 978-1-78439-878-1.
https://www.udemy.com/course/python-object-oriented-programming-oop/?utm_source=adwords&utm_medium=udemyads&utm_campaign=Search_DSA_Alpha_Prof_la.EN_cc.ROWEnglish&campaigntype=Search&portfolio=ROW
Yardımcı Kaynak: - Python 3 Object-oriented Programming, Dusty Phillips, Second Edition, Published by Packt Publishing Ltd, ISBN: 978-1-78439-878-1.
https://www.udemy.com/course/python-object-oriented-programming-oop/?utm_source=adwords&utm_medium=udemyads&utm_campaign=Search_DSA_Alpha_Prof_la.EN_cc.ROWEnglish&campaigntype=Search&portfolio=ROW

ASSESSMENT

Assessment & Grading of In-Term Activities Number of Activities Degree of Contribution (%) Description
Level of Contribution
0 1 2 3 4 5

CONTRIBUTION OF THE COURSE UNIT TO THE PROGRAMME LEARNING OUTCOMES

KNOWLEDGE

Theoretical

Programme Learning Outcomes Level of Contribution
0 1 2 3 4 5
1
Explains the fundamental engineering concepts of computer science and relates them to the groundwork of computer science.
4

KNOWLEDGE

Factual

Programme Learning Outcomes Level of Contribution
0 1 2 3 4 5
1
Uses theoretical and practical knowledge coming from mathematics, probability, statistics and various other branches of life sciences, to find solutions to engineering problems.
4

SKILLS

Cognitive

Programme Learning Outcomes Level of Contribution
0 1 2 3 4 5
1
Determines the components and the underlying process of a system and designs an appropriate computational model under reasonable constraints.
5
2
Designs a computer-aided conceptual model with modern techniques.
5

SKILLS

Practical

Programme Learning Outcomes Level of Contribution
0 1 2 3 4 5
1
Determines, detects and analyzes the areas of computer science applications and develops appropriate solutions.
5
2
Identifies, models and solves computer engineering problems by applying appropriate analytical methods.
5
3
Determines and uses the necessary information technologies in an efficient way for engineering applications.
5

OCCUPATIONAL

Autonomy & Responsibility

Programme Learning Outcomes Level of Contribution
0 1 2 3 4 5
1
Possess the responsibility and ability to design and conduct experiments for engineering problems by collecting, analyzing and interpreting data.
5
2
Possess the ability to conduct effective individual study.
4
3
Takes responsibility as a team work and contributes in an effective way.
4

WORKLOAD & ECTS CREDITS OF THE COURSE UNIT

Workload for Learning & Teaching Activities

Type of the Learning Activites Learning Activities (# of week) Duration (hours, h) Workload (h)
Lecture & In-Class Activities 14 5 70
Preliminary & Further Study 3 1 3
Land Surveying 3 4 12
Group Work 1 3 3
Laboratory 3 5 15
Reading 1 3 3
Assignment (Homework) 6 2 12
Project Work 3 4 12
Seminar 0 0 0
Internship 0 0 0
Technical Visit 1 1 1
Web Based Learning 0 0 0
Implementation/Application/Practice 3 4 12
Practice at a workplace 1 1 1
Occupational Activity 1 1 1
Social Activity 1 5 5
Thesis Work 5 10 50
Field Study 0 0 0
Report Writing 2 2 4
Final Exam 1 2 2
Preparation for the Final Exam 0 0 0
Mid-Term Exam 1 1 1
Preparation for the Mid-Term Exam 0 0 0
Short Exam 1 1 1
Preparation for the Short Exam 0 0 0
TOTAL 51 0 208
Total Workload of the Course Unit 208
Workload (h) / 25.5 8,2
ECTS Credits allocated for the Course Unit 8,0