Informatyka dotyczy algorytmów, a nie (ściśle) komputerów (i elektroniki).
Jako takie, badanie algorytmów (nawet elementarnej arytmetyki) może przynieść zrozumienie informatyki i programowania. Pamiętaj, że nawet termin „algorytm” jest parafrazą autora książki arytmetycznej ( al-Khwārizmī , około 9 wieku n.e.).
Badanie algorytmów można przeprowadzić za pomocą elementarnych środków, ale powinno ono zapewnić wyjaśnienie, dlaczego algorytm działa, jak powstał i jak można faktycznie wykazać, że działa poprawnie.
Nie można nie doceniać historii ewolucji informatyki, algorytmów i programowania. Na przykład kalkulator Babbage / Ady, maszyna Enigma, deska Konrada Zuse'a , ENIAC itp.
Następnie można wprowadzić programowanie (i języki programowania) jako sposób sformalizowania algorytmów. Można to również zrobić (w dużym stopniu) za pomocą elementarnych środków.
Uwaga : niektóre badania wykazały, że programowanie uczenia się peole ma dwie główne trudności w zrozumieniu (związane z przeciążeniem symboli, na przykład testem przypisania vs testu równości i działaniem maszyny RAM).
- Konstrukcje pętli (np. For, while itp.) Wydają się trudne
- Testowanie przypisania a testowanie równości wydaje się również trudne.
Aby upewnić się, że są one zrozumiane i zrozumiane przez ludzi.
Co więcej, jeśli można uzyskać dostęp do dowolnego komputera (nawet kalkulatora, który można zaprogramować), można go użyć do dostarczenia przykładów aplikacji i praktycznego doświadczenia. W przeciwnym razie można użyć symulowanego komputera. Można to zrobić na różne sposoby, na przykład grupa ludzi może symulować części komputera, a klasa może projektować algorytmy w celu rozwiązania różnych problemów dla tego symulowanego komputera i zobaczyć, jak to działa. To może być postrzegane jako gra, bądź kreatywny i makijaż.
Następnie można wprowadzić niektóre (abstrakcyjne) modele obliczeniowe (na przykład Maszyny Turinga ) i powiązać je z poprzednim materiałem na temat algorytmów i formalizacji w języku (programistycznym).
Jeśli chcemy wprowadzić elektronikę rzeczywistego komputera, można to zrobić również w dwóch częściach.
Pamiętaj, że nawet na uniwersytetach niektóre kursy z elektroniki i architektury komputerowej są teoretyczne (w rzeczywistości nie ma się do czynienia z procesorem ani z projektowaniem).
Tak więc można wprowadzić pewne zasady działania elektroniki (i leżącej u jej podstaw fizyki) związane z architekturą komputerową ( półprzewodniki , strefy energii półprzewodnikowej , bramki p-np itp.).
Następnie można wykorzystać poprzedni materiał o programowaniu i algorytmach oraz wprowadzić (nowoczesne) techniki projektowania procesorów (i ich opis), które są stosowane w przemyśle ( bramki logiczne , flip-flops , układy FPGA , VHDL , CMOS itp.).
Można to szerzej zająć się problemami architektury projektowania procesora, takimi jak równoległość, potok, pamięć podręczna, adresowanie wektorów, mikroprogramowanie, DMA itp.
Cóż, ok, może to może być za dużo, ale dodane, aby odpowiedź była samodzielna.