Skip to main content

Course Detail

Course Description

CourseCodeSemesterT+P (Hour)CreditECTS
OBJECT ORIENTED PROGRAMMINGYBS3257490Spring Semester3+034
Course Program

Çarşamba 10:00-10:45

Çarşamba 11:00-11:45

Çarşamba 12:00-12:45

Cumartesi 10:00-10:45

Cumartesi 11:00-11:45

Cumartesi 12:00-12:45

Prerequisites Courses
Recommended Elective Courses
Language of CourseTurkish
Course LevelFirst Cycle (Bachelor's Degree)
Course TypeRequired
Course CoordinatorAssist.Prof. Kevser ŞAHİNBAŞ
Name of Lecturer(s)Lect. Nada A. M. MISK, Assist.Prof. Kevser ŞAHİNBAŞ
Assistant(s)
AimThe aim of this course is to develop an understanding of the principles of object oriented programming so that students can apply it in IT projects.
Course ContentThis course contains; Genealogy of object oriented languages: structured programming,
procedural programming,Abstract data types, encapsulation,Typed and untyped languages, Coupling and cohesion,Encapsulation. Classes and objects. Class members: Data members (fields) and member functions (methods). Class member visibility (private, public, protected). Class variables and instance variables. Class methods and instance methods. Service methods and support methods. Scope,Class hierarchies. Single and multiple inheritance. Inter-class relationships., Memory management. Garbage collection. Methods and messages. Method signatures. Method and operator overloading. Method overriding. Abstract classes. Dynamic (late) binding. Polymorphism. Software reuse. Subclasses (derived classes). Superclasses (base classes). Invocation of superclass methods and constructors.,Objects vs. variables. Classes vs. types. Delegation. Collection classes. Class libraries.,Unified Modelling Language (UML). Use case diagrams: actors, system
boundary, --uses-- and --extends--,Scenarios. Class diagrams: associations, aggregation, dependency, and
inheritance. Object interaction diagrams, object state transition diagrams.,Object constraint language (OCL): ,Design patterns. Pattern documentation: motivation, prerequisites,
structures, participants and consequences. Examples of patterns: Adapter, Decorator, Iterator, Observer, Singleton,In class example and project picking,Implementation of designs in an object-oriented programming language
,Testing object oriented code. Class testing, constructing class tests from
OCL or state transition diagrams, test driver construction. Testing interactions and class hierarchies.
Dersin Öğrenme KazanımlarıTeaching MethodsAssessment Methods
1. will be able to se Eclipse as an Integrated Development Environment.6A
1.1. Gets enough information about Eclipse.6A
1.2. Uses Eclipse knowing why and how to use .6A
2. Will be able to apply standards and principles to write truly readable code6A
2.1. Defines readable codes.6A
2.2. Knows what are the standards principles for readable codes, and fulfill these standards and principles in the applications.6A
3. will be able to produce class diagrams, object interaction diagrams and object state transition diagrams for a given problem14, 6A
3.1. Produces class diagrams for a given problem.6A
3.2. Produces object interaction diagrams for a given problem.6A
3.3. Produces object state transition diagrams for a given problem.6A
4. will be able to describe the essential features of an object-oriented programming language14, 6, 9A
4.1. Defines basic principles of the object oriented programming language.6A
4.2. Applies the facilitator side of the object oriented programming language.6A
5. will be able to produce and debug code fragments that illustrate principles of object oriented software development6, 9A
5.1. Generates code fragments based on object-oriented software development principles.6A
5.2. Extracts errors according to object-oriented software development principles. 6A
6. Will be able to define the fundamentals of input and output using the java.io library6A
6.1. Uses the java.io library effectively .6A
6.2. Defines input and output bases.6A
7. will be able to define the concepts of object-oriented design, polymorphism, information hiding, and inheritance.14, 6A
7.1. Defines the concept of object oriented design.6A
7.2. Defines the concept of object oriented polymorphism.6A
7.3. Defines concept of object oriented information storage.6A
7.4. Defines the concept of object oriented inheritance.6A
8. Will be bale to describe the principles for testing object oriented software.6A
8.1. Tests object oriented software.6A
8.2. Defines testing principles.6F
Teaching Methods:14: Self Study Method, 6: Experiential Learning, 9: Lecture Method
Assessment Methods:A: Traditional Written Exam, F: Project Task

Course Outline

OrderSubjectsPreliminary Work
1Genealogy of object oriented languages: structured programming,
procedural programming
2Abstract data types, encapsulation
3Typed and untyped languages, Coupling and cohesion
4Encapsulation. Classes and objects. Class members: Data members (fields) and member functions (methods). Class member visibility (private, public, protected). Class variables and instance variables. Class methods and instance methods. Service methods and support methods. Scope
5Class hierarchies. Single and multiple inheritance. Inter-class relationships.
6 Memory management. Garbage collection. Methods and messages. Method signatures. Method and operator overloading. Method overriding. Abstract classes. Dynamic (late) binding. Polymorphism. Software reuse. Subclasses (derived classes). Superclasses (base classes). Invocation of superclass methods and constructors.
7Objects vs. variables. Classes vs. types. Delegation. Collection classes. Class libraries.
8Unified Modelling Language (UML). Use case diagrams: actors, system
boundary, --uses-- and --extends--
9Scenarios. Class diagrams: associations, aggregation, dependency, and
inheritance. Object interaction diagrams, object state transition diagrams.
10Object constraint language (OCL):
11Design patterns. Pattern documentation: motivation, prerequisites,
structures, participants and consequences. Examples of patterns: Adapter, Decorator, Iterator, Observer, Singleton
12In class example and project picking
13Implementation of designs in an object-oriented programming language
14Testing object oriented code. Class testing, constructing class tests from
OCL or state transition diagrams, test driver construction. Testing interactions and class hierarchies
Resources
Java programlama dili yazılım tasarımı, Altıntaş, Altuğ Bilgin, 2014, Papatya Yayıncılık
Okuma Listesi 1. Java ile programlama ve veri yapıları, Çobanoğlu, Bülent, 2016 2. Java : nesne yönelimli programlama, Aydın, Ali Orhan, 2012 3. Java ile programlama, Uysal, Mitat, 2013 4. Java How to Program, Deitel & Deitel, Prentice Hall, 9th Edition, 2012 5. Java programming: A beginners Guide to learning Java, step by step. By Troy Dimes 2015 6. Java: A beginner’s Guide. By Herbert Schildt 2014 7. Head First Java, 2nd Edition By Katy Sierra and Bert Bates 2005

Course Contribution to Program Qualifications

Course Contribution to Program Qualifications
NoProgram QualificationContribution Level
12345
1
Defines the theoretical issues in the field of information and management.
X
2
Describes the necessary mathematical and statistical methods in the field of information and management.
3
Uses at least one computer program in the field of information and management.
X
4
Sustains proficiency in a foreign language requiredor information and management studies.
5
Prepares informatics/software projects and work in a team.
X
6
Constantly updates himself / herself by following developments in science and technology with an understanding of the importance of lifelong learning through critically evaluating the knowledge and skills that s/he has got.7. Uses theoretical and practical expertise in the field of information and management
7
Follows up-to-date technology using a foreign language at least A1 level, holds verbal / written communication skills.
X
8
Follows up-to-date technology using a foreign language at least A1 level, holds verbal / written communication.
9
Adopts organizational / institutional and social ethical values.
10
Within the framework of community involvement adopts social responsibility principles and takes initiative when necessary.
11
Uses and analyses basic facts and data in various disciplines (economics, finance, sociology, law, business) in order to conduct interdisciplinary studies.
12
Writes software in different platforms such as desktop, mobile, web on its own and / or in a team.
X

Assessment Methods

Contribution LevelAbsolute Evaluation
Rate of Midterm Exam to Success 40
Rate of Final Exam to Success 60
Total 100
ECTS / Workload Table
ActivitiesNumber ofDuration(Hour)Total Workload(Hour)
Course Hours14342
Guided Problem Solving000
Resolution of Homework Problems and Submission as a Report9327
Term Project000
Presentation of Project / Seminar21224
Quiz122
Midterm Exam144
General Exam11212
Performance Task, Maintenance Plan000
Total Workload(Hour)111
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(111/30)4
ECTS of the course: 30 hours of work is counted as 1 ECTS credit.

Detail Informations of the Course

Course Description

CourseCodeSemesterT+P (Hour)CreditECTS
OBJECT ORIENTED PROGRAMMINGYBS3257490Spring Semester3+034
Course Program

Çarşamba 10:00-10:45

Çarşamba 11:00-11:45

Çarşamba 12:00-12:45

Cumartesi 10:00-10:45

Cumartesi 11:00-11:45

Cumartesi 12:00-12:45

Prerequisites Courses
Recommended Elective Courses
Language of CourseTurkish
Course LevelFirst Cycle (Bachelor's Degree)
Course TypeRequired
Course CoordinatorAssist.Prof. Kevser ŞAHİNBAŞ
Name of Lecturer(s)Lect. Nada A. M. MISK, Assist.Prof. Kevser ŞAHİNBAŞ
Assistant(s)
AimThe aim of this course is to develop an understanding of the principles of object oriented programming so that students can apply it in IT projects.
Course ContentThis course contains; Genealogy of object oriented languages: structured programming,
procedural programming,Abstract data types, encapsulation,Typed and untyped languages, Coupling and cohesion,Encapsulation. Classes and objects. Class members: Data members (fields) and member functions (methods). Class member visibility (private, public, protected). Class variables and instance variables. Class methods and instance methods. Service methods and support methods. Scope,Class hierarchies. Single and multiple inheritance. Inter-class relationships., Memory management. Garbage collection. Methods and messages. Method signatures. Method and operator overloading. Method overriding. Abstract classes. Dynamic (late) binding. Polymorphism. Software reuse. Subclasses (derived classes). Superclasses (base classes). Invocation of superclass methods and constructors.,Objects vs. variables. Classes vs. types. Delegation. Collection classes. Class libraries.,Unified Modelling Language (UML). Use case diagrams: actors, system
boundary, --uses-- and --extends--,Scenarios. Class diagrams: associations, aggregation, dependency, and
inheritance. Object interaction diagrams, object state transition diagrams.,Object constraint language (OCL): ,Design patterns. Pattern documentation: motivation, prerequisites,
structures, participants and consequences. Examples of patterns: Adapter, Decorator, Iterator, Observer, Singleton,In class example and project picking,Implementation of designs in an object-oriented programming language
,Testing object oriented code. Class testing, constructing class tests from
OCL or state transition diagrams, test driver construction. Testing interactions and class hierarchies.
Dersin Öğrenme KazanımlarıTeaching MethodsAssessment Methods
1. will be able to se Eclipse as an Integrated Development Environment.6A
1.1. Gets enough information about Eclipse.6A
1.2. Uses Eclipse knowing why and how to use .6A
2. Will be able to apply standards and principles to write truly readable code6A
2.1. Defines readable codes.6A
2.2. Knows what are the standards principles for readable codes, and fulfill these standards and principles in the applications.6A
3. will be able to produce class diagrams, object interaction diagrams and object state transition diagrams for a given problem14, 6A
3.1. Produces class diagrams for a given problem.6A
3.2. Produces object interaction diagrams for a given problem.6A
3.3. Produces object state transition diagrams for a given problem.6A
4. will be able to describe the essential features of an object-oriented programming language14, 6, 9A
4.1. Defines basic principles of the object oriented programming language.6A
4.2. Applies the facilitator side of the object oriented programming language.6A
5. will be able to produce and debug code fragments that illustrate principles of object oriented software development6, 9A
5.1. Generates code fragments based on object-oriented software development principles.6A
5.2. Extracts errors according to object-oriented software development principles. 6A
6. Will be able to define the fundamentals of input and output using the java.io library6A
6.1. Uses the java.io library effectively .6A
6.2. Defines input and output bases.6A
7. will be able to define the concepts of object-oriented design, polymorphism, information hiding, and inheritance.14, 6A
7.1. Defines the concept of object oriented design.6A
7.2. Defines the concept of object oriented polymorphism.6A
7.3. Defines concept of object oriented information storage.6A
7.4. Defines the concept of object oriented inheritance.6A
8. Will be bale to describe the principles for testing object oriented software.6A
8.1. Tests object oriented software.6A
8.2. Defines testing principles.6F
Teaching Methods:14: Self Study Method, 6: Experiential Learning, 9: Lecture Method
Assessment Methods:A: Traditional Written Exam, F: Project Task

Course Outline

OrderSubjectsPreliminary Work
1Genealogy of object oriented languages: structured programming,
procedural programming
2Abstract data types, encapsulation
3Typed and untyped languages, Coupling and cohesion
4Encapsulation. Classes and objects. Class members: Data members (fields) and member functions (methods). Class member visibility (private, public, protected). Class variables and instance variables. Class methods and instance methods. Service methods and support methods. Scope
5Class hierarchies. Single and multiple inheritance. Inter-class relationships.
6 Memory management. Garbage collection. Methods and messages. Method signatures. Method and operator overloading. Method overriding. Abstract classes. Dynamic (late) binding. Polymorphism. Software reuse. Subclasses (derived classes). Superclasses (base classes). Invocation of superclass methods and constructors.
7Objects vs. variables. Classes vs. types. Delegation. Collection classes. Class libraries.
8Unified Modelling Language (UML). Use case diagrams: actors, system
boundary, --uses-- and --extends--
9Scenarios. Class diagrams: associations, aggregation, dependency, and
inheritance. Object interaction diagrams, object state transition diagrams.
10Object constraint language (OCL):
11Design patterns. Pattern documentation: motivation, prerequisites,
structures, participants and consequences. Examples of patterns: Adapter, Decorator, Iterator, Observer, Singleton
12In class example and project picking
13Implementation of designs in an object-oriented programming language
14Testing object oriented code. Class testing, constructing class tests from
OCL or state transition diagrams, test driver construction. Testing interactions and class hierarchies
Resources
Java programlama dili yazılım tasarımı, Altıntaş, Altuğ Bilgin, 2014, Papatya Yayıncılık
Okuma Listesi 1. Java ile programlama ve veri yapıları, Çobanoğlu, Bülent, 2016 2. Java : nesne yönelimli programlama, Aydın, Ali Orhan, 2012 3. Java ile programlama, Uysal, Mitat, 2013 4. Java How to Program, Deitel & Deitel, Prentice Hall, 9th Edition, 2012 5. Java programming: A beginners Guide to learning Java, step by step. By Troy Dimes 2015 6. Java: A beginner’s Guide. By Herbert Schildt 2014 7. Head First Java, 2nd Edition By Katy Sierra and Bert Bates 2005

Course Contribution to Program Qualifications

Course Contribution to Program Qualifications
NoProgram QualificationContribution Level
12345
1
Defines the theoretical issues in the field of information and management.
X
2
Describes the necessary mathematical and statistical methods in the field of information and management.
3
Uses at least one computer program in the field of information and management.
X
4
Sustains proficiency in a foreign language requiredor information and management studies.
5
Prepares informatics/software projects and work in a team.
X
6
Constantly updates himself / herself by following developments in science and technology with an understanding of the importance of lifelong learning through critically evaluating the knowledge and skills that s/he has got.7. Uses theoretical and practical expertise in the field of information and management
7
Follows up-to-date technology using a foreign language at least A1 level, holds verbal / written communication skills.
X
8
Follows up-to-date technology using a foreign language at least A1 level, holds verbal / written communication.
9
Adopts organizational / institutional and social ethical values.
10
Within the framework of community involvement adopts social responsibility principles and takes initiative when necessary.
11
Uses and analyses basic facts and data in various disciplines (economics, finance, sociology, law, business) in order to conduct interdisciplinary studies.
12
Writes software in different platforms such as desktop, mobile, web on its own and / or in a team.
X

Assessment Methods

Contribution LevelAbsolute Evaluation
Rate of Midterm Exam to Success 40
Rate of Final Exam to Success 60
Total 100

Numerical Data

Student Success

Ekleme Tarihi: 09/10/2023 - 10:32Son Güncelleme Tarihi: 09/10/2023 - 10:33