Languages & Algorithms training

Duration 4 days Get a quote

Presentation of the language

  • Presentation and history of language
  • The Java ecosystem: Java SE, Java EE

The development environment

  • Presentation of the JDK
  • Introduction to Eclipse (Integrated Development Environment)
  • Perspectives, views and editors
  • Edit, compile and execute code
  • Document the code with Javadoc
  • Import external libraries
  • Wizards, keyboard shortcuts, tips and tricks
  • Refactoring: formatting, import management, code generation

Declarations and access control (java.lang)

  • JavaBean standard and validity of identifiers
  • Declare a class, organization into packages
  • Declare members of a class
  • Data types: primitive types, references, tables
  • Declare a property
  • Declare a method: parameters and type of return
  • Builder concept, instantiation process
  • Abstract classes and interfaces
  • Access control
  • Visibility modifiers: public, protected, package, private
  • Other modifiers: final, static

Object programming (java.lang)

  • Introduction to object design, notions of class and instance
  • Introduction to UML notation: class and sequence diagrams
  • Principles of strong encapsulation and weak coupling
  • Composition concept (« HAS-A »)
  • Notions of inheritance (« IS-A »), polymorphism, cast
  • Overloading (« overloading ») and overriding (« overriding »)
  • Notion of object identity: equals and hashCode

Operators (java.lang)

  • Assignment
  • Equality and comparison
  • Boolean operators
  • Instanceof

Control structure and exceptions (java.lang)

  • Tests: if, switch
  • Loops: for, foreach, while, do-while
  • Notions of exceptions
  • Declaration in the signatures of the methodes
  • Capture and treatment with « try/catch »
  • Notion of « finally » block
  • Hierarchy of exceptions, « checked » vs « runtime »

Paintings and Collections (java.util)

  • Collection types: List, Set, Map
  • Understanding the collections API: introduction to parameter types (« generics »)
  • Choose the right collection
  • Browse a collection or table: Iterator concept
  • Sort a collection or table: Comparable and Comparator
  • Search a collection or table

Formatting and Internationalization (java.text)

  • Notion of Locale
  • Format dates and numbers with DateFormat and NumberFormat
  • Format messages with MessageFormat and ChoiceFormat
  • Outsource messages with ResourceBundle

I/O Files (java.io)

  • Text flow (Reader/Writer) and binary (Streams)
  • Hierarchy of classes of java.io and notion of adapting
  • Write and read a text file on disk with BufferedReader and PrintWriter
  • Notion of serialization, transient variables
  • Write and read a graph of objects on disk with ObjectOutputStream and ObjectInputStream

I/O Network (java.io)

  • Network and port address concept
  • Socket concept
  • Connecting to a server in TCP, reading and writing the stream
  • Development of a server
  • Notion of protocol, presentation of existing protocols

Access to databases with JDBC (java.sql)

  • Opening a connection
  • Make a write request
  • Perform a read query, ResultSet concept
  • Use PreparedStatement