A tantárgy adatlapja
1. A képzési program adatai
1.1 Felsőoktatási intézmény	Babeș-Bolyai Tudományegyetem	
1.2 Kar 	Matematika és Informatika	
1.3  Intézet	Magyar Matematika és Informatika	
1.4 Szakterület	informatika	
1.5 Képzési szint	alap	
1.6 Szak / Képesítés	Informatika, Matematika-informatika és Matematika	

2. A tantárgy adatai
2.1 A tantárgy neve	Az informatika alapjai	
2.2 Az előadásért felelős tanár neve	Darvay Zsolt	
2.3 A szemináriumért felelős tanár neve	Gaskó Noémi, Jakab Hunor, Zölde Attila	
2.4 Tanulmányi év	1	2.5 Félév	1	2.6. Értékelés módja	kollokvium	2.7 Tantárgy típusa	fakultatív – alap / kiegészítő	

3. Teljes becsült idő (az oktatási tevékenység féléves óraszáma)
3.1 Heti óraszám	4	melyből: 3.2 előadás	2	3.3 szeminárium/labor	2	
3.4 Tantervben szereplő össz-óraszám	56	melyből: 3.5 előadás	28	3.6 szeminárium/labor	28	
A tanulmányi idő elosztása:	óra	
A tankönyv, a jegyzet, a szakirodalom vagy saját jegyzetek tanulmányozása	14	
Könyvtárban, elektronikus adatbázisokban vagy terepen való további tájékozódás	7	
Szemináriumok / laborok, házi feladatok, portofóliók, referátumok, esszék kidolgozása	14	
Egyéni készségfejlesztés (tutorálás)	7	
Vizsgák	2	
Más tevékenységek: ..................		
3.7 Egyéni munka össz-óraszáma	44	
3.8 A félév össz-óraszáma	100	
3.9 Kreditszám	4	

4. Előfeltételek (ha vannak)
4.1 Tantervi	•	Nincs.	
4.2 Kompetenciabeli	•	Nincs.	

5. Feltételek (ha vannak)
5.1 Az előadás lebonyolításának feltételei	•	Táblával és videoprojektorral felszerelt előadóterem.	
5.2 A szeminárium / labor lebonyolításának feltételei	•	Számítógépes terem, C++.	

6. Elsajátítandó jellemző kompetenciák
Szakmai kompetenciák	•	A programozásra vonatkozó alapvető fogalmak ismerete.
•	A C programozási nyelv alapjainak ismerete.
•	Kisebb méretű feladatokat megoldása C-ben strukturált programozással.
•	A C és C++ nyelvek közötti különbségek megállapítása.
•	Megfelelő programozói stílus kialakítása.	
Transzverzális kompetenciák 	•	Matematikai problémákra vonatkozó algoritmusok megvalósítása.
•	A természettudományok területén használatos egyes jelenségek programozása.	

7. A tantárgy célkitűzései (az elsajátítandó jellemző kompetenciák alapján)
7.1 A tantárgy általános célkitűzése	•	A programozásra vonatkozó alapvető ismeretek elsajátítása a C programozási nyelven keresztül.	
7.2 A tantárgy sajátos célkitűzései

	•	A programozásra vonatkozó alapvető fogalmak elsajátítása.
•	A C programozási nyelv alapjainak megismerése.
•	A C++ nyelvre vonatkozó egyes alapfogalmak bevezetése, az objektumorientált programozásra való áttérés előkészítése érdekében.	

