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.)

  • FPP kursas suteikia kryptingą programą, skirtą programavimo ir analitiniams įgūdžiams tobulinti penkiose srityse: problemų sprendimo, duomenų struktūrų, objektinio programavimo, Java programavimo kalbos ir rekursijos naudojimo 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.)

  • MPP kursas pristato pagrindinius objektinio programavimo principus. Studentai išmoks rašyti daugkartinio naudojimo ir geriau prižiūrimą programinę įrangą ir integruoti šias žinias su laboratorinėmis užduotimis ir projektais. Temos apima: pagrindinius objektinio programavimo principus ir modelius, UML klasių diagramas ir projektavimo principus, skatinančius 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)

  • 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

  • Š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)

  • „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ų.

  • Š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

  • Programinės įrangos kūrimas yra sistemingas kūrimo, patikslinimo, analizės, projektavimo, programavimo, testavimo, dokumentavimo ir priežiūros procesas, susijęs su tam tikros sistemos ar taikomosios programinės įrangos gamyba.

    Šiame kurse studentai išmoks kurti įmonės lygio programinės įrangos sprendimus, atsižvelgiant į reikalavimus nuo koncepcijos iki analizės, projektavimo, įgyvendinimo ir testavimo iki veikiančios programinės įrangos pristatymo ir diegimo. Joje bus mokoma įvairių principų, geriausios praktikos ir susijusių įrankių bei technologijų ir kaip jie naudojami ir taikomi gaminant aukštos kokybės, patikimus programinės įrangos sprendimus. Aptariami metodai ir įrankiai daugiausia bus sutelkti į „Java“ programinės įrangos platformą, nors ja neapsiribojant.

    Išnagrinėsime metodus, kaip nustatyti ir nustatyti tinkamus reikalavimus programinės įrangos produktui, kaip analizuoti šiuos reikalavimus ir pasirinkti tinkamą programinės įrangos sprendimo architektūrą bei sukurti tinkamą dizainą. Ir kaip įdiegti dizainą kode, įskaitant testavimą ir galiausiai kaip sukurti ir supakuoti gautą artefaktą pristatymui / diegimui. Mes apsvarstysime įvairius šiuolaikinius diegimo mechanizmus, įskaitant debesį. Būtina sąlyga: CS 401

    Temos bus:

    • Duomenų bazių projektavimas ir plėtra
    • Objektinė analizė ir projektavimas
    • Domeno modeliavimas
    • Sistemų architektūra
    • Žiniatinklio programų kūrimas naudojant Spring Web MVC
    • Sistemos diegimas ir testavimas; įskaitant vienetų testavimą, tyčiojimąsi ir integracijos testavimą
    • Programinės įrangos sauga, įskaitant tapatybės ir prieigos valdymą
    • Konteineris ir konteinerių technologijos

    (4 vienetai)

  • Š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

  • Projektų valdymas supažindina studentą su mokymusi per praktinį projekto vystymą, paskaitas, skaitymą, išgyvenant projektų valdymo sistemą, jos žinių sritis (10 žinių sričių ir susijusių procesų) ir diegiant. Studentai dirba realiai įgyvendindami projektą ir patiria projektų valdymo vaidmenį visuose programinės įrangos kūrimo gyvavimo ciklo etapuose, naudodami taikomųjų programų kūrimo metodiką.

    Studentai įgyja realios patirties projektų planavimo, reikalavimų valdymo, apimties valdymo, kodavimo standartų, modulio / kodo sąnaudų įvertinimo dolerio vertės, taip pat darbo valandų, tvarkaraščių valdymo, kokybės valdymo, rizikos valdymo ir komunikacijos valdymo srityse. Kurso pabaigoje studentai turės veikiančią programą, kuri yra sukurta naudojant pramonėje naudojamus PM procesus. (Pradedant nuo reikalavimų iki gamybos diegimo). Projektas sukurtas naudojant naujausias Java technologijas ir jų sistemas su žiniatinklio paslaugomis ir dizaino modeliais.

  • Š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 keletą trumpų metų didžiųjų duomenų technologijos iš ažiotažas tapo viena iš pagrindinių naujojo skaitmeninio amžiaus sudedamųjų dalių. Šios technologijos labai naudingos informaciją paverčiant žiniomis. Kurso tikslas – į savo arsenalą įtraukti keletą svarbių įrankių, padėsiančių išspręsti įvairias didelių duomenų problemas.

    Kursas prasideda atsakant į tokius klausimus kaip „Kas yra dideli duomenys ir jų svarba? Kaip patikimai ir pigiai saugoti didelius duomenis? Kokius įrankius naudoti norint rasti naudingos informacijos iš šių didelių duomenų? ir tt“. Šiame kurse studentai mokysis įvairių įrankių ir programavimo modelių, skirtų didelių duomenų analizei. Temos apima Hadoop ekosistemų projektus, tokius kaip MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper, taip pat Apache Spark ekosistemų projektus, tokius kaip Spark SQL ir Spark Streaming. Studentams taip pat suteikiama galimybė sukurti visą didelių duomenų srautą, pradedant duomenų rinkimu realiuoju laiku, apdorojimu, analizavimu ir galiausiai rezultatų peržiūra grafiniu formatu prietaisų skydeliuose. Studentai daugiausia dirbs su vienu „Cloudera“ platinimo Hadoop grupe. (4 vienetai) (MPP yra vienintelė būtina sąlyga)

  • Sparčiai daugėjant duomenų iš įvairių šaltinių, dauguma įmonių ir organizacijų tapo labai pagrįstos duomenimis. Pagrindinė „Big Data Analytics“ funkcija yra išgauti iš tokių duomenų ir ją paversti žiniomis bei žvalgyba. Štai kodėl vis daugiau įmonių išleidžia daugiau pinigų duomenų analizei. Dabar tai dar labiau paspartina sparčiai augantis Skaitmeniniai transformacijos. Šis „Big Data Analytics“ kursas apima pagrindines analizės sąvokas, algoritmus ir įrankius, skirtus gauti didelius įvairius duomenų rinkinius, siekiant sukurti naujas verslo įžvalgas.

    Visa pagrindinė analizė, įskaitant Aprašomasis, nuspėjamasis, nurodantis ir diagnostinis bus padengtas. Ji apims algoritminius metodus analizuojant didelius duomenų rinkinius (nestruktūrizuotus, mišrius, struktūrinius, grafinius ir srautinius): mašininį mokymąsi (neuroniniai tinklai, gilus mokymasis, sprendimų medžiai, atsitiktinis miškas ir kt.), dirbtinį intelektą, natūralios kalbos apdorojimą (NLP), statistiką ir srautinio perdavimo algoritmai per modernias paskirstytos analizės platformas (pvz., MapReduce, Hadoop, Spark), skirtus regresijai (numatymui), klasifikavimui, klasterizavimui, rekomendacijų sistemoms ir kt. Išplėstinė didelių duomenų analizė, Ypač Priežastinė analizė taip pat bus padengtas. Daugiausia bus naudojamos Python / R programavimo kalbos. Studentai taip pat atliks grupinį projektą, kad išspręstų realaus gyvenimo problemą naudodami „Big Data Analytics“.

    (4 vnt.) Būtina sąlyga: katedros dėstytojo sutikimas

  • Š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.

  • Š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.

  • „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 (ML) yra studijų sritis, suteikianti 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.

  • Dirbtinis intelektas (AI) yra disciplina, kuri bando sukurti ir suprasti intelektualiąsias sistemas. Žmogaus lygio intelekto kompiuteriai turėtų didžiulę įtaką visuomenei. Išmanieji programinės įrangos agentai ir kelių agentų sistemos sparčiai auga ir padeda daugelyje sričių, pavyzdžiui, skaitmeninės transformacijos, automatizavimo, pokalbių sistemos, žiniatinklio paieškos, robotikos, gamybos, sveikatos, farmacijos, bankininkystės, tiekimo grandinės, savarankiško vairavimo, reklamos, žaidimų, įvardink keletą. AI skatina kelių trilijonų dolerių pramonę. Šis kursas išmokys dirbtinio intelekto pagrindų ir suteiks studentams praktinio šios srities supratimo. Temos apima pagrindines AI sąvokas – intelektualūs agentai, kelių agentų sistemos, intelektuali paieška, pirmos ir aukštesnės eilės logika, žinių vaizdavimas, samprotavimas, suvokimas, mokymasis, semantika (NLP, vaizdas, objektas..), planavimas, sprendimų priėmimas, veikiantis, reaktyvus, svarstantis, racionalus, prisitaikantis, bendraujantis ir sąveikaujantis. Kurse pabrėžiami praktinės svarbos metodai ir aptariamos kelios naujausios populiarios AI programos. Trumpai apžvelgsime pagrindinius atvirojo kodo įrankius ir programavimo kalbas, skirtas dirbtiniam intelektui (įskaitant žemą kodą ir be kodo). Studentai taip pat atliks grupinį projektą, kad išspręstų realaus gyvenimo problemą naudodami AI.

    (4 vnt.) Būtina sąlyga: katedros dėstytojo sutikimas

  • Š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ą.

    Galimi pokalbiai čia.

