A tantárgy első két félévében Windows operációs rendszer alatt C++ programozás történik Dev-C++ fejlesztői környezetben és Linux operációs rendszer alatt C++ nyelven, KDevelop fejlesztői környezetben történik, míg a harmadik és negyedik félévben a naprakészebb GUI alkalmazások implementálásának keretén belül a Windows/.NET/C#/MSSQL és Linux/KDevelop/QT/C++/MySQL összeállításokban dolgozunk.
A gyakorlatok látogatása nem kötelező, de a természetesen a gyakorlatok idején bármilyen kérdéssel meg lehet jelenni és ez a lehetőség erősen javasolt azoknak, akik úgy érzik, hogy lassabban rázódnak bele a programozásba, mint azt szeretnék.
Házi feladatok: A félév során az előadás tematikájához kapcsolódó négy házi feladat értékelhetően működő megoldását kell bemutatni, a hozzá tartozó dokumentációval együtt, szigorúan a szorgalmi időszak végéig. Aki ezt nem teljesíti, az az adott félévben nem kaphat gyakorlati jegyet. A házi feladatok az előadás honlapjáról kerülnek kiosztásra, minden hallgató saját feladatot kap, melynek megoldását a gyakorlatvezető által megadott időpontig, a honlapon található minőségi követelményeknek megfelelően kell elkészíteni. Fokozottan ügyeljenek a dokumentáció meglétére, minőségére, illetve arra, hogy teljesíti –e a kitűzött követelményeket. A programot a forráskódból fordítva kell bemutatni, tehát nem elég csak a futtatható állomány és be kell tudni mutatni azt, készülni kell tesztesetekkel, melyek a szélsőségekig bemutatják a program helyességét, valamint a kód alapján ismertetni kell a működési elvét. A programoknak az általános szerkesztési követelményeknek meg kell felelniük, áttekinthetőnek és modularizáltnak kell lenniük, valamint felhasználóbarát tesztelési környezetet kell nyújtaniuk. Az elfogadható házi feladatok 1-5 ponttal „jutalmazhatóak”, minőségétől, valamint attól függően, hogy időben bemutatásra került –e.
Zárthelyik: A félév során az elégtelentől különböző gyakorlati jegy megszerzéséhez a házi feladatok követelményein felül az első félévben két, a többi félévben egy géptermi zárthelyit is meg kell írni. A feladatokat önállóan kell megoldani, de bármilyen otthonról hozott nem elektronikus segédeszköz használható. Azoknak a webhelyeknek az elérését, melyeket a hallgatók előzetesen kérnek és az oktatók indokoltnak látják, biztosítani fogjuk. A zárthelyiken mindenkinek az ott meghatározott platformon kell dolgoznia. Az év végi zárthelyin a négy házi feladat és az előadás anyagára épülő feladatot kell megoldani 120 perc alatt. Ez évfolyamzh, általában a Lovardában kerül megrendezésre. Értékelésként megfelelt/nem felet meg minősítést adunk a bemutatott programokra. A megfelelt minősítésű zárthelyi feltétele a gyakorlati jegynek. A zárthelyit egy alkalommal (következmények nélkül, azaz nem kell utóvizsga csekk) meg lehet ismételni. Akinek ez sem sikerül, nem kap elégtelent az indexébe, de a tárgyat meg kell ismételnie.
Összefoglalva: a félév annak érvényes (az kap gyakorlati jegyet), aki a szorgalmi időszakban minden házi feladatát elfogadtatta, azokra összesen legalább 8 pontot kapott, valamint a félév végi géptermi zárthelyit sikeresen teljesítette. Ebben az esetben a gyakorlati jegy a házi feladatokra, valamint a félév közben egyéb számonkérésre (például félévközi zárthelyire) kapott pontok átlaga. (A 4,5 és 3,5-öt felfele, a 2,5 és az 1,5-öt lefele kerekítjük.) Gyakorlati utóvizsga ebből a tárgyból nincs. Az előadásra aláírás annak a hallgatónak jár, aki megszerezte a gyakorlati jegyet.
A tárgy célja az, hogy a hallgatók gyakorlati feladatok megoldásával elsajátítsák a tanult programozási elméletekre épülő feladatok megoldóprogramjainak implementálását, megismerjék az implementációs módszereket, a keretrendszereket, a kódolási stílust, vagyis gyakorlatot szerezzenek abban a folyamatban, amely során egy absztrakt algoritmus konkrét, számítógépen futtatható programmá válik.
A programozási nyelvek közötti szintaktikai különbségektől eltekintve a programozás művelete nagyon hasonló, különösen az objektumorientált nyelvek családjában. Az (E)AF -ban a konkrét megvalósítás C++ és C# programozási nyelveken történik, de a hangsúlyt az általános technikák elsajátítására helyezzük, valamint arra a készségre, hogy a folyamat során adódó problémákat a hallgatók képesek legyenek az erőforrásaik (jegyzetek, segédanyagok, internet, manual) megfelelő kihasználásával megoldani.
A feladatok és megoldásaik szervesen kapcsolódnak a Bevezetés a programozáshoz (ill. annak BSC –s megfelelője), az Adatbáziskezelés, az Algoritmusok és adatszerkezetek és a Programozási technológiák c. tárgyakhoz, gyakorlati megvalósítást adva az ott tanultakhoz.
Az előadásokon egy-egy feladat megoldási lépéseinek részletes ismertetése történik, a gyakorlatok során ezeknek a módszereknek a tényleges, gyakorlati alkalmazása történik, konkrét programozási feladatok megoldásain keresztül.
Jelenleg a leggyakrabban használt általános célú operációs rendszerek legdivatosabb programozási nyelvei a munkaerőpiacon (a webprogramozói nyelvektől eltekintve): JAVA, Visual Basic, C++, C#. Az utóbbi kettőnek jeleneleg a legelterjedtebb grafikus fejlesztői környezete a Visual Studio .NET és a Qt/Kdevelop valamilyen SQL alapú adatbázissal összekötve. Ez a világon rengeteg hozzáértő programozót kíván, akik minőségi, optimális és megbízható programkódot implementálnak. A tárgy négy félévének megfelő szintű elsajátítása biztos alapot ad a felmerülő feladatok megoldására és gyakorlati tapasztalatot egyéb programozási nyelvek könnyebb elsajátítására, valamint a már ismertek mélyebb megismerésére.