Išmokite praktinių įgūdžių, naudodamiesi naujausiomis programinės įrangos kūrimo technologijomis

Ar esate pasiruošę Išankstinė karjera?

Ar esate pasiruošę kelti savo karjerą?

Pasikonsultavę su savo patarėjais, visi studentai pasirenka pagrindinius kursus iš kairiojo stulpelio žemiau ir išplėstinius kursus iš dešiniojo stulpelio.

Remiantis kvalifikaciniais egzaminais, kurie buvo laikomi atvykus į miestelį, tik studentai Parengiamasis įvažiavimo takas reikės lankyti 4 savaičių pagrindinio programavimo praktikos (CS 390) klasę. FOR 506 ir CS 401 reikalingi visiems studentams. Peržiūrėkite baigimo reikalavimus >

Pagrindiniai kursai

  • Pirmasis jūsų kursas yra specialiai sukurtas tam, kad nustatytumėte pagrindą, kaip galite tapti geriausiu kompiuterių mokslo specialistu. Kursas įsišaknijęs transcendentinės meditacijos praktikoje, kuri veda į jūsų tikrojo potencialo išsipildymą. Sužinosite apie TM pranašumus, įskaitant gebėjimą išspręsti sudėtingas problemas pranašesniu protiniu veikimu, skatinančiu kūrybiškumą ir „iš dėžutės“ mąstymą. Kursas bus sutelktas į principus, kuriais grindžiamas didžiausias veiklos efektyvumas, sukuriant optimalų poilsio ir veiklos derinį. Sukursite ir patirsite idealią dienos rutiną, kuri palaiko sėkmę gyvenime. (2 vnt.)

  • Šis kursas suteikia tikslinę programą, skirtą tobulinti programavimo ir analitinius įgūdžius penkiose srityse: problemų sprendimas, duomenų struktūros, objektinis programavimas, „Java“ programavimo kalba ir rekurso naudojimas „Java“ programose.

    Šios temos yra ypač svarbios kaip būtina sąlyga norint gauti informatikos magistrantūros programą.

    Temos apima: „Java“ programavimo elementus, į objektą orientuotą projektavimą ir įgyvendinimą, duomenų struktūras (įskaitant sąrašus, kaminus, eiles, dvejetainius paieškos medžius, maišos lenteles ir rinkinius), išimčių hierarchiją, failų i / o ir srautus bei JDBC. (4 kreditai) Būtina sąlyga: Bakalauro studentams: CS 221; magistrantams: katedros fakulteto sutikimas (4 vnt.)

  • Šiame kurse pateikiami pagrindiniai objekto programavimo principai. Studentai sužinos, kaip rašyti pakartotinai naudojamą ir geriau prižiūrimą programinę įrangą ir integruoti šias žinias laboratorijų užduotimis ir projektais. Temos: pagrindiniai objekto programavimo principai ir modeliai, UML klasės diagramos ir projektavimo principai, skatinantys programinės įrangos pakartotinį naudojimą ir priežiūrą. (4 vienetai)

  • Šis kursas apima pagrindinius DB projektavimo principus ir įvadą į SQL ir NoSQL duomenų bazes.

    Temos apima: Reliacinės DB projektavimo principai, normalios formos, pirminiai ir svetimi bei unikalūs raktai; Užklausos (sujungimas, sujungimai, rūšiavimas); Sandoriai; Dokumentais pagrįsti DB projektavimo principai, indeksai, mastelio keitimo duomenų bazės; Prieinamumas ir atkūrimas (išmetimas, restauravimas, eksportas, importas); Duomenų bazė kaip paslauga. Nėra išankstinių sąlygų.

    (4 vienetai)

  • Duomenų bazių sistemos tvarko ir gauna informaciją, leidžiančią vartotojui lengvai ir efektyviai pasiekti norimą informaciją. Temos: reliacinių duomenų modelis; SQL; ER modeliavimas; reliacinė algebra; duomenų normalizavimas; sandorius; duomenų bazėje esančių objektų; duomenų saugumas ir vientisumas; duomenų saugojimas, OLAP ir duomenų gavyba; paskirstytos duomenų bazės; ir konkrečios komercinės duomenų bazės sistemos tyrimas. (4 vienetai) Būtina sąlyga: CS 401 arba katedros fakulteto sutikimas.

  • Programinės įrangos inžinerija - tai kursas, kuriame studentas supažindinamas su geriausia programinės įrangos kūrimo praktika naudojant programinės įrangos kūrimo metodiką. Studentai jau turi patirties ankstesnėse kursuose su Objektu orientuota paradigma ir naudojo kai kurias pagrindines UML diagramas, kad modeluotų ryšius tarp programinės įrangos objektų. Programinės įrangos inžinerijos srityje studentas ugdys įgūdžius, kaip kartu su šiomis priemonėmis sukurti tvirtą, lengvai prižiūrimą programinę įrangą. Programinės įrangos kūrimo metodika apibūdina, kada ir kaip turėtų būti naudojamos OO koncepcijos ir UML diagramos, skirtos kokybiškos programinės įrangos kūrimo tikslui pasiekti. Kursas susideda iš mažo projekto, kuriame galima iliustruoti ir pritaikyti paskaitų formoje aptartus principus. Kurso pabaigoje studentas turės veikiančią programą, parengtą pagal aukštus RUP (Rational Unified Process) plėtros metodikos standartus.

  • Šiame kurse pateikiami algoritmų efektyvumo analizės metodai (įskaitant blogiausio ir vidutinio atvejo analizę) ir pristatomi įvairūs žinomi, labai efektyvūs algoritmai. Algoritmų analizei, projektavimui ir įgyvendinimui skiriamas vienodas dėmesys. Temos apima paiešką ir rūšiavimą, operacijų duomenų struktūrose efektyvumą (įskaitant sąrašus, hashtables, subalansuotas dvejetaines paieškos medžius, prioritetines eilutes), grafikų algoritmus, kombinatorinius algoritmus, pasikartojimo santykius, dinaminius programavimus, NP-užbaigtas problemas ir kai kurias specialias temas kaip laiką leidžia. (Ypatingos temos apima skaičiavimo geometriją, kriptosistemų algoritmus, aproksimaciją, didelius duomenis ir lygiagrečią kompiuteriją.)

  • Šis kursas gilinasi į asinchroninio žiniatinklio programavimo koncepcijas ir apima svarbiausius JS dizaino modelius, įskaitant stebėtojo modelį, gamyklą, dekoratorių ir daug daugiau. Tai taip pat apima darbą su žiniatinklio API ir nepakeičiamomis duomenų struktūromis.

    Temos apima: Bendradarbiaujantis Git; Įvadas į „TypeScript“ ir „Bundlers“; Asinchroninis JavaScript; Įvykio kilpa; History API, Geolocation API; Ajax (HTTP, Ajax, JSON, Fetch, CORS įvadas, derinimas); Pažadai ir Asinchronizavimas / Laukimas; Reaktyvusis programavimas; RxJS Stebimi objektai ir operatoriai; Dizaino modeliai: modulis, prototipas, vienvietis, stebėtojas, fasadas, gamykla, dekoratorius, tarpinis serveris, strategija, atmintis; Šiuolaikinės interneto naršyklės. Jokių išankstinių sąlygų.

    (4 vienetai)

  • Šis kursas suteikia sistemingą įvadą į interaktyvių ir dinamiškų žiniatinklio programų programavimą. Kursas skirtas asmenims, turintiems mažai arba visai neturintiems žiniatinklio programų programavimo patirties. Šis pasiūlymas naudos „NodeJS“ ir „Express“ sistemą serverio apdorojimui.

    Kursas prasideda HTML ir CSS pagrindų apžvalga, ypatingą dėmesį skiriant tinklalapio išdėstymui naudojant CSS. „JavaScript“ yra programavimo kalba, naudojama per visą kursą, įskaitant funkcijas, objektus, modulius, „jQuery“ sistemą, „Ajax“ ir „Promises“. Studentai didžiąją laiko dalį praleidžia programuodami vis sudėtingesnes ir sudėtingesnes svetaines. Paskutinę kurso savaitę vykdant pagrindinį projektą sukuriama svetainė su SQL duomenų bazės pagrindu, kurią klientas pasiekia asinchroniškai, kad būtų užtikrintas optimalus veikimas.

    Šis kursas yra būtina CS545 žiniatinklio programų architektūros ir CS572 modernių žiniatinklio programų sąlyga. Būtina sąlyga: CS 220 arba CS 401 arba katedros dėstytojo sutikimas

    (4 vienetai)

  • Šiame kurse pagrindinis dėmesys skiriamas „JavaScript“ naudojimui vidinėje programoje (NodeJS). Studentai sužinos, kaip veikia NodeJS, ir giliai supras pagrindinę programos programavimo sąsają (API). Kursas apima, kaip veikia JS kompiliatoriaus variklis (V8), kaip struktūrizuoti kodą naudojant modulius ir kaip veikia asinchroninis kodas mazge ir Node įvykių cikle. Kursas taip pat moko Node Package Manager (NPM), kaip sukurti žiniatinklio serverį, kaip dirbti su Express sistema ir kaip naudoti ODM, pvz., Mongoose, valdyti MongoDB. Studentai išmoks visų šiuolaikinę žiniatinklio programą apibrėžiančių technikų, įskaitant naudotojų autentifikavimą naudojant JSON žiniatinklio prieigos raktus, duomenų saugojimą duomenų bazėje ir „Restful“ API kūrimą. Taip pat aptariamos ir kitos informatikos sąvokos.

    Temos apima: HTTP ir poilsio API dizainas; Paraiškos be pilietybės prieš valstybę; Mazgo API; Mazgo paketų tvarkyklė (npm); Modelio valdiklio architektūra, Express sistema ir tarpinė programinė įranga; Serverio maršruto parinkimas; Žetonu pagrįstas autentifikavimas. Nėra išankstinių sąlygų.

    (4 vienetai)

  • Didieji duomenys yra naujas gamtos išteklius: duomenys padvigubėja kas 12-18 mėnesių. Šis naujasis „Big Data Analytics“ kursas apima pagrindines sąvokas ir įrankius, kaip išgauti didelius įvairius duomenų rinkinius, kad būtų sukurta naujų įžvalgų. Jūs išmoksite R kalbos naudojimą kuriant „Wordcloud“, „Pagerank“, duomenų vizualizavimą, sprendimų medžius, regresiją, grupes, neuroninius tinklus ir kt. Dirbsite su keliais milijonais didelių įrašų duomenų rinkinių ir „Twitter“ kanalais. Išmoksite „Hadoop“ / „MapReduce“ ir „Streaming Data“ sąvokas ir tyrinėsite kitus „Apache“ didelių duomenų projektus, tokius kaip „Spark“, „Flink“, „Kafka“, „Storm“, „Samza“, „NoSQL“, naudodamiesi atskirais mokslo darbais. Dirbsite grupėse prie atvirų projektų iš „Kaggle.com“, kad varžytumėtės dėl prizų spręsdami geriausių duomenų analizės uždavinius. Taip pat išmoksite naudoti pirmaujančią pramonės srities „IBM SPSS Modeler“ ir atvirojo kodo duomenų gavybos platformas. Kursų metu taip pat bus naudojama įvairi vaizdo įrašų mokymo medžiaga iš MIT, „Coursera“, „Google“ ir kitų vietų. (4 vnt.) Būtina sąlyga: katedros fakulteto sutikimas

  • Šiame kurse pagrindinis dėmesys skiriamas principų ir praktikos, naudojamų kuriant didesnės apimties įmonių programas, mokymui. Išnagrinėsime įvairius dažnai naudojamus architektūrinius sluoksnius ir su šiais sluoksniais susijusias skirtingas technologijas, įskaitant objektų reliacinį atvaizdavimą (ORM), priklausomybės įvedimą (DI), aspektinį programavimą (AOP) ir integraciją su kitomis programomis per žiniatinklio paslaugas (RESTfull). ir SOAP), pranešimų siuntimas ir nuotolinio metodo iškvietimas. Turi turėti darbo žinių apie reliacines duomenų bazes ir SQL. Jei neturite stiprių kursų ar gerų darbo žinių apie SQL, prieš užsiregistruodami EA turėtumėte užsiregistruoti CS422 DBVS. (4 vienetai)

  • Šis kursas sutelkia žiniatinklio programas įmonės nustatymuose. Įmonės taikomoji programa yra didelė programinė įranga, sukurta veikti didelėje organizacijoje, pavyzdžiui, korporacijoje ar vyriausybėje. Įmonių programos yra sudėtingos, keičiamos, sudedamosios dalys, platinamos ir svarbios. Šis kursas, CS545, orientuojasi į įmonės žiniatinklio programos priekinio ar pateikimo sluoksnį. „CS544 Enterprise Architecture“ yra kompanionas, kuris orientuojasi į „back end“ ar verslo sluoksnį, įskaitant verslo logiką, sandorius ir atkaklumą. CS472, žiniatinklio taikomųjų programų programavimas, yra būtina sąlyga, apimanti HTML, CSS, JavaScript, servlets ir JSP.

    Kursas moko principus ir modelius, kurie yra bendri visose platformose ir sistemose. Kursas apžiūrės ir dirbs su dviem vyraujančiomis „Java“ žiniatinklio sistemomis, „Java Server Faces“ (JSF) ir „SpringMVC“. „JSF“ yra sudėtinė sistema, kuri yra „Java Enterprise Edition“ technologijos stekų oficialios pristatymo sistemos specifikacija. „SpringMVC“ yra „Core Spring“ sistemos dalis ir pastaraisiais metais tapo plačiausiai naudojama „Java“ tinklo sistema. (4 vienetai) Būtina sąlyga: CS 472 arba katedros fakulteto sutikimas.

  • Šio kurso tikslas - suteikti studentams žinių ir įgūdžių vadovavimo srityje, įskaitant bendravimo įgūdžius kaip pasirengimą būsimiems vadovavimo vaidmenims.

    Šio kurso pabaigoje studentai supras atsakymus į pagrindinius klausimus, susijusius su veiksminga vadovavimu, įskaitant:

    Ar yra „natūraliai gimę“ lyderiai?

    Ar turite turėti charizmą, kad galėtumėte veiksmingai vadovauti?

    Koks privalomas turtas turi būti lyderis?

    Koks skirtumas tarp valdymo ir vadovavimo?

    Kokie yra „intelektai“, reikalingi šiai erai?

    Kas yra „valdymo pažeidimas“ ir kaip tai lemia savęs sabotažą?

    Žinant, kad grįžtamasis ryšys yra būtinas pirmaujančiam procesui, kaip mes pergyvename baimę suteikti ir gauti?

    Kokia yra 80% darbo vietoje atsiradusių problemų šaltinis?

    Ar yra mokslinių tyrimų, kurie padėtų organizacijai tobulinti individualius ir komandos vadovavimo įgūdžius?

    Svečių kalbėtojai bus žinomi verslininkai, kompiuterių mokslininkai, filantropai, akademikai ir kiti žinomi visuomenės lyderiai.

    (2 vienetai)

Išplėstiniai kursai

  • Skaičiavimo ateitis yra lygiagreti. Nuosekliojo našumo padidėjimas sumažėjo, nes procesoriaus dizainas pasiekė miniatiūrizavimo, laikrodžio dažnio, galios ir šilumos ribas. 2005 m. procesoriaus branduolių skaičius staiga pradėjo didėti nuo vieno branduolio iki kelių branduolių, todėl atsirado galimybė programas vykdyti daug greičiau. Tačiau, kad išnaudotų šį potencialą, programuotojas turi turėti tam tikrų žinių apie lygiagretaus programavimo technologijas.

    Šis kursas moko studentus pagrindinių lygiagretaus programavimo sąvokų Java 9 kontekste. Lygiagretusis programavimas leidžia kūrėjams naudoti kelių branduolių kompiuterius, kad jų programos veiktų greičiau, naudojant kelis branduolius vienu metu. Šio kurso pabaigoje išmoksite naudoti populiarias lygiagrečias Java sistemas (pvz., Multi-Threading, Streams ir Executors), kad galėtumėte rašyti lygiagrečias programas įvairioms kelių branduolių platformoms, įskaitant serverius, stalinius kompiuterius ar mobiliuosius įrenginius.

    Šio kurso metu naudojami programinės įrangos įrankiai yra Microsoft Visual Studio, Java daugiasriegio biblioteka ir OpenMP gijų standartas. (4 vnt.) Būtinos sąlygos: Kompiuterių programavimo žinios naudojant Java, C arba C++.

    Norėdami gauti daugiau informacijos, žiūrėkite šį penkių minučių vaizdo įrašą, kurį sukūrė šio kurso profesorius:

    https://www.youtube.com/watch?v=dWcWAnn0Ppc

  • „Android“ programų kūrimas yra įdomi ir potencialiai pelninga patirtis. „Android“ kūrimas atveria programuotojui kūrybiškumo pasaulį. Tai leidžia išreikšti save tokiais būdais, apie kuriuos net nesvajojote skaitmeniniame pasaulyje, kur galite sukurti produktą ir padaryti jį prieinamą milijardams vartotojų vienu mygtuko paspaudimu. Šiame kurse bus mokoma, kaip kurti Android programas naudojant Kotlin programavimo kalbą.

    Temos: Kompiuterio nustatymas Android programavimui; Aiškūs pagrindai; Maketai, veikla, rodiniai ir vartotojo sąsajos komponentai; Darbas su ketinimais, fragmentais ir bendromis nuostatomis; Web View ir HTML; Darbas su multimedija; Android Jetpack komponentai, kambario duomenų bazė ir JSON; Suprasti jutikliai; Lokalizacija; Programos paskelbimas Google Play parduotuvėje. (4 vnt.) Nereikalaujama jokių išankstinių sąlygų.

  • Šis kursas aptaria pažangias kalbų kūrimo temas, akcentuojant formalius metodus ir abstrakcijos mechanizmus. Temos apima duomenų ir kontrolės abstrakciją, oficialią sintaksės ir semantikos specifikaciją, programos teisingumo įrodymus, ne deterministinį programavimą, pažangias valdymo struktūras ir konkrečių kalbų studijas. (4 vienetai) Būtina sąlyga: CS 401 arba katedros fakulteto sutikimas.

  • Šis kursas apims debesų programavimo modelius ir leis studentams praktikuoti darbą su įvairiomis žiniatinklio debesies paslaugomis, įskaitant AWS serverio funkcijas.

    Temos: tapatybės ir prieigos valdymas (IAM); Virtualus privatus debesis (VPC), tinklo prieigos kontrolės sąrašai – NACL, potinkliai, pasiekiamumo zonos, paprastoji saugyklos paslauga (S3), elastinga debesų skaičiavimo paslauga (EC2), paprasta pranešimų paslauga (SNS), elastinga apkrovos balansavimo priemonė (ELB), automatinis mastelio keitimas, 53 maršrutas, API debesyje; AWS lambda, be serverio; Interneto paslaugos; Programos diegimas, galutinis projektas. (4 kreditai). (Jokių prielaidų)

  • Šiuolaikinę informacijos apdorojimą apibrėžia dideli duomenų saugyklos, kurių negalima tvarkyti tradicinėmis duomenų bazių sistemomis. Šis kursas apima naujausias technologijas, sukurtas ir naudojamas pramonės lyderiams, kad ši problema būtų išspręsta kuo efektyviau. Konkrečios temos apima „MapReduce“ algoritmus, „MapReduce“ algoritmo modelius, HDFS, „Hadoop“ klasterio architektūrą, YARN, skaičiavimo santykinius dažnius, antrinį rūšiavimą, žiniatinklio nuskaitymą, invertuotus indeksus ir indeksų suspaudimą, „Spark“ algoritmus ir „Scala“. (4 vienetai) Būtina sąlyga: CS 435 algoritmai.

  • Vos per kelis trumpus metus didelių duomenų technologijos pereina nuo hype srities į vieną iš pagrindinių naujosios skaitmeninio amžiaus sudedamųjų dalių. Šios technologijos yra labai naudingos transformuojant informaciją į žinias.

    Kursų tikslas - įtraukti keletą tikrai svarbių įrankių į savo arsenalą, kurie padės išspręsti įvairias didžiųjų duomenų problemas. Pradėsime nuo atsakymų į tokius klausimus kaip „Kas yra dideli duomenys? Kodėl tai svarbu ar naudinga? Kaip saugote šiuos didelius duomenis? “ Tada mes ištirsime įvairius įrankius ir programavimo modelius iš didžiųjų duomenų technologijos, kurie padės mums analizuoti duomenis. Temos apima kai kuriuos Hadoop ekosistemos projektus, tokius kaip MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper ir Apache Spark ekosistemos projektus. Taip pat apžvelgsime AWS ir EMR įvadą. Daugiausia dirbsite su vienu „Cloudera“ „Hadoop“ paskirstymu. (4 vnt.) (Be išankstinių sąlygų)

  • Šiame kurse nagrinėjami dabartiniai gero programinės įrangos sistemų projektavimo metodai ir praktika. Temos apima programinės įrangos projektavimo modelius, sistemas, architektūras ir projektavimo sistemas, skirtas taikyti šias daugiapakopes abstrakcijas. (2-4 kreditai) Būtina sąlyga: CS 401 arba katedros fakulteto sutikimas.

  • „React“ yra populiariausia biblioteka, skirta kurti galingas žiniatinklio programas. Šiame kurse studentai išmoks naudoti „React“ ir ES6, kad būtų galima kurti tvirtas, keičiamo dydžio programas nuo pat pradžių, naudodami naujausius „Redux“ modelius, kad išlaikytų savo programos būseną.

    Temos apima: komponentais pagrįstą žiniatinklio programų kūrimą, komponentų dizaino modelius, poilsio API naudojimą, naršyklės API patvarumą, JSX ir „React“ API (rekvizitai, rekvizitai, įvykiai, nuorodos), programų duomenų srautą ir „React“ programų diegimą. Būtinos sąlygos WAP arba CS 477.

    (4 vienetai)

  • Šiame kurse studentai mokosi vieno puslapio žiniatinklio programų (SPA) reaktyviosios programavimo architektūros ir visų reikalingų įgūdžių, reikalingų norint sukurti visą modernią žiniatinklio programą naudojant „TypeScript“ ir „Angular“. Studentai įgyja gilų supratimą apie tai, kaip Angular veikia, įskaitant: Pokyčių aptikimą; Reaktyvusis RxJ programavimas su stebimais objektais ir objektais; Šešėlių DOM; Zonos; Moduliai, komponentai, pasirinktiniai nurodymai ir vamzdžiai; Paslaugos ir priklausomybės injekcija; Kampinis kompiliatorius: JIT ir AOF kompiliacija; Formos (pagrįstos šablonais ir duomenimis); Maršrutas, apsauga ir maršruto apsauga; HTTP klientas; ir JWT JSON žiniatinklio prieigos rakto autentifikavimas. Būtinos sąlygos: WAP arba CS 477.

    (4 vienetai)

  • Šis kursas pereina nuo žiniatinklio kūrimo prie mobiliųjų programų kūrimo naudojant „React Native“ – populiarią „Facebook“ sistemą, leidžiančią įvairiose platformose paleisti vietines programas naudojant „JavaScript“ be „Java“ ar „Swift“. Kursas supažindina su šiuolaikišku „JavaScript“ – „JavaScript XML“ (JSX) – „JavaScript“ plėtiniu. Studentai įgyja patirties su React Native ir jos paradigmomis, programų architektūra ir vartotojo sąsajomis. Kurso kulminacija baigiasi baigiamuoju projektu, kuriame studentai įdiegia savo sukurtą mobiliąją programėlę. Būtinos sąlygos: WAA arba CS568.

    (4 vienetai)

  • Šiame kurse jūs sužinosite „Reactive“ programavimo architektūrą („Single Page Web Applications“) kartu su visais būtinais įgūdžiais, kad galėtumėte sukurti pilną „Modern Web“ programą. Technologijos apima: „NodeJS“, „ExpressJS“, „TypeScript“, „AngularJS2“, „Firebase“ ir „NoSQL“ duomenų bazes (MongoDB). Kursas apims:

    • Kaip „C ++ V8“ variklis ir asinchroninis kodas veikia „Node“ ir „Node“ įvykių cikle.
    • Kaip struktūrizuoti savo kodą pakartotiniam naudojimui ir kurti ramus API naudojant modulius ir „ExpressJS“.
    • Kaip veikia „NoSQL“ duomenų bazės: „Mongo Shell“, „Aggregation Framework“, „Replica“ rinkiniai, klasterizavimas, „Shards“, „Mongoose ORM“.
    • Gilus supratimas apie tai, kaip veikia kampinis („Google“ palaikomas) darbas, keitimo aptikimas, reaktyvaus RxJ programavimas su stebimaisiais ir objektais, šešėlis DOM, zonos, moduliai ir komponentai, individualios direktyvos ir vamzdžiai, paslaugos ir priklausomybės įpurškimas, kampinis kompiliatorius, JIT ir AOF rinkimas , Formos (Šablonas ir Duomenų valdymas), Duomenų rišimas, Maršrutai, Apsaugai ir Maršruto apsauga, HTTP klientas, JWT JSON žiniatinklio raktų autentifikavimas.

    (4 vienetai)

  • Šiame praktikumo kurse studentai atlieka su kompiuteriu susijusias užduotis, eidami techninę profesiją. Atliekamos užduotys gali būti naujų sistemų projektavimas ir kūrimas arba esamų sistemų pritaikymas konkretiems tikslams. „Practicum“ pareigybių aprašymus sudaro darbdavys ir studentas. Juos iš anksto turi patvirtinti vienas iš katedros absolventų, pasitaręs su praktikumo vadovu, kur yra studentas. (Šis kursas visų pirma skirtas studentams, dalyvaujantiems praktikos ar bendradarbiavimo programose.) (0.5-1 vienetas už bloką - gali būti kartojamas.)

  • Mašininis mokymasis yra studijų sritis, kuri suteikia kompiuteriams galimybę mokytis iš duomenų, yra beveik kiekvienos mokslo disciplinos pagrindas, o apibendrinimo (ty numatymo) iš duomenų tyrimas yra pagrindinė mašininio mokymosi tema. Šis kursas suteikia absolventų lygio įvadą į mašininį mokymąsi ir išsamiai apžvelgiami nauji bei pažangūs mašininio mokymosi metodai, taip pat jų pagrindinė teorija. Jame akcentuojami praktiniai požiūriai ir aptariami keli naujausi mašininio mokymosi pritaikymai, pvz., duomenų gavyba (didelių duomenų / duomenų moksle, duomenų analizėje), natūralios kalbos apdorojimas, kompiuterinė vizija, robotika, bioinformatika ir teksto bei žiniatinklio duomenų apdorojimas. Mašininis mokymasis naudojamas įvairiose pramonės šakose, įskaitant finansines paslaugas, naftą ir dujas, sveikatos priežiūrą, rinkodarą ir reklamą, vyriausybę, internetą ir daiktų internetą.

    Šis kursas apima įvairias mokymosi paradigmas, algoritmus, teorinius rezultatus ir programas. Jame naudojamos pagrindinės dirbtinio intelekto, informacijos teorijos, statistikos ir valdymo teorijos sąvokos tiek, kiek jos yra svarbios mašininiam mokymuisi. Temos apima: prižiūrimą mokymąsi (generatyvus / diskriminacinis mokymasis, parametrinis / neparametrinis mokymasis, neuroniniai tinklai, palaikomosios vektorinės mašinos, sprendimų medis, Bayeso kalbos mokymasis ir optimizavimas); neprižiūrimas mokymasis (grupavimas, matmenų mažinimas, branduolio metodai); mokymosi teorija (šališkumo / dispersijos kompromisai; rizikos teorija; didelės maržos); mokymasis sustiprinti ir adaptyvi kontrolė. Kitos temos yra HMM (paslėptas Markovo modelis), evoliucinis skaičiavimas, gilus mokymasis (su neuroniniais tinklais) ir algoritmų, kurių veikimą galima kruopščiai išanalizuoti dėl esminių mašininio mokymosi problemų, projektavimas.

    Svarbi kurso dalis yra grupinis projektas. Trumpai apžvelgiami pagrindiniai atviro kodo įrankiai, naudojami lygiagrečiai, paskirstytam ir keičiamam mastelio mokymuisi, siekiant padėti studentams atlikti projektus. (4 vienetai) Būtina: Nėra.

  • Šiame kurse apžvelgsime metodus, principus ir modelius, kaip kurti lanksčias, keičiamo dydžio, išbandomas ir atsparias programines sistemas, naudojant mikroservisas. Mes ištirsime, kaip galime suskaidyti dideles programas į mažesnes mikroservisas, kurias lengviau sukurti, ir kitus privalumus, palyginti su monolitinėmis verslo programomis. Išplėstinė mikroservice architektūra taip pat suteikia daug iššūkių. Ištirsime šiuos iššūkius ir kaip juos spręsti. Šio kurso temos yra architektūriniai stiliai, integracijos metodai ir modeliai, domenų kūrimas, renginių orientuota architektūra ir reaktyvus programavimas. (4 kreditai). (Nėra prielaidų)

  • Pagerbdamas 50 metų MIU išsilavinimą, Kompiuterių mokslų skyrius džiaugiasi galėdamas inicijuoti naują „Golden Jubilee ComPro Tech Talks“ seriją.

    Šią mėnesinę seriją organizuoja ir moderuoja profesorė Renuka Mohanraj.

    Pokalbiai pasiekiami adresu https://www.youtube.com/playlist?list=PLoBuI1C_-EtrAMdD45sldMnd8HXNhmyBQ.

    Peržiūrėkite mūsų naujausią įrašytą pokalbį, šeštadienį, 28 m. gegužės 2022 d.:

    MIU kompiuterių mokslų instruktorius Unuboldas Tumenbayaras, AWS sertifikuotas profesionalių sprendimų architektas, aptarė šias temas mūsų naujausiame „ComPro Tech Talk“ pokalbyje:
    o Per kelias minutes debesyje sukurkite pilną programą
    o Diskusija apie šiuolaikines technologijas
    o GraphQL
    o Reaguoti
    o NoSQL naudojant AWS paslaugas ir įrankius

    Žr. Unbold skaidres čia.

    Šis pokalbis yra gera mūsų apžvalga Debesų kompiuterijos kursas (CS 516).

