Questo corso costituisce la naturale prosecuzione del corso “Introduzione alla programmazione con Java” e affronta le tematiche centrali della programmazione in Java che consentono di creare software completi ed autonomi.

Partendo esattamente da dove termina il corso di introduzione, in cui si acquisiscono i rudimenti basilari della sintassi delle istruzioni del linguaggio, questo percorso affronta di petto la programmazione object oriented e le modalità con cui Java implementa questo paradigma, affrontando passo dopo passo concetti quali le classi, le istanze, l’incapsulamento, i package, i membri statici, l’ereditarietà, l’overriding, l’astrazione, le interfacce, il polimorfismo, e il casting di oggetti.

In questo percorso si andranno ad utilizzare tools per la compilazione, per la creazione di librerie software, per il debug dei programmi e ci si avvarrà del supporto di IDE evolute per lo sviluppo di programmi

Si affronteranno quindi temi legati alla gestione degli errori e agli insiemi di dati, tema cruciale nei migliori linguaggi di programmazione, da cui ci si muoverà per affrontare il paradigma della programmazione funzionale e le modalità con cui Java permette di sfruttare l’approccio misto tra quest’ultimo e il paradigma object oriented.

Ogni “step” del percorso viene accompagnato da prove pratiche in cui chi segue le lezioni potrà cimentarsi per testare in proprio le conoscenze acquisite. Il tutto sarà corredato da un’esercitazione finale nella quale ci si dovrà cimentare nella realizzazione di un software completo in Java svolgendo attività simili a quelle solitamente intraprese da chi lavora in contesti di progetti di sviluppo di applicativi

Il corso si rivolge a chiunque voglia imparare a programmare nel linguaggio Java pur non avendo pregresse esperienze di programmazione ed ha come obiettivo quello primario quello di “far capire” i vari aspetti del linguaggio che vengono via via presentati.

