Scegli la tua lingua
Corso per programmatore informatico
+ di 400 mila professionisti sulla piattaforma
Esclusivo per aziende

Corso per programmatore informatico

Passa dalla scrittura della tua prima riga di codice alla progettazione di sistemi software scalabili che le vere aziende rilasciano. Questo corso copre tutto, dai concetti fondamentali della programmazione e i database fino ad API, test e distribuzione nel cloud. Al termine possiederai un set di competenze pronto per il portfolio e la profondità tecnica che i datori di lavoro cercano in realtà.

Dedika per studenti

Cosa il tuo team imparerà a padroneggiare:

Padroneggerai i concetti fondamentali della programmazione su cui si basa ogni sviluppatore professionista, tra cui variabili, flusso di controllo, funzioni e progettazione orientata agli oggetti. Imparerai a creare e mettere in sicurezza API RESTful, a progettare database relazionali e NoSQL e a scrivere test automatici a ogni livello della piramide di testing. Il corso tratta i pattern di architettura software, le pipeline DevOps, la containerizzazione con Docker e la distribuzione nel cloud. Apprenderai anche l'ottimizzazione delle prestazioni, le pratiche di codifica sicura e i flussi di lavoro Agile in team. Al termine, avrai le competenze per contribuire a team di ingegneria reali e il portfolio per dimostrarlo.

Come il tuo team studia in modo pratico Corso per programmatore informatico

Come il tuo team mette in pratica Corso per programmatore informatico

I professionisti di queste aziende studiano su Dedika

ActemiumFR
Nunner LogisticsNL
GT Constructora GeotécnicaCR
Sydel StarBR
Metrô de São PauloBR
Aguas AndinasCL
DSMIN
MeridianbetRS
CDHCN

Contenuto del corso

8 Capitoli • 39 LezioniDurata tra 4 e 360 ore (decidi tu)

Capitolo 1Vedi dettagli

Fondamenti di programmazione e configurazione dell'ambiente

  • Lezione 1 • Configurazione dell'ambiente di sviluppo

    Installa e configura un editor di codice, un runtime e un gestore di pacchetti. Assicura che ogni studente disponga di uno spazio di lavoro identico e riproducibile prima di scrivere qualsiasi codice.

  • Lezione 2 • Competenza nell'uso del terminale

    Insegna la navigazione, la manipolazione dei file e la gestione dei processi in un terminale. La fluidità nell'uso del terminale accelera ogni flusso di lavoro successivo nel corso.

  • Lezione 3 • Controllo di versione con Git

    Introduce Git come strumento standard del settore per tracciare le modifiche e collaborare. Gli studenti eseguono commit, branching e push del codice entro la fine di questa sezione.

  • Lezione 4 • Come i computer eseguono il codice

    Tratta il ciclo di istruzione della CPU, la gerarchia di memoria e il ruolo dei sistemi operativi. Stabilisce il contesto hardware che spiega ogni concetto di livello superiore nel corso.

Capitolo 2Vedi dettagli

Concetti fondamentali di programmazione

  • Lezione 1 • Collezioni e pattern di iterazione

    Introduce array, liste e dizionari per memorizzare dati raggruppati. Gli studenti applicano pattern di iterazione per elaborare set di dati reali in modo efficiente.

  • Lezione 2 • Variabili, tipi e operatori

    Spiega come i dati vengono memorizzati, tipizzati e trasformati tramite espressioni. Fornisce il vocabolario necessario per leggere e scrivere qualsiasi istruzione di codice.

  • Lezione 3 • Funzioni e codice modulare

    Definisce le funzioni come unità logiche riutilizzabili e testabili. Il design modulare riduce la duplicazione ed è il fondamento di tutti i programmi più grandi in questo corso.

  • Lezione 4 • Flusso di controllo e processo decisionale

    Tratta i condizionali e i cicli che dirigono i percorsi di esecuzione del programma. Gli studenti implementano logiche di branching e algoritmi iterativi da zero.

  • Lezione 5 • Gestione degli errori e debug

    Insegna la gestione strutturata delle eccezioni e le tecniche sistematiche di debug. Gli studenti imparano a leggere gli stack trace e a isolare i bug usando un debugger.

Capitolo 3Vedi dettagli