Studijų parinktys

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

ProgramosMėnesiai studijų universiteto miestelyjeMokamas praktikumasNuotolinis mokymas (DE) praktikos metu
CPT8-9Iki 2 metų CPT4 DE kursai
OPT8-9Iki 11.5 mėnesių CPT + 3 metai OPT (Neprivalomas)4 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ą?

„WordPress“ iššokantis įskiepis

naujas Verbavimo kelionė po V ir Š Afriką Gruodžio 7-22 d

> Peržiūrėkite išsamią informaciją ir rezervuokite nemokamą bilietą

(Bilietus jau galima įsigyti į visus 5 renginius)

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 admissionsdirector@miu.edu.

Užduokite sau šiuos 4 klausimus:

  1. Ar turite techninės srities bakalauro laipsnį? Taip ar ne?

  2. Ar gavote gerus bakalauro pažymius? Taip ar ne?

  3. Ar baigęs bakalauro laipsnį turite bent 12 mėnesių apmokamo etato darbo patirtį kaip programinės įrangos kūrėjas? Taip ar ne?

  4. Ar galite atvykti į JAV mokytis (ši programa nepasiekiama internete)? Taip ar ne?

Jei į visus aukščiau pateiktus klausimus atsakėte „taip“, galite kreiptis (Nors tai negarantuoja, kad būsite priimtas.)