Java Programming

This course covers the Java programming language and some of its more important APIs, such as Collections, Threads and Generics. This course focuses on the core part of Java, and provides its participants with the required knowledge and practical experience required for learning advanced topics.

This course was developed for people with basic knowledge in software development. It can be either a programming course that was taken in the past or practical experience. This course covers the newest topics added to Java in Java 7, Java 8 and in Java 9.

This course includes 90 academic hours delivered in 18 weekly meetings, that take place in class, and 180 academic hours (and beyond) that take place at home. The training material (slides, video clips, assignments, solutions and code samples) for the entire course is organized on the e-learning platform we use during the course. Each meeting includes a theoretical lecture together with practical practice (at least 20% of each meeting). The practical practice includes coding by the instructor followed by the students and coding by the students with the assistance of the instructor. Each meeting is captured on video in order to allow the students effective learning process at home.

The course includes lots of relatively small assignments and a final project the students will develop as an open source project and place it on GitHub in order to allow other Java developers to use it.

Meeting

Date

Topic

Sub Topics

1

25/2/2018

Basics

2

Classes

3

Arrays, Strings

4

Inheritance

5

Inner Classes, Enums

6

Exceptions Handling

7

Threads

8

Threads

9

Networking

10

I/O Streams

11

Reflection

12

Generics

                                                                                                                                                                                                                                                                                                                                                                     

13

Collections                                                                                                                                                                                                    

                                                                                                                                                                                                                                                                                           

14

Lambda Expressions, Functional Interface

15

Streams

16

JAXWS, JAXP & JAXB

17

Log4J, JUnit

18

Regular Expressions