Skip to main content
TR

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
Keywords

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

  1. 01 Design and develop non-trivial programs using appropriate object oriented design and development methods
  2. 02 Use UML Class diagrams efficiently for object oriented software design
  3. 03 Apply principles of object oriented programming for flexibility, re-use and maintenance purposes
  4. 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

  1. 01 Paul J. Deitel and Harvey Deitel. 2017. Java How to Program, Early Objects, Global Edition (11th Edition) Pearson.
  2. 02 Gaddis, T. 2021 Starting out with java: From control structures through objects, 8th edition. Pearson Education
  3. 03 Y. Daniel Liang 2023 Introduction to Java Programming and Data Structures, 13th edition. Pearson Education

Learning Outcomes

  1. L01 Design and develop non-trivial programs using appropriate object oriented design and development methods
  2. L02 Use UML Class diagrams efficiently for object oriented software design
  3. L03 Apply principles of object oriented programming for flexibility, re-use and maintenance purposes
  4. L04 Practice layered architecture model and develop gradually expanding object oriented programs

Program Outcomes

  1. Knowledge of mathematics, natural sciences, basic engineering, computer-based computation, and topics specific to the relevant engineering discipline.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. Ability to design creative solutions to complex engineering problems.
  7. Ability to design complex systems, processes, devices, or products in a way that meets present and future needs while considering realistic constraints and conditions.
  8. 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.
  9. 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.
  10. Ability to conduct literature research and use appropriate research methods for the investigation of complex engineering problems.
  11. Ability to design experiments for the investigation of complex engineering problems.
  12. Ability to conduct experiments, collect data, analyse results, and interpret findings for the investigation of complex engineering problems.
  13. 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
  14. Awareness of the legal implications of engineering solutions within the framework of the United Nations Sustainable Development Goals (SDGs).
  15. Knowledge of ethical responsibility and adherence to the principles of professional engineering conduct.
  16. Awareness of acting impartially without discrimination in any matter and of being inclusive of diversity.
  17. Ability to work effectively as an individual.
  18. Ability to work effectively as a team member or leader in intra-disciplinary teams (face-to-face, remote, or hybrid).
  19. Ability to work effectively as a team member or leader in multidisciplinary teams (face-to-face, remote, or hybrid).
  20. 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).
  21. 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).
  22. Knowledge of professional practices such as project management and economic feasibility analysis.
  23. Awareness of entrepreneurship and innovation.
  24. Ability for independent and lifelong learning.
  25. Ability to adapt to new and emerging technologies.
  26. Lifelong learning ability that includes the capacity to think critically about technological changes.

Po-Lo Matrix

LO Average
L01 - - - - - - - - - - - - - - - - - - - - - - - - - - -
L02 - - - - - - - - - - - - - - - - - - - - - - - - - - -
L03 - - - - - - - - - - - - - - - - - - - - - - - - - - -
L04 - - - - - - - - - - - - - - - - - - - - - - - - - - -