Tartalom
  1. Nagy féléves
    1. Példák
    2. A féléves feladatnál pozitív hatást kelt:
    3. Komoly hibák, ami miatt a féléves akár több érdemjeggyel is rosszabb lehet:
    4. Ötletek témaválasztáshoz
    5. Értékelési szempontok
    6. Ajánlott módszer a féléves repo létrhozására: template
      1. Meme

Nagy féléves

A nagy féléves projekt elkészítése több időt igényel, azonban lehetőség van sokkal érdekesebb feladatokat kidolgozni, ráadásul jóval több hét alatt. A félévesre alapozva, a tárgy teljesítése után akár diplomamunka, szakdolgozat, projektmunka, TDK dolgozat is készíthető, illetve van lehetőség a kötelező szakmai gyakorlat teljesítésére is.

Példák

Példa a nagy félévesre, amit az oktatók készítettek:

  • github.com/horverno/simple_random_trees: A package egy egyszerű útvonaltervezésre használható véletlenszerű fa algoritmus. Ez a megvalósítása a vizualizációra összpontosít, nem pedig egy átfogó véletlenszerű fa-alapú útvonal tervező rendszer. A /display_tree node egy /path_marker_topic-ot hirdet, ami visualization_msgs/marker_array típusú. A faadatstrukúrát megvalósító függvények külön header fájlban kaptak helyet. Megvalósítás ROS 2 Humble alatt.

Az alábbi példák nem feltétlenül féléves munkának készültek, de annak elfogadhatóak lennének:

Megjegyzés: a tárgyban az ROS 2 Humble verziót használjuk, de a féléves beadandót (indoklással) más verzióban is elfogadjuk.

A féléves feladatnál pozitív hatást kelt:

  • 👍 Jól követhető magyar és/vagy angol nyelvű dokumentáció is, képekkel illusztrálva. Markdown használata.
  • 👍 Alap információk a README.md-ben, (opcionális) dokumentáció a /wiki-ben.
  • 👍 Issue-k.
  • 👍 Branch-ek.
  • 👍 Gitignore.
  • 👍 Licensz.
  • 👍 Repository topic-ok, köztük a tárgykód és a SZE. A topic-ok alapján aztán pl itt is listázódik a repository: github.com/topics/sze.
  • 👍 Plusz jegy adható, amennyiben a jelen tananyag kiegészítésre / hibajavításra kerül (temészetesen pull request által).

Komoly hibák, ami miatt a féléves akár több érdemjeggyel is rosszabb lehet:

  • 😡 Tömörített állomány a GitHub repositoryban (pl. zip és még rosszabb, ha rar). Kivétel lehet, ha direkt tömörített állománykezelés a cél, de forráskód, kép, stb. soha ne kerüljön így fel.
  • 😡 Nem eredeti munka, vagy az átvett kód nincs hivatkozva.
  • 😡 Csapatban csak egy hallgató commitol. (Ez nyilván nem vonatkozis egyfős feladatokra).
  • 😡 Kevés commit. Azért lenne fontos a megfelelő számú commit, mert ebből tudjuk, megítélni, hogyan haladt előre a munkafolyamat, ki, mit és mikor dolgozott.
  • 😡 Nincs README.md, hiányzik a rövid dokumentáció vagy a képek.
  • 😡 A dokumentáció pdf / docx-ként feltöltve a /wiki helyett.
  • 😡 File upload commit helyett.
  • 😡 Forráskód kiképmetszőzve markdown szintaxis kiemelés helyett. (Mivel képként nem másolható, kereshető, stb a kód.)

Ötletek témaválasztáshoz

  • Inspriráció lehet a korábbi vagy jelenlegi szakdolgozatok / diplomamunkák témái: horverno.github.io/temaajanlatok
  • Olyan témát célszerű választani, amin szívesen dolgoznál heteken/hónapokon keresztül is. Ha pl. a vizualizáció, az algoritmusok gyakorlata, a 3D vagy épp a mesterséges intelligencia vonzó, akkor ennek megfelelő témát célszerű választani.
  • Korábbi szakdolgozatok, félévesek elérhetőek, ezeket igényelni itt lehet. Fontos, hogy ezeket tilos továbbosztani, csak oktatási céllal állnak rendelkezésre.
  • Számos ROS 2 projekt itt: github.com/fkromer/awesome-ros2

Erősen ajánlott a GitHub Student Developer Pack beszerzése, többek között Copilot is jár hozzá.

Értékelési szempontok

A szempontok kialakításánaál az Óbudai Egyetem hasonló kurzusának értékelési szempontjait vettük alapul.

  • Saját munka és fehasznált kódbázis aránya (megfelelő hivatkozások megléte)
  • Értékelhető eredményeket produkáló munka
  • A bemutató minősége (ppt, videók, élő demo, bármilyen plusz felhasznált eszköz)
  • A megoldás teljessége
  • Megfelelő ROS 2 kommunikáció / best practice alkalmazása
  • A program szerkezete
  • Az implementáció minősége
  • A kód dokumentálása
  • Konzultáció
  • A választott feladat nehézsége

Ajánlott módszer a féléves repo létrhozására: template

C++ és Python nyelven is létrehoztunk egy úgynevezett template repo-t, amely megkönnyíti az első pacakage-t tartalmazó repository létrehozását:

Erről leírás itt olvasható.

Meme

Credit: pycoders

Credit: knowyourmeme