Opis kursa
NCC Monteengro je razvio specijalizovani program obuke kako bi opremio polaznike osnovnim vještinama programiranja na Python-u uz integraciju osnova računarstva visokih performansi (HPC). Dizajniran kroz konsultacije sa stručnjacima iz industrije i studentima, ovaj kurs se bavi računarskim izazovima sa kojima se susreću u savremenim aplikacijama sa intenzivnim podacima. Sa početnim upisom od preko 40 studenata, program naglašava praktičnu implementaciju i skalabilnost, pripremajući učesnike za transformacije vođene podacima u istraživanju i industriji.

Python je svestran i široko korišćen programski jezik, što ga čini kamenom temeljcem za razvoj AI aplikacija i rješenja sa intenzivnim podacima. Međutim, integracija Pythona sa HPC konceptima otvara nove mogućnosti za skalabilna izračunavanja i složeno rješavanje problema. Ovaj kurs premošćuje teorijske principe i praktične prakse, omogućavajući učesnicima da dizajniraju, implementiraju i optimizuju Python aplikacije za HPC okruženja. Bilo da se pripremaju za karijeru u istraživanju AI, inženjeringu ili aplikacijama na nivou preduzeća, učesnici će steći osnovno znanje i praktično iskustvo. Kako se industrije sve više oslanjaju na AI i obradu podataka velikih razmjera, ovaj kurs priprema polaznike da se suoče sa izazovima u oblastima kao što su naučno računarstvo, mašinsko učenje i analitika podataka. Kombinacijom osnovnih vještina programiranja sa HPC tehnikama, studenti stječu sposobnost da razviju skalabilna rješenja koja pokreću digitalnu transformaciju i inovacije.
Sadržaj predmeta (12 modula)
- Uvod u Python programiranje – Osnovna sintaksa, instalacija i podešavanje razvojnog okruženja.
- Tipovi podataka i strukture – brojevi, stringovi, logički brojevi, liste, torke, skupovi i rječnici.
- Kontrolni tok – Uslovne izjave, petlje (for i while) i tehnike razumijevanja.
- Funkcije i modularno programiranje – Kreiranje funkcija, lambda izrazi i modularno programiranje.
- Rukovanje datotekama – Čitanje, pisanje i obrada datoteka uključujući CSV i JSON formate.
- Objektno orijentirano programiranje (OOP) – Klase, objekti, nasljeđivanje, enkapsulacija i polimorfizam.
- Funkcionalno programiranje – Korištenje mape, filtera, redukcije i dekoratora za optimiziran radni tok.
- Uvod u računarstvo visokih performansi – Osnove HPC-a, paralelnog računarstva i višeprocesne obrade.
- Python biblioteke za HPC – Korištenje NumPy, Pandas, Numba
- Asinkrono programiranje – Rad sa asyncio bibliotekom za rukovanje istovremenim zadacima.
- Python jednostavan HPC projekat – Izrada jednostavne aplikacije sa optimizacijom performansi koristeći HPC koncepte. Od Google Colab-a do HPC-a.
- Finalizacija i optimizacija – Otklanjanje grešaka, profilisanje i optimizacija Python koda za skalabilnost.
Ishodi učenja
- Pišite i efikasno izvršavajte Python programe.
- Primijeniti osnovne principe programiranja, uključujući strukture podataka i kontrolni tok.
- Razviti modularni, objektno orijentisani i funkcionalni kod.
- Implementirati zadatke obrade datoteka i manipulacije podacima.
- Razumjeti i primijeniti HPC koncepte, uključujući paralelno i asinhrono programiranje.
- Koristite Python biblioteke za numeričko računanje i analizu podataka.
- Optimizirajte Python aplikacije za skalabilnost u HPC okruženjima.
- Izgradite i poboljšajte Python projekte uz poboljšanja računalnih performansi.