| Content: |
The course introduces students to the concepts related to Object Oriented programming, aiming to learn the most popular object-oriented programming language, Java. Students will come in contact with concepts such as subtraction, polymorphism, and see how they are implemented through heredity, content, and interfaces. The course deals with stream and file management, code debugging techniques and dynamic data set management. Students will be trained in the use of threads in order to create multi-threaded applications. Students will also gain hands on experience in using the above concepts through their involvement with the Java programming language, both through a series of laboratory courses and through programming assignments.
- Section 1: Introduction to Object Oriented Programming, Basic Concepts, Types and Generations of Programming Languages, Java (History, Versions, Technologies, Advantages)
- Section 2: Java Code Development, the first program, operators, control commands, iteration structures, input-output commands, basic libraries / packages, IDE environments
- Section 3: Classes & Objects, Implementing Classes and Objects in Java, Designing Classes, Member Data, Member Functions, Constructors, Data Access Types, Definition and Use of Objects
- Section 4: Classes & Objects, modifiers, get, set, toString functions, const, static, overload mechanism, string management
- Section 5: Data Sets, One-Dimensional and Two-Dimensional Tables, Arraylists, Access mechanisms, Iterators
- Section 6: Composition, objects as data members of classes, how to handle objects, examples of composition
- Section 7: Inheritance, implementation of class hierarchy, superclasses, subclasses, override of functions, comparison between inheritance and composition
- Section 8: Polymorphism, Abstract Classes, Dynamic and Static Binding, Data Type Conversion, Examples of Polymorphism
- Section 9: Interfaces, scope, objectives, "multiple" inheritance
- Section 10: Exceptions, Exception Management, Hierarchy, Chain Exceptions, Defining new Exception, Error management.
- Section 11: Graphical User Interface, Introduction to Swing Library, Graphical Components, Colors, Fonts, Shapes, Event Managers, Listeners
- Section 12: Parallel Scheduling, Threads, Priorities, Synchronization
- Section 13: Files / Databases, file entry and exit, database creation, Connection to DB , POJO (Plain Old Java Objects)
|Suggested Books: |
Books (in Greek)
- Savitch Walter, Absolute Java (contains CD), Pearson.
- Deitel Paul J., Deitel Harvey M., Java how to program, Prentice Hall
- H. Schildt,. Java A Begginner’s Guide, McGraw-Hill Osborne Media.
- E. Lervik and VB Havdal, Java the UML way, Wiley.
- R. Cadenhead and L. Lemay, Java 7, Sams Publishing.
- Science of Computer programming, Elsevier
- Journal of Systems and Software, Elsevier
- Proceedings of the ACM on Programming Languages, ACM