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
- 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.
- P02 Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
- 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.
- 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
- P05 Ability to design and conduct experiments, gather data, analyse and interpret results for investigating complex engineering problems or discipline specific research questions.
- P06 Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
- 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.
- 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.
- P09 Consciousness to behave according to ethical principles and professional and ethical responsibility; knowledge on standards used in engineering practice.
- P10 Knowledge about business life practices such as project management, risk management, and change management; awareness in entrepreneurship, innovation; knowledge about sustainable development.
- 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 | - | - | - | - | - | - | - | - | - | - | - | - |