„A programozás alapjai” változatai közötti eltérés

A VIK Wikiből
a →‎A vizsgaidőszakban: kiegészítés
→‎Segédanyagok: anyagok feltöltése
82. sor: 82. sor:
*2018 ősz
*2018 ősz
**Előadás anyagok:
**Előadás anyagok:
***TODO
***1. hét: [https://infopy.eet.bme.hu/ea01/ bevezető]
***2. hét: [https://infopy.eet.bme.hu/ea02/ nevezetes algoritmusok, sztringek, listák]
***3. hét: elmaradt
***4. hét: [https://infopy.eet.bme.hu/ea04/ vezérlési szerkezetek, kivételek, konverziók és formázás]
***5. hét: [https://infopy.eet.bme.hu/ea05/ függvények, referenciák]
***6. hét: [https://infopy.eet.bme.hu/ea06/ osztályok]
***7. hét: [https://infopy.eet.bme.hu/ea07/ operátorok, számábrázolás]
***8. hét: [https://infopy.eet.bme.hu/ea08/ rendezések, rekurzió]
***9. hét: elmaradt
***10. hét: [https://infopy.eet.bme.hu/ea10/ fájlkezelés, többmodulos programok]
***11. hét: [https://infopy.eet.bme.hu/ea11/ láncolt listák, bináris fák]
***12. hét: [https://infopy.eet.bme.hu/ea12/ összetett adatszerkezetek]
***13. hét: [https://infopy.eet.bme.hu/ea13/ állapotgépek, reguláris kifejezések]
***14. hét: [https://infopy.eet.bme.hu/ea14/ generikus algoritmusok, visszalépő keresés]
**Labor anyagok:
**Labor anyagok:
***TODO
***1. hét: [https://infopy.eet.bme.hu/lab01/ operációs rendszer, egyszerű programok]
***2. hét: [https://infopy.eet.bme.hu/lab02/ vezérlési szerkezetek, nyomkövetés]
***3. hét: [https://infopy.eet.bme.hu/lab03/ nevezetes algoritmusok, listák, sztringek]
***4. hét: [https://infopy.eet.bme.hu/lab04/ adatszerkezetek építése, karakterkódok kezelése]
***5. hét: [https://infopy.eet.bme.hu/lab05/ kivételek, konverzió, számrendszerek]
***6. hét: [https://infopy.eet.bme.hu/lab06/ függvények]
***7. hét: [https://infopy.eet.bme.hu/lab07/ osztályok]
***8. hét: [https://infopy.eet.bme.hu/lab08/ számábrázolás, számrendszerek]
***9. hét: [https://infopy.eet.bme.hu/lab09/ rendezések, hash táblák]
***10. hét: [https://infopy.eet.bme.hu/lab10/ rekurzió]
***11. hét: [https://infopy.eet.bme.hu/lab11/ fájlkezelés]
***12. hét: [https://infopy.eet.bme.hu/lab12/ bináris fák]
***13. hét: [https://infopy.eet.bme.hu/lab13/ adatszerkezetek]
***14. hét: [https://infopy.eet.bme.hu/lab14/ állapotgépek]
**Feladat gyűjtemény:
***1. hét: [https://infopy.eet.bme.hu/f01/ egyszerű programok]
***2. hét: [https://infopy.eet.bme.hu/f02a/ logikai kifejezések, sorozatok, listák nélkül], [https://infopy.eet.bme.hu/f02a/ listák és sztringek]
***3. hét: [https://infopy.eet.bme.hu/f03/ összetettebb listás feladatok]
***4. hét: nincs
***5. hét: [https://infopy.eet.bme.hu/f05/ függvények]
***6. hét: [https://infopy.eet.bme.hu/f06/ osztályok]
***7. hét: [https://infopy.eet.bme.hu/f07/ számábrázolás, bitműveletek]
***8. hét: [https://infopy.eet.bme.hu/f08/ rendezések, rekurzió]
***9. hét: nincs
***10. hét: [https://infopy.eet.bme.hu/f10/ parancssori argumentumok, fájlkezelés]
***11. hét: [https://infopy.eet.bme.hu/f11/ bináris fák]
***12. hét: nincs
***13. hét: [https://infopy.eet.bme.hu/f13/ állapotgépek]
***14. hét: nincs
**Segédanyag:
**Segédanyag:
***[[:File:python3-puska.pdf | Python puska]] (ZH-n használható)
***[[:File:python3-puska.pdf | Python puska]] (ZH-n használható)
***[https://infopy.eet.bme.hu/fejlesztokornyezet/ Ingyenes fejlesztőkörnyezetek]
***[https://infopy.eet.bme.hu/konyv/ Peter Wentworth, Jeffrey Elkner, Allen B. Downey és Chris Meyers: Hogyan gondolkozz úgy, mint egy informatikus] (könyv)
***[https://infopy.eet.bme.hu/fajlkezeles/ Fájlkezelés, mappakezelés]
***[https://infopy.eet.bme.hu/megjelenites/ Szöveges és grafikus megjelenítés]
***[https://infopy.eet.bme.hu/pygame/ PyGame: multimédiás könyvtár]
***[https://infopy.eet.bme.hu/pyconio/ PyConio: konzolos megjelenítés]
**Extrák:
***[https://infopy.eet.bme.hu/szorgalmik/ Szorgalmi feladatok]
***[https://infopy.eet.bme.hu/nhfszepsegverseny2018/ NHF 2018 szépségverseny]
***[https://infopy.eet.bme.hu/orak2018/ Óra 2018 szépségverseny]
***[https://infopy.eet.bme.hu/turing/ Mit tud a számítógép?]
***[https://infopy.eet.bme.hu/bf/ BrainFuck és Turing-gép]
***[https://infopy.eet.bme.hu/karakterkodolas/ Karakterkódolások]
***[https://infopy.eet.bme.hu/bitturmix/ Bitműveletek]
***[https://infopy.eet.bme.hu/internet/ Internet működése]
***[https://infopy.eet.bme.hu/osszefesulorendezes/ Összefésülő rendezés]
***[https://infopy.eet.bme.hu/labirintus/ Labirintusok és algoritmusai]
***[https://infopy.eet.bme.hu/fa/ Fák rajzolása és rekurzió]


== Házi feladat ==
== Házi feladat ==

A lap 2019. január 16., 12:56-kori változata

A programozás alapjai
Tárgykód
VIEEBA01
Általános infók
Szak
üzemmérnök
Kredit
7
Ajánlott félév
1
Tanszék
EET
Követelmények
Labor
14 db
KisZH
6 db
NagyZH
1 db
Házi feladat
1 nagyházi
Vizsga
írásbeli
Elérhetőségek

A tantárgy célkitűzése, hogy a hallgatók készség szinten alkalmazható ismereteket szerezzenek a számítógépes problémamegoldás módszereinek és alapvető eszközeinek használatában, úgy mint elemi és összetett adatok, programozási tételek, fájlkezelés. További cél, hogy a megszerzett ismereteket és készségeket további tanulmányaik során hatékonyan legyenek képesek alkalmazni. A célkitűzés teljesítését egy magas szintű programozási nyelv, a Python megismerése teszi lehetővé.


Követelmények

A szorgalmi időszakban

  • Az aláírás megszerzésének feltételei:
    • Az előadások legalább 70%-án való részvétel (Bár katalógus nincs).
    • A laborok 70%-án való részvétel, csak a laborok elején írt beugró sikeres megírása esetén számít jelenlétnek.
    • A kisZH-k sikeres megírása. A hat kisZH három témakört ölel fel, azaz három dolgozatpárost jelentenek. Minden pár közül a jobban sikerült eredménye számít, ez kell elérje az adott dolgozatra szerezhető pontszám 40%-át.
    • A nagyZH sikeres megírása. A félév során egy nagy ZH van (2018-ban: 7. hét), mely 40 pontból áll és 4 feladatra oszlik, mely kódját papíron kell leírni.
  • Pótlási lehetőségek:
    • A kisZH-k közül egy pótlási díj ellenében póthéten pótolható/javítható.
    • A nagyZH egyszer díjmentesen, utána a pótlási héten pótolható pluszköltséggel.
    • A nagyHF a szorgalmi időszak utolsó napjáig 12:00-ig pótolható pluszköltséggel, a póthéten vagy utána már nem lehetséges.

A vizsgaidőszakban

  • A vizsga írásbeli, a ZH utáni részek nagyobb súllyal szerepelnek benne.

Félévvégi jegy

  • Aki a félévközi eredményekkel kiváló eredményt ért el, megajánlott jelest kap: max(KZH1, KZH2) + max(KZH3, KZH4) + max(KZH5, KZH6) + NZH + NHF + szorgalmi >= 80 pont.
  • Vizsga esetén az érdemjegy meghatározásánál az alábbi pontszámokat vesszük figyelembe:
    • 40 pont – vizsgadolgozat 2× súllyal (80 pont)
    • 40 pont – nagy zárthelyi
    • 20 pont – nagy házi feladat
  • Ponthatárok:
Pont Jegy
0 - 69 1
70 - 90 2
91 - 105 3
106 - 119 4
120 - 140 5
  • A nagy házi feladat részfeladatainak időben történő leadása beleszámít annak pontozásába. Extra pontokat lehet szerezni a félév közben beadott és elfogadott szorgalmi feladatokkal. A szorgalmi feladatok pontjai csak 80 pont fölött számítanak.

Tematika

Előadások és laborok összefésült témája:

  • operációs rendszer, egyszerű programok
  • vezérlési szerkezetek, nyomkövetés
  • nevezetese algoritmusok, listák, sztringek
  • adatszerkezetek építése, karakterkódok kezelése
  • vezérlési szerkezetek, kivételek
  • konverziók, formázás
  • függvények, referenciák
  • osztályok
  • operátorok, számábrázolás
  • rendezések, rekurzió, hash táblák
  • fájlkezelés
  • több modulos programok
  • láncolt listák, bináris fák
  • összetett adatszerkezetek
  • állapotgépek, reguláris kifejezések
  • generikus algoritmus
  • visszalépő keresés

Segédanyagok

Házi feladat

A félév során egy nagy házi feladat van, melyen maximum 20 pontot lehet elérni. A beadáshoz 4 mérföldkő vezet:

  • feladatválasztás (2018-ban: 7. hét vége),
  • specifikáció (2018-ban: 8. hét vége),
  • félkész megoldás (2018-ban: 10. hét vége),
  • végleges program (2018-ban: 12. hét vége).

Amennyiben nem teljesült a beadás, díjköteles pótlehetőség van (2018-ban: szorgalmi időszak utolsó tanítási napja). Plágium büntetéshez vezet.

Pontozás

Maximálisan 20 pont érhető el az alábbiak szerint:

  • Határidő betartás
    • kiválasztás időben
    • specifikáció elkészítése időben
    • félkész házi beadása időben
    • végleges házi beadása időben
  • Kód minősége
    • modulokra bontás
    • funkcionális dekompozíció
    • helyes erőforráskezelés
    • helyes nyelvi elem használat
    • elvárt kódolási stílus
    • nincsenek újraimplementált szabványos függvények
    • megfelelő adatszerkezetek, típusok
    • szerep szerinti névadás
    • +2 feladatfüggő pont
  • Dokumentáció
    • nincsen felfújva
    • Programozói dokumentáció
      • szükséges környezet leírása
      • projekt felépítésének leírása
      • adatszerkezet ismertetése
      • függvények dokumentációja
    • Felhasználói dokumentáció
      • program feladata, célja, kezelése

ZH

Kis ZH

  • A félév során 6 alkalommal van kis zárthelyi az egyik előre kijelölt laborokon kerülnek megírásra.
  • Nehézsége nagyjából egy nagy ZH-s feladattal egyezik meg. 10 pont jár érte.
  • Egy kisZH három témakört ölel fel, azaz három dolgozatpárost jelentenek. Minden pár közül a jobban sikerült eredménye számít; ez kell elérje az adott dolgozatra szerezhető pontszám 40%-át. A meg nem írt dolgozatok pontszámát nulla pontot érnek.

Vizsga

Tippek

  • Programozást érdemes hétről hétre gyakorolni, nem bemagolni/betanulni a ZH/vizsga előtt. Próbáld meg felfogni egy kikapcsolódásnak, ahol csak szórakozol a kódsorokkal, próbálkozol, hátha sikerül összerakni, és nem rágörcsölni a tárgyra. De a legfontosabb, hogy rendszeresen gyakorolj!

Kedvcsináló


1. félév
2. félév
3. félév
4. félév
5. félév
6. félév