School/Faculty/Institute Graduate School
Course Code ITC 534
Course Title in English Object-Oriented Programming (Python)
Course Title in Turkish Object-Oriented Programming (Python)
Language of Instruction EN
Type of Course Exercise,Flipped Classroom,Lecture
Level of Course Advanced
Semester Spring
Contact Hours per Week
Lecture: 3 Recitation: Lab: Other:
Estimated Student Workload 186 hours per semester
Number of Credits 7.5 ECTS
Grading Mode Standard Letter Grade
Pre-requisites None
Expected Prior Knowledge None
Co-requisites None
Registration Restrictions None
Overall Educational Objective • To provide the advanced concepts of object-oriented programming, • To give an ability to form well-defined problem formulations for programming, • To give an ability to solve well-defined complex object-oriented programming problems by using Python programming tools, • To give an ability to design object-oriented programming systems, • To give an ability to work together with colleagues in a programming project
Course Description This course aims to introduce concepts of object-oriented programming to students and help them design well-defined object-oriented programming problem formulations. Students are engaged in fundamental concepts in data structure, design patterns, GUI programming, search algorithms, and basic concepts of object-oriented programming. Then students and the instructor will apply these concepts on programming domain together.
Course Description in Turkish Bu ders, nesne yönelimli programlama kavramlarını öğrencilere tanıtıp onların iyi tanımlanmış nesne yönelimli problem çözümlerini tasarlamalarına yardımcı olur. Öğrenciler veri yapıları, dizayn kalıpları, GUI programlama, arama programları ve nesne yönelimli programlama temel konseptleri ile ilgili olacaklardır. Daha sonra öğrenciler ile öğretim elemanı nesne yönelimli programlama problemlerini anlamak için bu kavramları birlikte programlama alanında uygulayacaklardır.

Course Learning Outcomes and Competences

Upon successful completion of the course, the learner is expected to be able to:
1) Define a well-defined problem formulation for a complex OOP problem
2) Design data structures
3) Solve well-defined complex problems using OOP methods and algorithms
4) Design problem solving OOP for different types of problems
5) Using design patterns for OOP
6) Develop GUI systems by Python programming language
7) Work as a team in an OOP project
Program Learning Outcomes/Course Learning Outcomes 1 2 3 4 5 6 7
1) An ability to develop and deepen one's knowledge in the field of mechatronics and robotics engineering at the level of expertise based on acquired undergraduate level qualifications.
2) An ability to acquire scientific and practical knowledge in mechatronics and robotics.
3) A comprehensive knowledge about analysis and modeling methods in mechatronics and their limitations.
4) An ability to design and apply analytical, modeling and experimental based research by analyzing and interpreting complex situations encountered in the design process.
5) An ability to transmit the process and results of the work of mechatronics and robotics systems systematically and clearly in written and oral form in national and international environments.
6) An ability to recognize social, scientific and ethical values in the stages of designing and realizing mechatronics and robotic systems and in all professional activities.
7) An ability to follow new and developing practices in the profession and to apply them in their work.
8) An ability to take leadership in multi-disciplinary teams, taking responsibility in the design and analysis of mechatronics and robotic systems in complex situations.
9) An ability to communicate verbally and in writing in English at least at the level of B2 of European Language Portfolio.
10) An understanding of the social and environmental aspects of mechatronics and robotics applications.

Relation to Program Outcomes and Competences

N None S Supportive H Highly Related
     
Program Outcomes and Competences Level Assessed by
1) An ability to develop and deepen one's knowledge in the field of mechatronics and robotics engineering at the level of expertise based on acquired undergraduate level qualifications. N
2) An ability to acquire scientific and practical knowledge in mechatronics and robotics. N
3) A comprehensive knowledge about analysis and modeling methods in mechatronics and their limitations. N
4) An ability to design and apply analytical, modeling and experimental based research by analyzing and interpreting complex situations encountered in the design process. N
5) An ability to transmit the process and results of the work of mechatronics and robotics systems systematically and clearly in written and oral form in national and international environments. N
6) An ability to recognize social, scientific and ethical values in the stages of designing and realizing mechatronics and robotic systems and in all professional activities. N
7) An ability to follow new and developing practices in the profession and to apply them in their work. N
8) An ability to take leadership in multi-disciplinary teams, taking responsibility in the design and analysis of mechatronics and robotic systems in complex situations. N
9) An ability to communicate verbally and in writing in English at least at the level of B2 of European Language Portfolio. N
10) An understanding of the social and environmental aspects of mechatronics and robotics applications. N
Prepared by and Date ŞENİZ DEMİR , February 2024
Course Coordinator ŞENİZ DEMİR
Semester Spring
Name of Instructor Assoc. Prof. Dr. ŞENİZ DEMİR

Course Contents

Week Subject
1) Variables, Decision Structures, Repetition Structures
2) Functions
3) Lists, Tuples
4) Dictionaries, Sets
4) Dictionaries, Sets
5) Iterations, Comprehensions
6) Classes
7) Encapsulation
8) Inheritance
9) Overloading
10) Polymorphism
11) Object-oriented Design and Algorithms I
12) Object-oriented Design and Algorithms II
13) Advanced Class Topics I
14) Advanced Class Topics II
15) Final Examination Period
16) Final Examination Period
Required/Recommended ReadingsLearning Python, Mark Lutz.
Teaching MethodsFlipped classroom. Students work for programming assignments.
Homework and ProjectsProgramming assignments
Laboratory WorkNone
Computer UseRequired
Other ActivitiesNone
Assessment Methods
Assessment Tools Count Weight
Homework Assignments 4 % 100
TOTAL % 100
Course Administration demirse@mef.edu.tr
536
Instructor’s office: 5th floor Phone number: 0 212 395 37 96 Office hours: After the lecture hours. E-mail address: demirse@mef.edu.tr

ECTS Student Workload Estimation

Activity No/Weeks Hours Calculation
No/Weeks per Semester Preparing for the Activity Spent in the Activity Itself Completing the Activity Requirements
Course Hours 14 1 5 1 98
Homework Assignments 4 0 22 88
Total Workload 186
Total Workload/25 7.4
ECTS 7.5