Descrizione
Durante il corso imparerai tutto il necessario per partecipare a gare reali: questo è l'obiettivo principale. Lungo il percorso acquisirai anche abilità utili per le quali i programmatori competitivi sono così apprezzati dai datori di lavoro: capacità di scrivere codice efficiente, affidabile e compatto, gestire bene il tuo tempo quando è limitato, applicare idee algoritmiche di base a problemi reali, ecc.
Iniziamo dall'inizio insegnandoti quali sono le competizioni, quali sono le loro regole, quali problemi specifici hanno, come leggere le dichiarazioni dei problemi, come organizzare il tuo lavoro e cosa dovresti e non dovresti fare. Quindi va bene se non hai mai partecipato a concorsi di programmazione prima.
Ci concentreremo sulle competenze essenziali per la programmazione competitiva: inventare soluzioni e dimostrarne la correttezza, stimarne il tempo di esecuzione, testare e mettere a punto i programmi, come trarre vantaggio dalla strutturazione del codice. Tratteremo anche idee algoritmiche di base: ricerca di forza bruta, programmazione dinamica, algoritmi avidi, alberi di segmenti.
Nelle competizioni ci sono molte insidie specifiche, pericolose per i principianti, ma non c'è da preoccuparsi, poiché ne esamineremo le più comuni: overflow di numeri interi e problemi con i numeri frazionari, problemi di particolari linguaggi di programmazione, come ottenere sbloccato in generale.
E affinerai tutte queste abilità risolvendo problemi di pratica, che sono proprio come i problemi nelle competizioni reali. È possibile utilizzare uno dei seguenti linguaggi di programmazione: C, C ++, C #, Haskell, Java, JavaScript, Python 2, Python 3, Ruby, Rust, Scala. Partiamo dal presupposto che tu sappia già come scrivere i programmi più semplici in uno di questi.
Prezzo: Iscriviti gratuitamente!
Lingua: Inglese
Sottotitoli: Inglese
Competenze principali del programmatore competitivo - Università statale di San Pietroburgo
TUN aiuta gli studenti!
Borse di studio
Comunita'
Diritto d'autore, 2024 – TUN, Inc