Õppige tarkvara arendamisel uusimate tehnoloogiate abil omandatud praktilisi oskusi

Oled sa valmis Edendada oma karjääri?

Kas olete valmis oma karjääri edendama?

Konsulteerides oma nõuandjatega, valivad kõik õpilased allolevast vasakpoolsest veerust põhikursused ja parempoolsest veerust edasijõudnute kursused.

Tuginedes ülikoolilinnakusse saabumisel sooritatud kvalifikatsioonieksamitele, ainult üliõpilased Ettevalmistav sisenemisrada peab läbima 4-nädalase põhiliste programmeerimistavade (CS 390) klassi. FOR 506 ja CS 401 on kohustuslikud kõikidele õpilastele. Vaadake lõpetamise nõudeid >

Põhikursused

  • Teie esimene kursus on spetsiaalselt loodud selleks, et luua alus, kuidas saada kõige paremini toimivaks arvutiteaduse spetsialistiks. Kursus on juurdunud transtsendentaalse meditatsiooni praktikas, mis viib teie tõelise potentsiaali täitumiseni. Saate teada TM-i eelistest, sealhulgas võimest lahendada keerukaid probleeme ülima vaimse funktsioneerimise abil, mis suurendab loovust ja „kastist välja” mõtlemist. Kursus keskendub põhimõtetele, mis toetavad tipptasemel aktiivsust, töötades välja puhke ja tegevuse optimaalse segu. Arendate välja ja kogete ideaalset igapäevast rutiini, mis toetab elus edu. (2 ühikut)

  • FPP kursus pakub keskendunud programmi programmeerimis- ja analüüsioskuste parandamiseks viies valdkonnas: probleemide lahendamine, andmestruktuurid, objektorienteeritud programmeerimine, Java programmeerimiskeel ja rekursiooni kasutamine Java programmides.

    Need teemad on eriti olulised arvutiteaduse kraadiõppe kursuste eeldusena.

    Teemad hõlmavad: Java programmeerimise elemente, objektorienteeritud kujundust ja teostust, andmestruktuure (sealhulgas loendeid, virnasid, järjekordi, binaarseid otsingupuid, räsitabeleid ja komplekte), erandihierarhiat, failide sisend / vooge ja vooge ning JDBC-d. (4 ainepunkti) Eeldus: Üliõpilastele: CS 221; kraadiõppuritele: osakonna teaduskonna nõusolek (4 ühikut)

  • MPP kursus tutvustab objektorienteeritud programmeerimise aluspõhimõtteid. Õpilased õpivad kirjutama korduvkasutatavat ja paremini hooldatavat tarkvara ning integreerima need teadmised laboriülesannete ja -projektidega. Teemadeks on: objektorienteeritud programmeerimise aluspõhimõtted ja mudelid, UML-i klassiskeemid ja disainipõhimõtted, mis soodustavad tarkvara taaskasutatavust ja hooldatavust. (4 ühikut)

  • See kursus hõlmab DB disaini põhimõtete põhitõdesid ning sissejuhatust SQL-i ja NoSQL-i andmebaasidesse.

    Teemad hõlmavad: Relatsioonilise DB kujundamise põhimõtted, normaalvormid, esmased ja võõrvõtmed ning unikaalsed võtmed; Päringud (liitmine, liitmised, sortimine); Tehingud; Dokumendipõhise DB kujundamise põhimõtted, indeksid, skaleerimise andmebaasid; Kättesaadavus ja taastamine (prügi, taastamine, eksport, import); Andmebaas kui teenus. Eeltingimused puuduvad.

    (4 ühikut)

  • Andmebaasisüsteemid korraldavad ja hankivad informatsiooni, võimaldades kasutajal saada soovitud teavet lihtsalt ja tõhusalt. Teemad hõlmavad: relatsiooniandmete mudelit; SQL; ER modelleerimine; relatsiooniline algebra; andmete normaliseerimine; tehingud; andmebaasi objektid; andmete turvalisus ja terviklikkus; andmete ladustamine, OLAP ja andmete kaevandamine; hajutatud andmebaasid; konkreetse kaubandusliku andmebaasi süsteemi uurimine. (4 ühikud) Eeltingimus: CS 401 või osakonna teaduskonna nõusolek.

  • Tarkvaratehnika on kursus, mis tutvustab üliõpilastele tarkvaraarenduse parimaid tavasid tarkvaraarenduse metoodika abil. Üliõpilastel on juba olnud kogemusi eelmiste kursustega objektorienteeritud paradigmaga ning nad on kasutanud mõningaid UML-i põhilisi diagramme tarkvaraobjektide vaheliste suhete modelleerimiseks. Tarkvaraehituses arendab üliõpilane oskusi nende tööriistade koondamiseks, et toota tugevat ja kergesti hooldatavat tarkvara. Tarkvaraarenduse metoodika kirjeldab, millal ja kuidas tuleks OO kontseptsioone ja UMLi diagramme kasutada kvaliteetse tarkvara ehitamise eesmärgi saavutamiseks. Kursus keskendub väikesele projektile, kus on võimalik illustreerida ja rakendada loengu vormis käsitletud põhimõtteid. Kursuse lõpuks on üliõpilasel jooksev rakendus, mis on ehitatud kooskõlas RUP (Rational Unified Process) arendusmetoodika kõrgetele standarditele.

  • See kursus tutvustab algoritmide efektiivsuse analüüsimise meetodeid (sealhulgas halvima ja keskmise juhtumi analüüsi) ning tutvustab erinevaid tuntud, väga tõhusaid algoritme. Algoritmide analüüs, disain ja rakendamine on võrdselt rõhutatud. Teemadeks on otsimine ja sorteerimine, toimingute tõhusus andmestruktuurides (sh nimekirjad, hashtabid, tasakaalustatud binaarotsingupuud, prioriteetsed järjekorrad), graafikualgoritmid, kombinatoorsed algoritmid, kordumissuhted, dünaamiline programmeerimine, NP-täielikud probleemid ja mõned erilised teemad kui aeg lubab. (Erilisteks teemadeks on arvutusgeomeetria, krüptosüsteemide algoritmid, ühtlustamine, suurandmed ja paralleelarvutus.)

  • See kursus käsitleb sügavalt asünkroonse veebiprogrammeerimise kontseptsioone ja hõlmab JS-i kõige olulisemaid disainimustreid, sealhulgas vaatleja mustrit, tehast, dekoraatorit ja palju muud. See hõlmab ka tööd Web API ja muutumatute andmestruktuuridega.

    Teemad hõlmavad: Koostöö Git; Sissejuhatus TypeScripti ja Bundleritesse; asünkroonne JavaScript; Event-Loop; History API, geograafilise asukoha API; Ajax (HTTP, Ajax, JSON, toomine, sissejuhatus CORS-i, silumine); Promises ja Async/Await; Reaktiivne programmeerimine; RxJS vaadeldavad ja operaatorid; Kujundusmustrid: moodul, prototüüp, üksik, vaatleja, fassaad, tehas, dekoraator, puhverserver, strateegia, meeldetuletus; Kaasaegsed veebibrauserid. Eeltingimused puuduvad.

    (4 ühikut)

  • Arvutustehnika tulevik on paralleelne. Järjestikuse jõudluse kasv on peatunud, kuna protsessorite konstruktsioonid on jõudnud miniaturiseerimise, taktsageduse, võimsuse ja soojuse piiridesse. 2005. aastal hakkas protsessorituumade arv järsult kasvama ühest tuumast mitme tuumani, luues võimaluse programme palju kiiremini käivitada. Selle potentsiaali kasutamiseks peavad programmeerijal aga olema teadmised paralleelse programmeerimise tehnikatest.

    See kursus õpetab õpilastele paralleelse programmeerimise põhimõisteid Java 9 kontekstis. Paralleelprogrammeerimine võimaldab arendajatel kasutada mitmetuumalisi arvuteid, et muuta oma rakendused kiiremini tööle, kasutades samaaegselt mitut tuuma. Selle kursuse lõpuks saate teada, kuidas kasutada populaarseid paralleelseid Java-raamistikke (nt Multi-Threading, Streams ja Executors), et kirjutada paralleelseid programme paljudele mitmetuumalistele platvormidele, sealhulgas serveritele, lauaarvutitele või mobiilseadmetele.

    Sellel kursusel kasutatavate tarkvaratööriistade hulka kuuluvad Microsoft Visual Studio, Java multithreading raamatukogu ja OpenMP keermestusstandard. (4 ühikut) Eeldus: arvutiprogrammeerimise tundmine Java, C või C++ abil.

    Lisateabe saamiseks vaadake seda viieminutilist videot, mille on teinud selle kursuse professor:

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

  • See kursus annab süstemaatilise sissejuhatuse interaktiivsete ja dünaamiliste veebirakenduste programmeerimisse. Kursus on mõeldud inimestele, kellel on vähene või puudub eelnev veebirakenduste programmeerimise kogemus. See pakkumine kasutab serveripoolseks töötlemiseks NodeJS-i ja Expressi raamistikku.

    Kursus algab HTML-i ja CSS-i põhialuste ülevaatega, pöörates erilist tähelepanu veebilehtede paigutusele CSS-i abil. JavaScript on programmeerimiskeel, mida kasutatakse kogu kursuse jooksul, sealhulgas funktsioonid, objektid, moodulid, jQuery raamistik, Ajax ja Promises. Õpilased veedavad suurema osa ajast järjest keerukamate ja keerukamate veebisaitide programmeerimisel. Kursuse viimase nädala nurgakiviprojekt loob SQL-i andmebaasi taustaprogrammiga veebisaidi, millele klient pääseb optimaalse jõudluse tagamiseks asünkroonselt juurde.

    See kursus on CS545 veebirakenduste arhitektuuri ja CS572 kaasaegsete veebirakenduste eeltingimus. Eeldus: CS 220 või CS 401 või osakonna õppejõu nõusolek

    (4 ühikut)

  • Androidi programmide arendamine on põnev ja potentsiaalselt tulus kogemus. Androidi arendus avab programmeerijale loovuse maailma. See võimaldab teil end digitaalses maailmas väljendada viisil, millest te pole unistanudki, kus saate luua toote ja teha selle miljarditele kasutajatele kättesaadavaks vaid ühe nupuvajutusega. Sellel kursusel õpetatakse arendama Androidi rakendusi kasutades Kotlini programmeerimiskeelt.

    Teemad on järgmised: arvuti seadistamine Androidi programmeerimiseks; ilmsed põhitõed; küljendused, tegevused, vaated ja kasutajaliidese komponendid; Töö kavatsuste, fragmentide ja jagatud eelistustega; Veebivaade ja HTML; Multimeediaga töötamine; Android Jetpacki komponendid, ruumiandmebaas ja JSON; Andurid; Lokaliseerimine; Rakenduse avaldamine Google Play poes. (4 ühikut) Eelteadmisi ei nõuta.

  • See kursus keskendub JavaScripti kasutamisele taustaprogrammis (NodeJS). Õpilased õpivad, kuidas NodeJS töötab, ja saavad sügavalt aru selle põhirakenduse programmeerimisliidest (API). Kursusel käsitletakse JS-i kompilaatorimootori (V8) tööd, koodi struktureerimist moodulite abil ning asünkroonse koodi toimimist Node'is ja Node'i sündmustetsüklis. Kursusel õpetatakse ka Node Package Manager (NPM), veebiserveri ehitamist, Expressi raamistikuga töötamist ja ODM-i (nt Mongoose) kasutamist MongoDB haldamiseks. Õpilased õpivad kõiki tehnikaid, mis määratlevad kaasaegse veebirakenduse, sealhulgas kasutajate autentimist JSON Web Tokenidega, andmete säilitamist andmebaasis ja Restful API loomist. Käsitletakse ka muid arvutiteaduse mõisteid.

    Teemad hõlmavad: HTTP & Rest API disain; Stateless vs stateful rakendused; Sõlme API; Sõlme paketihaldur (npm); Mudeli-kontrolleri arhitektuur, Expressi raamistik ja vahevara; serveripoolne marsruutimine; Tokenipõhine autentimine. Eeltingimused puuduvad.

    (4 ühikut)

  • Big Data on uus loodusvara: andmed kahekordistuvad iga 12–18 kuu tagant. See uus suurandmete analüüsi kursus hõlmab põhilisi mõisteid ja tööriistu suurte mitmekesiste andmekogumite kaevandamiseks, et luua uusi teadmisi. Valdate R-keele kasutamist Wordcloudi, Pageranki, andmete visualiseerimise, otsustuspuude, regressiooni, klastrite, närvivõrkude ja muu loomiseks. Te töötate mõne suure mitme miljoni rekordilise andmekogumiga ja ka minu Twitteri voogudega. Õpid Hadoop / MapReduce ja Streaming Data kontseptsioone ning uurid individuaalsete uurimistööde kaudu teisi Apache Big Data projekte, nagu Spark, Flink, Kafka, Storm, Samza, NoSQL. Te töötate rühmades Kaggle.com-i avatud projektide kallal, et võistelda auhinnaraha nimel, lahendades tõu parimate andmete-analüütiliste väljakutsetega. Samuti õpitakse kasutama tööstusharu juhtivat IBM SPSS Modelerit ja avatud lähtekoodiga andmekaeveplatvorme. Kursusel kasutatakse ka mitmesuguseid videokoolitusmaterjale MIT-ilt, Courseralt, Google'ilt ja mujalt. (4 ühikut) Eeldus: osakonna teaduskonna nõusolek

  • Tarkvaraarendus on süstemaatiline protsess, mille käigus luuakse, täpsustatakse, analüüsitakse, kujundatakse, programmeeritakse, testitakse, dokumenteeritakse ja hooldatakse teatud süsteemi- või rakendustarkvara.

    Sellel kursusel õpivad õpilased, kuidas toota ettevõttetasemel tarkvaralahendusi, võttes nõuded kontseptsioonist läbi analüüsi, disaini, juurutamise ja testimise kuni töötava tarkvara tarnimise ja juurutamiseni. See õpetab erinevaid põhimõtteid, parimaid tavasid ja seotud tööriistu ja tehnoloogiaid ning seda, kuidas neid kvaliteetsete ja tugevate tarkvaralahenduste tootmisel kasutatakse ja rakendatakse. Käsitletavad tehnikad ja tööriistad keskenduvad enamasti Java tarkvaraplatvormile, kuid mitte ainult.

    Uurime tehnikaid, kuidas tarkvaratootele õigeid nõudeid tuvastada ja esile kutsuda, kuidas neid nõudeid analüüsida ning valida sobiv tarkvaralahenduse arhitektuur ja luua sobiv disain. Ja kuidas rakendada kujundust koodis, sealhulgas testida, ja lõpuks, kuidas luua ja pakendada saadud artefakt tarnimiseks/juurutamiseks. Kaalume erinevaid kaasaegseid juurutusmehhanisme, sealhulgas pilve. Eeltingimus: CS 401

    Teemade hulka kuuluvad:

    • Andmebaaside kujundamine ja arendamine
    • Objektorienteeritud analüüs ja disain
    • Domeeni modelleerimine
    • Süsteemiarhitektuur
    • Veebirakenduste arendamine Spring Web MVC abil
    • Süsteemi juurutamine ja testimine; sealhulgas üksuse testimine, pilkamine ja integratsiooni testimine
    • Tarkvara turvalisus – sealhulgas identiteedi- ja juurdepääsuhaldus
    • Konteinerimine ja konteinerite tehnoloogiad

    (4 ühikut)

  • Kursuse eesmärk on anda üliõpilastele juhtimisoskused ja oskused, kaasa arvatud suhtlemisoskused, mis on ette nähtud tulevaste juhtrollide ettevalmistamiseks.

    Kursuse lõppedes mõistavad õpilased vastuseid tõhusa juhtimise põhiküsimustele, sealhulgas järgmist:

    Kas on olemas loomulikult sündinud liidrid?

    Kas teil peab olema karisma, et tõhusalt juhtida?

    Milline üks vara peab olema liider?

    Mis vahe on juhtimise ja juhtimise vahel?

    Millised on paljud "intelligentsed", mida on vaja selle ajastu juhtimiseks?

    Mis on „juhtimisviga” ja kuidas see toob endaga kaasa sabotaaži?

    Teades, et tagasiside on juhtiva protsessi jaoks hädavajalik, kuidas saame selle hirmu anda ja vastu võtta?

    Milline on 80i% töökohtade probleemidest?

    Kas on olemas teaduslikke uuringuid, mis aitavad organisatsioonil parandada selle individuaalseid ja meeskonna juhtimisoskusi?

    Külaliste sõnavõtjad on tuntud ettevõtjad, arvutiteadlased, filantroopid, akadeemikud ja teised ühiskonna silmapaistvad juhid.

    (2 ühikut)

