Course Objectives: |
Object-Oriented Programming II is designed to provide intermediate and advanced topics in object oriented principles through Java language. The topics include a closer look at methods, classes, and objects, inheritance, polymorphism, interfaces, packages, exception handling, generic collections, generic classes and methods and functional programming. The course also covers a complete case study demonstrating object-oriented analysis and design methods with UML and implementing the design.
|
Course Content: |
Overview. Introduction to Object-Oriented Programming and Java Applications
Introduction to Classes, Objects, Methods and Strings
Methods: A Deeper Look
Classes and Objects: A Deeper Look
Object-Oriented Programming: Inheritance
Object-Oriented Programming: Polymorphism, Abstract Classes and Interfaces
ATM Case Study, Part 1: Object-Oriented Design with the UML
ATM Case Study Part 2: Implementing an Object-Oriented Design
Exception Handling: A Deeper Look
Generic Collections
Generic Classes and Methods
Custom Generic Data Structures |
Week |
Subject |
Related Preparation |
1) |
Designing methods
Designing classes |
Practice at home the examples seen at the classroom. |
2) |
Methods
Access modifiers
Access methods |
Practice at home the examples seen at the classroom. |
3) |
Classification
Generalization
Specialization |
Practice at home the examples seen at the classroom. |
4) |
Inheritance in Java
Syntax of inheritance
Common errors with inheritance |
Practice at home the examples seen at the classroom. |
5) |
Details of inheritance
Advanced inheritance topics
Examples of inheritance |
Practice at home the examples seen at the classroom. |
6) |
Why do we need packages
How to use packages
Syntax of package use |
Practice at home the examples seen at the classroom. |
7) |
Advanced interface topics
Common errors with interfaces
Examples of interfaces |
Practice at home the examples seen at the classroom. |
8) |
Error handling in OOP
Exceptions
Common errors with exceptions |
Practice at home the examples seen at the classroom. |
9) |
Midterm1 |
|
10) |
Try/catch
Details of exception handling
Designing your own exceptions
|
Practice at home the examples seen at the classroom. |
11) |
Why do we need threads
Syntax of thread creation
Examples of threads |
Practice at home the examples seen at the classroom. |
12) |
Midterm2 |
|
13) |
The standard Java library
Most commonly used library classes
When to use the library |
Practice at home the examples seen at the classroom. |
14) |
Swing
Features of swing
Basics of swing |
Practice at home the examples seen at the classroom. |
15) |
Final exam |
|
|
Program Outcomes |
Level of Contribution |
1) |
Information on project management and practices in business life such as risk management and change management; awareness about entrepreneurship, innovation and sustainable development. |
|
2) |
Sufficient knowledge in mathematics, science and engineering related to their branches; the ability to apply theoretical and practical knowledge in these areas to model and solve engineering problems. |
1 |
3) |
The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modeling methods for this purpose. |
4 |
4) |
The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. (Realistic constraints and conditions include such issues as economy, environmental issues, sustainability, manufacturability, ethics, health, safety, social and political issues, according to the nature of design.) |
2 |
5) |
Ability to develop, select and use modern techniques and tools necessary for engineering applications; ability to use information technologies effectively. |
|
6) |
Ability to design experiments, conduct experiments, collect data, analyze and interpret results for examination of engineering problems. |
5 |
7) |
Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge. |
|
8) |
Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. |
|
9) |
Professional and ethical responsibility. |
|
10) |
Information on the effects of engineering applications on health, environment and safety in the universal and social dimensions and the problems of the times; awareness of the legal consequences of engineering solutions. |
3 |
11) |
The ability to work effectively in disciplinary and multidisciplinary teams; individual work skill. |
|