SWE110 Object Oriented ProgrammingIstinye UniversityDegree Programs Software Engineering(English)(For Other Faculties)MinorGeneral Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications

Course Introduction and Application Information

Course Code: SWE110
Course Name: Object Oriented Programming
Semester: Fall
Course Credits:
ECTS
6
Language of instruction: English
Course Condition:
Does the Course Require Work Experience?: No
Type of course: Compulsory Courses
Course Level:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator: Dr. Öğr. Üy. MUHAMMED DAVUD
Course Lecturer(s): Assist. Prof. Gürsan ÇOBAN
Course Assistants:

Course Objective and Content

Course Objectives: The course aims to teach students object-oriented programming concepts, to enable them to make the software development process more efficient and regular, and to design software systems by applying OOP principles
Course Content: Classes and objects, class member variables and functions, access specifiers and the concept of scope, overloading of functions, classes and operators, data abstraction, inheritance and polymorphism, creation of abstracted class definitions, class and function templates, introduction to design patterns.

Learning Outcomes

The students who have succeeded in this course;
1) Can analyze and explain class definitions including encapsulation (member data/functions) and standard procedures for Object-Oriented C++ approaches.
2) Can analyze a programming code regarding overloading operators/functions object-oriented approaches.
3) Can analyze inheritance hierarchy in a programming code.
4) Can analyze the implementation details of polymorphism for object-oriented problems.
5) Can analyze a programming code regarding principles of class or function templates in object-oriented approaches.

Course Flow Plan

Week Subject Related Preparation
1) Object Oriented Programming: Introduction to Classes and Objects and Strings, Class definitions, objects, data members, member functions, constructors, separation of interface. CH3
2) Classes: Review of functions (scope concept, pointers, pointers vs. references, storage, and duration of variables). Review of pointers, unary scope resolution operator. CH6,CH8
3) Classes: Class scope, usage of constructors and destructors. friend functions and friend classes, this pointer, class variables vs. object (instance) variables, Case Study problems. CH9
4) Operator Overloading; Class string: Using overloaded operators, overloading of binary and unary operators, dynamic memory management. CH10
5) Operator Overloading; Using standard class templates array and vector, catching exceptions, examples for the class implementations of overloading by vectors and arrays. CH7, CH10
6) Object-Oriented Programming: Inheritance concept, derived classes, inheritance hierarchy, constructors’ destructors in derived classes. CH11
7) Object-Oriented Programming: Software Engineering with Inheritance, examples. CH11
8) Midterm Exam Week -
9) Object-Oriented Programming: Polymorphism, abstract classes and virtual functions, virtual destructors, CH12
10) Object-Oriented Programming: Polymorphism Applications Ch12
11) Standard Library Containers and Iterators: containers, iterators, standard library algorithms CH15
12) Introduction to Custom Templates: class templates, overloading function templates CH18-CH19
13) Custom Templatized Data Structures: self-referential structures. CH19
14) *Other Topics in OOP: mutable class members, multiple inheritance, multiple inheritance, and virtual base classes. Structural Design Patterns in C++. Example: the “decorator” pattern. CH23 and Slides

Sources

Course Notes / Textbooks: C++ How to Program, 10/E, Paul Deitel, Harvey Deitel, ISBN-13: 9780134448237, Pearson.
References: Bjarne Stroustrup, “Programming: Principles and Practice Using C++”, 2nd Edition, Pearson

online sources: https://cplusplus.com/doc/tutorial/
o https://cplusplus.com/
o https://github.com/pdeitel
o https://github.com/pdeitel/CPlusPlusHowToProgram10e

Course - Program Learning Outcome Relationship

Course Learning Outcomes

1

2

3

4

5

Program Outcomes

Course - Learning Outcome Relationship

No Effect 1 Lowest 2 Average 3 Highest
       
Program Outcomes Level of Contribution

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Midterms 1 % 40
Final 1 % 60
total % 100
PERCENTAGE OF SEMESTER WORK % 40
PERCENTAGE OF FINAL WORK % 60
total % 100

Workload and ECTS Credit Calculation

Activities Number of Activities Workload
Course Hours 13 39
Laboratory 13 26
Study Hours Out of Class 13 26
Midterms 3 22
Final 4 27
Total Workload 140