UPOTREBA JEZIKA C# U ŠKOLSKOJ NASTAVI INFORMATIKE Doc.

dr Đorđe Herceg Prirodno-matematički fakultet, Novi Sad ČEMU UČI NASTAVA INFORMATIKE? Nastava informatike treba da osposobi učenike da samostalno i efikasno koriste računar, pri čemu se način korišćenja računara može značajno razlikovati između škola raznih usmerenja. Uprkos tome, određeni principi rada sa računarom su zajednički za sve i svakako ih je potrebno prezentovati učenicima kao neophodnu osnovu opšteg informatičkog obrazovanja. Sa druge strane, ako se kroz nastavu informatike uči programiranje, postavlja se opravdano pitanje, da li je ono neophodno svim profilima učenika. Uloga programiranja u današnjem svetu je značajno izmenjena u odnosu na onu od pre dvadeset godina. Zadaci koji su se tada mogli rešiti jedino samostalnim razvojem sopstvenih programa danas se lako rešavaju mnoštvom komercijalnih, pa čak i besplatnih programa. Iz tog razloga je većini današnjih korisnika računara mnogo važniji kvalitetan pristup Internetu, a samim tim i ogromnoj količini informacija i aplikativnih programa, nego znanje programiranja. Sa druge strane, danas postoje moćne aplikacione platforme, poput Java virtuelne mašine i Microsoft. NET Framework-a, koji omogućavaju jednostavno pisanje programa koji se po izgledu i kvalitetu mogu porediti sa komercijalnim proizvodima. Štaviše, navedene platforme jesu industrijski standard i na njima se razvijaju kvalitetni komercijalni softverski projekti. Da li je u sadašnjem vremenu pogodno da se za prvi programski jezik u nastavi programiranja izabere C#? Ovaj programski jezik je namenjen za izvršavanje na Microsoft. NET Framework-u i jeste de facto industrijski standard. Programeri koji poznaju C# i prateće tehnologije su danas veoma traženi. Prema tome, na pitanje o isplativosti ulaganja u učenje C# se jednostavno može odgovoriti – svakako vredi učiti C#. U nastavku teksta ćemo pokušati da pokažemo da je ovaj programski jezik pogodan i kao prvi jezik za učenje programiranja. Pri tome ćemo se podsetiti razloga za uspeh Borland Turbo Pascal-a i ukazaćemo na sličnosti između njega i jezika C#. ISKUSTVO SA TURBO PASCAL-OM U srednjim školama se programiranje uglavnom izučava na programskom jeziku Pascal, dok je platforma na kojoj se radi Turbo Pascal za DOS ili Borland Pascal1 za Windows. Borland Pascal se praktično poistovećuje sa programskim jezikom Pascal, iako je Borland uneo neke izmene, kao što je, na primer, unit. Turbo Pascal je izuzetno dobro prihvaćen u školama. Kada se potraže razlozi za to, međutim, dobijaju se na prvi pogled neočekivani odgovori. Naime, većina učenika, pa čak i nastavnici, vrlo malo pažnje obraćaju na činjenicu da se standardni Pascal i Turbo Pascal ne poklapaju u potpunosti. Mnogo veći uticaj na zadovoljstvo korisnika ima udobno integrisano radno okruženje (Integrated Development Environment) sa inteligentnim editorom, obimnim sistemom pomoći i moćnim debagerom, koji veoma olakšavaju pisanje i ispravljanje programa. 2. 1.

1

U nastavku teksta ćemo obe verzije razvojnog okruženja označavati imenom Turbo Pascal. Sa druge strane, programski jezik ćemo zvati Borland Pascal, budući da je on nastao kao modifikacija jezika Pascal u firmi Borland.