Programmazione orientata agli oggetti

  • Lezione 1 • Composizione e iniezione delle dipendenze

    Mette a confronto la composizione con l'ereditarietà e introduce l'iniezione delle dipendenze. Gli studenti imparano quando preferire relazioni 'has-a' alle gerarchie 'is-a'.

  • Lezione 2 • Classi e oggetti

    Definisce le classi come progetti e gli oggetti come istanze con stato e comportamento. Collega la sintassi OOP alle funzioni modulari introdotte nel capitolo precedente.

  • Lezione 3 • Ereditarietà e polimorfismo

    Modella relazioni 'is-a' tramite gerarchie di classi e overriding dei metodi. Gli studenti scrivono codice polimorfico che gestisce tipi multipli attraverso una singola interfaccia.

  • Lezione 4 • Principi di progettazione SOLID

    Applica cinque principi fondamentali di progettazione OOP a esempi di codice reali. Gli studenti rifattorizzano classi mal strutturate in design puliti e manutenibili.

  • Lezione 5 • Incapsulamento e controllo degli accessi

    Spiega come nascondere lo stato interno ed esporre interfacce controllate. L'incapsulamento previene mutazioni indesiderate e impone confini chiari tra i moduli.

Capitolo 4Vedi dettagli

Strutture dati e algoritmi

  • Lezione 1 • Algoritmi di ordinamento e ricerca

    Implementa e confronta i classici algoritmi di ordinamento e ricerca. Gli studenti misurano le implementazioni e giustificano la scelta dell'algoritmo in base alla complessità.

  • Lezione 2 • Strutture dati lineari

    Tratta array, liste concatenate, pile e code con i loro compromessi. Gli studenti implementano ciascuna struttura e identificano i casi d'uso appropriati.

  • Lezione 3 • Analisi della complessità

    Introduce la notazione Big-O per misurare l'efficienza degli algoritmi. Gli studenti valutano le prestazioni del codice prima di scegliere tra implementazioni concorrenti.

  • Lezione 4 • Strategie di progettazione degli algoritmi

    Introduce approcci divide-et-impera, programmazione dinamica e golosi. Gli studenti scompongono problemi complessi in sottoproblemi risolvibili.

  • Lezione 5 • Alberi e grafi

    Spiega i modelli di dati gerarchici e a rete utilizzati nei sistemi reali. Gli studenti attraversano alberi e grafi usando strategie depth-first e breadth-first.

Capitolo 5Vedi dettagli

Database e persistenza dei dati

  • Lezione 1 • Fondamenti di database relazionali

    Spiega tabelle, chiavi e relazioni come fondamento dei database relazionali. Gli studenti modellano un dominio usando diagrammi entità-relazione prima di scrivere qualsiasi SQL.

  • Lezione 2 • Integrazione del database nel codice dell'applicazione

    Connette un'applicazione a un database usando un ORM e pattern di query raw. Gli studenti costruiscono un livello repository che astrae la persistenza dalla logica di business.

  • Lezione 3 • NoSQL e document store

    Mette a confronto document store, key-value store e column-family store con i database relazionali. Gli studenti scelgono il modello di persistenza giusto per una data forma di dati.

  • Lezione 4 • Linguaggio di query SQL

    Tratta le operazioni SELECT, INSERT, UPDATE, DELETE e JOIN. Gli studenti scrivono query che rispondono a domande di business reali su un set di dati di esempio.

  • Lezione 5 • Transazioni e integrità dei dati

    Spiega le proprietà ACID e come le transazioni proteggano la coerenza dei dati. Gli studenti implementano la logica di commit e rollback nel codice dell'applicazione.

Capitolo 6Vedi dettagli

Sviluppo web e API

  • Lezione 1 • Costruzione di un'API RESTful

    Progetta e implementa endpoint REST seguendo convenzioni orientate alle risorse. Gli studenti creano un'API CRUD supportata dal livello database del capitolo precedente.

  • Lezione 2 • Autenticazione e autorizzazione

    Implementa l'autenticazione basata su token e il controllo degli accessi basato sui ruoli. Gli studenti mettono in sicurezza gli endpoint in modo che solo gli utenti autorizzati possano accedere alle risorse protette.

  • Lezione 3 • Consumo di API esterne

    Effettua richieste HTTP autenticate a servizi di terze parti e gestisce le risposte. Gli studenti integrano un'API pubblica nella propria applicazione utilizzando le best practice.

  • Lezione 4 • HTTP e il ciclo di richiesta web

    Spiega i metodi HTTP, i codici di stato, gli header e il modello richiesta-risposta. Questo modello mentale è alla base di ogni API e framework web utilizzato in seguito.

  • Lezione 5 • Documentazione e versionamento delle API

    Genera documentazione API interattiva e gestisce le modifiche che rompono la compatibilità tramite il versionamento. Una documentazione chiara riduce l'attrito di integrazione per i consumatori dell'API.

