This page describes the two main parts of this course. The whole course should bring the student to an effective level in OO conception and Java programming, enough to be autonomous in a professional environment
The course is divided is organized in several lectures, they are presented below with an incremental difficulty
During all these lectures, the student will be brought practise a lot : a combination of exercises and semester project are integrated with the course content
Java has been my starting point. I practise it every day as my job and I'm very fond of this language. I find it so powerful and at the same time so simple! A newbie can make great things in Java, although the produced code would be in this case most inefficient and not optimized nor reusable.
If you start from the beginning, there is no minimal skill to have
Advanced section requires at least OO concepts and Java language knowledge
During all these lectures, the student will be brought practise a lot : a combination of exercises and semester project are integrated with the course content
During this lecture, you will learn the Object Oriented approach to design your applications
OO Concepts, UML
This lecture presents the UML Class Diagramming, and especially how to represent objects, and relationships between those objects
UML Class Diagrams, Object Relationships
During this lecture, we will see how to use Eclipse and to write our first Java program, and will begin to see the numerical data in java
Eclipse, Java Core, Numerical data
What is the Java Virtual Machine? How does it work? How the written code is executed in Java? These questions will be answered in that lecture
Java Environment, Java Core
How to control the execution flow (if-else, switch) ? How to repeat instructions in Java? We will practice through Numerical data manipulation
Java Environment, Java Core, UML Activity Diagrams
How to create and use objects efficiently in Java? How to use inheritance? What is an Interface? This lecture will teach you how to organize your code into an efficient Object-Oriented approach
Inheritance, Abstraction (abstract/interface)
How to make your own Logger
class? The realization of this feature will help the student to
improve her/his skills manipulating Date, String and File Objects.
Date
, String
, Files
, Logging
What are the different built-in data structures in Java? We will see how to handle sets of data through examples
List
, Set
, Map
, Stack
, Queue
How to Handle XML through the Java Programming language?
XML
, DOM
, XPath
, Breadth/Depth algorithms
How to connect to a Data Base through Java?
Databases
, JDBC
, DAO pattern
This course will open the path for further JEE developments, allowing to handle tools like maven and Junit
Maven, Junit, JEE
How to implement Dependency Injection using Spring
DI, Spring, H2
How to implement Java Persistence API using Hibernate?
Spring, H2, Hibernate
How to implement Java Persistence API using Hibernate?
Spring, H2, Hibernate
How to implement Java Web-Services using JAX-RS
Spring, JAX-RS, Jersey
The scope of this project beginning is to build the core of our application. It will assume all the backend treatments, focusing on code basics, and providing a strong base for the rest of our design
That project will continue thanks to the result of the "Practising bases" project. We will develop a web application that allows user to manage Identities graphically
This course has been built thanks to personal experience, and rely on at least 6 excellent technical books :