Täiustatud kursused

  • Projektijuhtimine tutvustab õpilasele õppimist läbi projekti praktilise arendamise, loengute, lugemise, projektijuhtimise raamistiku, selle teadmusvaldkondade (10 teadmusvaldkonda ja nendega seotud protsessid) kogemise ja juurutamise. Õpilased töötavad läbi reaalse projekti rakendamise ja kogevad projektijuhtimise rolli tarkvaraarenduse elutsükli kõigis etappides, kasutades rakenduste arendamise metoodikat.

    Õpilased saavad tõelise kogemuse projekti planeerimise, nõuete haldamise, ulatuse haldamise, kodeerimisstandardite, mooduli/koodi kuluprognooside kohta nii dollari väärtuses kui ka töötundide, ajakavade haldamise, kvaliteedijuhtimise, riskijuhtimise ja kommunikatsioonihalduse osas. Kursuse lõpuks on õpilastel töötav rakendus, mis on välja töötatud tööstuses kasutatavate PM-protsesside abil. (Alates nõuetest kuni tootmise juurutamiseni). Projekti arendamisel kasutatakse uusimaid Java tehnoloogiaid ja nende raamistikke koos veebiteenuste ja disainimustritega.

  • See kursus võtab arvesse programmeerimiskeeli kavandamise teemasid, rõhuasetusega formaalsetele meetoditele ja abstraktsioonimeetoditele. Teemadeks on andmete ja kontrolli abstraktsioon, süntaksi ja semantika ametlik spetsifikatsioon, tõendusmaterjal programmide õigsuse kohta, mitte deterministlik programmeerimine, täiustatud juhtimisstruktuurid ja konkreetsete keelte õppimine. (4 ühikud) Eeltingimus: CS 401 või osakonna teaduskonna nõusolek.

  • See kursus hõlmab pilveprogrammeerimise mustreid ja võimaldab õpilastel harjutada töötamist erinevate veebipilveteenustega, sealhulgas AWS-i serverita funktsioonidega.

    Teemad on järgmised: identiteedi- ja juurdepääsuhaldus (IAM); Virtuaalne privaatpilv (VPC), võrgu juurdepääsu kontrolli loendid – NACL, alamvõrgud, saadavuse tsoonid, lihtne salvestusteenus (S3), elastne pilvarvutus (EC2), lihtne teavitusteenus (SNS), elastne koormuse tasakaalustaja (ELB), automaatne skaleerimine, Route 53, API pilves; AWS lambda, serverita; Veebiteenused; Rakenduse juurutamine, lõplik projekt. (4 ainepunkti). (Eeltingimusi pole)

  • Kaasaegset infotöötlust määravad suured andmehoidlad, mida ei saa tavapäraste andmebaasisüsteemidega käsitseda. See kursus hõlmab uusimaid tehnoloogiaid, mida tööstuse juhid kasutavad ja kasutavad selle probleemi lahendamiseks kõige tõhusamal viisil. Konkreetsed teemad hõlmavad MapReduce'i algoritme, MapReduce'i algoritmi projekteerimismustreid, HDFS-i, Hadoopi klastrite arhitektuuri, YARN-i, suhtelisi arvutussagedusi, sekundaarset sorteerimist, veebi indekseerimist, inverteeritud indekseid ja indeksi kokkusurumist, Spark algoritme ja Scala. (4 ühikud) Eeltingimus: CS 435 algoritmid.

  • Vaid mõne lühikese aastaga on suurandmetehnoloogiad muutunud hype valdkonnast uue digitaalajastu üheks põhikomponendiks. Need tehnoloogiad on teabe teadmisteks muutmisel väga kasulikud. Kursuse eesmärk on lisada oma arsenali mõned olulised tööriistad, mis aitavad lahendada erinevaid suurandmete probleeme.

    Kursus algab vastuste andmisega küsimustele nagu „Mis on suurandmed ja selle tähtsus? Kuidas salvestada suuri andmeid usaldusväärselt ja odavalt? Milliseid tööriistu kasutada nendest suurandmetest kasuliku teabe leidmiseks? jne." Sellel kursusel õpivad õpilased erinevaid tööriistu ja programmeerimismudeleid suurandmete analüüsimiseks. Teemade hulka kuuluvad Hadoopi ökosüsteemiprojektid, nagu MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper, aga ka Apache Sparki ökosüsteemiprojektid, nagu Spark SQL ja Spark Streaming. Õpilastele antakse ka võimalus luua täielik suurandmete konveier, alustades andmete reaalajas kogumisest, töötlemisest, analüüsimisest ja lõpuks tulemuste vaatamisest graafilises vormingus armatuurlaual. Õpilased töötavad peamiselt Cloudera levitamise ühe sõlme Hadoopi klastriga. (4 ühikut) (MPP on ainus eeltingimus)

  • Erinevatest allikatest pärinevate andmete kiire kasvuga on enamik ettevõtteid ja organisatsioone muutunud tugevalt andmepõhiseks. Big Data Analyticsi põhifunktsioon on sellistest andmetest võtmeteabe eraldamine ja teadmisteks ja luureandmeteks teisendamine. Seetõttu kulutavad üha enam ettevõtteid Data Analyticsile rohkem raha. Seda kiirendab nüüd veelgi kiire kasv Digitaalne Transformation. See Big Data Analyticsi kursus hõlmab analüütika, algoritmide ja tööriistade põhikontseptsioone suurte ja erinevate andmekogumite kaevandamiseks, et luua uusi äriteavet.

    Kõik peamised analüüsid, sealhulgas Kirjeldav, ennustav, ettekirjutav ja diagnostiline kaetakse. See hõlmab algoritmilisi lähenemisviise suurte andmekogumite (struktureerimata, segatud, struktureeritud, graafikud ja voogedastus) analüüsimiseks: masinõpe (närvivõrgud, süvaõpe, otsustuspuud, juhuslik mets ja palju muud), AI, loomuliku keele töötlemine (NLP), statistika ja voogedastusalgoritmid kaasaegsete hajutatud analüüsiplatvormide (nt MapReduce, Hadoop, Spark) kaudu regressiooni (ennustus), klassifitseerimise, rühmitamise, soovitussüsteemide ja muu jaoks. Täiustatud suurandmete analüüs, Eriti Põhjuslik analüüs kaetakse ka. Enamasti kasutatakse Python / R programmeerimiskeeli. Õpilased teevad ka grupiprojekti, et lahendada päriselu probleem Big Data Analyticsi abil.

    (4 ühikut) Eeldus: osakonna õppejõudude nõusolek

  • See kursus käsitleb praeguseid meetodeid ja tavasid tarkvarasüsteemide hea kujundamiseks. Teemad hõlmavad tarkvara kujundamise mustreid, raamistikke, arhitektuure ja projekteerimissüsteeme nende mitmetasandiliste abstraktsioonide rakendamiseks. (2-4 AP) Eeldus: CS 401 või osakonna õppejõu nõusolek.

  • See kursus keskendub suuremahuliste ettevõtete rakenduste väljatöötamisel kasutatavate põhimõtete ja tavade õpetamisele. Uurime erinevaid sageli kasutatavaid arhitektuurikihte ja nende kihtidega seotud erinevaid tehnoloogiaid, sealhulgas objektide relatsioonikaardistamist (ORM), sõltuvuse sisestamist (DI), aspektipõhist programmeerimist (AOP) ja integreerimist muude rakendustega veebiteenuste kaudu (RESTfull). ja SOAP), sõnumside ja kaugmeetodi kutsumine. Peab olema tööalased teadmised relatsiooniandmebaasidest ja SQL-ist. Kui teil pole SQL-i tugevat kursust või häid tööalaseid teadmisi, peaksite enne EA-s registreerumist registreeruma CS422 DBMS-i kasutajaks. (4 ühikut)

  • See kursus keskendub veebirakendustele ettevõtte seadetes. Ettevõtlusrakendus on suur tarkvarasüsteem, mis on loodud toimima suures organisatsioonis, näiteks ettevõtte või valitsuse poolt. Ettevõtlusrakendused on keerulised, skaleeritavad, komponendipõhised, jaotatud ja missioonikriitilised. See kursus, CS545, keskendub ettevõtte veebirakenduse esi- või esitluskihile. CS544 Enterprise Architecture on kaaslane, mis keskendub tagasi- või ärikihile, sealhulgas äriloogikale, tehingutele ja püsivusele. CS472, veebirakenduste programmeerimine, on eeltingimus, mis hõlmab HTML-i, CSS-i, JavaScripti, servette ja JSP-d.

    Kursus õpetab põhimõtteid ja mudeleid, mis on üldised platvormide ja raamistike lõikes. Kursus uurib ja töötab kahe domineeriva Java veebiraamistiku, Java Server Faces'i (JSF) ja SpringMVC abil. JSF on komponendipõhine raamistik ja see on Java Enterprise Editioni tehnoloogiastipi ametlik esitlusraamistiku spetsifikatsioon. SpringMVC on osa Core Spring'i raamistikust ja sellest on viimastel aastatel saanud kõige levinum Java veebiraamistik. (4 ühikud) Eeltingimus: CS 472 või osakonna teaduskonna nõusolek.

  • React on kõige populaarsem raamatukogu võimsate veebirakenduste loomiseks. Sellel kursusel õpivad õpilased, kuidas kasutada Reacti ja ES6, et luua algusest peale tugevaid, skaleeritavaid rakendusi, kasutades rakenduse oleku säilitamiseks uusimaid Reduxi mustreid.

    Teemade hulka kuuluvad: komponendipõhine veebirakenduste arendus, komponentide disainimustrid, ülejäänud API-de tarbimine, brauseri API-ga püsivus, JSX ja React API (rekvisiidid, rekvisiidid, sündmused, viited), rakenduse andmevoog ja Reacti rakenduste juurutamine. Eeltingimused WAP või CS 477.

    (4 ühikut)

  • Sellel kursusel õpivad õpilased üheleheliste veebirakenduste (SPA) reaktiivset programmeerimisarhitektuuri koos kõigi vajalike oskustega täieliku kaasaegse veebirakenduse loomiseks TypeScripti ja Angulari abil. Õpilased saavad sügavalt aru, kuidas Angular töötab, sealhulgas: muutuste tuvastamine; Reaktiivne RxJ programmeerimine vaadeldavate ja subjektidega; The Shadow DOM; Tsoonid; Moodulid, komponendid, kohandatud juhised ja torud; Teenused ja sõltuvussüst; Angular kompilaator: JIT ja AOF kompileerimine; Vormid (mallipõhised ja andmepõhised); Marsruutimine, piirded ja marsruudi kaitse; HTTP klient; ja JWT JSON Web Token autentimine. Eeltingimused: WAP või CS 477.

    (4 ühikut)

  • See kursus läheb üle veebiarenduselt mobiilirakenduste arendamisele, kasutades Facebooki populaarset raamistikku React Native, mis võimaldab platvormidevahelisi kohalikke rakendusi JavaScripti kasutades ilma Java või Swiftita töötada. Kursusel tutvustatakse kaasaegset JavaScripti – JavaScript XML-i (JSX) – JavaScripti laiendust. Õpilased saavad kogemusi React Native'i ja selle paradigmade, rakenduste arhitektuuri ja kasutajaliidestega. Kursus kulmineerub lõputööga, mille käigus õpilased rakendavad täielikult enda disainitud mobiilirakendust. Eeltingimused: WAA või CS568.

    (4 ühikut)

  • Selle kursuse käigus saate õppida SPA reaktiivset programmeerimisarhitektuuri (ühe lehekülje veebirakendused) koos kõigi vajalike oskustega täieliku kaasaegse veebirakenduse loomiseks. Tehnoloogiad hõlmavad järgmist: NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase ja NoSQL andmebaasid (MongoDB). Kursus hõlmab:

    • Kuidas C ++ V8 mootor ja asünkroonne kood töötavad sõlmes ja sõlme sündmuskohas.
    • Kuidas struktureerida oma koodi korduvkasutamiseks ja ehitada Restful API moodulite ja ExpressJSi abil.
    • Kuidas NoSQL andmebaasid toimivad: Mongo Shell, Aggregation Framework, Replica Sets, Clustering, Shards, Mongoose ORM.
    • Sügav mõistmine selle kohta, kuidas nurk (Google'i toetatud) toimib, muutuste avastamine, reaktiivne RxJ-de programmeerimine vaatluste ja objektidega, vari DOM, tsoonid, moodulid ja komponendid, kohandatud direktiivid ja torud, teenused ja sõltuv sissepritse, nurgakompilaator, JIT ja AOF koostamine , Vormid (Template Driven ja Data Driven), andmete sidumine, marsruutimine, valvurid ja marsruutide kaitse, HTTP klient, JWT JSONi veebimärgistuse autentimine.

    (4 ühikut)

  • Sellel praktikumikursusel täidavad õpilased arvutiga seotud ülesandeid tehnilisel ametikohal. Tehtud ülesanded võivad olla uute süsteemide kavandamine ja väljatöötamine või olemasolevate süsteemide rakendamine konkreetsetel eesmärkidel. Praktikumi ametijuhendid sõnastavad tööandja ja üliõpilane ning need vajavad eelnevalt heakskiitu üks osakonna lõpetanud teaduskondadest, konsulteerides praktikumi juhendajaga, kuhu üliõpilane paigutatakse. (See kursus on mõeldud peamiselt praktika- või koostööprogrammides õppijatele.) (0.5–1 ühikut ploki kohta - võib korrata.)

  • Masinaõpe (ML) on õppevaldkond, mis annab arvutitele võimaluse andmetest õppida, on peaaegu iga teadusdistsipliini keskmes ning andmete põhjal üldistamise (st ennustamise) uurimine on masinõppe keskne teema. . See kursus annab kraadiõppe sissejuhatuse masinõppesse ja põhjaliku ülevaate uutest ja täiustatud meetoditest masinõppes ning nende aluseks olevast teooriast. Selles rõhutatakse praktilise tähtsusega lähenemisviise ja käsitletakse mitmeid hiljutisi masinõppe rakendusi, nagu andmekaeve (suurandmetes / andmeteaduses, andmeanalüüsis), loomuliku keele töötlemine, arvutinägemine, robootika, bioinformaatika ning teksti- ja veebiandmete töötlemine. Masinõpet kasutatakse erinevates tööstusharudes, sealhulgas finantsteenused, nafta ja gaas, tervishoid, turundus ja reklaam, valitsus, Internet ja asjade internet.

    See kursus hõlmab erinevaid õppimisparadigmasid, algoritme, teoreetilisi tulemusi ja rakendusi. Selles kasutatakse tehisintellekti, teabeteooria, statistika ja kontrolliteooria põhimõisteid niivõrd, kuivõrd need on seotud masinõppega. Teemad hõlmavad: juhendatud õppimist (generatiivne / diskrimineeriv õppimine, parameetriline / mitteparameetriline õppimine, närvivõrgud, tugivektorimasinad, otsustuspuu, Bayesi õppimine ja optimeerimine); järelevalveta õppimine (klastrid, mõõtmete vähendamine, tuumameetodid); õpiteooria (eelarvamuste / dispersioonide kompromissid; riskikapitali teooria; suured varud); tugevdav õppimine ja adaptiivne kontroll. Muude teemade hulka kuuluvad HMM (varjatud Markovi mudel), evolutsiooniline arvutus, sügav õppimine (närvivõrkudega) ja algoritmide kujundamine, mille jõudlust saab põhjalikult analüüsida masinaõppe põhiprobleemide osas.

    Kursuse oluline osa on grupiprojekt. Lühidalt, jagatud ja skaalautuvia masinaõppeks kasutatavaid olulisi avatud lähtekoodiga tööriistu käsitletakse lühidalt, et aidata projektide läbiviijatel. (4 ühikud) Eeltingimus: Puudub.

  • Tehisintellekt (AI) on distsipliin, mis püüab luua ja mõista intelligentseid süsteeme. Inimtasemel intelligentsusega arvutitel oleks ühiskonnale tohutu mõju. Intelligentsed tarkvaraagendid ja mitme agentuuriga süsteemid kasvavad kiiresti ja aitavad paljudes valdkondades, nagu digitaalne transformatsioon, automatiseerimine, vestlussüsteemid, veebiotsing, robootika, tootmine, tervishoid, farmaatsia, pangandus, tarneahel, autonoomne juhtimine, reklaam, mängud. nimeta mõned. AI juhib mitme triljoni dollari suurust tööstust. See kursus õpetab AI aluseid ja annab õpilastele praktilise arusaama sellest valdkonnast. Teemad hõlmavad tehisintellekti põhikontseptsioone – intelligentsed agendid, mitme agendi süsteemid, intelligentne otsing, esimest ja kõrgemat järku loogika, teadmiste esitus, arutluskäik, taju, õppimine, semantika (NLP, kujutis, objekt..), planeerimine, otsuste tegemine, tegutsev, reageeriv, arutlev, ratsionaalne, kohanemisvõimeline, suhtlemine ja suhtlemine. Kursusel rõhutatakse praktilise tähtsusega lähenemisviise ja käsitletakse mitmeid hiljutisi populaarseid AI rakendusi. Lühidalt käsitletakse peamisi avatud lähtekoodiga tööriistu ja AI programmeerimiskeeli (sh madala koodi ja koodita). Õpilased teevad ka grupiprojekti, et lahendada tehisintellekti kasutades päriselu probleem.

    (4 ühikut) Eeldus: osakonna õppejõudude nõusolek

  • Selles kursuses vaatleme tehnikaid, põhimõtteid ja mudeleid, kuidas kavandada mikroserverite abil paindlikke, skaleeritavaid, testitavaid ja paindlikke tarkvarasüsteeme. Uurime, kuidas saaksime suuri rakendusi jagada väiksemateks mikroserveriteks, mida on lihtsam ehitada, ja muid eeliseid võrreldes monoliitsete ettevõtte rakendustega. Jaotatud mikroserveri arhitektuur annab ka palju väljakutseid. Uurime neid väljakutseid ja nende käsitlemist. Selle kursuse teemadeks on arhitektuuri stiilid, integratsioonitehnikad ja -mustrid, domeenipõhine disain, sündmuste juhitud arhitektuur ja reaktiivne programmeerimine. (4i krediit). (Eeltingimused puuduvad)

  • MIU 50-aastase hariduse auks on arvutiteaduse osakonnal hea meel algatada meie uus Golden Jubilee ComPro Tech Talks seeria.

    Seda igakuist sarja korraldab ja juhib professor Renuka Mohanraj.

    Vestlused on saadaval aadressil https://www.youtube.com/playlist?list=PLoBuI1C_-EtrAMdD45sldMnd8HXNhmyBQ.

    Vaadake meie viimast salvestatud kõnet laupäeval, 28. mail 2022:

    MIU arvutiteaduse juhendaja Unubold Tumenbayar, AWS-i sertifitseeritud professionaalsete lahenduste arhitekt, käsitles neid teemasid meie viimases ComPro Tech Talk'is:
    o Täisvirnaga rakenduse loomine mõne minutiga pilves
    o Arutelu kaasaegsete tehnoloogiate teemal
    o GraphQL
    o Reageerige
    o NoSQL, kasutades AWS teenuseid ja tööriistu

    Vaadake Unboldi slaide siin.

    See jutt on hea eelvaade meie kohta Pilvandmetöötluse kursus (CS 516).

Uuringuvõimalused

Rahvusvahelistele üliõpilastele on 3 õppimisvõimalust.
Igaüks neist pakub arvutiteaduse magistrikraadi.
Kõigil on sisenemiskuupäevad veebruar, mai, august või november.

ProgrammidKuudepikkune õppetöö ülikoolilinnakusTasuline praktikumKaugõpe (DE) praktikumi ajal
CPT8-9Kuni 2 aastat CPT4 DE kursust
OPT9-10Kuni 11.5 kuud CPT + 3 aastat OPT (Valikuline)3 DE kursust
Täiskohaga ülikoolilinnakus12-133 aastat OPT valikNA

„Esimest korda, kui kuulsin MSCS-programmist, kahtlesin selles. Ma ei suutnud uskuda, et midagi sellist on olemas. Kuid ühel päeval liitus programmiga minu sõber. See oli siis, kui ma kinnitasin, et see on tõsi. Seejärel jätkasin oma kandideerimisprotsessi. Noh! Tõsi, olen siin, olen programmi lõpetanud ja olen nii õnnelik. ”

Kas olete valmis alustama uut karjääri?

© autoriõigus - Maharishi rahvusvaheline ülikool, arvutiteaduse magistrikraad - arvutiprofessionaalide programm℠ PRIVAATSUS

USA SAATKONNA INTERVJUU OOTEAJAD JA MSCS TAOTLUSTE TÖÖTLEMISE AJAD

Oleme avastanud, et paljudes riikides on intervjuude kuupäevad väga hilinenud. Palun vaata Viisa määramise ooteajad (state.gov) et teada saada, kui kaua aega on vaja oma riigi/linna jaoks intervjuu kuupäeva saamiseks.

Kui vestluse ooteaeg on üle 2 kuu, soovitame teil kandideerida ja taotlus koheselt täita, isegi kui plaanite kandideerida tulevaseks sisseastumiseks. Nii saate taotlusprotsessi lõpule viia, hankida oma I-20 ja seejärel saada intervjuu kuupäeva. Intervjuu kuupäeva saamiseks peab teil olema I-20. Kui kuupäev on varasem, kui plaanite USA-sse tulla, saate pärast viisa saamist alati oma saabumiskuupäeva edasi lükata. Väljastaksime teile uue I-20 sisenemiskuupäevaks, milleks plaanite tulla.

Selle teabega seotud küsimuste korral võtke ühendust meie vastuvõtuosakonnaga aadressil admissionsdirector@miu.edu.

Küsige endalt need 4 küsimust:

  1. Kas teil on bakalaureusekraad tehnikavaldkonnas? Jah või ei?

  2. Kas teil olid bakalaureusekraadis head hinded? Jah või ei?

  3. Kas teil on pärast bakalaureuse kraadi omandamist vähemalt 12 kuud täistööajaga tasustatud töökogemust tarkvaraarendajana? Jah või ei?

  4. Kas saate USA-sse tundi tulla (see programm pole võrgus saadaval)? Jah või ei?

Kui vastasite kõigile ülaltoodud küsimustele jaatavalt, võite kandideerida (Kuigi see ei garanteeri, et teid aktsepteeritakse.)