bogyó Creative Commons License 1999.08.02 0 0 32
Egy pár projekttel a hátam mögött :-) azt javaslom, hogy egy alapfokú programozói (ön)képzés a következőket foglalja magába:

1. Meg kell ismerkedni egy valamilyen géparchitektúrával, de csak körülbelül! Az elején (és még sokáig) nemigen lesz szükség a DMA programozására. Ezzel párhuzamosan az operációs rendszereket is lehet tanulmányozni, de itt sem kell túlságosan elmélyülni.

2. Meg kell ismerkedni az alapvető programozási elemekkel és fogalmakkal (változó, típus, értékadás, ciklus, vezérlésátadás, függvények). Ehhez kapcsolódóan a blokkdiagramm és a stuktogramm is megismerendő, de főleg az utóbbi.

3. Meg kell ismerni és begyakorolni egy sor alapvető algoritmust:
- összegzés, számolás
- keresés (lineáris, logaritmikus)
- rendezés (sokféle van, legalább 2-3-at, buborék, helycserés, stb.)

A gyakorlás legalább 2 programnyelven történjen párhuzamosan, az egyik lehet Pascal, a másik valami hasonló, de a Visual* típusuak kerülendők.

4. Meg kell ismerni a perifériák és a fájlrendszer használatát.
A tanulás során nem baj, ha az ember keveset tud, de azt biztonsággal tudja és alaposan.

5. Valami eccerű adatbáziskezelő (tfh. Clipper) megismerése.

Ezekhez melegen tudom ajánlani a Knuth-féle sorozat 1. és 3. kötetét, meg valamilyen nyelvleíró munkát. Figyelem! Móricz Attila bármely munkáját a legnagyobb ívben elkerülni!!!!! Angster az jó. K-R féle C könyv. Ilyenek.

Mindig mindent először meg kell érteni. Ehhez az egyik legjobb segédeszköz a leírás (struktogram). Mindig használjuk!

Természetesen lehet folytatni, egy pár gondolat a haladó szinthez:

1. Komolyabb OS/HW ismeretek, nagygépek, stb. Operációs rendszerek elmélete.

2. Meg kell ismerni egy pár modellt a programozásra (Dijkstra, blabla, stb.), pár szabványos "kompozíciós technikát" (algoritmusok kombinálása), komolyabb típuskonstrukciós módszert (fa, gráf, verem, stb.), objektumok/osztályok (de könnyen el lehet intézni, egy szóban :-) ). Esetleg programhelyeség-bionyítási módszerek. Párhuzamos programozás alapjai.

2a. Az optimalizálás és hatékonyság, mérése, típusai, stb.

3. Komolyabb algoritmus-elmélet, algoritmus-osztályok (tömörítések, keresések, rendezések, csoportosítások), különbözően (idő/hely) optimális változataik. Bonyolultságelmélet.

4. Programozási nyelv-hegyek, itt mindenbe érdemes belekóstolni (OOP, 4GL, DB, etc.)

5. Adatbáziskezelés, eszközök, SQL, stb. Operációkutatás.

6. Csoportban való dolgozás, programtervezési ismeretek, stb.

stb.

Ja, és van ezután még a profi szint is :-)