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 | Has adequate knowledge in mathematics, science, and computer engineering-specific subjects; uses theoretical and practical knowledge in these areas to solve complex engineering problems. | X | ||||
| 2 | Identifies, defines, formulates, and solves complex engineering problems; selects and applies appropriate analysis and modeling methods for this purpose. | X | ||||
| 3 | Designs a complex system, process, device, or product to meet specific requirements under realistic constraints and conditions; applies modern design methods for this purpose. | X | ||||
| 4 | Develops, selects, and uses modern techniques and tools necessary for the analysis and solution of complex problems encountered in computer engineering applications; uses information technologies effectively. | X | ||||
| 5 | Designs experiments, conducts experiments, collects data, analyzes and interprets results for the investigation of complex engineering problems or research topics specific to the discipline of computer engineering. | |||||
| 6 | Works effectively in disciplinary and multidisciplinary teams; gains the ability to work individually. | X | ||||
| 7 | Communicates effectively in Turkish, both orally and in writing; writes effective reports and understands written reports, prepares design and production reports, makes effective presentations, gives and receives clear and understandable instructions. | |||||
| 8 | Knows at least one foreign language; writes effective reports and understands written reports, prepares design and production reports, makes effective presentations, gives and receives clear and understandable instructions. | |||||
| 9 | Has awareness of the necessity of lifelong learning; accesses information, follows developments in science and technology, and continuously improves oneself. | |||||
| 10 | Acts in accordance with ethical principles and has awareness of professional and ethical responsibility. | |||||
| 11 | Has knowledge about the standards used in computer engineering applications. | |||||
| 12 | Has knowledge about workplace practices such as project management, risk management, and change management. | |||||
| 13 | Gains awareness about entrepreneurship and innovation. | |||||
| 14 | Has knowledge about sustainable development. | |||||
| 15 | Has knowledge about the health, environmental, and safety impacts of computer engineering applications in universal and societal dimensions and the contemporary issues reflected in the field of engineering. | |||||
| 16 | Gains awareness of the legal consequences of engineering solutions. | |||||
| 17 | Analyzes, designs, and expresses numerical computation and digital representation systems. | X | ||||
| 18 | Uses programming languages and appropriate computer engineering concepts to solve computational 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 | ||