Slika 1. Razvojno okruženje Turbo Pascal – debager Ovakav pozitivan stav prema Turbo Pascal-u u našim školama nije usamljen primer. Turbo Pascal je prvi proizvod koji je, u svoje vreme, ponudio nešto novo u ciklusu razvoja softvera. Naime, osamdesetih godina dvadesetog veka su veći deo tržišta kompajlera za PC računare pokrivale firme IBM, Microsoft i Lattice, koje su proizvodile kompajlere za C i Pascal. Standardni ciklus razvoja softvera se sastojao od tri faze: pisanja koda, kompajliranja (često u više prolaza) i linkovanja. Za svaku fazu se koristio zaseban programski alat, što je bilo uslovljeno malom računarskom snagom i ograničenom memorijom tadašnjih računara. Kada se Turbo Pascal pojavio na tržištu, sadržavao je u sebi objedinjen editor, kompajler i linker i po ceni je bio značajno ispod konkurentskih proizvoda. Pored toga, bio je i značajno brži, pošto je kompajliranje i linkovanje izvršavano u RAM-u. Rad u Turbo Pascal-u je veoma udoban zahvaljujući sistemu menija, integrisanom debageru i sistemu kontekstno osetljive pomoći. Pored toga, Turbo Pascal 5.5 je uveo i neke aspekte objektno orijentisanog programiranja. Danas je Turbo Pascal, u verziji 5.5, potpuno besplatan i moguće ga je preuzeti sa Interneta. PROGRAMSKI JEZIK C# Programski jezik C# je jednostavan, moderan, robustan, objektno-orijentisani jezik opšte namene. Dizajniran je sa namerom da promoviše principe programiranja kao što su jaka tipiziranost, provera granica nizova, sprečavanje korišćenja neinicijalizovanih promenljivih i automatski garbage collection. Pri tome je vođeno računa i o robusnosti programa i produktivnosti programera. Programi pisani u C# se izvršavaju na Microsoft. NET platformi, koja je razvijena za operativni sistem Windows, a postoje i nezavisne implementacije. NET platforme za ostale operativne sisteme [6]. Jedan od glavnih dizajnera jezika C# je Anders Hejlsberg [11], koji je ranije radio u Borland-u na razvoju Turbo Pascal-a i Delphi-ja. Iako je razvijen od strane Microsoft-a, programski jezik C# je standardizovan [7], čime je obezbeđena kompatibilnost sa njegovim budućim verzijama. U praksi, C# može u potpunosti da zameni Pascal kao prvi programski jezik u srednjoj školi. Svi koncepti i programerske tehnike koji se uče pomoću Pascal-a mogu se ostvariti i u C#. Jedini izuzetak su pokazivači. Naime, upravljanje memorijom pomoću ključnih reči new i dispose je izvor mnogih teških programskih grešaka, tako da se pokazivači u C# retko koriste i zamenjeni su objektnim promenljivama. Kako. NET Framework vodi računa o automatskom uništavanju objekata na koje ne pokazuje nijedna objektna promenljiva, problemi curenja memorije u C# ne postoje 2 . Za razliku od Pascal-a, koji ima ugrađene ključne reči za rad sa ulazom i izlazom, poput Read i Write, C# se pri komunikaciji sa korisnikom oslanja na biblioteke klasa i u tom smislu je nezavistan od konkretne realizacije ulaza i izlaza. Za unos sa tastature se koristi klasa System. Console, dok se za rad sa fajlovima koristi prostor imena System. IO. Sve biblioteke klasa potrebne za razvoj tekstualnih i Windows aplikacija se uvek isporučuju uz. NET Framework, odnosno C#. Programski jezici C# i Java imaju mnoge zajedničke osobine, ali i određene razlike [3]. Za potrebe srednjoškolske nastave programiranja, oba jezika su sasvim pogodna i mogu se koristiti ravnopravno. 3.

2

Upotrebom ključne reči unsafe je i dalje moguće koristiti eksplicitne pointere i namerno stvoriti problematičan program.

Za razliku od Turbo Pascal-a koji se danas koristi isključivo kao školski programski jezik, C# je industrijski standard. Stoga učenici učenjem programiranja u C# stiču znanje koje je odmah primenljivo u praksi. VISUAL C# EXPRESS EDITION Microsoft razvojna okruženja odlikuje visok stepen integracije razvojnih alata, kao i jednostavnost upotrebe. Za profesionalnu upotrebu je namenjen komercijalni Visual Studio, dok se za učenje programiranja i manje projekte koristi besplatni Visual C# Express Edition [4]. Postoje i nezavisna razvojna okruženja, od kojih je, takođe besplatno, SharpDevelop [5] verovatno najpoznatije. Za nastavu programiranja je izuzetno važno da razvojno okruženje bude udobno za rad i da omogućava lak razvoj i debagiranje programa, kao i brz pristup dokumentaciji. Visual C# zadovoljava sve ove potrebe. Intellisense tehnologija omogućava dopunjavanje započetih naredbi, čime se unos programa ubrzava i smanjuje mogućnost greške. Ugrađeni debager omogućava izvršavanje programa korak po korak uz istovremeno nadgledanje vrednosti promenljivih, pa čak i ispravljanje izvornog koda tokom debagiranja. Sistem pomoći je kontekstno osetljiv, tako da se pritiskom na F1 nad bilo kojom naredbom dobija pomoć za nju. 4.

