L'informatica riguarda gli algoritmi e non (rigorosamente) i computer (e l'elettronica).
Pertanto, lo studio degli algoritmi (anche dell'aritmetica elementare) può portare alla comprensione dell'informatica e della programmazione. Ricorda che anche il termine "algoritmo" è una parafrasi dell'autore di un libro aritmetico ( al-Khwārizmī , circa IX sec. CE).
Lo studio degli algoritmi può essere fatto usando mezzi elementari, ma dovrebbe fornire una spiegazione del perché l'algoritmo funziona, come è nato e come si può effettivamente dimostrare che funziona correttamente.
La storia alla base dell'evoluzione dell'informatica e degli algoritmi e della programmazione non è da sottovalutare. Ad esempio, calcolatrice di Babbage / Ada, macchina Enigma, plankalkul di Konrad Zuse , ENIAC ecc.
Quindi si può introdurre la programmazione (e i linguaggi di programmazione) come un modo per formalizzare gli algoritmi. Questo può anche essere fatto (in larga misura) usando mezzi elementari.
Si noti che alcuni studi hanno dimostrato che la programmazione di apprendimento peole presenta due principali difficoltà di comprensione (legate al sovraccarico di simboli, ad esempio il test di assegnazione vs uguaglianza e il funzionamento di una macchina RAM).
- I costrutti di loop (ad esempio per, mentre ecc.) Sembrano difficili
- Anche i test di assegnazione vs uguaglianza sembrano difficili.
Quindi uno può assicurarsi che questi siano chiaramente afferrati e compresi dalle persone.
Inoltre, se è possibile accedere a qualsiasi computer (anche una calcolatrice che può essere programmata), questo può essere utilizzato per fornire esempi applicativi ed esperienza pratica. Altrimenti si può usare un computer simulato. Questo può essere fatto in vari modi, ad esempio un gruppo di persone può simulare parti di un computer e la classe può progettare algoritmi per risolvere vari problemi per questo computer simulato e vedere come va. Questo può essere visto anche come un gioco, essere creativi e truccati.
Quindi alcuni modelli di calcolo (astratti) (ad esempio le macchine di Turing ) possono essere introdotti e correlati al materiale precedente sugli algoritmi e la formalizzazione in un linguaggio (di programmazione).
Se si desidera introdurre l'elettronica di un computer reale, ciò può essere fatto anche in due parti.
Ricorda che anche nelle università alcuni corsi di elettronica e architettura del computer sono teorici (non si entra effettivamente in contatto con una CPU o ne progetta uno).
Quindi alcuni principi di funzionamento dell'elettronica (e della fisica sottostante) relativi all'architettura del computer possono essere introdotti ( semiconduttori , zone energetiche a stato solido, porte p-np, ecc.).
Quindi si può sfruttare il materiale precedente sulla programmazione e sugli algoritmi e introdurre (moderne) tecniche di progettazione (e descrizione) della CPU che vengono utilizzate nel settore ( porte logiche , flip-flop , FPGA , VHDL , circuiti CMOS ecc.).
Ciò può essere ulteriormente approfondito, problemi relativi all'architettura di progettazione della CPU come parallelismo, pipeline, memoria cache, indirizzamento vettoriale, micro-programmazione, DMA, ecc.
Bene, ok forse questo può essere troppo, ma aggiunto per rendere la risposta autonoma.