Programovanie (1) v C/C++
1-INF-127, ZS 2024/25

Úvod · Pravidlá · Prednášky · Softvér · Testovač
· Kontaktujte nás pomocou e-mailovej adresy E-prg.png (bude odpovedať ten z nás, kto má príslušnú otázku na starosti alebo kto má práve čas).
· Prosíme študentov, aby si pravidelne čítali e-maily na @uniba.sk adrese alebo aby si tieto emaily preposielali na adresu, ktorú pravidelne čítajú.


Archív

Z Programovanie
Verzia z 13:20, 23. júl 2012, ktorú vytvoril Brona (diskusia | príspevky)
Skočit na navigaci Skočit na vyhledávání

Programovanie (1) v C/C++, zimný semester 2011/12

Týždeň 19.-25.9.
Úvod, použitie grafickej knižnice, premenné, podmienky, cyklus for
Prednáška 1 · Prednáška 2 · Cvičenia 1 · DÚ1
Týždeň 26.9.-2.10.
Cykly (for, while), Euklidov algoritmus, funkcie
Prednáška 3 · Prednáška 4 · Cvičenia 2 · DÚ2
Týždeň 3.-9.10.
Polia, Eratostenovo sito, polynómy, triedenia
Prednáška 5 · Prednáška 6 · Cvičenia 3 · DÚ3
Týždeň 10.-16.10.
Binárne vyhľadávanie, zložitosť, znaky a reťazce
Prednáška 7 · Prednáška 8 · Cvičenia 4 · DÚ4
Týždeň 17.-23.10.
Súbory
Prednáška 9 · Prednáška 10 · Cvičenia 5 · DÚ5
Týždeň 24.-30.10.
Smerníky, dvojrozmerné polia
Prednáška 11 · Prednáška 12 · Cvičenia 6 · DÚ6
Týždeň 31.10.-6.11.
Slovník
Prednáška 13
Týždeň 7.-13.11.
Rekurzia, backtracking
Prednáška 14 · Prednáška 15 · Cvičenia 7 · DÚ7
Týždeň 14.-20.11.
Rekurzívne triedenia, ešte backtracking, vyfarbovanie
Prednáška 16 · Prednáška 17 · Cvičenia 8 · DÚ8
Týždeň 21.-27.11.
Spájané zoznamy, zásobník a rad, odstraňovanie rekurzie
Prednáška 18 · Prednáška 19 · Cvičenia 9 · DÚ9
Týždeň 28.11.-4.12.
Vyfarbovanie bez rekurzie, aritmetické výrazy, stromy
Prednáška 20 · Prednáška 21 · Cvičenia 10 · DÚ10
Týždeň 5.-11.12.
Vyhľadávacie a lexikografické stromy
Prednáška 22 · Prednáška 23 · Cvičenia 11 · DÚ11
Týždeň 12.-18.12.
Zhrnutie, opakovanie, príprava na písomku, ďalšie črty jazykov C a C++
Prednáška 24 · Prednáška 25 · Cvičenia 12

Programovanie (2) v Jave, zimný semester 2011/12

Týždeň 13.-19.2.
Úvod do Javy
Prednáška 26 · Cvičenia 13 · DÚ12
Týždeň 20.-26.2.
Úvod do objektovo-orientovaného programovania, JavaDoc
Prednáška 27 · Cvičenia 14 · DÚ13
Týždeň 27.2.-4.3.
Dedenie, polymorfizmus, modifikátory, interface
Prednáška 28 · Cvičenia 15
Týždeň 5.-11.3.
Výnimky, generické programovanie
Prednáška 29 · Cvičenia 16
Týždeň 12.-18.3.
Collections, testovanie
Prednáška 30 · Cvičenia 17 · DÚ14
Týždeň 19.-25.3.
Opakovanie OOP, úvod k Swingu
Prednáška 31 · Cvičenia 18
Týždeň 26.3.-1.4.
Swing (layout, menu, dialog)
Prednáška 32 · Cvičenia 19 · DÚ15
Týždeň 2.-8.4.
Swing (kreslenie)
Prednáška 33 · Cvičenia 20 · DÚ16
Týždeň 9.-15.4.
OOP v C++, intervaly
Prednáška 34
Týždeň 16.-22.4.
Reprezentácia grafov, prehľadávanie do hĺbky
Prednáška 35 · Cvičenia 21
Týždeň 23.-29.4.
Cvičenia 22
Týždeň 30.4.-6.5.
Prehľadávanie do šírky, najdlhšia cesta, ohodnotené grafy
Prednáška 36 · Cvičenia 22
Týždeň 7.-13.5.
Maximálna klika, orientované grafy, topologické triedenie, knižnica na skúšku
Prednáška 37 · Cvičenia 23 · Test a skúška
Týždeň 14.-20.5.
Zhrnutie, opakovanie, príprava na skúšku
Prednáška 38 · Cvičenia 24

Zimný semester, úvodné informácie

Základné údaje

Rozvrh

  • Prednášky: pondelok 9:50 F1 a streda 9:50 F1
  • Hlavné cvičenia:
    • utorok 9:50 I-H6 ALEBO
    • utorok 14:50 I-H6
    • rozdelenie do skupín bolo rozposlané emailom
  • Doplnkové cvičenia: piatok 13:10 I-H3, I-H6 (stačí, ak prídete 13:25, ale nie neskôr)

Vyučujú

Konzultácie po dohode e-mailom.

Ak nemáte otázku na konkrétnu osobu, odporúčame vyučujúcich kontaktovať pomocou spoločnej adresy e-mailovej adresy E-prg.png. Odpovie vám ten z nás, kto má na starosti príslušnú otázku alebo kto má práve čas.

Ciele predmetu

  • Naučiť sa algoritmicky uvažovať, písať kratšie programy a hľadať v nich chyby, porozumieť existujúcemu kódu
  • Oboznámiť sa so základnými programovými a dátovými štruktúrami jazyka C resp. C++, nie je však nutne so všetkými črtami týchto jazykov
    • Cykly, podmienky, premenné a ich typy, funkcie a odovzdávanie parametrov, polia, smerníky, reťazce, súbory
  • Oboznámiť sa s niektorými základnými algoritmami a dátovými štruktúrami
    • Triedenia, spájané zoznamy, hašovacie tabuľky, stromy, aritmetické výrazy, rad a zásobník, rekurzia, prehľadávanie, vyfarbovanie
  • Aj štruktúry, ktoré sú hotové v C++ knižniciach, si budeme programovať sami, aby sme videli, čo sa za nimi skrýva

Literatúra

  • Predmet sa nebude striktne riadiť žiadnou učebnicou. Prehľad preberaných tém a stručné poznámky nájdete na stránke predmetu, odporúčame vám si na prednáškach a cvičeniach robiť vlastné poznámky.
  • Pri štúdiu vám môžu pomôcť knihy o jazykoch C a C++, o programovaní všeobecne a o algoritmoch preberaných na prednáške. Tu je výber z vhodných titulov, ktoré sú k dispozícii na prezenčné štúdium vo fakultnej knižnici:
    • Prokop: Algoritmy v jazyku C a C++ praktický průvodce, Grada 2008, I-INF-P-26
    • Sedgewick: Algorithms in C. Parts 1-4 I-INF-S-43/I-IV
    • Kochan: Programming in C, 2005 D-INF-K-7a
  • Referenčnú príručku k jazyku C++ nájdete napríklad na tejto webstránke: http://cplusplus.com/
  • Môže vás zaujímať aj video prednášok z iných škôl v angličtine

Priebeh semestra

  • Na prednáškach budeme preberať obsah predmetu. Prednášky budú štyri vyučovacie hodiny do týždňa.
  • Hlavné cvičenia budú dve vyučovacie hodiny do týždňa v počítačovej učebni a ich cieľom je aktívne si precvičiť učivo. Hlavnou náplňou cvičenia je riešenie zadaných príkladov. Cvičiaci vám podľa potreby pomôžu a poradia.
  • Príklady z hlavných cvičení, ktoré nestihnete vyriešiť, môžete dokončiť doma alebo na cvičeniach v piatok.
  • Okrem toho sa každý týždeň konajú doplnkové cvičenia (tiež dve vyučovacie hodiny). Sú povinné pre študentov, ktorí mali problémy na cvičeniach v utorok ale radi privítame aj ďalších. Na tomto cvičení s pomocou cvičiacich môžete dokončovať príklady z predchádzajúcich cvičení, pýtať sa otázky k učivu, prípadne pracovať na domácej úlohe.
  • Domáce úlohy budú cca 3 cez semester. Pracujte na nich samostatne doma, prípadne na doplnkových cvičeniach. Nechajte si na ne dosť času, nezačnite tesne pred termínom.
  • Príklady na cvičenia a domáce úlohy navrhujeme tak, aby vám ich riešenie pomohlo precvičiť si učivo, čím sa okrem iného pripravujete aj na záverečnú skúšku. Okrem tohto sú za tieto príklady body do záverečného hodnotenia. Najviac sa naučíte, ak sa vám príklad podarí samostatne vyriešiť, ale ak sa vám to napriek vášmu úsiliu nedarí, neváhajte sa spýtať o pomoc vyučujúcich. Možno s malou radou od nás sa Vám podarí úlohu spraviť.
  • Cieľom vyučujúcich tohto predmetu je vás čo najviac naučiť, ale musíte aj vy byť aktívni partneri. Ak vám na prednáške alebo cvičení nie je niečo jasné, spýtajte sa. V prípade problémov odporúčame navštíviť doplnkové cvičenia, alebo si dohodnúť konzultáciu. Môžete nám klásť tiež otázky emailom. Ak sa dostanete do väčších problémov s plnením študijných povinností, poraďte sa s vyučujúcimi alebo s tútorom, ako tieto problémy riešiť.


