Programação JAVA
Programação e Bases de Dados - Percursos
Nível: Avançado
●
Duração: 186h
●
Sobre o curso
O objetivo deste programa é criar profissionais de TI com as competências e experiência necessárias para desempenhar funções de programador na linguagem JAVA, através de formação certificada, aliada à possibilidade de realização de um estágio curricular.
Baseado em diversas tecnologias emergentes este percursos de formação fornece aos participantes um conjunto alargado de conhecimentos técnicos e a experiência prática ajustados à realidade atual.
Objetivos:
Oferecer uma formação teórico-prática avançada, sólida, especializada e atualizada, que prepare os
●
formandos para uma carreira de sucesso na área de Desenvolvimento de Aplicações com Java, dotando-os de versatilidade, criatividade, espírito crítico e rigor técnico para enfrentar com autonomia os desafios de um meio tecnológico exigente e em permanente mudança;
Dotar os Formandos com o know-how e a qualificação necessários para exercer com sucesso uma
●
atividade profissional de programador;
Potenciar a produtividade, o reconhecimento profissional e a empregabilidade dos Formandos, através
●
das mais elevadas Certificações Oracle, reconhecidas internacionalmente;
Desenvolver as competências pessoais essenciais à atividade de programador de aplicações Java.
●
Certificações Obtidas:
Oracle Certified Associate, Java SE 7 Programmer
●
Oracle Certified Professional Java SE 7 Programmer
●
Oracle Certified Expert, Java EE 6 Web Component Developer
●
Estágio
Subsídio de Transporte e Refeição), após a conclusão da formação, mediante a realização dos exames de Certificação com aproveitamento.
Contacte-nos para conhecer as condições de estágio, disponíveis depois da conclusão dos nossos percursos.
Saiba mais aqui >
Destinatários
Todos os interessados em iniciar uma atividade profissional no mercado das Tecnologias de
●
Informação, nomeadamente na área de programação de aplicações Java. Profissionais que pretendam investir ou mudar de carreira.
●
O perfil curricular deste percurso adequa-se à preparação de Profissionais para o desempenho das
●
seguintes funções: Java Developer
❍
Java Software Programmer
❍
Senior Java Developer
❍
Java Programmer
❍
Java Web Software Developer
❍
Conheça as turmas das edições anteriores >>
Pré-requisitos
Conhecimentos de Inglês.●
Alguns conhecimentos sobre programação e tecnologias web, podem facilitar a assimilação dos
●
conhecimentos.
Não apresenta quaisquer pré-requisitos a nível de habilitações académicas ou experiência
●
Metodologia
Constituído por 6 módulos de formação integrados numa ótica de sessões mistas de teoria e prática. Cada módulo é constituído por um período de formação presencial, com a duração total de 165 horas, e acompanhamento permanente e personalizado por parte de um formador.
Serão elaborados exercícios e simulações de situações práticas com resolução individualizada garantindo uma aprendizagem mais eficaz.
Os conteúdos ministrados durante o percurso são devidamente acompanhados por manuais, distribuídos aos Participantes.
FORMAÇÃO PRESENCIAL
182 horas;
●
6 Sessões mistas de teoria e prática;
●
Exposição dos conteúdos por um formador certificado;
●
Experimentação em sala dos conteúdos ministrados.
●
EXAME DE CERTIFICAÇÃO 3 exames de certificação:
●
Oracle Certified Associate, Java SE 7 Programmer
❍
Oracle Certified Professional, Java SE 7 Programmer
❍
Oracle Certified Expert, Java EE 6 Web Component Developer
❍
Os exames de certificação deverão ser realizados no final dos respetivos módulos de formação;
●
As datas são sugeridas pela GALILEU, no entanto, a marcação é feita pelo Formando no momento em
●
que se sentir preparado para tal, tendo em consideração que os exames incluídos neste percurso, têm de ser efectuados, o máximo, até 6 meses a contar da data de término do último curso do percurso. A marcação deve ser efetuada com 4 dias úteis de antecedência à data pretendida;
●
O resultado do exame é conhecido aquando da finalização do mesmo.
●
SECOND SHOT GRATUITO
Os formandos que não obtenham aprovação no seu primeiro exame de certificação, poderão ter uma segunda oportunidade de forma gratuita. Têm direito a este “second shot” gratuito:
Os formandos que, após terem realizado o exame, tenham reprovado com nota inferior a 10% em
●
relação à nota mínima exigida;
Façam os exames nas datas propostas no calendário do percurso.
Programa
Introdução à Programação Web (30h)
●
Java SE7 Fundamentals (30h)
●
Auto estudo acompanhado (6h)
●
Ação de Preparação para Exame 1Z0-803: Java SE7 Programmer I (3h)
●
Java SE7 Programming (30h)
●
Auto estudo acompanhado (6h)
●
Preparação para o exame 1Z0-804: Java SE7 Programmer II (3h)
●
Developing Applications With Java EE 6 on WebLogic Server (30h)
●
Marketing Pessoal e Comunicação (6h)
●
Seminário (3h)
●
Java EE 6: Develop Web Components With Servlets & JSPs New (30h)
●
Auto estudo acompanhado (6h)
●
Preparação para o exame Java EE 6 Web Component Developer (3h)
●
Introdução à Programação Web (30h) Java SE7 Fundamentals (30h)
Introducing the Java Technology
●
Relating Java with other languages
●
Showing how to download, install, and configure the Java environment on a Windows system.
❍
Describing the various Java technologies such as Java EE, JavaME, Embedded Java SE
❍
Describing key features of the technology and the advantages of using Java
❍
Using an Integrated Development Environment (IDE)
❍
Thinking in Objects
❍
Defining the problem domain
●
Identifying objects and recognizing the criteria for defining objects
❍
Introducing the Java Language
❍
Defining classes
●
Identifying the components of a class
❍
Creating and using a test class
❍
Compiling and executing a test program
❍
Working with Primitive Variables
❍
Declaring and initializing field variables
●
Describing primitive data types such as integral, floating point, textual, and logical
❍
Declaring variables and assigning values
❍
Using constants
❍
Using arithmetic operators to modify values
Working with Objects
❍
Declaring and initializing objects
●
Storing objects in memory
❍
Using object references to manipulate data
❍
Using JSE javadocs to look up the methods of a class
❍
Working with String and StringBuilder objects
❍
Using operators and decision constructs
❍
Using relational and conditional operators
●
Testing equality between strings
❍
Evaluating different conditions in a program and determining the algorithm
❍
Creating if and if/else constructs
❍
Nesting and chaining conditional statements
❍
Using a switch statement
❍
Creating and Using Arrays
❍
Declaring, instantiating, and initializing a one-dimensional Array
●
Declaring, instantiating, and initializing a two-dimensional Array
❍
Using a for loop to process an Array
❍
Creating and initializing an ArrayList
❍
Using the import statement to work with existing Java APIs
❍
Accessing a value in an Array or and ArrayList
❍
Using the args Array
❍
Using Loop Constructs
❍
Creating while loops and nested while loops
●
Developing a for loop
❍
Using ArrayLists with for loops
❍
Developing a do while loop
❍
Understanding variable scope
❍
Working with Methods and Method Overloading
❍
Creating and Invoking a Method
●
Passing arguments and returning values
❍
Creating static methods and variables
❍
Using modifiers
❍
Overloading a method
❍
Using Encapsulation and Constructors
❍
Creating constructors
●
Implementing encapsulation
❍
Introducing Advanced Object Oriented Concepts
❍
Using inheritance
●
Using types of polymorphism such as overloading, overriding, and dynamic binding
❍
Working with superclasses and subclasses
Adding abstraction to your analysis and design
❍
Understanding the purpose of Java interfaces
❍
Creating and implementing a Java interface
❍
Handling Errors
❍
Understanding the different kinds of errors that can occur and how they are handled in Java
●
Understanding the different kinds of Exceptions in Java
❍
Using Javadocs to research the Exceptions thrown by the methods of foundation classes
❍
Writing code to handle Exceptions
❍
The Big Picture
❍
Creating packages and JAR files for deployment using java
●
Two and three tier architectures
●
Looking at some Java applications examples
●
Auto estudo acompanhado (6h)
Ação de Preparação para Exame 1Z0-803: Java SE7 Programmer I (3h) Java SE7 Programming (30h)
Java Platform Overview
● Introductions ❍ Course Schedule ❍ Java Overview ❍ Java Platforms ❍ OpenJDK ❍ Licensing ❍
Java in Server Environments
❍
The Java Community Process
❍
Java Syntax and Class Review
●
Simple Java classes
❍
Java fields, constructors and methods
❍
Model objects using Java classes
❍
Package and import statements
❍
Encapsulation and Polymorphism
●
Encapsulation in Java class design
❍
Model business problems with Java classes
❍ Immutability ❍ Subclassing ❍ Overloading methods ❍
Variable argument methods
❍
Java Class Design
Access modifiers: private, protected and public ❍ Method overriding ❍ Constructor overloading ❍
The instanceof operator
❍
Virtual method invocation
❍
Polymorphism
❍
Casting object references
❍
Overriding Object methods
❍
Advanced Class Design
●
Abstract classes and type generalization
❍
The static and final modifiers
❍
Field modifier best practices
❍
The Singleton design pattern
❍
Designing abstract classes
❍
Nested classes
❍
Enumerated types
❍
Inheritance with Java Interfaces
●
Java Interfaces
❍
Types of Inheritance
❍
Object composition and method delegation
❍
Implementing multiple interfaces
❍
The DAO design pattern
❍
Generics and Collections
●
Generic classes and type parameters
❍
Type inference (diamond)
❍
Collections and generics
❍
List, set and Map
❍
Stack and Deque
❍
String processing
●
String manipulation with StringBuilder and StringBuffer
❍
Essential String methods
❍
Text parsing in Java
❍
Input processing with Scanner
❍
Text output and formatting
❍
Regular expressions with the Pattern and Matcher classes
❍
Exceptions and Assertions
●
Exceptions categories
❍
Standard Java Exception classes
❍
Creating your own Exception classes
❍
Using try-catch and the finally clause
Using try-with-resources and the AutoCloseable interface
❍
The multi-catch feature
❍
Best practices using exceptions
❍
Assertions
❍
I/O Fundamentals
●
I/O using Java
❍
Reading the console input stream
❍
Writing to the console
❍
Using I/O Streams
❍
Chaining I/O Streams
❍
Channel I/O
❍
Reading and writing objects using Serialization
❍
File I/O with NIO 2
●
The Path interface
❍
The Files class
❍
Directory and File operations
❍
Managing file system attributes
❍
Reading, writing, and creating files
❍
Watching for file system changes
❍
Threading
●
Operating system task scheduling
❍
Recognizing multithreaded environments
❍
Creating multi-threaded solutions
❍
Sharing data across threads
❍
Synchronization and Deadlock
❍
Immutable objects
❍
Concurrency
●
Creating Atomic variables
❍
Using Read-Write Locks
❍
Thread-safe collections
❍
Concurrenct synchronizers (Semaphore, Phaser, and others)
❍
Executors and ThreadPools to concurrently schedule tasks
❍
Parallelism and the Fork-Join framework
❍
Database Application with JDBC
●
Layout of the JDBC API
❍
JDBC divers
❍
Queries and results
❍
PreparedStatement and CallableStatement
❍
Transactions
❍
RowSet 1.1 RowSetProvider and RowSetFactory
The DAO Pattern and JDBC ❍ Localization ● Advantages of localization ❍ Defining locale ❍
Read and set locale using the Locale object
❍
Resource bundles
❍
Format messages, dates and numbers
❍
Developing Applications With Java EE 6 on WebLogic Server (30h)
Java Platform, Enterprise Edition
●
Describe the purpose of the Java EE Platform
❍
Describe the needs of enterprise applications
❍
List the various Java EE specifications
❍
Compare services and libraries
❍
Describe the Java EE Web Profile
❍
Describe the EE application tiers and layers.
❍
Enterprise Development Tools and Application Servers
●
Describe the purpose of an application server
❍
Identify the potential selection criteria used when choosing an application server
❍
Install the Oracle WebLogic Server 12c Zip Distribution
❍
Describe the properties of Java EE components
❍
Describe the process of developing a Java EE application
❍
Describe how to configure and package Java EE applications
❍
List EE supporting features provided by integrated development environments (IDEs)
❍
JavaBeans, Annotations, and Logging
●
Describe the Java SE features that are used extensively in enterprise applications
❍
Create POJO JavaBeans components
❍
Log application activity and errors
❍
Write to server logs
❍
Describe common Java SE annotations and features
❍
Develop Java annotations
❍
Describe the role of annotations in Java EE
❍
Web Component Model
●
Describe the HTTP request-response model
❍
Define the difference between Java Servlets, JSP, and JSF components
❍
Implement application layering and the MVC Pattern
Avoid thread safety issues in web components
❍
Use the Expression Language
❍
Developing with JavaServer Faces Technology
●
Evaluate the role of JavaServer Faces (JSF) technology as a presentation mechanism
❍
Describe the flow of the JSF life cycle
❍
Author JSF pages using Facelets
❍
Process form submissions and use JSF managed beans
❍
Describe the use of JSF tag libraries
❍
Use the appropriate annotation to control the scope of a bean instance
❍
Use a component to iterate over values in a collection
❍
Using AJAX and Composite Components with JSF
●
Define Asynchronous JavaScript and XML (AJAX)
❍
Describe how JSF Components can be enhanced with AJAX
❍
Use the tag
❍
Describe how AJAX request integrates with the JSF life cycle
❍
Define a composite component
❍
Create a JSF composite component
❍
Apache Trinidad JSF Component Library and Mobile Development
●
Create JavaServer Faces (JSF) pages that use Apache Trinidad components
❍
Create a JSF-based mobile application
❍
Dynamically apply Cascading Style Sheets (CSS) with Trinidad Skinning
❍
Use the HTML5 video tag
❍
Dependency Injection With CDI
●
Create managed bean compatible classes
❍
Inject managed beans
❍
Qualify the bean being requested at an injection point
❍
Use CDI alternatives
❍
Using JSF and Bean Validation
●
Define the approach JSF uses to convert and validate input data
❍
Use built-in validation constraints provided with JSF
❍
Use built-in validation constraint annotations provided by Bean Validation
❍
Create a custom Bean Validation constraint
❍
Developing Servlets
●
Describe the servlet API
❍
Use the request and response APIs
❍
Set response headers
❍
Create text and binary response bodies
Process file uploads using servlets
❍
Forward to JSPs using RequestDispatcher
❍
Use the session management API
❍
Developing with JavaServer Pages Technology
●
Evaluate the role of JSP technology as a presentation mechanism
❍
Author JSP pages
❍
Process data received from servlets in a JSP page
❍
Describe the use of tag libraries
❍
EJB Component Model
●
Describe the role of EJB components in a Java EE application
❍
Describe the benefits of EJB components
❍
Describe the operational characteristics of a stateless, stateful, and singleton session beans
❍
Create session beans
❍
Create session bean clients
❍
The Java Persistence API
●
Describe the role of the Java Persistence API (JPA) in a Java EE application
❍
Explain the basics of object-relational mapping
❍
Describe the elements and environment of an entity component
❍
Describe the life cycle and operational characteristics of entity components
❍
Implementing a Transaction Policy
●
Describe transaction semantics
❍
Compare programmatic and declarative transaction scoping
❍
Use JTA to scope transactions programmatically
❍
Implement a container-managed transaction policy
❍
Support optimistic locking with the versioning of entity components
❍
Support pessimistic locking using EntityManager APIs
❍
Describe the effect of exceptions on transaction state
❍
Web Service and Integration Technology Survey
●
Describe the purpose of integration technologies
❍
Define the integration layer in a multilayered application architecture
❍
List various Java EE integration technologies
❍
Describe the benefit of Web Services over other integration technologies
❍
Implementing a Security Policy
●
Leverage container-managed security
❍
Define user roles and responsibilities
❍
Create a role-based security policy
❍
Using Declarative Security
Configure authentication in the web tier
❍
Marketing Pessoal e Comunicação (6h)
Marketing Pessoal
●
Marketing Pessoal: definição e exploração do conceito
❍
Identificação da importância do Marketing Pessoal no crescimento pessoal e profissional
❍
A análise Swot aplicada aos objetivos pessoais e profissionais
❍
Abordagem ativa ao mercado de trabalho
❍
Comunicação
●
A comunicação e as suas funções – a importância de comunicar bem
❍
O processo de comunicação
❍
Comunicação verbal e comunicação não-verbal
❍
A comunicação empática
❍
Escuta atenta e ativa
❍
Os diferentes estilos de comunicação. Atitudes de comunicação
❍
Comportamento gera comportamento
❍
Técnicas de comunicação eficaz
❍
Seminário (3h)
Java EE 6: Develop Web Components With Servlets & JSPs New (30h)
Introducing the Course
●
Reviewing the Java SE and Java EE Curriculum
❍
Getting Acquainted with Other Students
❍
Reviewing Course Objectives
❍
Discussing 5 Day Course Schedule
❍
Describing the Format that the Class will Use
❍
Introducing Web Application Technologies
❍
Describing the Java EE 6 Web Profile
❍
Web Application Essentials
●
Describing Java Servlet Technology
❍
Describing JavaServer Pages Technology
❍
Understanting the Model-View-Controller (MVC) Architecture
❍
Explaining Java EE Containers and Java Application Servers
❍
Describing the Web Application Development Process
❍
Identifying the Essential Structure of a WAR File
❍
Developing a Servlet
●
Describing the HTTP Headers and Their Function
Explaining the Request and Response Processes
❍
Understanding the Life Cycle of a Servlet
❍
Listing Injection and Lifecycle Method Annotations
❍
Understanding the Threading Model of a Servlet
❍
Developing a Servlet to Respond to Requests from the Client Browser
❍
Handling Form Requests in Servlets
●
Using HTML Forms To Collect Data From Users and Send it To a Servlet
❍
Understanding How Form Data Is Sent in an HTTP Request
❍
Developing a Servlet that Retrieves Form Parameters
❍
Understanding and Using HttpSession Objects
❍
Using Cookies for Session Management
❍
Using URL Rewriting for Session Management
❍
Configuring Your Web Application
●
Describing the Purpose of Deployment Descriptors
❍
Creating Servlet Mappings to Allow Invocation of a Servlet
❍
Creating and Access Context and Init Parameters
❍
Using the @WebServlet and @WebInitParam Annotations
❍
Using the ServletContextListener Interface
❍
Describing the Different Scopes in a Web Application
❍
Handling Errors Using a Deployment Descriptor
❍
Implementing an MVC Design
●
Implementing the Controller Design Element Using a Servlet
❍
Implementing the Model Design Element Using a POJO
❍
Implementing the View Design Element Using a JSP and Expression Language (EL)
❍
Connecting the model, View, and Controller Elements to Implement a Working MVC Solution
❍
Injecting a Service in a Controller
❍
Developing Components with JavaServer Pages Technology
●
Describing JSP Page Technology
❍
Writing JSP Code Using Scripting Elements
❍
Writing JSP Code Using the Page Directive
❍
Writing JSP Code Using Standard Tags
❍
Writing JSP code using Expression Language
❍
Configuring the JSP Page Environment in the web.xml File
❍
Writing an Error Page by Using JSP
❍
Developing JSP Pages by Using Custom Tags
●
Designing JSP Pages with Custom Tag Libraries
❍
Using a Custom Tag Library in JSP Pages
Describing JSTL Tags
❍
Using Filters in Web Applications
●
Describing the Web Container Request Cycle
❍
Describing the Filter API
❍
Developing a Filter Class
❍
Configuring a Filter in the web.xml File
❍
More Servlet Features
●
Using the Asynchronous Servlet Mechanism
❍
Using JavaScript to Send an HTTP Request from a Client
❍
Processing an HTTP Response Entirely in JavaScript
❍
Combining These Techniques to Create the Effect of Server-push
❍
Handling Multipart Form Data
❍
Implementing Security
●
Describing a Common Failure Mode in Security
❍
Requiring that a User Log in Before Accessing Specific Pages in Your Web Application
❍
Describing the Java EE Security Model
❍
Requiring SSL Encrypted Communication for Certain URLs or Servlets
❍
Integrating Web Applications with Databases
●
Understanding the Nature of the Model as a Macro-pattern
❍
Implementing Persistent Storage for Your Web Applications Using JDBC or Java Persistence API
❍
Auto estudo acompanhado (6h)