Zoznam všetkých cieľov

Prednášky

Cvičenia

1. týždeň: First Steps with Shell

  1. Oboznámiť sa s pravidlami hodnotenia na predmete Základy algoritmizácie a programovania.
  2. Pripraviť si prostredie pre prácu na predmete.
  3. Prakticky zvládnuť vytvorenie spustiteľného programu zo zdrojového kódu zapísaného v jazyku C v prostredí editora ViM.
  4. Zvládnuť základy práce s príkazovým riadkom.

2. týždeň: First Steps with Karel the Robot

  1. Osvojiť si možnosti riadenia robota Karla prostredníctvom základných príkazov a senzorov.
  2. Naučiť sa vytvárať vlastné funkcie (vlastné inštrukcie).
  3. Osvojiť si spôsoby dvojcestného vetvenia programu (podmienka if , if-else ).
  4. Naučiť sa vytvárať jednoduché logické cykly ( while , do-while ).
  5. Rutinne editovať textové súbory pomocou editora ViM.

3. týždeň: Super Karel

  1. Osvojiť si možnosti riadenia robota Karla prostredníctvom všetkých príkazov a senzorov.
  2. Rutinne používať vlastné funkcie, dvojcestné vetvenie a logické cykly.
  3. Zoznámiť sa s nekonečným cyklom.
  4. Rutinne pracovať s editorom ViM.

4. týždeň: Super Karel rocks on

  1. Rutinne riadiť robota Karla prostredníctvom všetkých príkazov a senzorov.
  2. Rutinne používať vlastné funkcie, dvojcestné vetvenie a logické cykly.
  3. Osvojiť si prácu s pokročilými algoritmickými problémami.

5. týždeň: Guess the Number

  1. Learn to work with the gcc compiler and understand some of its switches.
  2. To learn how to work with the make tool and how to set it up using environment variables.
  3. Familiarize yourself with the basic data types of the C language.
  4. Learn to work with variables.
  5. Create simple arithmetic expressions.
  6. Master the functions for working with standard I/O.
  7. Master working with custom functions and functions that have a return value.

7. týždeň: Strings

  1. Pochopiť fungovanie polí a reťazcov v jazyku C.
  2. Zoznámiť sa s funkciami knižníc string a ctype .
  3. Osvojiť si prácu s reťazcom a implementáciu vlastných funkcií.
  4. Zoznámiť sa s operátorom sizeof() .

8. týždeň: Tic Tac Toe

  1. Rutinne pracovať s poliami.
  2. Rutinne pracovať s vetvením a cyklením programov.
  3. Osvojiť si prácu s parametrami funkcií.
  4. Oboznámiť sa s dvojrozmerným poľom.

10. týždeň: IQ Marathon, Part I.

  1. Osvojiť si prácu so súbormi.
  2. Rutinne pracovať s parametrami funkcií.
  3. Rutinne pracovať s reťazcami.
  4. Rutinne pracovať s viacrozmernými poliami.
  5. Osvojiť si prácu s ternárnym operátorom.

11. týždeň: IQ Marathon, Part II.

  1. Osvojiť si prácu so súbormi.
  2. Rutinne pracovať s parametrami funkcií.
  3. Rutinne pracovať s reťazcami.
  4. Rutinne pracovať s viacrozmernými poliami.
  5. Rutinne pracovať s ternárnym operátorom.

Zadania

1. týždeň: Problem Set 0: The Environment

  1. Pripraviť si prostredie potrebné pre predmet.
  2. Osvojiť si prácu v OS Linux.

3. týždeň: Problem Set 1: Karel the Robot

  1. Ukázať, ako ste si osvojili algoritmické zmýšľanie a prácu s robotom Karlom.
  2. Naučiť sa systematicky vytvárať návrh programu, program a komentáre.
  3. Osvojiť si prácu so systémom na správu verzií git .

5. týždeň: Problem Set 2: Numbers, Arrays

  1. Precvičiť si prácu s matematickou knižnicou a aritmetickými výrazmi.
  2. Porozumieť reprezentácii čísiel v pamäti počítača.
  3. Vytvoriť vlastné funkcie podľa špecifikácie.
  4. 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

  1. Vytvoriť vlastné funkcie podľa špecifikácie.
  2. Rutinne pracovať s jednorozmerným poľom a reťazcami.
  3. Používať pole ako parameter (vstupný a výstupný) vo funkciách.

10. týždeň: Problem Set 4: Ball Sort Puzzle & Connect Four

  1. Vytvoriť vlastné funkcie podľa špecifikácie.
  2. Rutinne pracovať s dvojrozmerným poľom a reťazcami.
  3. Používať pole ako parameter (vstupný a výstupný) vo funkciách.
  4. Používať generátor náhodných čísel.

10. týždeň: Problem Set 5: QR Code

  1. Porozumieť reprezentácii čísiel v pamäti počítača.
  2. Osvojiť si prácu s dvojrozmerným poľom.
  3. Vytvoriť vlastné funkcie podľa špecifikácie.
  4. 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

  1. Zoznámiť sa s ASCII-grafickou knižnicou ncurses .
  2. Ukázať svoju kreativitu.
  3. Naučiť sa vytvárať dokumentáciu k zadaniu.

11. týždeň: Problem Set 7: Files

  1. Osvojiť si prácu s argumentami príkazového riadku.
  2. Osvojiť si prácu so súbormi.
  3. Poradiť si so špecifickými obmedzeniami (keď jednoduchý problém nie je až taký jednoduchý).

Tutoriály a info

3. týždeň: Version Control

  1. Naučiť sa základy práce so systémom na správu verzií git.
  2. Naučiť sa základy práce v systéme GitLab.
  3. Naučiť sa spravovať svoje SSH kľúče pomocou príkazu ssh-keygen .

7. týždeň: Debugging

  1. Naučiť sa základy práce s nástrojom cgdb .
  2. Rozumieť termínom a činnostiam súvisiacimi s procesom ladenia programov.
  3. Osvojiť si prácu s poliami čísel.
  4. Zoznámiť sa s operátorom sizeof() .

9. týždeň: Bomber (Curses)

  1. Zoznámiť sa s ASCII-grafickou knižnicou ncurses .
  2. Naprogramovať hru Bomber .
  3. Pripraviť sa na vypracovanie Problem Set-u 6 .