Il programma che seguirai

    • 01. Introduzione agli oggetti Guarda in anteprima 6m : 56s
    • 02. Dichiarazione di un oggetto Guarda in anteprima 3m : 48s
    • 03. Accesso ai membri 5m : 24s
    • 04. Allocazione in memoria - costruttori 9m : 8s
    • 05. Autoriferimento: this 3m : 43s
    • 06. Esercitazione su oggetti 2m : 34s
    • 07. Soluzione 14m : 10s
    • 08. Combinare oggetti 12m : 40s
    • 09. Oggetti come data-types 13m : 6s
    • 10. Esercitazione su data-types 1m : 55s
    • 11. Soluzione 8m : 19s
    • 12. Incapsulamento: introduzione 6m : 9s
    • 13. Incapsulamento: get e set 9m : 22s
    • 14. Incapsulamento: applicazione 7m : 26s
    • 15. Incapsulamento: proprietà di insieme 12m : 46s
    • 16. Esercitazione su incapsulamento 2m : 42s
    • 17. Soluzione 14m : 19s
    • 18. Static 8m : 52s
    • 19. Costanti 5m : 33s
    • 20. Riepilogo 2m : 34s
    • 21. Esercitazione su scontrino 3m : 53s
    • 22. Soluzione A 16m : 11s
    • 23. Soluzione B 11m : 27s
    • 24. Introduzione alla compilazione Java: le unità di compilazione 5m : 24s
    • 25. Il compilatore javac 6m : 9s
    • 26. Output della compilazione 2m
    • 27. Principali opzioni di compilazione 3m : 48s
    • 28. Compilazione di più files 5m : 47s
    • 29. Il packaging delle classi 5m : 7s
    • 30. Accessibilita' tra package e importazione di oggetti 3m : 33s
    • 31. Modificatori di visibilità delle classi 2m : 11s
    • 32. Classi pubbliche e compilazione in cascata 3m : 22s
    • 33. Esercitazione su compilazione 1m : 28s
    • 34. Soluzione 12m : 53s
    • 35. Introduzione all'API di Java 6m : 35s
    • 36. Documentazione dell'API 6m : 26s
    • 37. API per il testo: introduzione all'oggetto String 8m : 51s
    • 38. Particolarità dell'oggetto String 5m : 31s
    • 39. Documentazione dell'oggetto String 6m : 43s
    • 40. Altri metodi dell'oggetto String 9m : 43s
    • 41. L'oggetto System 13m : 24s
    • 42. System: standard input e ouput 4m : 44s
    • 43. Standard Output 2m : 31s
    • 44. Standard Input 3m : 37s
    • 45. Il metodo "main" 5m : 53s
    • 46. Il primo programma completo 10m : 39s
    • 47. Parametri di avvio (args) 4m : 21s
    • 48. Esercitazione 1m : 28s
    • 48.1. Soluzione 12m : 9s
    • 49. Integrated Development Environment 9m : 29s
    • 50. IntelliJ Idea - Setup 3m : 1s
    • 51. IntelliJ Idea - Prima esecuzione e creazione di un progetto 6m : 38s
    • 52. IntelliJIdea - Caratteristiche e principali struementi 5m : 31s
    • 53. IntelliJIdea - Compilazione ed esecuzione 4m : 25s
    • 54. Il Debugger 14m : 2s
    • 55. I Wrappers 12m : 57s
    • 56. Esercitazione 49s
    • 56.1 Proposta di soluzione (livello zero) 7m : 10s
    • 56.2 Proposta di soluzione (livello accettabile) 9m : 19s
    • 57. Il tempo e i calendari 9m : 36s
    • 58. Documentazione sul package java.time 6m : 24s
    • 59. Azioni con gli oggetti temporali datari 7m : 6s
    • 60. Formattazione degli oggetti temporali 7m : 58s
    • 61. Archi temporali e calcoli temporali 4m : 48s
    • 62. Esercitazione 2m : 3s
    • 62.1 Proposta di soluzione (parte prima) 10m : 39s
    • 62.2 Proposta di soluzione (parte seconda) 8m : 44s
    • 63. Object Oriented 10m : 1s
    • 64. Overriding 12m : 25s
    • 65. Modificatore di visibilità "protected" 5m : 12s
    • 66. Classi astratte 8m : 59s
    • 67. La classe Object e l'upcasting 7m : 37s
    • 68. Il downcasting 11m : 14s
    • 69. Interfacce 15m : 1s
    • 70. Polimorfismo e instanceof 6m : 51s
    • 71. Classi final 2m
    • 72. Enumerations 9m : 32s
    • 73. Enumerations valorizzate 4m : 1s
    • 74. Costrutto switch e gli enums 8m
    • 75. Annotations 9m : 41s
    • 76. Ma in pratica? 10m : 53s
    • 77. Ma in pratica? 10m : 42s
    • 78. Introduzione alla gestione degli errori 3m : 11s
    • 78. Lanciare errori 9m : 54s
    • 78. Creare errori personalizzati 5m : 46s
    • 79. Catturare gli errori 9m : 37s
    • 80. Trattare gli errori mediante rilancio 7m : 35s
    • 81. Esercitazione 1m : 8s
    • 82. Proposta di soluzione (parte prima) 7m : 42s
    • 83. Proposta di soluzione (parte seconda) 10m : 10s
    • 84. Il tool jar 3m : 57s
    • 85. Creare archivi eseguibili 5m : 21s
    • 86. Creare librerie di oggetti 6m : 29s
    • 87. Collection Framework 5m : 19s
    • 88. Collections 3m : 54s
    • 89. Set, List, Queue, Deque 4m : 30s
    • 90. Map 1m : 10s
    • 91. Applicazione pratica di insiemi List (1/2) 9m : 33s
    • 92. I tipi "generics" 7m : 45s
    • 93. Applicazione pratica di insiemi List (2/2) 10m : 32s
    • 94. Il costrutto "for" (each) 1m : 54s
    • 95. File System 9m : 49s
    • 96. Applicazione pratica di insiemi Queue e Deque (1/2) 9m : 33s
    • 97. Applicazione pratica di insiemi Queue e Deque (2/2) 7m : 18s
    • 98. Applicazione pratica di insiemi Map (1/3) 12m : 2s
    • 99. Applicazione pratica di insiemi Map (2/3) 10m : 32s
    • 100. Applicazione pratica di insiemi Map (3/3) 7m : 41s
    • 101. Properties 6m : 14s
    • 101. Store e load di insiemi Properties 6m : 51s
    • 103. Esercitazione 46s
    • 104. Proposta di soluzione 2m : 56s
    • 105. Dichiarazione di "inner class" 6m : 59s
    • 106. Dichiarazioni anonime 6m : 4s
    • 107. Interfacce funzionali: introduzione 3m : 34s
    • 108. Interfacce funzionali: espressioni "lambda" 7m : 1s
    • 109. Le interfacce funzionali standard 7m : 26s
    • 110. L'oggetto Optional 5m : 51s
    • 111. Gli Stream di dati 2m : 41s
    • 112. Creazione di uno stream 7m : 30s
    • 113. Funzionamento dello stream 3m : 34s
    • 114. Operazioni terminali: introduzione 5m : 57s
    • 115. Operazioni terminali: operazioni semplici 8m : 2s
    • 116. Operazioni terminali: collect 5m : 24s
    • 117. Operazioni terminali: reduce 4m : 38s
    • 118. Operazioni intermedie: basilari 3m : 54s
    • 119. Operazioni intermedie: filtri e ordinamenti 4m : 35s
    • 120. Operazioni intermedie: map e flatMap 7m : 40s
    • 121. Gli Stream di dati: esempi pratici 1 7m : 6s
    • 122. Gli Stream di dati: esempi pratici 2 6m : 42s
    • 123. Method reference 8m : 43s
    • 124. Multithreading in Java 3m : 6s
    • 125. Thread e Runnable 7m : 31s
    • 126. Multithreading nativo 2m : 26s
    • 127. Un esempio: la catapulta 9m : 45s
    • 128. Un esempio: la banca 8m : 8s
    • 129. La banca-"rotta" 5m : 40s
    • 130. Problemi di "concorrenza": i lock 9m : 31s
    • 131. Una banca "differente": wait e notify 6m : 38s
    • 132. Gestione della "concorrenza" in modo nativo 4m : 39s
    • 133. Presentazione esercitazione finale: specifiche di output 6m : 59s
    • 134. Esercitazione finale: suggerimenti di progettazione 13m : 41s
    • 135. Esercitazione finale: svolgimento step 1 parte 1 9m : 2s
    • 136. Esercitazione finale: svolgimento step 1 parte 2 8m : 34s
    • 137. Esercitazione finale: svolgimento step 2 parte 1 10m : 28s
    • 138. Esercitazione finale: svolgimento step 2 parte 2 8m : 53s
    • 139. Esercitazione finale: svolgimento step 3 parte 1 10m : 47s
    • 140. Esercitazione finale: svolgimento step 3 parte 2 6m : 57s
    • 141. Esercitazione finale: svolgimento step 3 parte 3 11m : 31s
    • 142. Esercitazione finale: svolgimento step 3 parte 4 11m : 40s
    • 143. Esercitazione finale: svolgimento step 3 parte 5 9m : 9s
    • 144. Esercitazione finale: svolgimento step 3 parte 6 8m : 26s
    • 145. Esercitazione finale: svolgimento step 3 parte 7 8m : 57s
    • 146. Esercitazione finale: svolgimento step 4 parte 1 10m
    • 147. Esercitazione finale: svolgimento step 4 parte 2 9m : 25s
    • 148. Esercitazione finale: svolgimento step 5 parte 1 9m : 41s
    • 149. Esercitazione finale: svolgimento step 5 parte 2 6m : 25s

