OBJECT ORIENTED PROGRAMMING
- Course
- CMPE313 - OBJECT ORIENTED PROGRAMMING
- Department
- Computer Engineering - English - Undergraduate
- Course Type
- Course
- Status
- Required
- Language
- English
- Credit
- 4
- ECTS
- 7
- T+P+L
- 3 + 0 + 2
- Course Coordinator(s)
- Asst. Prof. Dr. Fuat UYGUROĞLU
- Prerequisite
Course Description
The objective of course is to identify the classes (including attributes, behaviors and methods), object and their relationships by reading the problem description, draw objects diagrams by looking to the defined problem description, implement Java class by looking at the given UML Class Diagram, use existing industry standard coding and formatting conventions, event mechanisms in Java, construct a GUI based applications using Java and Eclipse and debug those applications, technically identify the differences between classes, objects, inheritances, polymorphism, interfaces, aggregation, composition and abstract class. In addition, the issues of code re-use and software quality will be discussed and the use of inheritance will be shown through for code re-use.
OBJECT ORIENTED PROGRAMMING
Evaluation Tools (Active Term)
| Item | Type | Weight (%) |
|---|---|---|
| Midterm | Midterm | 25 |
| Final | Final | 35 |
| Project | Project | 20 |
| Lab | Quiz | 10 |
| Quiz | Quiz | 10 |
| Total | 100 | |
Course outcomes
- 01 Design and develop non-trivial programs using appropriate object oriented design and development methods
- 02 Use UML Class diagrams efficiently for object oriented software design
- 03 Apply principles of object oriented programming for flexibility, re-use and maintenance purposes
- 04 Practice layered architecture model and develop gradually expanding object oriented programs
Course Syllabus
| Week | Topic |
|---|---|
| Week 1 | Introduction to the course/Ice breaking. |
| Week 2 | What is object oriented programming? The difference between Object Oriented Programming (OOP) and structured programming? |
| Week 3 | Classes, Objects & Unified Modelling Language (UML) |
| Week 4 | Classes, Objects & Unified Modelling Language (UML) Cont. |
| Week 5 | Inheritance and Multiple Inheritance and Abstract classes |
| Week 6 | Interfaces and Polymorpism |
| Week 7 | Revision and QUIZ 1 |
| Week 8 | Midterm Exam |
| Week 9 | Midterm Exam |
| Week 10 | Exception Handling & File I/O |
| Week 11 | Generics & Basic Collections (List, Map). UML sequence diagrams. |
| Week 12 | Generics & Basic Collections (List, Map). UML sequence diagrams. Cont. |
| Week 13 | JavaFX I (Basics): Stage, Scene, Layouts, Controls. |
| Week 14 | JavaFX II (Event Handling & Lambdas) |
| Week 15 | Revision and QUIZ 2 & LAB QUIZ |
Reference Books & Course Materials
- 01 Paul J. Deitel and Harvey Deitel. 2017. Java How to Program, Early Objects, Global Edition (11th Edition) Pearson.
- 02 Gaddis, T. 2021 Starting out with java: From control structures through objects, 8th edition. Pearson Education
- 03 Y. Daniel Liang 2023 Introduction to Java Programming and Data Structures, 13th edition. Pearson Education
Learning Outcomes
- L01 Design and develop non-trivial programs using appropriate object oriented design and development methods
- L02 Use UML Class diagrams efficiently for object oriented software design
- L03 Apply principles of object oriented programming for flexibility, re-use and maintenance purposes
- L04 Practice layered architecture model and develop gradually expanding object oriented programs
Program Outcomes
- Knowledge of mathematics, natural sciences, basic engineering, computer-based computation, and topics specific to the relevant engineering discipline.
- Ability to apply knowledge of mathematics, natural sciences, basic engineering, computer-based computation, and topics specific to the relevant engineering discipline to the solution of complex engineering problems.
- Ability to define complex engineering problems by using knowledge of basic sciences, mathematics, and engineering, while considering the relevant United Nations Sustainable Development Goals (SDGs) related to the problem addressed.
- Ability to formulate complex engineering problems using knowledge of basic sciences, mathematics, and engineering, while considering the relevant United Nations Sustainable Development Goals (SDGs) associated with the problem addressed.
- Ability to analyse and solve complex engineering problems using knowledge of basic sciences, mathematics, and engineering, while considering the relevant United Nations Sustainable Development Goals (SDGs) associated with the problem addressed.
- Ability to design creative solutions to complex engineering problems.
- Ability to design complex systems, processes, devices, or products in a way that meets present and future needs while considering realistic constraints and conditions.
- Ability to select and use appropriate techniques and resources—including estimation and modelling—for the analysis and solution of complex engineering problems, while being aware of their limitations.
- Ability to select and use modern engineering and computational tools—including estimation and modelling—for the analysis and solution of complex engineering problems, while being aware of their limitations.
- Ability to conduct literature research and use appropriate research methods for the investigation of complex engineering problems.
- Ability to design experiments for the investigation of complex engineering problems.
- Ability to conduct experiments, collect data, analyse results, and interpret findings for the investigation of complex engineering problems.
- Knowledge of the impacts of engineering practices on society, health and safety, the economy, sustainability, and the environment within the framework of the United Nations Sustainable
- Awareness of the legal implications of engineering solutions within the framework of the United Nations Sustainable Development Goals (SDGs).
- Knowledge of ethical responsibility and adherence to the principles of professional engineering conduct.
- Awareness of acting impartially without discrimination in any matter and of being inclusive of diversity.
- Ability to work effectively as an individual.
- Ability to work effectively as a team member or leader in intra-disciplinary teams (face-to-face, remote, or hybrid).
- Ability to work effectively as a team member or leader in multidisciplinary teams (face-to-face, remote, or hybrid).
- Ability to communicate effectively in spoken form on technical matters, taking into account the diverse characteristics of the target audience (such as education, language, and profession).
- Ability to communicate effectively in written form on technical matters, taking into account the diverse characteristics of the target audience (such as education, language, and profession).
- Knowledge of professional practices such as project management and economic feasibility analysis.
- Awareness of entrepreneurship and innovation.
- Ability for independent and lifelong learning.
- Ability to adapt to new and emerging technologies.
- Lifelong learning ability that includes the capacity to think critically about technological changes.
Po-Lo Matrix
| LO | Average | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |