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 2022 je predmet vedený dištančnou formou:

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

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

  • 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 : rezervované 2h v pondelok 13:00-15:00
    • online časť (konzultácie, príklady): MS Teams, pondelok 15:00
  • Seminár:
    • 2h v utorok 13:00, MS Teams
  • Konzultácie:
    • 2h v utorok 15:00, MS Teams
  • 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 13:00. Témou seminára sú zadania a technické veci potrebné pre riešenie zadaní.

Konzultácie:

Priebežne je možné konzultovať otázky v diskusii na Discord serveri, na online prednáškach alebo prostredníctvom individuálnych konzultácií. Individuálne konzultácie budú realizované dohodou prostredníctvom MS Teams (detaily ohľadne individuálnych konzultácií budu uvedené na Discord serveri).

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. Viacrozmerné (dynamické) polia. 
  11. Bitové operácie, enum typ, pokročilé štruktúry a dátové typy.
  12. Opakovanie, príprava na skúšku.

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