Capitolo 7Vedi dettagli

Test del software e garanzia della qualità

  • Lezione 1 • Test di integrazione e API

    Testa le interazioni tra i componenti e convalida i contratti API end-to-end. Gli studenti rilevano i bug di integrazione che i test di unità non possono individuare.

  • Lezione 2 • Test di unità in pratica

    Scrive test di unità isolati per funzioni e classi utilizzando un framework di test. Gli studenti raggiungono un'elevata copertura sui moduli di logica di business principali.

  • Lezione 3 • Sviluppo Guidato dai Test

    Applica il ciclo red-green-refactor per guidare la progettazione attraverso test falliti. Gli studenti sperimentano come il TDD produca codice più semplice e testabile.

  • Lezione 4 • Fondamenti e strategia di test

    Introduce la piramide dei test e i compromessi costo-beneficio di ciascun livello. Gli studenti pianificano una strategia di test prima di scrivere un singolo caso di test.

  • Lezione 5 • Integrazione continua e automazione dei test

    Configura una pipeline di CI che esegue automaticamente i test a ogni commit. Gli studenti bloccano i merge quando i test falliscono, applicando gate di qualità nel flusso di lavoro.

Capitolo 8Vedi dettagli

Architettura software e progettazione di sistemi

  • Lezione 1 • Resilienza e tolleranza ai guasti

    Progetta sistemi che degradano le prestazioni in modo graduale in caso di guasto utilizzando circuit breaker e retry. Gli studenti applicano i pattern di resilienza all'API costruita nei capitoli precedenti.

  • Lezione 2 • Progettazione per scalabilità e prestazioni

    Tratta il ridimensionamento orizzontale, le strategie di caching e il bilanciamento del carico in fase di progettazione. Gli studenti identificano i colli di bottiglia prima di scrivere codice usando la pianificazione della capacità.

  • Lezione 3 • Panoramica dei pattern architetturali

    Esamina le architetture a strati, event-driven e a microservizi con i loro compromessi. Gli studenti associano un documento di requisiti a uno stile architetturale appropriato.

  • Lezione 4 • Pratica di progettazione di sistemi

    Applica tutti i concetti architetturali per progettare un sistema distribuito realistico end-to-end. Gli studenti presentano e difendono i loro progetti rispetto a scenari di scalabilità e guasto.

  • Lezione 5 • Basi di Domain-Driven Design

    Introduce contesti delimitati, aggregati e linguaggio ubiquo come strumenti di progettazione. Gli studenti suddividono un modello di dominio in moduli coesi e distribuibili in modo indipendente.

Certificazione

Il tuo certificato valido di completamento

Questo corso è per te:

  • Professionista in fase di cambiamento di carriera: desidera un percorso strutturato e allineato alle esigenze dei datori di lavoro verso lo sviluppo software.

  • Programmatore autodidatta: presenta lacune nei fondamenti e necessita di un curriculum coeso.

  • Professionista IT: supporta i sistemi software e desidera passare a costruirli.

  • Neolaureato: ha studiato in un campo non correlato e si sta orientando verso carriere nel settore tecnologico.

  • Imprenditore: realizza prodotti e desidera collaborare in modo più efficace con gli sviluppatori.

  • Programmazione per hobbisti: ha completato tutorial per principianti ed è pronto per un approfondimento professionale.

Corsi correlati

FAQ

Chi è Dedika?

Il certificato è valido in Italia?

I corsi sono gratuiti?

Qual è il carico di lavoro del corso?

Come sono strutturati i corsi?

Come funzionano i corsi?

Qual è la durata dei corsi?

Qual è il costo o il prezzo dei corsi?

Cos’è un corso EAD o online e come funziona?

Corso PDF