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. P01 Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in complex engineering problems.
  2. P02 Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
  3. P03 Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose.
  4. P04 Ability to devise, select, and use modern techniques and tools needed for analysing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively
  5. P05 Ability to design and conduct experiments, gather data, analyse and interpret results for investigating complex engineering problems or discipline specific research questions
  6. P06 Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
  7. P07 Ability to communicate effectively in Turkish, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions.
  8. P08 Recognition of the need for lifelong learning ; ability to access information, to follow developments in science and technology, and to continue to educate him/herself
  9. P09 Consciousness to behave according to ethical principles and professional and ethical responsibility; knowledge on standards used in engineering practice.
  10. P10 Knowledge about business life practices such as project management, risk management, and change management; awareness in entrepreneurship, innovation; knowledge about sustainable development.
  11. P11 Knowledge about the global and social effects of engineering practices on health, environment, and safety, and contemporary issues of the century reflected into the field of engineering; awareness of the legal consequences of engineering solutions.

Po-Lo Matrix

LO P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 Average
L01 - - - - - - - - - - - -
L02 - - - - - - - - - - - -
L03 - - - - - - - - - - - -
L04 - - - - - - - - - - - -