Una serie di cose rendono CodeGym il miglior corso online per imparare a programmare in Java da zero (almeno ai nostri occhi): struttura del corso attentamente pianificata,
approccio pratico , numero enorme di attività (oltre 1200),
narrazione emozionante e divertente ,
funzionalità social , ecc. Ma ci piace pensare che fare qualcosa in più per aiutare i nostri studenti ad avere successo sia ciò che rende CodeGym il migliore. La nostra missione non è solo aiutarti a imparare Java e trovare un lavoro di programmazione dopo (o mentre sei ancora nel mezzo del corso), ma supportare il tuo sviluppo, sia personale che professionale, con le conoscenze e le informazioni appropriate.
Cos'è il pensiero computazionale?
Il Computational Thinking (CT) è un concetto che gli esperti del settore chiamano "codice per il successo" e "abilità vitale". Anche se è relativamente semplice, CT può essere utile ben oltre la semplice programmazione del software. Il termine è stato proposto per la prima volta nel 1980 da Seymour Papert, un matematico e scienziato informatico, come un modo per risolvere in modo più efficiente vari problemi e compiti relativi alla programmazione. Il pensiero computazionale è un insieme di metodi che implica prendere un problema complesso e scomporlo in una serie di problemi più piccoli che sono più facili da gestire, oltre a esprimere l'essenza di un problema e la soluzione in modi che un computer potrebbe eseguire. In poche parole, prima di iniziare a programmare per insegnare a un computer a risolvere un problema specifico, normalmente dovresti dare un senso al problema da solo, trovare una soluzione, e solo allora insegna a un computer a gestirlo. Il pensiero computazionale è un metodo per rendere questo processo più veloce e più facile, ma non si limita solo alla programmazione e può essere applicato a varie parti della nostra vita. Anche se questo concetto è stato introdotto nel 1980, il pensiero computazionale ha iniziato a guadagnare l'attenzione di massa dopo che Jeannette Wing, professoressa di informatica alla Columbia University, ha proposto di inserire la CT nel curriculum scolastico come una delle abilità fondamentali che tutte le persone dovrebbero possedere .
Come funziona il pensiero computazionale?
Il pensiero computazionale come tecnica consiste in quattro metodi principali, che sono decomposizione, generalizzazione/astrazione, riconoscimento di schemi/rappresentazione dei dati e algoritmi. Sono tutti ugualmente importanti ed efficaci se applicati (a un problema) nel giusto ordine.
Inizi con la scomposizione, che separa un problema in una serie di problemi più piccoli che sono più facili da risolvere uno per uno.
- Astrazione (generalizzazione).
Quindi si procede a un compito/problema specifico, concentrandosi esclusivamente sulle informazioni importanti per risolverlo e ignorando tutto il resto.
- Riconoscimento di pattern (rappresentazione dei dati).
Il prossimo passo è cercare somiglianze tra il problema su cui stai attualmente lavorando e altri problemi che sono stati risolti in precedenza (con la soluzione disponibile). L'obiettivo è trovare schemi che possono essere applicati all'attività corrente.
E infine, avendo i risultati dell'applicazione dei passaggi precedenti, sviluppi un algoritmo per una soluzione del problema passo dopo passo. Un algoritmo quindi può essere eseguito da un computer (o dal tuo cervello, che è l'ultimo compito di risoluzione del computer nella tua vita).
Usando il pensiero computazionale
Sapere come utilizzare CT quando si affrontano problemi e attività che la maggior parte degli sviluppatori di software affronta regolarmente può essere estremamente utile per tutta la tua carriera nella programmazione. “L'informatica non è programmazione informatica. Pensare come un informatico significa più che essere in grado di programmare un computer. Richiede di pensare a più livelli di astrazione. Il pensiero computazionale è pensare in modo ricorsivo. È un'elaborazione parallela. Sta interpretando il codice come dati e i dati come codice. È il controllo del tipo come generalizzazione dell'analisi dimensionale. Sta riconoscendo sia le virtù che i pericoli dell'aliasing, o dare a qualcuno o qualcosa più di un nome. Sta riconoscendo sia il costo che la potenza dell'indirizzamento indiretto e della chiamata di procedura. È giudicare un programma non solo per la correttezza e l'efficienza, ma anche per l'estetica,
spiega Jeannette Wing nel documento del 2006 sull'importanza di imparare il pensiero computazionale e di insegnarlo a tutte le matricole del college. Come puoi vedere, il pensiero computazionale non è pensato solo per programmatori e informatici. Viene utilizzato da persone (spesso inconsapevolmente) in tutti i tipi di professioni sia per risolvere problemi legati al lavoro che nella vita quotidiana.
Ecco una guida rapida su come iniziare ad applicare il pensiero computazionale alle
attività di codifica o praticamente a qualsiasi problema serio che potresti dover affrontare nella tua vita personale.
- Applicazione della scomposizione.
La scomposizione è una tecnica abbastanza semplice ma potente, che può aiutarti ad affrontare problemi/compiti che a prima vista sembrano troppo complessi e quindi spesso causano procrastinazione e altre difficoltà. La chiave qui è allenare il tuo cervello a usare la decomposizione su base regolare, dividendo un compito in un numero di compiti più piccoli che sono più facili da risolvere. Anche se la scomposizione può sembrare un metodo molto semplice e persino ovvio, rimarrai sorpreso dal fatto che molte persone non ne siano consapevoli, il che rende molto più difficile per loro iniziare a lavorare su attività globali (come imparare Java, Per esempio).
- Applicazione dell'astrazione.
Saper applicare l'astrazione è un'abilità potente se conosci la tecnica e hai allenato il tuo cervello a usarla inconsciamente. L'astrazione consiste nel concentrarsi esclusivamente sulle informazioni necessarie per risolvere l'attività ignorando tutto il resto. Usato in combinazione con la decomposizione, è fondamentalmente il metodo per affrontare praticamente qualsiasi problema o problema nella tua vita. Quando si ha a che fare con compiti strettamente di programmazione, l'astrazione aiuta a concentrarsi ed evitare che il cervello si esaurisca troppo velocemente.
- Applicazione del riconoscimento del modello.
Il riconoscimento di schemi è un'abilità piuttosto importante nella codifica, in quanto ti consente di risolvere compiti molto più velocemente applicando schemi di pensiero che il tuo cervello conosce e utilizza a suo agio. È anche una tecnica potente da applicare ai problemi generali della vita: basta provare ad analizzare qualsiasi problema che stai affrontando nella tua vita e trovare (e prendere in prestito) schemi da quelle parti della tua vita che funzionano in modo soddisfacente, trasferendoli al problema attuale.
- Applicazione di algoritmi.
Quando ci pensi, la nostra vita è tutta incentrata sulla formazione di algoritmi. Le chiamiamo abitudini. Il nostro cervello tende a fare affidamento sulle abitudini ogni singolo giorno, solo perché è più efficiente e quindi pratico. L'unico problema è che la maggior parte di noi tende a farlo inconsciamente, il che spesso si traduce nella formazione di algoritmi sbagliati e dannosi (li chiamiamo cattive abitudini o dipendenze). Sapere come formare algoritmi utili consapevolmente può essere un'abilità di vita estremamente vantaggiosa, che ti consente di raggiungere i tuoi obiettivi e avere successo. Quando si tratta di programmazione, sapere come formare un algoritmo per risolvere un particolare problema nel modo più rapido ed efficiente è ciò che differenzia una persona che sa solo programmare da un esperto programmatore di computer professionista.
Cosa dicono gli esperti?
In conclusione, ecco cosa hanno da dire alcuni riconosciuti esperti di informatica sul Computational Thinking. Secondo James Lockwood e Aidan Mooney, professori dell'Università di Maynooth in Irlanda e autori di
"Computational Thinking in Education: Where does it fit?"rapporto, il pensiero computazionale "è un'abilità vitale per i lavoratori del 21 ° secolo". “Sebbene siano state condotte molte ricerche sull'insegnamento sia della TC che della CS [informatica] nelle scuole, molti studenti di terzo livello non saranno mai stati esposti a questi concetti. È importante che sia gli studenti CS che quelli non CS abbiano buone capacità di problem solving e il CT può trarne grande vantaggio. Sono stati proposti molti metodi diversi e sembra che un corso di TC non obbligatorio sia per studenti CS che per studenti non CS sia un metodo particolarmente efficace e utile. Ciò richiede il sostegno sia dell'amministrazione che del personale docente, ma i vantaggi elencati sia in questa sezione che nella sezione 7 mostrano che può essere vantaggioso per tutti i soggetti coinvolti. C'è anche una vasta gamma di modi per insegnare CT nei contesti universitari, anche se ciò che la maggior parte ha in comune è un approccio più pratico, corsi guidati dalla discussione e la maggior parte di questi metodi sembra avere successo. Si pensa che, forse, gli studenti di informatica ne trarranno beneficio in quanto rende loro più facile il passaggio alla "programmazione tradizionale", affermano gli esperti. Anche Conrad Wolfram, un rinomato esperto di tecnologia e imprenditore britannico, sostiene l'insegnamento del pensiero computazionale nei college e
lo chiama addirittura 'il codice del successo': “Il pensiero computazionale è il codice del successo. Il processo di risoluzione dei problemi basato sul computer è così potente nell'affrontare le sfide della vita reale che dovrebbe essere una materia educativa fondamentale. Almeno se tu, come me, sei d'accordo sul fatto che lo scopo fondamentale dell'educazione dovrebbe essere quello di arricchire la nostra vita trovando le soluzioni più efficaci a problemi di qualsiasi tipo. Cosa ne pensi? Il pensiero computazionale ti sembra qualcosa che dovresti praticare di più nella tua vita? Condividi i tuoi pensieri con noi nella sezione commenti qui sotto!
GO TO FULL VERSION