Nappali tagozatosoknak:
Világszerte a C/C++ nyelv egyre jelentősebb mértekben
válik a programfejlesztés eszközévé.
Folyamatban van a tananyag átalakítása a jelenlegi
tantárgyi keretek részleges
megváltoztatásával úgy, hogy lehetőség
nyíljon a C/C++ tanulására fordított idő
növelésére. A tervek
szerint csak egy félév Pascal tanulás lenne és
már az első tanévben a II. félévben
C (és C++) oktatás is lenne. Ehhez at kell dolgozni az
algoritmusok és adatszerkezetek c. tárgyat olymódon,
hogy ne a Pascal, hanem a C++ legyen az implementációs
nyelv. Ez természetesen azt jelenti, hogy a programozási
nyelvek c. tárgy a továbbiakban már nem
kizárólag a C/C++ oktatását fogja
szolgálni, hanem felölel több elterjedt
programozási alapelvet (objektum-orientált-, logikai-,
constraint-logikai-, funkcionális-programozás).
Az is látható, hogy az így megnövelt
óraszám sem lesz elegendő minden ismeret
átadására, ezért szükséges az egyes
speciális terültekhez kapcsolódó
speciálkollégiumok kialakítása pld.
Windows programozás, Java,
Unix C/C++, X Window programozás,
Prolog programozás.
Utolsó módosítás: 1999. február 3.
1999/2000. II. félév
Programozási nyelvek előadás, hétfő 14:00-16:00
Kiss Árpád terem.
(II. prog. mat., II közg. prog. mat., II. szám. tech.)
Levelező tagozatosoknak:
Programozási nyelvek előadás és gyakorlat
(II. prog. mat., II. szám. tech.)
1997/98. I. félév
Fordítóprogramok gyakorlat III. éves nappali
tagozatosoknak
Fordítóprogramok előadás IV. éves
levelező tagozatosoknak
Fordítóprogramok gyakorlat IV. éves levelező
tagozatosoknak
1. Bevezető gondolatok
A JATE egyetemi hallgatói az elmúlt években
jobbára Pascal programozási nyelvet tanultak. A többi
programozással kapcsolatos tárgy is úgy
került kidolgozásra, hogy a Pascal alapokra
támaszkodott pld. az algoritmusok és adatszerkezetek, az
assembly programozás és a programfejlesztés. A
C/C++ programozási nyelvet a második tanévben a
programozási nyelvek c. tárgy keretében tanultak.
A hallgatók a fennt ismertetett rendben tanulják a
a programozási nyelvek c. tárgyat. A programozási
ismeretek fontosságát hangsúlyozandó II. év végén
a hallgatóknak szigorlatot kell tenniük a főbb
programozási tárgyakból: PASCAL, C/C++, programozási
nyelvek, (assembly?), adatstrukturák és adatszerkezetek
tárgyakból.
2001 szeptemberben indul a IV. évesek új tantárgy-strukturája.
Ez jelentősen megnöveli a programozás tanítására, tanulására
fordítható időt. A fejlett programozási technikák
c. tárgy a kor színvonalának megfelelő programozási ismereteket
lesz hivatva átadni. Többek között: 4GL (negyedik
generációs programozási nyelvek, Windows programozás, Java,
Internet technikák (HTML, XML, ASP, LiveConnect). Ez az 1998.
szeptemberben beiratkozott hallgatókat már érinti.
Tematika
C++ programok fordítási technikája. Az
extern "C"
és az extern "C++"
.
A class utasítás. Egyszerű és
többszörös öröklődés. Az objektumok
életciklusa, konstruktorok és destruktorok.
Speciális C++ operátorok: a scope szelekciós
operátor (::), a new
és a delete
operátor. A const, volatile, inline, virtual, near, far,
huge
valamint a static, extern, auto, register, export
modifier-ek használata. File-kezelés C++-ban.
A C/C++ program-objektumok láthatósági
kérdései, class- (object-), file- és block- scope.
Néhány C/C++ programozás-technikai
érdekesség: polimorfizmus, default paraméterek,
operátor overloading, static members, dynamic link libraries.
Az osztály és eljárás templatek, a template
definíció szintaxisa, az STL (standard template library).
A Windows programozás alapfogalmai: a Windows kernel és
az MFC osztálykönyvtár. Deklaratív
programozási nyelvek: a logikai (Prolog) és a
funkcionális programozási nyelvek (Haskell). Imperatív
programozási nyelv funkcionális bővítése:
a Tcl/Tk programozási nyelv. A logikai programozás
fogalomrendszere: term, atom, fact, clause, predikátum.
A Herbrand bázis, Herbrand univerzum, helyettesítés,
unifikáció, subsumption, resolution. Nemdeterminisztikus
Prolog programok, rekurziók. Példák Prolog és
Haskell programokra.
Ajánlott irodalom
Program fejlesztés előadás és gyakorlat
A programfejlesztés mint önálló
tudományterület. A software speciális
jellegzetességei más ipari termékekkel
összehasonlítva. Software életciklus modellek:
a vízesés-modell, a "V" modell, a spirál modell. Az
egyes modellek jellegzetességei. A software
terv-dokumentációja: a
megvalósíthatósági tanulmány, a
követelmény specifikáció, tervezési
dokumentáció. A software minőség-ellenőrzés
eszközei: a minőségbiztosítás,
validáció és verifikáció.
A software tervezés módszerei: a De Marco-féle
struktúrált analízis, a Real-time analízis.
A struktúrált analízis módszer
eszköztára: a CD (kontext-diagram), a DFD
(adatfolyam(at)-ábra), a döntési táblázatok,
a pszeudo-kód, a struktúra diagram, a folyamat-ábra,
a PDL, az entity-relationship (E&R) diagram. A real-time analízis
eszközei: a CCD (kontrol kontext diagram), a CFD
(kontrol folyamat-ábra). A programellenőrzés módszerei:
a technikai review, és a projekt review. A software
auditálás. Az ISO-9000 minőségbiztosítási
szabvány a software folyamatokra. A software tesztelése.
Modern programfejlesztési technológiák: az
objektum-orientált programozás alapjai, a UML diagram,
negyedik (ötödik) generációs programozási
nyelvek, Internet technológiák.
Irodalomjegyzék
Internet Resources