mirror of
https://github.com/pepaskopec-blip/Graduately.git
synced 2026-10-27 15:14:35 +00:00
Add hardware lessons on the case, board, cards, drives and input devices.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
9860c56329
commit
f521904656
7 changed files with 1762 additions and 9 deletions
|
|
@ -65,7 +65,7 @@ Intel Mac, jiná architektura nebo úpravy kódu → [sestavení ze zdroje](#ses
|
|||
Hause): cvičení, nápovědy, vokabeltraining
|
||||
- **Správa počítačových sítí** — 1. ročník, 27 lekcí (VLSM + teorie a kvízy);
|
||||
ročníky 2–4 jsou zamčené
|
||||
- **Technické vybavení** — 9 lekcí (architektura, historie, data v počítači, digitalizace zvuku)
|
||||
- **Technické vybavení** — 29 lekcí (architektura, data, skříň a deska, karty, disky, vstupní zařízení)
|
||||
- **Český jazyk a literatura** — mluvnice (20 cvičení) a maturitní četba
|
||||
(82 knih: zápisky, kvíz, sestavení děje); literární teorie je zatím zamčená
|
||||
- statistiky, hledání (lupa nebo `Cmd/Ctrl+K`), 10 témat, tmavý/světlý režim, čeština/angličtina
|
||||
|
|
@ -259,7 +259,7 @@ Intel Mac, another architecture, or hacking on the code →
|
|||
exercises, hints, vocabulary training
|
||||
- **Computer networks** — year 1, 27 lessons (VLSM + theory/quizzes);
|
||||
years 2–4 are locked
|
||||
- **Computer hardware** — 9 lessons (architecture, history, data representation, digitizing sound)
|
||||
- **Computer hardware** — 29 lessons (architecture, data, case and board, cards, drives, input devices)
|
||||
- **Czech language** — grammar (20 exercises) and required reading
|
||||
(82 books: notes, quiz, plot ordering); literature theory is still locked
|
||||
- statistics, search (magnifier or `Cmd/Ctrl+K`), 10 palettes, dark/light mode, Czech/English
|
||||
|
|
|
|||
|
|
@ -8,7 +8,9 @@
|
|||
|
||||
--- 2026-09-25
|
||||
cs: Technické vybavení: pět lekcí o digitalizaci zvuku (vzorkování, kvantování, PCM)
|
||||
cs: Technické vybavení: skříň, zdroj, deska, CPU, karty, disky a vstupní zařízení
|
||||
en: Hardware: five lessons on digitizing sound (sampling, quantization, PCM)
|
||||
en: Hardware: case, PSU, board, CPU, cards, drives and input devices
|
||||
|
||||
--- 2026-09-23
|
||||
cs: Repozitář se jmenuje Graduately; instalátory a updater míří tam
|
||||
|
|
|
|||
|
|
@ -1085,7 +1085,7 @@ def main() -> int:
|
|||
})
|
||||
|
||||
hw_lessons = []
|
||||
for i in range(1, 10):
|
||||
for i in range(1, 30):
|
||||
hw_lessons.append({
|
||||
"id": i,
|
||||
"titleKey": f"hw_unit{i}",
|
||||
|
|
|
|||
109
src/i18n.c
109
src/i18n.c
|
|
@ -584,6 +584,115 @@ const TrEntry tr_ui[] = {
|
|||
"Quiz: aliasing and formats"},
|
||||
{"hw_quiz9_head", "Kvíz k aliasingu a parametrům záznamu",
|
||||
"Quiz on aliasing and recording formats"},
|
||||
{"hw_unit10", "Počítačová skříň", "Computer case"},
|
||||
{"hw_unit10_sub", "2 snímky o skříni, airflow a typech a pak kvíz.",
|
||||
"2 slides about the case, airflow and types, then a quiz."},
|
||||
{"hw_ex10_title", "Kvíz: počítačová skříň", "Quiz: computer case"},
|
||||
{"hw_quiz10_head", "Kvíz k počítačové skříni", "Quiz on the computer case"},
|
||||
{"hw_unit11", "Napájecí zdroj", "Power supply"},
|
||||
{"hw_unit11_sub", "2 snímky o zdroji ATX a spotřebě a pak kvíz.",
|
||||
"2 slides about the ATX supply and power draw, then a quiz."},
|
||||
{"hw_ex11_title", "Kvíz: napájecí zdroj", "Quiz: power supply"},
|
||||
{"hw_quiz11_head", "Kvíz k napájecímu zdroji", "Quiz on the power supply"},
|
||||
{"hw_unit12", "Základní deska", "Motherboard"},
|
||||
{"hw_unit12_sub", "2 snímky o desce, čipsetu a BIOSu a pak kvíz.",
|
||||
"2 slides about the board, chipset and BIOS, then a quiz."},
|
||||
{"hw_ex12_title", "Kvíz: základní deska", "Quiz: motherboard"},
|
||||
{"hw_quiz12_head", "Kvíz k základní desce", "Quiz on the motherboard"},
|
||||
{"hw_unit13", "Konektory a sloty", "Connectors and slots"},
|
||||
{"hw_unit13_sub", "2 snímky o napájení, SATA a slotech a pak kvíz.",
|
||||
"2 slides about power, SATA and slots, then a quiz."},
|
||||
{"hw_ex13_title", "Kvíz: konektory a sloty", "Quiz: connectors and slots"},
|
||||
{"hw_quiz13_head", "Kvíz ke konektorům a slotům",
|
||||
"Quiz on connectors and slots"},
|
||||
{"hw_unit14", "Operační paměti", "Memory"},
|
||||
{"hw_unit14_sub", "2 snímky o RAM, SRAM a DRAM a pak kvíz.",
|
||||
"2 slides about RAM, SRAM and DRAM, then a quiz."},
|
||||
{"hw_ex14_title", "Kvíz: paměti", "Quiz: memory"},
|
||||
{"hw_quiz14_head", "Kvíz k operačním pamětím", "Quiz on memory"},
|
||||
{"hw_unit15", "Procesor", "Processor"},
|
||||
{"hw_unit15_sub", "3 snímky o CPU, jádrech a chlazení a pak kvíz.",
|
||||
"3 slides about the CPU, cores and cooling, then a quiz."},
|
||||
{"hw_ex15_title", "Kvíz: procesor", "Quiz: processor"},
|
||||
{"hw_quiz15_head", "Kvíz k procesoru", "Quiz on the processor"},
|
||||
{"hw_unit16", "Přídavné karty", "Expansion cards"},
|
||||
{"hw_unit16_sub", "2 snímky o kartách a slotech PCIe a pak kvíz.",
|
||||
"2 slides about cards and PCIe slots, then a quiz."},
|
||||
{"hw_ex16_title", "Kvíz: přídavné karty", "Quiz: expansion cards"},
|
||||
{"hw_quiz16_head", "Kvíz k přídavným kartám", "Quiz on expansion cards"},
|
||||
{"hw_unit17", "Grafická karta", "Graphics card"},
|
||||
{"hw_unit17_sub", "3 snímky o obrazu, typech karet a cestě obrazu a pak kvíz.",
|
||||
"3 slides about the image, card types and the image path, then a quiz."},
|
||||
{"hw_ex17_title", "Kvíz: grafická karta", "Quiz: graphics card"},
|
||||
{"hw_quiz17_head", "Kvíz ke grafické kartě", "Quiz on the graphics card"},
|
||||
{"hw_unit18", "Shadery a render", "Shaders and rendering"},
|
||||
{"hw_unit18_sub", "3 snímky o shaderech, renderu a CUDA a pak kvíz.",
|
||||
"3 slides about shaders, rendering and CUDA, then a quiz."},
|
||||
{"hw_ex18_title", "Kvíz: shadery a render", "Quiz: shaders and rendering"},
|
||||
{"hw_quiz18_head", "Kvíz k shaderům a renderování",
|
||||
"Quiz on shaders and rendering"},
|
||||
{"hw_unit19", "Paměť a sběrnice GPU", "GPU memory and bus"},
|
||||
{"hw_unit19_sub", "3 snímky o RAMDAC, GDDR a PCIe a pak kvíz.",
|
||||
"3 slides about RAMDAC, GDDR and PCIe, then a quiz."},
|
||||
{"hw_ex19_title", "Kvíz: paměť a sběrnice GPU", "Quiz: GPU memory and bus"},
|
||||
{"hw_quiz19_head", "Kvíz k paměti a sběrnici GPU",
|
||||
"Quiz on GPU memory and the bus"},
|
||||
{"hw_unit20", "Rozlišení obrazu", "Display resolutions"},
|
||||
{"hw_unit20_sub", "2 snímky o portech, rozlišení a SLI a pak kvíz.",
|
||||
"2 slides about ports, resolutions and SLI, then a quiz."},
|
||||
{"hw_ex20_title", "Kvíz: rozlišení obrazu", "Quiz: display resolutions"},
|
||||
{"hw_quiz20_head", "Kvíz k rozlišení a více kartám",
|
||||
"Quiz on resolutions and multi-GPU"},
|
||||
{"hw_unit21", "Zvuková karta", "Sound card"},
|
||||
{"hw_unit21_sub", "3 snímky o typech karet, čipu a nahrávání a pak kvíz.",
|
||||
"3 slides about card types, the chip and recording, then a quiz."},
|
||||
{"hw_ex21_title", "Kvíz: zvuková karta", "Quiz: sound card"},
|
||||
{"hw_quiz21_head", "Kvíz ke zvukové kartě", "Quiz on the sound card"},
|
||||
{"hw_unit22", "Síťová a TV karta", "Network and TV cards"},
|
||||
{"hw_unit22_sub", "2 snímky o síťové a televizní kartě a pak kvíz.",
|
||||
"2 slides about network and TV cards, then a quiz."},
|
||||
{"hw_ex22_title", "Kvíz: síťová a TV karta", "Quiz: network and TV cards"},
|
||||
{"hw_quiz22_head", "Kvíz k síťové a televizní kartě",
|
||||
"Quiz on network and TV cards"},
|
||||
{"hw_unit23", "Pevný disk", "Hard drive"},
|
||||
{"hw_unit23_sub", "3 snímky o HDD, parametrech a struktuře dat a pak kvíz.",
|
||||
"3 slides about HDDs, parameters and data layout, then a quiz."},
|
||||
{"hw_ex23_title", "Kvíz: pevný disk", "Quiz: hard drive"},
|
||||
{"hw_quiz23_head", "Kvíz k pevnému disku", "Quiz on the hard drive"},
|
||||
{"hw_unit24", "SSD a flash", "SSD and flash"},
|
||||
{"hw_unit24_sub", "3 snímky o SSD, TRIM, SSHD a USB a pak kvíz.",
|
||||
"3 slides about SSD, TRIM, SSHD and USB, then a quiz."},
|
||||
{"hw_ex24_title", "Kvíz: SSD a flash", "Quiz: SSD and flash"},
|
||||
{"hw_quiz24_head", "Kvíz k SSD a flash paměti", "Quiz on SSD and flash"},
|
||||
{"hw_unit25", "Pásky a diskety", "Tapes and floppies"},
|
||||
{"hw_unit25_sub", "3 snímky o výměnných médiích, páskách a disketách a pak kvíz.",
|
||||
"3 slides about removable media, tapes and floppies, then a quiz."},
|
||||
{"hw_ex25_title", "Kvíz: pásky a diskety", "Quiz: tapes and floppies"},
|
||||
{"hw_quiz25_head", "Kvíz k páskám a disketám", "Quiz on tapes and floppies"},
|
||||
{"hw_unit26", "Optická média", "Optical media"},
|
||||
{"hw_unit26_sub", "3 snímky o CD, DVD, Blu-ray a kartách a pak kvíz.",
|
||||
"3 slides about CD, DVD, Blu-ray and memory cards, then a quiz."},
|
||||
{"hw_ex26_title", "Kvíz: optická média", "Quiz: optical media"},
|
||||
{"hw_quiz26_head", "Kvíz k optickým a flash médiím",
|
||||
"Quiz on optical and flash media"},
|
||||
{"hw_unit27", "Klávesnice", "Keyboard"},
|
||||
{"hw_unit27_sub", "2 snímky o částech a typech klávesnic a pak kvíz.",
|
||||
"2 slides about keyboard parts and types, then a quiz."},
|
||||
{"hw_ex27_title", "Kvíz: klávesnice", "Quiz: keyboard"},
|
||||
{"hw_quiz27_head", "Kvíz ke klávesnici", "Quiz on the keyboard"},
|
||||
{"hw_unit28", "Polohovací zařízení", "Pointing devices"},
|
||||
{"hw_unit28_sub", "3 snímky o myši, tabletu a touchpadu a pak kvíz.",
|
||||
"3 slides about the mouse, tablet and touchpad, then a quiz."},
|
||||
{"hw_ex28_title", "Kvíz: polohovací zařízení", "Quiz: pointing devices"},
|
||||
{"hw_quiz28_head", "Kvíz k polohovacím zařízením",
|
||||
"Quiz on pointing devices"},
|
||||
{"hw_unit29", "Herní ovladače a dotyk", "Game controls and touch"},
|
||||
{"hw_unit29_sub", "3 snímky o gamepadu, Kinectu a dotyku a pak kvíz.",
|
||||
"3 slides about gamepads, Kinect and touch, then a quiz."},
|
||||
{"hw_ex29_title", "Kvíz: herní ovladače a dotyk",
|
||||
"Quiz: game controls and touch"},
|
||||
{"hw_quiz29_head", "Kvíz k herním ovladačům a dotyku",
|
||||
"Quiz on game controls and touch"},
|
||||
{"czech_sub", "Vyberte oblast a začněte procvičovat.",
|
||||
"Pick an area and start practicing."},
|
||||
{"Literatura", "Literatura", "Literature"},
|
||||
|
|
|
|||
43
src/main.c
43
src/main.c
|
|
@ -393,6 +393,9 @@ static gboolean run_smoke_test(gpointer data) {
|
|||
"hwunit4", "hwex4",
|
||||
"hwunit5", "hwex5", "hwunit6", "hwex6", "hwunit7", "hwex7",
|
||||
"hwunit8", "hwex8", "hwunit9", "hwex9",
|
||||
"hwunit10", "hwex10", "hwunit15", "hwex15",
|
||||
"hwunit20", "hwex20", "hwunit25", "hwex25",
|
||||
"hwunit29", "hwex29",
|
||||
"unit1", "unit2", "unit3",
|
||||
"u1e1", "u1e13", "u2e1", "u2e19", "u3e1", "u3e15",
|
||||
"u1vocab", "u2vocab", "u3vocab",
|
||||
|
|
@ -545,6 +548,46 @@ void activate(GtkApplication *app, gpointer user_data) {
|
|||
gtk_stack_add_named(main_stack, build_hw_unit8_exercise_page(), "hwex8");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit9_page(), "hwunit9");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit9_exercise_page(), "hwex9");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit10_page(), "hwunit10");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit10_exercise_page(), "hwex10");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit11_page(), "hwunit11");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit11_exercise_page(), "hwex11");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit12_page(), "hwunit12");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit12_exercise_page(), "hwex12");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit13_page(), "hwunit13");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit13_exercise_page(), "hwex13");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit14_page(), "hwunit14");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit14_exercise_page(), "hwex14");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit15_page(), "hwunit15");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit15_exercise_page(), "hwex15");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit16_page(), "hwunit16");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit16_exercise_page(), "hwex16");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit17_page(), "hwunit17");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit17_exercise_page(), "hwex17");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit18_page(), "hwunit18");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit18_exercise_page(), "hwex18");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit19_page(), "hwunit19");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit19_exercise_page(), "hwex19");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit20_page(), "hwunit20");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit20_exercise_page(), "hwex20");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit21_page(), "hwunit21");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit21_exercise_page(), "hwex21");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit22_page(), "hwunit22");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit22_exercise_page(), "hwex22");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit23_page(), "hwunit23");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit23_exercise_page(), "hwex23");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit24_page(), "hwunit24");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit24_exercise_page(), "hwex24");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit25_page(), "hwunit25");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit25_exercise_page(), "hwex25");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit26_page(), "hwunit26");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit26_exercise_page(), "hwex26");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit27_page(), "hwunit27");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit27_exercise_page(), "hwex27");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit28_page(), "hwunit28");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit28_exercise_page(), "hwex28");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit29_page(), "hwunit29");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit29_exercise_page(), "hwex29");
|
||||
{
|
||||
typedef GtkWidget *(*NetBuilder)(void);
|
||||
static const struct {
|
||||
|
|
|
|||
|
|
@ -112,8 +112,8 @@ extern char *app_progress_cetba;
|
|||
#define NET26_SLIDES 7
|
||||
#define NET27_SLIDES 8
|
||||
#define NET_LESSONS 27
|
||||
#define HW_UNITS 10
|
||||
#define HW_LESSONS 9
|
||||
#define HW_UNITS 29
|
||||
#define HW_LESSONS 29
|
||||
#define HW_SLIDES 3
|
||||
#define HW2_SLIDES 6
|
||||
#define HW3_SLIDES 2
|
||||
|
|
@ -884,6 +884,46 @@ GtkWidget *build_hw_unit8_page(void);
|
|||
GtkWidget *build_hw_unit8_exercise_page(void);
|
||||
GtkWidget *build_hw_unit9_page(void);
|
||||
GtkWidget *build_hw_unit9_exercise_page(void);
|
||||
GtkWidget *build_hw_unit10_page(void);
|
||||
GtkWidget *build_hw_unit10_exercise_page(void);
|
||||
GtkWidget *build_hw_unit11_page(void);
|
||||
GtkWidget *build_hw_unit11_exercise_page(void);
|
||||
GtkWidget *build_hw_unit12_page(void);
|
||||
GtkWidget *build_hw_unit12_exercise_page(void);
|
||||
GtkWidget *build_hw_unit13_page(void);
|
||||
GtkWidget *build_hw_unit13_exercise_page(void);
|
||||
GtkWidget *build_hw_unit14_page(void);
|
||||
GtkWidget *build_hw_unit14_exercise_page(void);
|
||||
GtkWidget *build_hw_unit15_page(void);
|
||||
GtkWidget *build_hw_unit15_exercise_page(void);
|
||||
GtkWidget *build_hw_unit16_page(void);
|
||||
GtkWidget *build_hw_unit16_exercise_page(void);
|
||||
GtkWidget *build_hw_unit17_page(void);
|
||||
GtkWidget *build_hw_unit17_exercise_page(void);
|
||||
GtkWidget *build_hw_unit18_page(void);
|
||||
GtkWidget *build_hw_unit18_exercise_page(void);
|
||||
GtkWidget *build_hw_unit19_page(void);
|
||||
GtkWidget *build_hw_unit19_exercise_page(void);
|
||||
GtkWidget *build_hw_unit20_page(void);
|
||||
GtkWidget *build_hw_unit20_exercise_page(void);
|
||||
GtkWidget *build_hw_unit21_page(void);
|
||||
GtkWidget *build_hw_unit21_exercise_page(void);
|
||||
GtkWidget *build_hw_unit22_page(void);
|
||||
GtkWidget *build_hw_unit22_exercise_page(void);
|
||||
GtkWidget *build_hw_unit23_page(void);
|
||||
GtkWidget *build_hw_unit23_exercise_page(void);
|
||||
GtkWidget *build_hw_unit24_page(void);
|
||||
GtkWidget *build_hw_unit24_exercise_page(void);
|
||||
GtkWidget *build_hw_unit25_page(void);
|
||||
GtkWidget *build_hw_unit25_exercise_page(void);
|
||||
GtkWidget *build_hw_unit26_page(void);
|
||||
GtkWidget *build_hw_unit26_exercise_page(void);
|
||||
GtkWidget *build_hw_unit27_page(void);
|
||||
GtkWidget *build_hw_unit27_exercise_page(void);
|
||||
GtkWidget *build_hw_unit28_page(void);
|
||||
GtkWidget *build_hw_unit28_exercise_page(void);
|
||||
GtkWidget *build_hw_unit29_page(void);
|
||||
GtkWidget *build_hw_unit29_exercise_page(void);
|
||||
void draw_chip_icon(GtkDrawingArea *area, cairo_t *cr,
|
||||
int width, int height, gpointer data);
|
||||
void draw_czech_flag(GtkDrawingArea *area, cairo_t *cr,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue