ECTS - Object-Oriented Programming
Object-Oriented Programming (CMPE225) Course Detail
Course Name | Course Code | Season | Lecture Hours | Application Hours | Lab Hours | Credit | ECTS |
---|---|---|---|---|---|---|---|
Object-Oriented Programming | CMPE225 | 3. Semester | 3 | 2 | 0 | 4 | 8 |
Pre-requisite Course(s) |
---|
CMPE114 |
Course Language | English |
---|---|
Course Type | Compulsory Departmental Courses |
Course Level | Bachelor’s Degree (First Cycle) |
Mode of Delivery | Face To Face |
Learning and Teaching Strategies | Lecture. |
Course Lecturer(s) |
|
Course Objectives | The course teaches how to generate abstractions to represent a class of objects sharing a set of attributes or behavioral traits. In this course, the students are introduced to a method of programming that seeks to mimic the way we form models of the world using UML. By using these abstractions the students get a chance to apply the three main properties of object-oriented languages; namely, encapsulation, inheritance and polymorphism using the C++ language. |
Course Learning Outcomes |
The students who succeeded in this course;
|
Course Content | Data types, expressions and statements, functions and scope rules, class definitions, inheritance, polymorphism, name overloading, templates, exception handling; input/output; object oriented principles using the UML and C++ programming language. |
Weekly Subjects and Releated Preparation Studies
Week | Subjects | Preparation |
---|---|---|
1 | Introduction to OOP | Chapter 1 (Main text 1) Chapter 4 (Ref. Book 1) |
2 | Object Oriented Paradigm and UML | Chapter 5,12 (Ref. Book 1) |
3 | From C to C++ (I/O, default parameters, function templates and overloading) | Chapter 2, 4 (Main text 1) |
4 | Classes and Data Abstraction | Chapter 10 (Main text 1) |
5 | Classes and Data Abstraction | Chapter 10 (Main text 1) |
6 | Operator Overloading | Chapter 11 (Main text 1) |
7 | Inheritance | Chapter 15 (Main Text 1) |
8 | Inheritance | Chapter 15 (Main Text 1) |
9 | Virtual Functions and Polymorphism | Chapter 15 (Main Text 1) |
10 | Virtual Functions and Polymorphism | Chapter 15 (Main Text 1) |
11 | Input/Output | Chapter 6 (Main Text 1) |
12 | Templates | Chapter 17 (Main Text 1) |
13 | Exception Handling | Chapter 16 (Main Text 1) |
14 | File Processing | Chapter 16 (Main Text 1) |
15 | Review | |
16 | Review |
Sources
Course Book | 1. Problem Solving with C++, Walter Savitch, Addison-Wesley Publishing, 7th Edition. |
---|---|
Other Sources | 2. C++: How To Program, H.M. Deitel and P.J. Deitel,Prentice-Hall, 6th Edition. |
3. C++ Programming: From Problem Analysis to Program Design, D.S. Malik, Course Technology, 4th Edition. | |
4. A Complete Guide to Programming in C++,Ulla Kirch-Prinz, Peter Prinz, Jones and Bartlett Publishers,1st Edition. | |
5. The C++ Programming Language, B.Stroustrup, Addison-Wesley 3rd Edition. | |
6. Practical C++ Programming, S. Oualline, O'Reilly Media, Inc.; , 2nd Edition | |
7. Object Oriented Systems Analysis and Design using UML, Bennett, McRobb & Farmer, 4th Ed., McGraw Hill, 2010 |
Evaluation System
Requirements | Number | Percentage of Grade |
---|---|---|
Attendance/Participation | - | - |
Laboratory | 2 | 25 |
Application | - | - |
Field Work | - | - |
Special Course Internship | - | - |
Quizzes/Studio Critics | - | - |
Homework Assignments | 2 | 10 |
Presentation | - | - |
Project | - | - |
Report | - | - |
Seminar | - | - |
Midterms Exams/Midterms Jury | 1 | 30 |
Final Exam/Final Jury | 1 | 35 |
Toplam | 6 | 100 |
Percentage of Semester Work | 65 |
---|---|
Percentage of Final Work | 35 |
Total | 100 |
Course Category
Core Courses | X |
---|---|
Major Area Courses | |
Supportive Courses | |
Media and Managment Skills Courses | |
Transferable Skill Courses |
The Relation Between Course Learning Competencies and Program Qualifications
# | Program Qualifications / Competencies | Level of Contribution | ||||
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
1 | Adequate knowledge in mathematics, science and subjects specific to the computer engineering discipline; the ability to apply theoretical and practical knowledge of these areas to complex engineering problems. | X | ||||
2 | The ability to identify, define, formulate and solve complex engineering problems; selecting and applying proper analysis and modeling techniques for this purpose. | X | ||||
3 | The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. | X | ||||
4 | The ability to develop, select and utilize modern techniques and tools essential for the analysis and determination of complex problems in computer engineering applications; the ability to utilize information technologies effectively. | X | ||||
5 | The ability to design experiments, conduct experiments, gather data, analyze and interpret results for the investigation of complex engineering problems or research topics specific to the computer engineering discipline. | |||||
6 | The ability to work effectively in inter/inner disciplinary teams; ability to work individually | X | ||||
7 | Effective oral and writen communication skills in Turkish; the ability to write effective reports and comprehend written reports, to prepare design and production reports, to make effective presentations, to give and to receive clear and understandable instructions. | |||||
8 | The knowledge of at least one foreign language; the ability to write effective reports and comprehend written reports, to prepare design and production reports, to make effective presentations, to give and to receive clear and understandable instructions. | |||||
9 | Recognition of the need for lifelong learning; the ability to access information, to follow recent developments in science and technology. | |||||
10 | The ability to behave according to ethical principles, awareness of professional and ethical responsibility; | |||||
11 | Knowledge of the standards utilized in software engineering applications | |||||
12 | Knowledge on business practices such as project management, risk management and change management; | |||||
13 | Awareness about entrepreneurship, innovation | |||||
14 | Knowledge on sustainable development | |||||
15 | Knowledge on the effects of computer engineering applications on the universal and social dimensions of health, environment and safety; | |||||
16 | Awareness of the legal consequences of engineering solutions | |||||
17 | An ability to describe, analyze and design digital computing and representation systems. | X | ||||
18 | An ability to use appropriate computer engineering concepts and programming languages in solving computing problems. | X |
ECTS/Workload Table
Activities | Number | Duration (Hours) | Total Workload |
---|---|---|---|
Course Hours (Including Exam Week: 16 x Total Hours) | 16 | 3 | 48 |
Laboratory | 12 | 2 | 24 |
Application | |||
Special Course Internship | |||
Field Work | |||
Study Hours Out of Class | 16 | 4 | 64 |
Presentation/Seminar Prepration | |||
Project | |||
Report | |||
Homework Assignments | 3 | 3 | 9 |
Quizzes/Studio Critics | |||
Prepration of Midterm Exams/Midterm Jury | 2 | 15 | 30 |
Prepration of Final Exams/Final Jury | 1 | 30 | 30 |
Total Workload | 205 |