Studijų parinktys

Yra 3 studijų variantai tarptautiniams studentams.
Kiekvienas iš jų suteikia kompiuterių mokslo magistro laipsnį.
Visi turi įėjimo datas sausio, balandžio, rugpjūčio arba spalio mėn.

ProgramosMėnesiai studijų universiteto miestelyjeMokamas praktikumasNuotolinis mokymas (DE) praktikos metu
CPT8-9Iki 2 metų CPT4 DE kursai
OPT9-10Iki 11.5 mėnesių CPT + 3 metai OPT (Neprivalomas)3 DE kursai
Visu etatu Campus12-133 metų OPT pasirinkimasNA

„Pirmą kartą išgirdęs apie MSCS programą tuo suabejojau. Negalėjau patikėti, kad kažkas panašaus egzistuoja. Tačiau vieną dieną prie programos prisijungė mano draugas. Tai buvo tada, kai aš patvirtinau, kad tai yra tikra. Tada aš atnaujinau savo paraiškų teikimo procesą. Na! Tiesa, esu čia, baigiau programą ir esu labai laiminga “.

Ar esate pasirengęs pradėti naują karjerą?

JAV AMBASADOS INTERVIU LAUKIMO LAIKAS IR MSCS PARAIŠKŲ APDOROJIMO LAIKAS

Pastebėjome, kad daugelis šalių labai atidėlioja pokalbių datas. Prašau pažiūrėk Vizos paskyrimo laukimo laikas (state.gov) kad sužinotumėte, kiek laiko reikia gauti pokalbio datą jūsų šalyje/mieste.

Jei pokalbio laukimo laikas yra ilgesnis nei 2 mėnesiai, raginame pateikti paraišką ir užpildyti paraišką nedelsiant, net jei planuojate dalyvauti ateityje. Tokiu būdu galite užbaigti paraiškos teikimo procesą, gauti savo I-20 ir gauti pokalbio datą. Norėdami gauti pokalbio datą, turite turėti I-20. Jei data yra ankstesnė nei planuojate atvykti į JAV, visada galite atidėti atvykimo datą, kai gausite vizą. Mes tiesiog išduosime jums naują I-20 įvažiavimo datai, kurią planuojate atvykti.

Jei turite klausimų apie šią informaciją, susisiekite su mūsų priėmimo biuru adresu csadmissions@miu.edu.