What you'll learn
- Historia komputerów
- Systemy liczbowe, bramki logiczne
- Arduino, tinkercad
- Procesy, wątki i programowanie współbieżne
Requirements
- Brak wymagań
Description
"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, brzęcząc, trzeszcząc i wirując, 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:
Historia komputerów
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.
Systemy liczbowe
Poznamy systemy liczbowe. Nauczymy się podstawowych działań na liczbach binarnych. Później zostawimy to dla komputera, ale jak on to robi, musimy wiedzieć.
Bramki logiczne
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.
Arduino, czyli systemy wbudowane
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.
Tinkercad
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.
PWM
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.
Realne budowanie zestawu 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.
Procesy, wątki i programowania współbieżne
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.
Teoria układów wbudowanych
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.
Who this course is for:
- Dla początkujących programistów, chcący poznać zagadnienia techniczne
Instructors
Witaj na moim profilu nauczyciela na Udemy! Mam ponad 40 lat, z wykształcenia jestem mgr inż. ze specjalnością cyberbezpieczeństwo i bazy danych. Obecnie kontynuuję swoją edukację na studiach doktoranckich.
Mój pierwszy kontakt z programowaniem miał miejsce jeszcze w poprzednim wieku. Gdy moi rówieśnicy bawili się na podwórku, ja poznawałem języki programowania. Od tamtej minęło trochę czasu a ja poświęcam się temu co kocham, czyli uczę innych i pomagam im rozwijać swoje umiejętności w dziedzinie IT. Wielu uważa, że jestem dobrym nauczycielem, ale najlepiej przekonasz się o tym sam(a).
Lubię uczyć, ale również sam nieustannie się rozwijam i poznaję nowe technologie. Każdego dnia spędzam kilka godzin na zgłębianiu kolejnych zagadnień programistycznych. Jeśli chcesz nauczyć się tematów związanych z informatyką, serdecznie zapraszam do nauki ze mną!
Mentorzy IT to projekt edukacyjny, który skupia doświadczonych oraz lubiących i potrafiących uczyć programistów. Tworzymy ciekawe, angażujące i skuteczne kursy online dla początkujących i bardziej zaawansowanych back-end i front-end developerów. Chcielibyśmy, by nasze kursy pomogły Ci zdobyć umiejętności potrzebne do pracy (na stanowiskach juniorskich w IT) oraz stanowiły dla Ciebie źródło ciągłego rozwoju i poszerzania kompetencji (jeśli już pracujesz i jesteś juniorem lub midem).