"Zanurkujemy" bardzo głęboko do wnętrza komputera i zobaczymy ten świat z całkiem innej perspektywy niż perspektywa "zwykłego" użytkownika, sprowadzająca komputer do czarnej skrzynki, która w magiczny sposób tworzy efekt w postaci jakiegoś działania widocznego (bądź nie) na ekranie. Po tych zajęcia prawie wszystko w zakresie działania komputera stanie się proste, jak dwa podstawowe stany: 0 i 1 ;)
Co obejmuje ten przedmiot:
Zaczynamy od historii komputerów a skończymy na superkomputerze FUGAKU. Omawiamy, co to jest maszyna von Neumanna, architektura harwardzka oraz przejdziemy przez podstawowe elementy komputera: procesor, rodzaje pamięci, rejestry procesora, pamięć cache, pamięć RAM i dyski.
Poznamy systemy liczbowe. Nauczymy się podstawowych działań na liczbach binarnych. Później zostawimy to dla komputera, ale jak on to robi, musimy wiedzieć.
Nauczymy się rozpoznawać je w zapisie graficznym, oraz jaki stan otrzymamy na wyjściu poszczególnych bramek w zależności od danych wejściowych. Poznamy najprostsze układy zbudowane na bramkach oraz powiemy trochę o ALU — jednostce arytmetyczno-logicznej.
Poznasz budowę Arduino, czyli gdzie co jest, umówimy też podstawowe pojęcia z elektrotechniki, oraz elementy, z którymi będziemy mieli kontakt na początku. Zapoznamy się miernikiem oraz omówię z grubsza składnię języka, którym będziemy się posługiwać przy programowaniu płytki Arduino.
Jest to program, dzięki któremu będziemy mogli symulować układy oparte na Arduino. W tym materiale omówię również część pojęć, o których wspomniałem wcześniej na przykładach, opartych już o wirtualne układy.
Co to jest PWM, dowiemy się jak sterować wyjściami w sposób “płynny”. Ta metoda daje dużo możliwości i jest podstawą do sterowania bardziej zaawansowanego układami Arduino.
Pracowaliśmy na wirtualnych zestawach, warto jednak pokazać, jak to wszystko wygląda w realnych zestawach. Pokazuję na przykładowych projektach, jak zmontować układ i oprogramować go w realu.
Przedstawiam i wyjaśniam pojęcia procesów i wątków w naszych komputerach. Następnie pokazuję, dlaczego potrzebne jest nam programowanie współbieżne. Dodatkowo, pokazuję na prostych programach napisanych w C++, że to, co mówię, jest faktem. Czyli zwykły program napisany w C++ i uruchomiony na 20-rdzeniowym procesorze wykorzysta tylko 5% mocy naszego komputera.
Omówię tutaj trochę pojęć z teorii układów wbudowanych. Wiedza ta dotyka tylko podstaw, ale świadomość pewnych zagadnień jest bardzo ważna, bo wcześniej czy później się z tym zetkniemy w pracy jako programista.