Kurs: Uvod u Python sa HPC-om

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.

Uvod u Python programiranje i pokretanje Pythona na HPC resursima

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)

  1. Uvod u Python programiranje – Osnovna sintaksa, instalacija i podešavanje razvojnog okruženja.
  2. Tipovi podataka i strukture – brojevi, stringovi, logički brojevi, liste, torke, skupovi i rječnici.
  3. Kontrolni tok – Uslovne izjave, petlje (for i while) i tehnike razumijevanja.
  4. Funkcije i modularno programiranje – Kreiranje funkcija, lambda izrazi i modularno programiranje.
  5. Rukovanje datotekama – Čitanje, pisanje i obrada datoteka uključujući CSV i JSON formate.
  6. Objektno orijentirano programiranje (OOP) – Klase, objekti, nasljeđivanje, enkapsulacija i polimorfizam.
  7. Funkcionalno programiranje – Korištenje mape, filtera, redukcije i dekoratora za optimiziran radni tok.
  8. Uvod u računarstvo visokih performansi – Osnove HPC-a, paralelnog računarstva i višeprocesne obrade.
  9. Python biblioteke za HPC – Korištenje NumPy, Pandas, Numba
  10. Asinkrono programiranje – Rad sa asyncio bibliotekom za rukovanje istovremenim zadacima.
  11. Python jednostavan HPC projekat – Izrada jednostavne aplikacije sa optimizacijom performansi koristeći HPC koncepte. Od Google Colab-a do HPC-a.
  12. 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.