Object Technology has been in development for over forty years. It is now embedded in such diverse areas as requirements engineering, software architecture, analysis, design, programming, testing, deployment and maintenance. The most widely used modern programming languages C++, Java and VB.Net all embrace an object oriented approach. This course introduces object-oriented programming with Java, covering topics such as class design, inheritance, dynamic binding and interfaces. Concepts such as UML, design patterns, refactoring shall be investigated using Java language. Topics that will be covered: classes and objects, abstraction, encapsulation, data types, calling methods and passing parameters, decisions, loops, arrays and collections, documentation, testing and debugging, exceptions, design issues, inheritance, and polymorphic variables and methods
Prerequisite(s)
Corequisite(s)
Special Requisite(s)
Instructor(s)
Course Assistant(s)
Schedule
Office Hour(s)
Teaching Methods and Techniques
Principle Sources
Other Sources
Course Schedules
Week
Contents
Learning Methods
1. Week
Introduction, IDE(Eclipse, SDK) introduction, Java Basics, introduction to classes and objects
Oral presentation, laboratory
2. Week
Selections
Oral presentation, laboratory
3. Week
Loops
Oral presentation, laboratory
4. Week
User-defined classes, methods, thinking in objects
Oral presentation, laboratory
5. Week
Single-dimentional arrays
Oral presentation, laboratory
6. Week
Multidimensional arrays
Oral presentation, laboratory
7. Week
Strings
Oral presentation, laboratory
8. Week
İnheritance and polymorphism
Oral presentation, laboratory
9. Week
GUI basics
Oral presentation, laboratory
10. Week
Graphics
Oral presentation, laboratory
11. Week
Exception handling, File I/O
Oral presentation, laboratory
12. Week
Interfaces and nested classes
Oral presentation, laboratory
13. Week
Event driven programming
Oral presentation, laboratory
14. Week
UML, design patterns, refactoring
Oral presentation, laboratory
15. Week
Final
Final
16. Week
Final
Final
17. Week
Final
Final
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
1
30
Quizzes
1
30
Final Exam
1
40
Program Outcomes
PO-1
Effectively identifying collecting and evaluating the data required for the Computer Programming field and using theoretical knowledge for creating applications.
PO-2
Being equipped with basics of computer science.
PO-3
Possessing the knowledge of all necessary software and equipment in the profession.
PO-4
Emphasizing team work, contributing to the group and operating with team chemistry.
PO-5
Effectively expressing and sharing the completed work with project group and teammates.
PO-6
Objectively evaluating the performance of employees under his/her supervision and providing objective information to the management.
PO-7
Demonstrating problem solving skills and the education he/she obtained at the program.
PO-8
Possessing the computer programming knowledge built on skills, information and competencies provided by secondary education and supperted by higher education course materials, and demonstrating the understanding of concepts in the field of computer programming.
PO-9
Acquiring the analytical thinking skills required in the field of computer programming, and creating and running programs in accordance with this analytical perspective.
PO-10
Complying with ethical values of the field of Computer Programming and carrying social responsibility.
PO-11
Developing sufficent foreign language skills to conduct the work and follow the global developments at the best level.
PO-12
Empasizing communication and using Turkish accurately in this communication.
PO-13
Ensuring the security, environment and health awareness at personal level and among his/her employees.
PO-14
Following technological innovations in software and hardware after graduation and sustaining continuous personal development.
PO-15
Claiming responsibility at his/her workplace, organizing work flow with employees and operating according to high quality work standards.
Learning Outcomes
LO-1
learn object-oriented programming with Java, covering topics such as class design, inheritance, dynamic binding and interfaces.
LO-2
learn UML modeling, design patterns and refactoring concepts
LO-3
gain an understanding of how to design and use classes correctly; understand class relationships
LO-4
design and implement a full-scale Java solution in the form of an application using a large sub-set of the Java programming language effectively
LO-5
User-defined classes, methods, thinking in objects