At the end of this course, the students; 1) Will be able to describe the principles of object-oriented programming. 2) Will be able to apply the concepts of data encapsulation, inheritance, and polymorphism to large-scale software. 3) Acquire the concepts of Graphical User Interfaces. 4) Will be able to design and develop object-oriented computer programs with Graphical User Interfaces capabilities.
MODE OF DELIVERY
Face to face
PRE-REQUISITES OF THE COURSE
No
RECOMMENDED OPTIONAL PROGRAMME COMPONENT
None
COURSE DEFINITION
After completion of this course, the student will: Have knowledge about the basic principles of object oriented programming. Have good knowledge about advantages and disadvantages with object oriented programming. Be able to use a structured method for object oriented analysis and design. - Be able to use the programming language C++ (or Java) for object oriented implementation. Have basic knowledge about availability of application libraries in C++ (or Java) . Be able to learn and use available application libraries in C++ (or Java). Be able to use C++ (or Java) to solve practical programming problems in electric and electronic.
COURSE CONTENTS
WEEK
TOPICS
1st Week
Introduction to Java, Fundamentals of Java programming language
2nd Week
Classes, methods, constructors, data types, reference types, member variables, set/get methods
3rd Week
Static methods, API packages, design with Unified Modeling Language (UML)
4th Week
Array, Arrays class methods
5th Week
Accessing class members, overloading, composition, finalize method
6th Week
Packages, inheritance
7th Week
Polymorphism
8th Week
Abstract classes and methods
9th Week
Exception handling
10th Week
Graphical user interface
11th Week
Graphics and Java 2D
12th Week
Strings and characters
13th Week
Files, streams
14th Week
General Review
RECOMENDED OR REQUIRED READING
Deitel, H.M., Deitel, P.J. (2012) Java How to Program, Prentice Hall; Budd, T. (2000) Understanding Object-oriented Programming with Java, Addison-Wesley; A.Yazıcı, E. Doğdu, A. M. Özbayoğlu, Y. M. Erten, O. Ergin (2007) Java, Bilgisayar Programlamaya Giriş, Palme Yayıncılık; Lewis, J., Loftus, W. (2000) Java Software Solutions: Foundations of Program Design, Addison-Wesley.