Celkové odporúčania

Prichádzajúci študenti v prvom ročníku majú veľmi rôznu úroveň znalosti programovania, v závislosti od toho, koľko sa mu venovali na strednej škole. Preto pre niektorých môže byť tento predmet veľmi ľahký, pre iných veľmi ťažký. Môže sa to zdať nespravodlivé, ale pokročilí študenti už nad programovaním strávili dlhé hodiny a začiatočníci ich bez určitej námahy nedobehnú. Veľmi radi vám však pomôžeme prekonať nástrahy tohto predmetu. Tu sú naše odporúčania podľa toho, aké znalosti už máte na začiatku semestra. Učebnú látku možno zhruba rozdeliť na základné programovacie konštrukty jazyka C resp. C++ a základné algoritmy, ktoré sa budú počas semestra striedať.

Úroveň znalostí Náročnosť látky: základy programovania v C Náročnosť látky: algoritmy, rekurzia Odporúčanie
Programovať viem len málo alebo vôbec ťažké ťažké Dôležité je začať usilovne pracovať už od začiatku semestra. Odporúčame chodiť aj na doplnkové cvičenia, ďalšie príklady riešiť doma. Neváhajte sa nás spýtať, ak vám niečo nie je jasné.
Som skúsený programátor, ale neovládam C ani C++ ľahké ťažké Aj keď prvé prednášky sa vám môžu zdať ľahké, sledujte učebnú látku, aby sa nestalo, že ste sa niektorými dôležitými vecami ešte nestretli. Nezabudnite riešiť príklady z cvičení a domáce úlohy. Hlavne ale nezaspite na vavrínoch: už po pár týždňoch začneme preberať algoritmy a rekurziu, čo môžu byť pre vás ťažšie témy. Treba preto zamakať aj na tomto predmete a v prípade, že vám učivo robí problémy, neváhajte prísť na doplnkové cvičenia.
Som skúsený programátor a ovládam C alebo C++ viem ťažké Podobne ako predchádzajúci riadok. Môžete si prípadne skúsiť napísať test pre pokročilých, môže sa vám podariť preskočiť zopár cvičení.
Som skúsený programátor a ovládam aj rekurziu a základné algoritmy (napr. z programátorských súťaží alebo rozšírenej výučby programovania na strednej škole) ľahké/viem ľahké/viem Aby ste sa nenudili riešením ľahkých príkladov, odporúčame test pre pokročilých. Aj tak však treba odovzdať domáce úlohy a absolvovať skúšku, prípadne aj semestrálny test. Priebežne sledujte učivo a v prípade nejasností sa pýtajte.

C4-Shakersort Cvičenia 1 Cvičenia 10 Cvičenia 11 Cvičenia 12 Cvičenia 13 Cvičenia 14 Cvičenia 15 Cvičenia 16 Cvičenia 17 Cvičenia 18 Cvičenia 19 Cvičenia 2 Cvičenia 20 Cvičenia 21 Cvičenia 22 Cvičenia 23 Cvičenia 24 Cvičenia 3 Cvičenia 4 Cvičenia 5 Cvičenia 6 Cvičenia 7 Cvičenia 8 Cvičenia 9 DÚ1 DÚ10 DÚ11 DÚ12 DÚ13 DÚ14 DÚ15 DÚ16 DÚ17 DÚ2 DÚ3 DÚ4 DÚ5 DÚ6 DÚ7 DÚ8 DÚ9 Netbeans P12-life P12-mapa P17-ostrovy P17-vyfarbi P32prog P33prog P35-grafy P36-grafy P36-grafy2 P37-grafy P6-polynómy P6-triedenia Pokus Pravidlá Prednáška 1 Prednáška 10 Prednáška 11 Prednáška 12 Prednáška 13 Prednáška 14 Prednáška 15 Prednáška 16 Prednáška 17 Prednáška 18 Prednáška 19 Prednáška 2 Prednáška 20 Prednáška 21 Prednáška 22 Prednáška 23 Prednáška 24 Prednáška 25 Prednáška 26 Prednáška 27 Prednáška 28 Prednáška 29 Prednáška 3 Prednáška 30 Prednáška 31 Prednáška 32 Prednáška 33 Prednáška 34 Prednáška 35 Prednáška 36 Prednáška 37 Prednáška 38 Prednáška 4 Prednáška 5 Prednáška 6 Prednáška 7 Prednáška 8 Prednáška 9 Projekt SimpleDraw SimpleDrawWindowsNavod Test a skúška Vzorové riešenia ukážkových príkladov k testu Zimný semester, pravidlá Zimný semester, test a skúška Zimný semester, úvodné informácie Úvod