8. A tantárgy tartalma
8.1 Előadás	Didaktikai módszerek	Megjegyzések	
1. Típusok és nevek a forráskódban. 
- A forrásprogramok felépítése.
- Nevek és kulcsszavak.
- Alapvető típusok.	Előadás		
2. Állandók és változók.
- Literálok.
- Változódeklarációk.
- Változók kezdőértéke.
- Konstansdeklarációk.	Előadás		
3. Hatókörök és az előfeldolgozó.
- Az előfeldolgozó a C-ben.
- Lokális és globális hatókörök.
- Memóriakezelés.	Előadás		
4. Bevitel és kivitel.
- A printf és a scanf függvények.
- A getchar és putchar makrók.
- A gets és puts függvények.	Előadás		
5. Kifejezések (1).
- Operandusok és operátorok.
- Kiterjesztés és konverzió.
- Aritmetikai operátorok.
- Összehasonlító és logikai operátorok.
- Bitenkénti operátorok.
- Értékadó operátorok.	Előadás		
6. Kifejezések (2).
- Léptető operátorok.
- A sizeof operátor.
- A cím operátor.
- A zárójel operátorok.
- A feltételes operátor.
- A vessző operátor.
- Precedencia és kiértékelési irány.	Előadás		
7. Utasítások.
- Általános utasítások
- Elágazások. Az if utasítás. A switch utasítás
- Ciklusok. A while utasítás. A do while utasítás. A for utasítás.
- Az exit függvény és a break utasítás.	Előadás		
8. Mutatók.
- Deklaráció.
- Kapcsolat a tömbökkel.
- Műveletek mutatókkal.
- A dinamikus memória kezelése.
- C stílusú memóriafoglalás és felszabadítás.
- Mutatókból álló tömbök és a parancssor paraméterei.	Előadás		
9. Függvények.
- Deklaráció és definíció.
- Függvények meghívása és a visszatérített érték.
- Paraméterátadás.
- Függvényekre hivatkozó mutatók.	Előadás		
10. Struktúrák és típusok.
- Struktúradeklaráció és hivatkozás az adattagokra.
- Típusdeklarációk.
- Uniók.
- Bitmezők.
- A felsoroló típus.
- Önhivatkozó struktúrák.	Előadás		
11. Állománykezelés.
- Alacsonyszintű állománykezelés.
- Magasszintű állománykezelés.	Előadás		
12. C++ alapok (1). 
- Névterek.
- Adatfolyamok.
- Meghatározott típuskényszerítés a C++-ban.
- A referencia típus.	Előadás		
13. C++ alapok (2).
- A hatókör operátor.
- A típusazonosító operátor.
- A dinamikus memória kezelése elhelyező és felszabadító operátorokkal.
- Tulajdonképpeni cím szerinti paraméterátadás.	Előadás		
14. C++ alapok (3).
- A formális paraméterek kezdeti értéke.
- Referencia típust visszaadó függvények.
- Függvények túlterhelése.
- Inline függvények.	Előadás		
Könyvészet
1. B. W. Kernighan, D. M. Ritchie: The C Programming Language, Second Edition, Bell Telephone Laboratories, 1988.
2. Vasile Cioban, Zsolt Darvay, Metode evoluate de programare, UBB-Mate_Info, 1999 (Könyvtár).
3. M. Frenţiu, B. Pârv, Elaborarea programelor. Metode şi tehnici moderne, Ed. Promedia, Cluj-Napoca, 1994. (Könyvtár).	
8.2 Szeminárium / Labor	Didaktikai módszerek	Megjegyzések	
L1. A Visual C++ környezet megismerése. A printf és a scanf utasítások használata.	feladat, párbeszéd		
L2. Elágazásokra vonatkozó feladatok (if, switch).	feladat, párbeszéd		
L3. Feladatok ciklusokkal (while, do while, for).	feladat, párbeszéd		
L4. Elágazások (if, switch).	feladat, egyéni munka, párbeszéd		
L5. Ciklusok (while, do while, for).	feladat, egyéni munka, párbeszéd		
L6. Tömbökre és karakterláncokra vonatkozó feladatok.	feladat, párbeszéd		
L7.Tömbök és karakterláncok.	feladat, egyéni munka, párbeszéd		
L8. Feladatok mutatókkal.	feladat, párbeszéd		
L9. Mutatók.	feladat, egyéni munka, párbeszéd		
L10. Függvényekre vonatkozó feladatok.	feladat, párbeszéd		
L11. Függvények.	feladat, egyéni munka, párbeszéd		
L12. Struktúrák.	feladat, egyéni munka, párbeszéd		
L13. Állománykezelés.	feladat, egyéni munka, párbeszéd		
L14. Gyakorlati vizsga.	feladat, egyéni munka		
Könyvészet
1. B. Stroustrup: The C++ Programming Language Special Edition, AT&T, 2000.
2. Clovis L. Tondo, Scott E. Gimpel, Brian W. Kernighan: The C answer book:
solutions to the exercises in The C programming language, second edition, by Brian W. Kernighan and Dennis M. Ritchie, Prentice Hall, 1989.
3. L. Negrescu, Limbajul C++, Ed. Albastra,Cluj-Napoca 1996(Könyvtár).

9. A tárgy tartalmának összhangba hozása az episztemikus közösségek képviselői, a szakmai egyesületek és a szakterület reprezentatív munkáltatói elvárásaival.
•	A tantárgy tartalma összhangban van a fontosabb egyetemeken oktatott C programozásra vonatkozó előadásokkal. 

10. Értékelés
Tevékenység típusa	10.1 Értékelési kritériumok	10.2 Értékelési módszerek	10.3 Aránya a végső jegyben	
10.4 Előadás 	Az előadás tartalmának folyamatos elsajátítása	Ellenőrző kérdések előadáson	20%	
10.5 Szeminárium / Labor	Laboratóriumi tevékenység	Laboratóriumi gyakorlatok és házi feladatok	20%	
	A gyakorlati anyag elsajátítása	Gyakorlati vizsga	60%	
10.6 A teljesítmény minimumkövetelményei	
•	 A C programozási nyelv alapjainak ismerete.
•	Egyszerű programok készítése C-ben.

Kitöltés dátuma			Előadás felelőse			Szeminárium felelőse
					Dr. Darvay Zsolt, adjunktus	         Dr. Gaskó Noémi, tanársegéd
         Dr. Jakab Hunor, tanársegéd
         Zölde Attila, doktorandusz
2012. szept. 25.			...............................			...................................

Az intézeti jóváhagyás dátuma				Intézetigazgató	
2012. szept. 28.						Dr. Szenkovits Ferenc, egyet. docens
..........................