Code | Name of the Course Unit | Semester | In-Class Hours (T+P) | Credit | ECTS Credit |
---|---|---|---|---|---|
BIL201 | OBJECT ORIENTED PROGRAMMING | 3 | 5 | 4 | 8 |
GENERAL INFORMATION |
|
---|---|
Language of Instruction : | Turkish |
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 | Lecturer AHMET VEDAT TOKMAK-Lecturer HÜSEYİN GÖKAL-Assist.Prof. NİHAL ALTUNTAŞ-Assist.Prof. ZEINAB HASSANZADEH |
Course Prerequisite | No |
OBJECTIVES AND CONTENTS |
|
---|---|
Objectives of the Course Unit: | This course aims to introduce the principles of object-oriented programming, the structure of object-oriented languages, and basic concepts. Students will learn topics such as class structures, object relationships, inheritance, and polymorphism, and will be able to use object-oriented approaches in application development processes. |
Contents of the Course Unit: | Objects and classes, constructor, static variable, constants, methods, visibility modifiers, temporary objects, invocation of methods to objects, invariants, variable visibility, class abstraction and packaging, upper and lower class concepts, inheritance, multiple meaning, chewing, polygon, 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) |
---|
Students taking this course learn basic object-oriented programming (OOP) concepts such as object, class, encapsulation, abstraction, inheritance and polymorphism and can use them effectively in their projects. |
Students taking this course will use inheritance and polymorphism features to reduce code duplication and develop flexible and extensible applications. |
Students taking this course will manage errors safely with exception management (try-catch structures); perform data reading and writing operations with file operations. |
Students taking this course develop independent projects using OOP principles and gain problem solving skills with an object-oriented approach. |
WEEKLY COURSE CONTENTS AND STUDY MATERIALS FOR PRELIMINARY & FURTHER STUDY |
|||
---|---|---|---|
Week | Preparatory | Topics(Subjects) | Method |
1 | -Relevant section of references, additional resources and lecture notes. | Introduction and Basic Concepts: Overview of object-oriented programming, Differences between structured programming and object-oriented programming, Concepts of object, class, property and method | Lectures, Discussion (Question-Answer), Laboratory Practices. |
2 | -Relevant section of references, additional resources and lecture notes. | Classes and Objects: Class definitions and object creation, Constructor and destructor methods, Encapsulation concept and access specifiers (public, private, protected) | Lectures, Discussion (Question-Answer), Laboratory Practices. |
3 | -Relevant section of references, additional resources and lecture notes. | 4 Fundamental Principles of Object Oriented Programming: Encapsulation, Abstraction, Inheritance, Polymorphism | Lectures, Discussion (Question-Answer), Laboratory Practices. |
4 | -Relevant section of references, additional resources and lecture notes. | Encapsulation and Access Specifiers: Encapsulation to provide data privacy and security, use of public, private, and protected access specifiers, data control with setter and getter methods | Lectures, Discussion (Question-Answer), Laboratory Practices. |
5 | -Relevant section of references, additional resources and lecture notes. | Constructor and Destructor Methods: Constructors with and without parameters, Destructors and memory management, Constructor and destructor usage examples | Lectures, Discussion (Question-Answer), Laboratory Practices. |
6 | -Relevant section of references, additional resources and lecture notes. | Static and Object Member Variables: Static variables and methods, Differences between static and object member variables, Areas of use of static structures and examples. | Lectures, Discussion (Question-Answer), Laboratory Practices. |
7 | -Relevant section of references, additional resources and lecture notes. | Inheritance: Concept of inheritance and its basic features, Multiple inheritance and multiple inheritance problems | Lectures, Discussion (Question-Answer), Laboratory Practices. |
8 | - | MID-TERM EXAM | - |
9 | -Relevant section of references, additional resources and lecture notes. | Polymorphism: The concept and types of polymorphism, application areas of polymorphism and examples | Lectures, Discussion (Question-Answer), Laboratory Practices. |
10 | -Relevant section of references, additional resources and lecture notes. | Abstract Classes and Interfaces: Concepts of abstract classes and interfaces, areas of use of abstract classes and interfaces, comparison of abstract classes and interfaces with practical examples. | Lectures, Discussion (Question-Answer), Laboratory Practices. |
11 | -Relevant section of references, additional resources and lecture notes. | Exception Handling: Error types and exception management, catching and handling errors with the try-catch structure, ensuring program safety with exception management. | Lectures, Discussion (Question-Answer), Laboratory Practices. |
12 | -Relevant section of references, additional resources and lecture notes. | File reading and writing operations | Lectures, Discussion (Question-Answer), Laboratory Practices. |
13 | -Relevant section of references, additional resources and lecture notes. | Collections and Data Structures: collection classes (ArrayList, LinkedList, etc.), use of data structures in object-oriented programming, properties of structures such as HashMap, TreeMap | Lectures, Discussion (Question-Answer), Laboratory Practices. |
14 | -Relevant section of references, additional resources and lecture notes. | Design Patterns: Basic design patterns such as Singleton, Factory, Observer, use of design patterns in OOP projects | Lectures, Discussion (Question-Answer), Laboratory Practices. |
15 | - | Project work | Lectures, Discussion (Question-Answer), Laboratory Practices. |
16 | - | FINAL EXAM | - |
17 | - | FINAL EXAM | - |
SOURCE MATERIALS & RECOMMENDED READING |
---|
Nesne Tabanlı Programlama (PYTHON) , Prof. Dr. Cahit Karakuş, Balbiti, Haziran 2023. |
Nesne Tabanlı Programlama (PYTHON) , Prof. Dr. Cahit Karakuş, Balbiti, Haziran 2023. |
Java: Object Oriented Programming, Dr. Ali Orhan Aydın, Pusula Publication, 2012. |
Java How to Program, Harvey M. Deitel & Paul J. Deitel, Prentice-Hall. 7. Basım, 2007 |
ASSESSMENT |
|||
---|---|---|---|
Assessment & Grading of In-Term Activities | Number of Activities | Degree of Contribution (%) | Description |
Level of Contribution | |||||
---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 |
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.
|
4 | |||||
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.
|
4 |
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.
|
5 |
OCCUPATIONAL |
|||||||
---|---|---|---|---|---|---|---|
Learning to Learn |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Monitors the developments in the field of information technologies by means of internet and related journals and possess the required knowledge for the management, control, development and security of information technologies.
|
5 | |||||
2 |
Develops positive attitude towards lifelong learning.
|
4 |
OCCUPATIONAL |
|||||||
---|---|---|---|---|---|---|---|
Communication & Social |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Communicates effectively by oral and/or written form and uses at least one foreign language.
|
5 | |||||
2 |
Possess sufficient consciousness about the issues of project management, practical applications and also environmental protection, worker's health and security.
|
5 |
OCCUPATIONAL |
|||||||
---|---|---|---|---|---|---|---|
Occupational and/or Vocational |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Possess professional and ethical responsibility and willingness to share it.
|
4 | |||||
2 |
Possess sufficient consciousness about the universality of engineering solutions and applications and be well aware of the importance of innovation.
|
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 |