Zoznam všetkých cieľov
Prednášky
Cvičenia
1. týždeň: First Steps with Shell
- Oboznámiť sa s pravidlami hodnotenia na predmete Základy algoritmizácie a programovania.
- Pripraviť si prostredie pre prácu na predmete.
- Prakticky zvládnuť vytvorenie spustiteľného programu zo zdrojového kódu zapísaného v jazyku C v prostredí editora ViM.
- Zvládnuť základy práce s príkazovým riadkom.
2. týždeň: First Steps with Karel the Robot
- Osvojiť si možnosti riadenia robota Karla prostredníctvom základných príkazov a senzorov.
- Naučiť sa vytvárať vlastné funkcie (vlastné inštrukcie).
- Osvojiť si spôsoby dvojcestného vetvenia programu (podmienka
if
,if-else
). - Naučiť sa vytvárať jednoduché logické cykly (
while
,do-while
). - Rutinne editovať textové súbory pomocou editora ViM.
3. týždeň: Super Karel
- Osvojiť si možnosti riadenia robota Karla prostredníctvom všetkých príkazov a senzorov.
- Rutinne používať vlastné funkcie, dvojcestné vetvenie a logické cykly.
- Zoznámiť sa s nekonečným cyklom.
- Rutinne pracovať s editorom ViM.
4. týždeň: Super Karel rocks on
- Rutinne riadiť robota Karla prostredníctvom všetkých príkazov a senzorov.
- Rutinne používať vlastné funkcie, dvojcestné vetvenie a logické cykly.
- Osvojiť si prácu s pokročilými algoritmickými problémami.
5. týždeň: Guess the Number
- Learn to work with the gcc compiler and understand some of its switches.
- To learn how to work with the make tool and how to set it up using environment variables.
- Familiarize yourself with the basic data types of the C language.
- Learn to work with variables.
- Create simple arithmetic expressions.
- Master the functions for working with standard I/O.
- Master working with custom functions and functions that have a return value.
7. týždeň: Strings
- Pochopiť fungovanie polí a reťazcov v jazyku C.
- Zoznámiť sa s funkciami knižníc
string
actype
. - Osvojiť si prácu s reťazcom a implementáciu vlastných funkcií.
- Zoznámiť sa s operátorom
sizeof()
.
8. týždeň: Tic Tac Toe
- Rutinne pracovať s poliami.
- Rutinne pracovať s vetvením a cyklením programov.
- Osvojiť si prácu s parametrami funkcií.
- Oboznámiť sa s dvojrozmerným poľom.
10. týždeň: IQ Marathon, Part I.
- Osvojiť si prácu so súbormi.
- Rutinne pracovať s parametrami funkcií.
- Rutinne pracovať s reťazcami.
- Rutinne pracovať s viacrozmernými poliami.
- Osvojiť si prácu s ternárnym operátorom.
10. týždeň: IQ Marathon, Part II.
- Osvojiť si prácu so súbormi.
- Rutinne pracovať s parametrami funkcií.
- Rutinne pracovať s reťazcami.
- Rutinne pracovať s viacrozmernými poliami.
- Rutinne pracovať s ternárnym operátorom.
Zadania
1. týždeň: Problem Set 0: The Environment
- Pripraviť si prostredie potrebné pre predmet.
- Osvojiť si prácu v OS Linux.
3. týždeň: Problem Set 1: Karel the Robot
- Ukázať, ako ste si osvojili algoritmické zmýšľanie a prácu s robotom Karlom.
- Naučiť sa systematicky vytvárať návrh programu, program a komentáre.
- Osvojiť si prácu so systémom na správu verzií
git
.
5. týždeň: Problem Set 2: Numbers, Arrays
- Precvičiť si prácu s matematickou knižnicou a aritmetickými výrazmi.
- Porozumieť reprezentácii čísiel v pamäti počítača.
- Vytvoriť vlastné funkcie podľa špecifikácie.
- Naučiť sa ukončovať funkcie pomocou rozličných návratových hodnôt pri rozličných vstupných parametroch.
7. týždeň: Problem Set 3: Hangman & Morse
- Vytvoriť vlastné funkcie podľa špecifikácie.
- Rutinne pracovať s jednorozmerným poľom a reťazcami.
- Používať pole ako parameter (vstupný a výstupný) vo funkciách.
10. týždeň: Problem Set 4: Ball Sort Puzzle & Connect Four
- Vytvoriť vlastné funkcie podľa špecifikácie.
- Rutinne pracovať s dvojrozmerným poľom a reťazcami.
- Používať pole ako parameter (vstupný a výstupný) vo funkciách.
- Používať generátor náhodných čísel.
10. týždeň: Problem Set 5: QR Code
- Porozumieť reprezentácii čísiel v pamäti počítača.
- Osvojiť si prácu s dvojrozmerným poľom.
- Vytvoriť vlastné funkcie podľa špecifikácie.
- Naučiť sa ukončovať funkcie pomocou rozličných návratových hodnôt pri rozličných vstupných parametroch.
10. týždeň: Problem Set 6: Curses
- Zoznámiť sa s ASCII-grafickou knižnicou ncurses .
- Ukázať svoju kreativitu.
- Naučiť sa vytvárať dokumentáciu k zadaniu.
11. týždeň: Problem Set 7: Files
- Osvojiť si prácu s argumentami príkazového riadku.
- Osvojiť si prácu so súbormi.
- Poradiť si so špecifickými obmedzeniami (keď jednoduchý problém nie je až taký jednoduchý).
Tutoriály a info
3. týždeň: Version Control
- Naučiť sa základy práce so systémom na správu verzií git.
- Naučiť sa základy práce v systéme GitLab.
- Naučiť sa spravovať svoje SSH kľúče pomocou príkazu
ssh-keygen
.
7. týždeň: Debugging
- Naučiť sa základy práce s nástrojom cgdb .
- Rozumieť termínom a činnostiam súvisiacimi s procesom ladenia programov.
- Osvojiť si prácu s poliami čísel.
- Zoznámiť sa s operátorom
sizeof()
.
9. týždeň: Bomber (Curses)
- Zoznámiť sa s ASCII-grafickou knižnicou ncurses .
- Naprogramovať hru Bomber .
- Pripraviť sa na vypracovanie Problem Set-u 6 .