C#: Srednji nivo
Od osnovnog C# programiranja do ozbiljnog objektno-orijentisanog razvoja

O ovom programu
Ovaj kurs predstavlja prirodan nastavak našeg C# kursa za početni nivo i namenjen je polaznicima koji žele da svoje osnovno znanje C# programiranja podignu na viši nivo. Kroz sistematsko upoznavanje sa objektno-orijentisanim programiranjem, polaznici uče kako da programski kod organizuju kroz klase i objekte i kako da grade pregledne, modularne i ponovo upotrebljive softverske komponente. Kurs detaljno obrađuje svojstva, konstruktore, modifikatore pristupa, enkapsulaciju, apstrakciju, nasleđivanje, polimorfizam i interfejse, uz posebno razumevanje razlike između overloading i overriding mehanizama. Polaznici se zatim upoznaju sa exception handling mehanizmima, generičkim tipovima, kolekcijama, delegatima, lambda izrazima i LINQ-om, čime prelaze sa rada na osnovnim konzolnim programima na razvoj struktuisanijih i realnijih C# rešenja. Kroz veliki broj praktičnih zadataka u Visual Studio okruženju polaznici uče da povezuju više koncepata, analiziraju postojeći kod, pronađu i otklone greške i donesu odgovarajuće odluke prilikom projektovanja programa. Stečeno znanje objedinjuju kroz završni projekat u kojem samostalno razvijaju funkcionalnu C# aplikaciju i primenjuju ključne principe objektno-orijentisanog programiranja. Kurs predstavlja čvrstu osnovu za nastavak učenja i prirodan prelazak na razvoj desktop aplikacija kroz WPF i MVVM arhitekturu.
Tehnologije i alati koje savladavamo
Detaljan plan i program
Nedelje 1-4Objektno-orijentisano programiranje, klase i svojstva
Objektno-orijentisano programiranje, klase i svojstva
U prvom mesecu polaznici prelaze sa proceduralnog načina razmišljanja na objektno-orijentisani pristup programiranju. Upoznaju osnovne principe OOP-a i uče kako se kroz klase i objekte modeluju elementi realnog problema. Detaljno se obrađuju klase, objekti, polja i svojstva, uključujući automatska svojstva, read-only svojstva, private set, init i izvedena svojstva. Polaznici zatim upoznaju modifikatore pristupa i uče kako se kontroliše vidljivost i dostupnost članova klase. Poseban deo posvećen je konstruktorima, njihovim različitim oblicima, preopterećenju, ulančavanju konstruktora, privatnim i statičkim konstruktorima, kao i razumevanju uloge finalizatora u C# jeziku.
Fokus i alati:
Nedelje 5-8Enkapsulacija, nasleđivanje, apstrakcija i polimorfizam
Enkapsulacija, nasleđivanje, apstrakcija i polimorfizam
U drugom mesecu polaznici produbljuju razumevanje objektno-orijentisanog dizajna kroz principe enkapsulacije, apstrakcije, nasleđivanja i polimorfizma. Uče kako klase mogu da naslede ponašanje i osobine drugih klasa, kako funkcionišu jednostruko, višestepeno i hijerarhijsko nasleđivanje, kao i kako se u C# jeziku funkcionalnosti višestrukog nasleđivanja realizuju pomoću interfejsa. Obrađuju se base i protected članovi, sealed klase i metode, kao i abstract klase i metode. Kroz virtual i override metode polaznici uče kako se implementira runtime polimorfizam, dok kroz overloading upoznaju compile-time polimorfizam. Poseban akcenat stavljen je na razumevanje razlike između overloading i overriding mehanizama i njihove praktične primene.
Fokus i alati:
Nedelje 9-12Interfejsi, exception handling i generičko programiranje
Interfejsi, exception handling i generičko programiranje
Treći mesec uvodi polaznike u naprednije mehanizme organizacije i kontrole programa. Uče kako se pomoću interfejsa definišu ugovori koje klase implementiraju i kako se interfejsi koriste za fleksibilniji i modularniji dizajn aplikacija. Posebno se analizira odnos između abstract class i interface koncepta i kriterijumi za njihov izbor. Zatim se obrađuje exception handling, uključujući try, catch, multiple catch, finally, nested try/catch, throw, hijerarhiju izuzetaka i kreiranje sopstvenih exception klasa. U završnom delu meseca polaznici se upoznaju sa generičkim tipovima i razumeju kako generics omogućavaju bezbedan, fleksibilan i ponovo upotrebljiv kod.
Fokus i alati:
Nedelje 13-16Kolekcije, delegati, lambda izrazi, LINQ i završni projekat
Kolekcije, delegati, lambda izrazi, LINQ i završni projekat
U završnom mesecu polaznici uče kako da efikasno organizuju i obrađuju veće količine podataka korišćenjem kolekcija. Najpre upoznaju osnovne negeneričke kolekcije kao što su ArrayList, Hashtable, Stack, Queue i SortedList, a zatim prelaze na savremene generičke kolekcije kao što su List<T>, Dictionary<TKey,TValue>, Queue<T>, Stack<T>, HashSet<T>, SortedSet<T>, SortedList<TKey,TValue> i SortedDictionary<TKey,TValue>. Nakon toga se uvode delegati, Action, Func i Predicate, kao i lambda izrazi koji predstavljaju važan deo modernog C# programiranja. Znanje se dalje povezuje kroz LINQ, gde polaznici uče filtriranje, selekciju, sortiranje, pretragu, agregaciju i grupisanje podataka. Na kraju meseca sve naučene koncepte objedinjuju kroz završni projekat, u kojem samostalno projektuju i razvijaju funkcionalnu C# aplikaciju sa jasnom strukturom i objektno-orijentisanim dizajnom.
Fokus i alati:
Osnovne informacije
Zainteresovani ste za ovaj program?
Broj mesta u grupama je ograničen kako bismo obezbedili maksimalan kvalitet mentorskog rada i posvećenost svakom polazniku.
Kontaktirajte nas za upis