Course Objectives: |
Become able to design and implement object-oriented code by using Java and UML |
Course Content: |
Objects, Classes and Members, Final and Static Members, Constructors and Finalizers, UML Class Diagrams, Command-line I/O;
Control Flow, Relationships Between Classes and Objects (Association, Dependency, Aggregation, Composition, Inheritance),
Overriding and Overloading, Primitives and Wrappers; Enum; Exception Handling; File Operations (Serialization and Deserialization
using Streams), Generics; List and Map Data Structures, Introduction to Multithreading, |
Week |
Subject |
Related Preparation |
1) |
Introduction to the course and the Java language |
|
2) |
Classes, objects, members. Special cases: final, static. UML Class diagrams |
|
3) |
Constructors and finalizers. Control flow. Creating objects. |
|
4) |
UML Sequence diagrams. Constructor and method
overloading. Primitives. String and Math classes. Command
line I/O. |
|
5) |
Association and dependency. One-way and two-way association. |
|
6) |
Aggregation and Composition. |
|
7) |
Kalıtım. Metotların yeniden tanımlanması ve Çoklu metot
tanımlamadan farkı. |
|
8) |
Midterm |
|
9) |
Working with Files and Streams (Serialization and deserialization). |
|
10) |
Introduction to generic classes using basic data structures (Lists and Maps). |
|
11) |
Typecasting, Enum classes, Inner classes. |
|
12) |
Introduction to Multithreading. |
|
13) |
Project Presentations |
|
14) |
Final |
|
|
Program Outcomes |
Level of Contribution |
1) |
Sufficient knowledge in mathematics, science and software engineering discipline-specific topics; the theoretical and practical knowledge in these areas, the ability to use in complex engineering problems. |
|
2) |
The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modelling methods for this purpose. |
|
3) |
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. |
|
4) |
Ability to develop, select and use modern techniques and tools necessary for analysis and solution of complex problems in engineering applications; ability to use information technologies effectively. |
|
5) |
Ability to design experiments, conduct experiments, collect data, analyse and interpret the results of complex engineering problems or discipline-specific research topics. |
|
6) |
Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. |
|
7) |
Awareness of the need for lifelong learning; access to knowledge, ability to follow developments in science and technology, and constant self-renewal. |
|
8) |
Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge; ability to write effective reports and understand written reports, to prepare design and production reports, to make effective presentations, to give clear and understandable instructions and to receive. |
|
9) |
Conformity to ethical principles, professional and ethical responsibility; Information on standards used in engineering applications. |
|
10) |
Information on practices in business, such as project management, risk management and change management; awareness about entrepreneurship, innovation; information on sustainable development. |
|
11) |
Information on the effects of engineering applications on health, environment, and safety in universal and social dimensions, and on the problems of the modern age in engineering; awareness of the legal consequences of engineering solutions. |
|
12) |
Adequate skills in the analysis, design, verification, evaluation, implementation, implementation, and maintenance of software systems |
|