Lesson plan / OBJECT ORIENTED PROGRAMMING

Lesson Information

Course Credit 3.0
Course ECTS Credit 4.0
Teaching Language of Instruction İngilizce
Level of Course Bachelor's Degree, TYYÇ: Level 6, EQF-LLL: Level 6, QF-EHEA: First Cycle
Type of Course Compulsory
Mode of Delivery Face-to-face
Does the course require compulsory or optional work experience? Z
Course Coordinator
Instructor (s)
Course Assistant

Purpose and Content

The aim of the course we will study the fundamentals of Java object oriented programming language (OOP). The topics included are control structure, functions, arrays, abstraction and encapsulation, classes and abstract classes and objects, inheritance, polymorphism, constructors, access control and overloading, Generics, Collections, and API. OOP is the new way of approaching the job of programming. It is the most widely employed technique for developing robust, reusable software. Students will learn the concept of algorithm design and implementation. In addition, they will write Java codes using both console or command-line and dialog box or graphical user interface styles. Finally, students will use the Netbeans Integrated Development Environment tool to write, compile, execute, and debug their Java programs
Course Content Aims of the course: The aims of this module are: To give students a good understanding of basic concepts of object-oriented program design; introduce them to the fundamental principles of abstraction, modularity and reusability; and illustrate object diagrams as a basic object-oriented design and modelling technique. To teach and enable students to develop object-oriented programming skills within the Java language; to enable students to develop object-oriented Java program solutions to small application problems. To help students gain a good understanding of, and ability to use, abstract data types; familiarise students with common abstract data types and associated operations. To teach various design and implementation solutions for abstract data types; illustrate the practical effects of the different implementation choices; and illustrate their practical use in developing Java programs for real application problems.

Weekly Course Subjects

1Object-Oriented Thinking (Interface, abstract, inheritance, polymorphism)
2Object-Oriented Thinking (Interface, abstract, inheritance, polymorphism)
3Design Patterns
4Design Patterns
5Design Patterns
6Design Patterns
7Design Patterns
8Midterm
9Design Patterns
10Design Patterns
11Design Patterns
12Design Patterns
13Design Patterns
14Project Presentations

Resources

1-Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra - Head First Design Patterns-O’Reilly (2014)
2-Edward Sciore - Java Program Design_ Principles, Polymorphism, and Patterns-Apress (2019)
3- Vaskaran Sarcar - Java Design Patterns_ A Hands-On Experience with Real-World Examples-Apress (2019 [2018])
ISBN-13: 9780136012672