Slika 2. Visual C# Express Edition – razvojno okruženje Visual C# Express Edition poseduje vizuelne dizajnere za Windows Forme i za pristup bazama podataka, tako da se, u saradnji sa SQL Serverom Express [8], može koristiti i za nastavu iz baza podataka. Iako u Express verzijama C# i SQL Servera nedostaju neke mogućnosti koje se koriste u velikim softverskim projekatima, oni su potpuno upotrebljivi kao besplatna i pouzdana platforma za razvoj komercijalnog softvera. Microsoft obezbeđuje podršku za Visual C# Express i SQL Server Express, tako da se oni vremenom ažuriraju. Trenutno je aktuelan Service Pack 1 za Visual C# Express, koji ispravlja određene nedostatke osnovne verzije.

Slika 3. Sistem pomoći sadrži obimnu dokumentaciju MATERIJALI ZA NASTAVU C# Dokumentacija koja dolazi uz Visual C# Express Edition je obimna i detaljna, sa mnogo primera. Pored toga, na MSDN sajtu (msdn. microsoft.com) postoje i dodatni primeri i online lekcije za učenje programiranja u C#, a nezavisni sajtovi mogu takođe dobro da posluže kao izvor materijala za pripremanje nastave programiranja u C#. Na srpskom jeziku postoji nekoliko knjiga koje pokrivaju programiranje u C#, a kao dobra osnova za kurs od oko 40 časova može se preporučiti [10]. ZAKLJUČAK Programski jezik C# i razvojno okruženje Microsoft Visual C# Express Edition predstavljaju pouzdanu osnovu za izvođenje nastave programiranja u srednjim školama, od uvodnih kurseva pa sve do naprednih tema kao što su baze podataka ili 3D grafičke aplikacije. Znanja koja učenici stiču koristeći C# su moderna i primenljiva u praksi. Postojeća dokumentacija je obimna, a postoji i literatura na srpskom jeziku. Iskustva sa Turbo Pascal-om pokazuju da je za njegov uspeh bila presudna jednostavnost upotrebe moćnog razvojnog okruženja, što je slučaj i sa Visual C# Express Edition razvojnim okruženjem. Iz svega iznetog sledi zaključak da se programiranje u C# i razvojni alat Visual C# Express Edition mogu bez rezerve preporučiti za upotrebu na nastavi programiranja u srednjim školama. 7. 1. 2. 3. 4. LITERATURA Borland Pascal na Wikipediji: http://en.wikipedia.org/wiki/Borland_pascal Opis jezika C#: http://en.wikipedia.org/wiki/C_Sharp Poređenje C# i Jave: http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java Početna stranica za Visual C# Express: http://msdn.microsoft.com/vstudio/express/visualcsharp/ 5. SharpDevelop, nezavisno razvojno okruženje za C#: http://www.icsharpcode.net/OpenSource/SD/ 6. Mono Project, podrška za C# na Linux, Solaris, Mac OS X, Windows i Unix platformama: http://www.mono-project.com/Main_Page 7. C# standard na ECMA International: http://www.ecmainternational.org/publications/standards/ecma-334.htm 8. Početna stranica za SQL Server Express: http://msdn.microsoft.com/vstudio/express/sql/ 9. Članci i demonstracioni projekti u C#: http://www.csharpcorner.com 10. C# korak po korak, John Sharp i John Jagger, CET, 2006. 11. Anders Hejlsberg, tvorac jezika C# na Wikipediji: http://en.wikipedia.org/wiki/Anders_Hejlsberg 6. 5.

Sign up to vote on this title
UsefulNot useful