Il tuo istruttore

Domenico Marangoni

Domenico Marangoni

Sviluppatore di software freelance da quasi 30 anni, da oltre 20 si occupa di formazione tecnologica presso software house e aziende che necessitano di accrescere le competenze del proprio personale.

Competenze

Cosa saprai fare

Al termine di questo corso sulla programmazione con Java, avrai appreso i fondamenti della programmazione Object Oriented e le competenze del linguaggio Java necessarie a realizzare applicazioni autonome. Avrai inoltre appreso come utilizzare in Java anche modelli di Programmazione in stile Funzionale utili ad una più chiara e concisa scrittura del codice. Sarai in grado di realizzare da zero programmi in Java con particolare attenzione soprattutto ai componenti di business logic necessari alla realizzazione dei back end applicativi, settore in cui Java sul mercato è il linguaggio tutt’ora più richiesto.

Acquista subito

COSA DICONO I NOSTRI STUDENTI

5.0

1 recensioni

Domande frequenti:

Non vorremmo mai che tu rimanga insoddisfatto/a di uno dei nostri corsi! Se dovesse accadere, contattaci e cercheremo di risolvere entro 24h qualsiasi problema tu abbia riscontrato. Alternativamente, procederemo al rimborso di quanto speso!

1

Certo! Una volta acquistato il corso sarà tuo per sempre. Puoi rivedere le lezioni ogni volta che vuoi, in qualsiasi momento. I video non sono live, sono registrati e sempre disponibili sulla piattaforma.

2

La durata totale del corso è circa di 15 ore. Tieni a mente però che il tempo di apprendimento dei concetti potrebbe essere leggermente più lungo. Per questo, una volta acquistati i corsi, Lacerba si impegna a renderli disponibili a vita!

3