Programovanie 2

Upozornenie

Predmet B-PROG2 je možné pokúsiť sa absolvovať maximálne 2x, po druhom nezvládnutí predmetu bude študent vylúčený zo štúdia.

Organizácia
Podmienky
Prednášky
Cvičenia
Zbierka

Organizácia predmetu

V roku 2021 je predmet vedený dištančnou formou:

  • Prednášky budú nahraté v Google classroom, link: link
  • Online spoločné konzultácie a semináre na MS Teams:
    • Kód na pripojenie sa k tímu: wjx5nzi
    • Návod na pripojenie sa k tímu

Na diskusie a konzultácie je základom Discord server, invite: link

  • Na serveri budú aktuálne oznamy, diskusia k teórii a prednáškam, diskusia k zbierke príkladov, diskusia k zadaniam a DM kontakty na cvičiacich (rešpektujte prosím konzultačné hodiny)
  • Priame konzultácie sú možné na základe „objednávkového“ systému, viď Discord

Oficiálne oznamy budú zasielané aj mailom v AIS.

Predmet je štandardne členený do nasledujúcich aktivít:

  • Prednášky, offline časť v Google classroom : 2h v pondelok 13:00, MS Teams
  • Seminár: 1h v utorok 12:00, MS Teams
  • Cvičenie: 1 hodina týždenne podľa rozvrhu, rezervovaná na individuálne konzultácie a preberanie zadaní
  • Samostatné domáce štúdium a riešenie menších príkladov zo Zbierky príkladov (viď stránku)
  • Domáce zadania (podmienka zápočtu)
Prednášky:

Prednášky sú nahraté vopred (ak to bude možné), a budú zverejnené v Google classroom vždy v pondelok od 8:00. V pondelok od 13:00 – 15:00 (v rozvrhovom termíne) na MS Teams bude spoločná konzultácia, kde je možné pýtať sa na teóriu a súvisiace príklady (doba trvania bude prispôsobená záujmu študentov).

V prípade technických problémov pri nahrávaní prednášok bude prednáška online na MS Teams v rozvrhovom termíne.

Semináre:

Semináre sú na MS Teams online v utorok o 12:00. Témou seminára sú zadania a technické veci potrebné pre riešenie zadaní a zlepšenie sa v používaní nástrojov programátora.

Konzultácie:

Priebežne je možné konzultovať otázky v diskusii na Discord serveri, na online prednáškach a seminároch. Individuálne konzultácie budú možné dohodou (detaily v Discorde).

Plán semestra
  1. Základy jazyka C a odlišnosti voči jazyku Python, funkcie.
  2. Premenné, dátové typy, I/O a základné aritmetické operácie.
  3. Podmienky, vetvenia, cykly – pokročilá syntax.
  4. Polia, základné použitie.
  5. Smerníky. Polia vo funkciách.
  6. Znaky a reťazce. (ctype.h, string.h)
  7. Dynamická alokácia. (stdlib.h)
  8. Štruktúry.
  9. Súbory. (stdio.h)
  10. Polia, reťazce, štruktúry, rekapitulácia. Odovzdávanie hodnotou a odkazom.
  11. Viacrozmerné (dynamické) polia.
  12. Bitové operácie, enum, …

Podmienky zápočtu
  • Získanie minimálne 36 bodov (vrátane) z max. počtu 60 bodov na základe hodnotenia zadaní
Podmienky absolvovania
  • Semestrálne Zadania: 60 bodov (36 bodov minimum na absolvovanie)
  • Skúška: 40 bodov test (20 bodov minimum na absolvovanie)

Účasť na skúške je podmienená získaním aspoň 36 bodov zo zadaní. Na skúške je nutné získať z testu minimálne 20 bodov, bez ohľadu na počet bodov zo zadaní/zápočtového testu (známka sa potom určí z celkového počtu bodov).

Pozn.: Odhalené podvádzanie pri zadaniach, napr. kopírovanie (aj časti) zadaní, snaha odovzdať cudzie riešenie, a iné, môže cvičiaci penalizovať vylúčením študenta z predmetu (nepridelením/zrušením bodov aj z iných zadaní).

Prednášky

Materiály
Z minulých rokov materiály ku skúške

Literatúra a internetové odkazy

  • V. Kadlec: Učíme se programovat v jazyce C, Computer Press, 2002, ISBN 80-7226-715-9
  • B. Kernighan – D. Ritchie: Programovací jazyk C, Alfa SNTL, 1978, ISBN 063-075-88 (prvé vydanie) / Computer Press, a.s., 1988, ISBN 80-251-0897-X (druhé vydanie)
  • P. Herout: Učebnice jazyka C, Nakladatelství Kopp, 2005, ISBN 80-7232-220-6 (4. vydanie)
  • H. Schildt: Nauč se sám C, SoftPress, s r.o., Praha, 2001, ISBN 80-86497-16-X

Zaujímavé čítanie pre znalcov

Internetové odkazy

Cvičenia

Zadania sa odovzdávajú podľa pokynov cvičiacich. Body za zadania je možné získať po ústnej obhajobe na cvičeniach, počet udelených bodov a otázky k zadaniu (vrátane teoretických otázok ku syntaxi/použitých konštrukcií) sú plne v kompetencii cvičiacich.

Webstránka cvičení: bude uverejnená neskôr

Cvičiaci:

Softvérové vybavenie

Hlavný odporúčaný nástroj CLion, iné alternatívy:


Štandardy jazyka C

Budeme používať štandard jazyka C99, vzhľadom na jeho rozšírenosť, s upozornením na niektoré špeciality v novom štandarde C11.

Pozor, nie všetky konštrukcie sú kompatibilné medzi C90, C99, a C++:

Špecifické poznámky
  • Ak máte problémy s používaním funkcie scanf v MS Visual C++, ako prvý riadok v kóde nakopírujte

Alternatíva je naučiť sa používať bezpečné verzie scanf, ale k tomu je potrebné si naštudovať navyše veci voči základnému učivu.

  • Podobne, ak chcete používať matematické konštanty (napr. M_PI) z math.h, je potrebné napísať na začiatku súboru (pred #include):

Príklady na precvičenie

Zbierka príkladov