Lär dig "praktiska" färdigheter med de senaste teknologierna inom mjukvaruutveckling

Är du redo att Förbättra din karriär?

Är du redo att avancera din karriär?

I samråd med sina rådgivare väljer alla studenter Grundkurser från den vänstra kolumnen nedan och avancerade kurser från den högra kolumnen.

Baserat på kvalificerande prov som tas när de anländer till campus, endast studenter på Förberedande inträdesspår kommer att behöva ta 4-veckorskursen Fundamental Programming Practices (CS 390). FOR 506 och CS 401 krävs för alla studenter. Se examenskrav >

Grundkurser

  • Din första kurs är speciellt utformad för att skapa grunden för hur du kan bli en framstående datavetenskapsprofessionell. Kursen är rotad i övningen av transcendental meditation som leder till att din verkliga potential uppfylls. Du kommer att lära dig mer om fördelarna med TM inklusive förmågan att lösa komplexa problem genom överlägsen mental funktion som ökar kreativiteten och "out of the box" tänkande. Kursen kommer att fokusera på de principer som ligger till grund för topprestanda i aktivitet genom att utveckla en optimal blandning av vila och aktivitet. Du kommer att utveckla och uppleva en ideal daglig rutin som stöder framgång i livet. (2 enheter)

  • FPP-kursen ger ett fokuserat program för att förbättra programmerings- och analytiska färdigheter inom fem områden: problemlösning, datastrukturer, objektorienterad programmering, programmeringsspråket Java och användningen av rekursion i Java-program.

    Dessa ämnen är särskilt viktiga som en förutsättning för kurserna i forskarutbildningen i datavetenskap.

    Ämnen inkluderar: element i Java-programmering, objektorienterad design och implementering, datastrukturer (inklusive listor, staplar, köer, binära sökträd, hashtabeller och uppsättningar), undantagshierarkin, fil i / o och strömmar och JDBC. (4 poäng) Förkunskap: För studenter på grundnivå: CS 221; för doktorander: godkännande från institutionens fakultet (4 enheter)

  • MPP-kursen presenterar de grundläggande principerna för objektorienterad programmering. Studenterna kommer att lära sig hur man skriver återanvändbar och bättre underhållen programvara, och integrera denna kunskap med laboratorieuppgifter och projekt. Ämnen inkluderar: grundläggande principer och modeller för objektorienterad programmering, UML-klassdiagram och designprinciper som främjar återanvändbarhet och underhåll av programvara. (4 enheter)

  • Den här kursen täcker det väsentliga i DB-designprinciper och en introduktion till SQL- och NoSQL-databaser.

    Ämnen inkluderar: Relationella DB-designprinciper, normala former, primära och främmande och unika nycklar; Frågor (Aggregation, Joins, Sortering); Transaktioner; Dokumentbaserade DB-designprinciper, index, skalningsdatabaser; Tillgänglighet och återvinning (dumpning, återställning, export, import); Databas som en tjänst. Inga förkunskaper.

    (4-enheter)

  • Databasystem organiserar och hämtar information, vilket gör att användaren enkelt och effektivt kan komma åt den önskade informationen. Ämnen inkluderar: relationsdatamodell; SQL; ER modellering; relationell algebra; data normalisering; transaktioner; objekt i databasen; datasäkerhet och integritet; datalagring, OLAP och data mining; distribuerade databaser; och studier av ett specifikt kommersiellt databassystem. (4-enheter) Förutsättning: CS 401 eller samtycke från institutionens fakultet.

  • Programvaruteknik är en kurs som introducerar studenten till bästa praxis inom mjukvaruutveckling genom en mjukvaruutvecklingsmetodik. Studenter har redan haft erfarenhet av tidigare kurser med objektorienterade paradigmet och har använt några av de grundläggande UML-diagrammen för att modellera relationer mellan programvaruobjekt. I programvaruteknik ska studenten utveckla färdigheter i att sätta dessa verktyg tillsammans för att producera robust, lätt underhållbar programvara. En mjukvaruutvecklingsmetod beskriver när och hur OO-koncept och UML-diagram ska användas för att uppnå målet att bygga kvalitetsprogramvara. Kursen centrerar kring ett litet projekt där principerna som diskuteras i föreläsningsformatet kan illustreras och tillämpas. Efter kursens slut kommer studenten att ha en löpande ansökan, byggd i enlighet med de höga standarderna för utvecklingsmetoden för RUP (Rational Unified Process).

  • Kursen presenterar metoder för att analysera effektiviteten hos algoritmer (inklusive värsta fall och medellång analys) och introducerar en rad kända, högeffektiva algoritmer. Analys, design och implementering av algoritmer ges lika stor vikt. Ämnen omfattar sökning och sortering, effektivitet i operationer på datastrukturer (inklusive listor, hashtables, balanserade binära sökträd, prioritetsköer), grafalgoritmer, kombinationsalgoritmer, återkommande relationer, dynamisk programmering, NP-komplett problem och några speciella ämnen som tid tillåter. (Särskilda ämnen inkluderar beräkningsgeometri, algoritmer för kryptosystem, approximation, Big Data och parallell databehandling.)

  • Den här kursen går djupt in i koncept för asynkron webbprogrammering och täcker de mest väsentliga designmönstren för JS, som inkluderar observatörsmönstret, fabriken, dekoratören och många fler. Det täcker också arbete med webb-API och oföränderliga datastrukturer.

    Ämnen inkluderar: Collaborative Git; Intro till TypeScript och Bundlers; Asynkron JavaScript; Event-loop; History API, Geolocation API; Ajax (HTTP, Ajax, JSON, Fetch, Introduktion till CORS, Debugging); Löften och Async/Await; Reaktiv programmering; RxJS observerbara och operatörer; Designmönster: Modul, Prototyp, Singleton, Observer, Fasad, Factory, Decorator, Proxy, Strategi, Memoization; Moderna webbläsare. Inga förkunskaper.

    (4-enheter)

  • Framtiden för datoranvändning är parallell. Ökningen av sekventiell prestanda har planat ut eftersom processordesigner har nått gränserna för miniatyrisering, klockfrekvens, effekt och värme. Under 2005 började antalet processorkärnor abrupt att öka från en enda kärna till flera kärnor, vilket skapade potentialen att exekvera program mycket snabbare. Men för att utnyttja denna potential måste en programmerare ha viss kunskap om parallellprogrammeringstekniker.

    Denna kurs lär eleverna de grundläggande begreppen parallell programmering i sammanhanget av Java 9. Parallell programmering gör det möjligt för utvecklare att använda flerkärniga datorer för att få sina applikationer att köras snabbare genom att använda flera kärnor samtidigt. I slutet av den här kursen kommer du att lära dig hur du använder populära parallella Java-ramverk (som Multi-Threading, Streams och Executors) för att skriva parallella program för ett brett utbud av flerkärniga plattformar inklusive servrar, stationära datorer eller mobila enheter.

    Mjukvaruverktygen som används under denna kurs inkluderar Microsoft Visual Studio, Java multithreading-bibliotek och OpenMP-trådningsstandard. (4 enheter) Förutsättning: Kunskaper i datorprogrammering med Java, C eller C++.

    För ytterligare information, se den här femminutersvideon gjord av professorn för denna kurs:

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

  • Denna kurs ger en systematisk introduktion till programmering av interaktiva och dynamiska webbapplikationer. Kursen är avsedd för personer med liten eller ingen tidigare erfarenhet av webbapplikationsprogrammering. Detta erbjudande kommer att använda NodeJS och Express-ramverket för bearbetning på serversidan.

    Kursen inleds med en genomgång av grunderna i HTML och CSS, med särskilt fokus på webbsideslayout med CSS. JavaScript är det programmeringsspråk som används under kursen inklusive funktioner, objekt, moduler, jQuery-ramverket, Ajax och Promises. Studenter tillbringar det mesta av sin tid med att programmera en serie alltmer komplexa och sofistikerade webbplatser. Ett slutstensprojekt under den sista veckan av kursen skapar en webbplats med en SQL-databas backend som nås asynkront av klienten för optimal prestanda.

    Denna kurs är en förutsättning för CS545 Web Application Architecture och CS572 Modern Web Applications. Förkunskapskrav: CS 220 eller CS 401 eller samtycke från institutionens fakultet

    (4-enheter)

  • Att utveckla Android-program är en spännande och potentiellt lukrativ upplevelse. Android-utveckling öppnar upp en värld av kreativitet för programmeraren. Den låter dig uttrycka dig på sätt du aldrig drömt om i en digital värld där du kan skapa en produkt och göra den tillgänglig för miljarder användare med bara ett klick på en knapp. Den här kursen kommer att lära ut hur man utvecklar Android-applikationer med hjälp av Kotlins programmeringsspråk.

    Ämnen inkluderar: Konfigurera din dator för Android-programmering; Manifest grunderna; Layouter, aktiviteter, vyer och UI-komponenter; Arbeta med avsikter, fragment och delade inställningar; Web View och HTML; Arbeta med multimedia; Android Jetpack-komponenter, Room Database och JSON; Underskattande sensorer; Lokalisering; Publicerar app i Google Play Store. (4 enheter) Inga förkunskaper krävs.

  • Den här kursen fokuserar på att använda JavaScript i backend (NodeJS). Studenterna kommer att lära sig hur NodeJS fungerar och få en djup förståelse av dess kärna applikationsprogrammeringsgränssnitt (API). Kursen tar upp hur JS-kompilatormotorn (V8) fungerar, hur man strukturerar kod med hjälp av moduler, och hur asynkron kod fungerar i Node och Node-händelseloopen. Kursen lär också ut Node Package Manager (NPM), hur man bygger en webbserver, hur man arbetar med Express framework och hur man använder ODM som Mongoose för att hantera MongoDB. Eleverna kommer att lära sig alla tekniker som definierar en modern webbapplikation, inklusive autentisering av användare med JSON Web Tokens, kvarstående data i databasen och att bygga ett Restful API. Andra datavetenskapliga begrepp behandlas också.

    Ämnen inkluderar: HTTP & Rest API-design; Statslösa vs tillståndslösa applikationer; Nod API; Nod Package Manager (npm); Model-Controller-arkitektur, Express-ramverk och mellanprogram; Server-side routing; Tokenbaserad autentisering. Inga förkunskaper.

    (4-enheter)

  • Big Data är den nya naturresursen: data fördubblas var 12-18 månader. Den här nya Big Data Analytics-kursen täcker de grundläggande begreppen och verktygen för att bryta stora, olika datamängder för att skapa nya insikter. Du kommer att behärska användningen av R-språk för att skapa Wordcloud, Pagerank, datavisualisering, beslutsträd, regression, kluster, neurala nätverk och mer. Du kommer att arbeta med några stora flera miljoner datauppsättningar och även mina Twitter-flöden. Du kommer att lära dig Hadoop / MapReduce och Streaming Data-koncept och utforska andra Apache Big Data-projekt som Spark, Flink, Kafka, Storm, Samza, NoSQL genom individuella forskningspapper. Du kommer att arbeta i grupper på öppna projekt från Kaggle.com för att tävla om prispengar genom att lösa de bästa dataanalysutmaningarna. Du kommer också att lära dig att använda branschledande IBM SPSS Modeler och öppen källkodsplattformar. Kursen kommer också att använda ett brett utbud av videoutbildningsmaterial från MIT, Coursera, Google och andra håll. (4 enheter) Förutsättning: Institutionens fakultets samtycke

  • Mjukvaruutveckling är den systematiska processen att utforma, specificera, analysera, designa, programmera, testa, dokumentera och underhålla involverad i produktionen av vissa system eller applikationsprogram.

    I den här kursen kommer studenterna att lära sig hur man producerar programvarulösningar av företagsklass, genom att ta krav från idé till analys, design, implementering och testning till leverans och distribution av fungerande mjukvara. Den kommer att lära ut en rad principer, bästa praxis och relaterade verktyg och tekniker och hur dessa används och tillämpas i produktionen av robusta mjukvarulösningar av hög kvalitet. De tekniker och verktyg som tas upp kommer till största delen att vara centrerade kring, men inte begränsade till, Java-programvaruplattformen.

    Vi kommer att studera teknikerna för hur man identifierar och framkallar de korrekta kraven för en mjukvaruprodukt, hur man analyserar dessa krav och väljer en lämplig mjukvarulösningsarkitektur och skapar en lämplig design. Och hur man implementerar designen i kod, inklusive testning och slutligen hur man bygger och paketerar den resulterande artefakten för leverans/distribution. Vi kommer att överväga olika moderna distributionsmekanismer, inklusive molnet. Förutsättning: CS 401

    Ämnen kommer att omfatta:

    • Databasdesign och utveckling
    • Objektorienterad analys och design
    • Domänmodellering
    • Systemarkitektur
    • Webbapplikationsutveckling med Spring Web MVC
    • Systemimplementering och testning; inklusive enhetstestning, mocking och integrationstestning
    • Programvarusäkerhet – inklusive identitets- och åtkomsthantering
    • Containerisering och containerteknik

    (4-enheter)

  • Målet med kursen är att ge eleverna kunskaper och färdigheter i ledarskap, inklusive kommunikationsförmåga som förberedelser för framtida ledarroll roller.

    I slutet av kursen kommer studenterna att förstå svaren på nyckelfrågor angående effektivt ledarskap, inklusive följande:

    Finns det "naturfödda" ledare?

    Måste du få karisma att leda effektivt?

    Vilken tillgång krävs för att vara ledande?

    Vad är skillnaden mellan att hantera och leda?

    Vad är de många "intelligenser" som krävs för att leda i denna tid?

    Vad är "management felbehandling" och hur leder det till själv-sabotage?

    Att veta att feedback är viktigt för den ledande processen, hur kommer vi över rädslan att ge och ta emot den?

    Vad är källan till 80% av problemen på arbetsplatsen?

    Finns det vetenskaplig forskning tillgänglig för att hjälpa organisationen att förbättra sin individuella kompetens och ledarskap?

    Gästhögtalare kommer att omfatta framstående entreprenörer, datavetenskapare, filantroper, akademiker och andra framstående samhällsledare.

    (2-enheter)

Avancerade kurser

  • Projektledning introducerar studenten att lära sig genom praktisk utveckling av ett projekt, föreläsningar, läsning, upplevelse av Project Management Framework, dess samling av kunskapsområden (10 kunskapsområden och relaterade processer) och implementering. Studenter arbetar genom en verklig projektimplementering och upplever rollen som projektledning i alla faser av mjukvaruutvecklingens livscykel med hjälp av en metod för applikationsutveckling.

    Studenter får verklig erfarenhet av projektplanering, kravhantering, scope management, kodningsstandarder, kostnadsuppskattningar för modul/kod i termer av dollarvärde såväl som i termer av mantimmar, schemahantering, kvalitetshantering, riskhantering och kommunikationshantering. Vid slutet av kursen kommer studenterna att ha en körande applikation som är utvecklad med de PM-processer som används inom industrin. (Börjar från krav till produktionsinstallation). Projektet är utvecklat med den senaste Java-tekniken och deras ramverk med webbtjänsterna och designmönster.

  • Kursen behandlar avancerade ämnen i programmeringssprogdesign med inriktning på formella metoder och abstraktionsmekanismer. Ämnen inkluderar data- och kontrollabstraktion, formell specifikation av syntax och semantik, bevis på programkorrigitet, icke-deterministisk programmering, avancerade kontrollstrukturer och studier av specifika språk. (4-enheter) Förutsättning: CS 401 eller samtycke från institutionens fakultet.

  • Den här kursen kommer att täcka molnprogrammeringsmönster och kommer att tillåta studenter att öva på att arbeta med olika webbmolntjänster, inklusive AWS Serverless-funktioner.

    Ämnen inkluderar: Identity & Access Management (IAM); Virtual Private Cloud (VPC), Network Access Control Lists – NACL, Subnät, Availability Zones, Simple Storage Service (S3), Elastic Cloud Compute (EC2), Simple Notification Service (SNS), Elastic Load Balancer (ELB), Auto Scaling, Route 53, API i molnet; AWS Lambda, serverlös; Webbservice; Applikationsdistribution, slutprojekt. (4 poäng). (Inga förkunskaper)

  • Modern informationsbehandling definieras av stora datalager som inte kan hanteras av traditionella databassystem. Kursen omfattar den senaste tekniken som utvecklats och används av branschledare för att lösa detta problem på det mest effektiva sättet. Specifika ämnen som omfattas är MapReduce-algoritmer, MapReduce-algoritmdesignmönster, HDFS, Hadoop-klusterarkitektur, YARN, beräkning av relativa frekvenser, sekundär sortering, webbkryptering, inverterade index och indexkomprimering, Spark-algoritmer och Scala. (4-enheter) Förutsättning: CS 435-algoritmer.

  • På bara några korta år har big data-teknik gått från hypen till en av kärnkomponenterna i den nya digitala tidsåldern. Dessa tekniker är mycket användbara för att omvandla information till kunskap. Målet med kursen är att lägga till några viktiga verktyg till din arsenal för att hjälpa dig att lösa olika big data-problem.

    Kursen börjar med att ge svar på frågor som ”Vad är Big Data och dess betydelse? Hur lagrar du stordata tillförlitligt och billigt? Vilka verktyg ska man använda för att hitta användbar information från denna stora data? etc." I denna kurs kommer studenterna att studera olika verktyg och programmeringsmodeller för att analysera big data. Ämnen inkluderar Hadoop ekosystemprojekt som MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper samt Apache Spark ekosystemprojekt som Spark SQL och Spark Streaming. Studenter ges också en chans att bygga en komplett big data pipeline med början från datainsamling i realtid, bearbetning, analys och slutligen se resultaten i grafiskt format på instrumentpaneler. Studenter kommer huvudsakligen att arbeta med en enda nod Hadoop-kluster av Cloudera-distribution. (4 enheter) (MPP är den enda förutsättningen)

  • Med den snabba tillväxten av data från olika källor har de flesta företag och organisationer blivit mycket datadrivna. Att extrahera nyckelinformation från sådan data och omvandla den till kunskap och intelligens är nyckelfunktionen för Big Data Analytics. Det är därför fler företag i allt högre grad lägger mer pengar på Data Analytics. Detta påskyndas nu ytterligare genom att den växer snabbt digital Transformation. Den här Big Data Analytics-kursen täcker de grundläggande begreppen analys, algoritmer och verktyg för att bryta stora olika datauppsättningar för att generera nya affärsinsikter.

    Alla större analyser – inklusive Beskrivande, prediktiv, föreskrivande och diagnostisk kommer att täckas. Det kommer att täcka algoritmiska tillvägagångssätt för att analysera stora datamängder (ostrukturerade, blandade, strukturerade, grafer och strömmande): Machine Learning (neurala nätverk, Deep Learning, Decision Trees, Random Forest och mer), AI, Natural Language Processing (NLP), Statistisk och strömmande algoritmer, över moderna distribuerade analysplattformar (t.ex. MapReduce, Hadoop, Spark,) för regression (prediktion), klassificering, klustring, rekommendationssystem med mera. Avancerad Big Data Analytics, Särskilt Orsaksanalys kommer också att omfattas. Python / R programmeringsspråk kommer att användas mest. Eleverna kommer också att göra ett gruppprojekt för att lösa ett verkligt problem med hjälp av Big Data Analytics.

    (4 enheter) Förutsättning: Samtycke från institutionens fakultet

  • Den här kursen behandlar nuvarande metoder och praxis för god design av mjukvarusystem. Ämnen inkluderar mjukvarudesignmönster, ramverk, arkitekturer och designsystem för att tillämpa dessa abstraktioner på flera nivåer. (2-4 hp) Förkunskapskrav: CS 401 eller samtycke av institutionens fakultet.

  • Den här kursen fokuserar på att lära ut de principer och metoder som används vid utveckling av storskaliga företagsapplikationer. Vi kommer att undersöka de olika arkitektoniska skikten som används ofta och olika teknologier som är förknippade med dessa skikt, inklusive Object Relational Mapping (ORM), Dependency Injection (DI), Aspect Oriented Programming (AOP) och integration med andra applikationer genom webbtjänster (RESTfull) och SOAP), meddelanden och fjärranrop av metod. Du ska ha goda kunskaper i relationsdatabaser och SQL. Om du inte har en stark kurs eller goda kunskaper i SQL bör du registrera dig för CS422 DBMS innan du registrerar dig för EA. (4 enheter)

  • Kursen fokuserar på webbapplikationer i en företagsinställning. En företagsapplikation är ett stort programvara som är utformat för att fungera i en stor organisation som ett företag eller en regering. Enterprise-applikationer är komplexa, skalbara, komponentbaserade, distribuerade och missionskritiska. Denna kurs, CS545, fokuserar på frontänden eller presentationsskiktet i ett företagswebbprogram. CS544 Enterprise Architecture är en följeslagare som fokuserar på backend eller affärsskikt, inklusive affärslogik, transaktioner och uthållighet. CS472, Web Application Programming, är en förutsättningskurs som omfattar HTML, CSS, JavaScript, servlets och JSP.

    Kursen lär ut principer och mönster som är allmänna över plattformar och ramar. Kursen ska undersöka och arbeta med de två övervägande Java-webbramarna, Java Server Faces (JSF) och SpringMVC. JSF är en komponentbaserad ram och är den officiella presentationsramspecifikationen för Java Enterprise Edition-teknikstacken. SpringMVC är en del av Core Spring-ramen och har blivit det mest använda Java-nätverket under de senaste åren. (4-enheter) Förutsättning: CS 472 eller samtycke från institutionens fakultet.

  • React är det mest populära biblioteket för att bygga kraftfulla webbapplikationer. I den här kursen kommer studenterna att lära sig hur man använder React och ES6 för att bygga robusta, skalbara applikationer från grunden med de senaste Redux-mönstren för att bibehålla deras applikationstillstånd.

    Ämnen inkluderar: Komponentbaserad webbapplikationsutveckling, Components Design Patterns, Consuming rest APIs, Persistens med webbläsar-API, JSX och React API (rekvisita, proptyper, händelser, refs), applikationsdataflöde och implementering av React-appar. Förutsättningar WAP eller CS 477.

    (4-enheter)

  • I den här kursen lär sig studenterna Reactive Programming Architecture of Single Page Web Applications (SPA) tillsammans med alla nödvändiga färdigheter för att bygga en komplett modern webbapplikation med TypeScript och Angular. Eleverna får en djup förståelse för hur Angular fungerar, inklusive: Ändringsdetektering; Reaktiv RxJs-programmering med observerbara objekt och ämnen; The Shadow DOM; Zoner; Moduler, komponenter, anpassade direktiv och rör; Tjänster och beroendeinjektion; Vinkelkompilator: JIT- och AOF-kompilering; Formulär (malldrivna och datadrivna); Rutning, vakter och ruttskydd; HTTP-klient; och JWT JSON Web Token-autentisering. Förkunskaper: WAP eller CS 477.

    (4-enheter)

  • Den här kursen övergår från webbutveckling till mobilapplikationsutveckling med React Native, ett populärt ramverk från Facebook som gör det möjligt för plattformsoberoende applikationer att köras med JavaScript utan Java eller Swift. Kursen introducerar modern JavaScript–JavaScript XML (JSX)–en JavaScript-tillägg. Studenter får erfarenhet av React Native och dess paradigm, applikationsarkitektur och användargränssnitt. Kursen mynnar ut i ett slutprojekt där eleverna implementerar en mobilapp helt i sin egen design. Förkunskaper: WAA eller CS568.

    (4-enheter)

  • I den här kursen kommer du att lära dig SPA: s Reactive Programming Architecture (Single Page Web Applications) tillsammans med alla nödvändiga färdigheter för att bygga en fullständig modern webbapplikation. Technologies inkluderar: NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase och NoSQL databaser (MongoDB). Kursen kommer att omfatta:

    • Hur C ++ V8-motorn och asynkron kod fungerar i Node och Node-händelsesslingan.
    • Hur du strukturerar din kod för återanvändning och bygga vilolikt API med hjälp av moduler och ExpressJS.
    • Hur NoSQL-databaser fungerar: Mongo Shell, Aggregation Framework, Replica Sets, Clustering, Shards, Mongoose ORM.
    • Djup förståelse för hur Angular (backas av Google) fungerar, Change Detection, Reactive RxJs programmering med observables and subjects, skuggan DOM, zoner, moduler och komponenter, anpassade direktiv och rör, tjänster och beredskapsinjicering, vinkel kompilator, JIT och AOF kompilering , Forms (Template Driven och Data Driven), Data Binding, Routing, Guards och Ruttskydd, HTTP-klient, JWT JSON Web Token Authentication.

    (4-enheter)

  • I denna praktik kurs utför studenter datorrelaterade uppgifter i en teknisk professionell position. De uppgifter som utförs kan vara design och utveckling av nya system eller tillämpning av befintliga system för specifika ändamål. Practicum-arbetsbeskrivningar formuleras av arbetsgivaren och studenten och kräver godkännande i förväg av en av institutionens doktorsexamen, i samråd med praktikhandledaren där studenten är placerad. (Den här kursen är främst för studenter i praktik- eller kooperativa program.) (0.5-1 enheter per block - kan upprepas.)

  • Machine Learning (ML) är det studieområde som ger datorer förmågan att lära av data, är i hjärtat av nästan varje vetenskaplig disciplin, och studiet av generalisering (det vill säga förutsägelse) från data är det centrala ämnet för maskininlärning . Den här kursen ger en introduktion på forskarnivå till maskininlärning och en djupgående täckning av nya och avancerade metoder inom maskininlärning, såväl som deras underliggande teori. Den betonar tillvägagångssätt med praktisk relevans och diskuterar ett antal nya tillämpningar av maskininlärning, såsom Data Mining (inom Big Data / Data Science, Data Analytics), Natural Language Processing, Computer Vision, Robotics, Bioinformatics och Text- och webbdatabehandling. Machine Learning används i olika branscher, inklusive finansiella tjänster, olja och gas, hälsovård, marknadsföring och reklam, myndigheter, Internet och Internet of Things.

    Kursen behandlar en mängd olika inlärningsparadigmer, algoritmer, teoretiska resultat och tillämpningar. Den använder grundläggande begrepp från artificiell intelligens, informationsteori, statistik och styrteori i den mån de är relevanta för maskininlärning. Ämnen inkluderar: övervakat lärande (generativt / diskriminerande lärande, parametrisk / icke-parametrisk inlärning, neurala nätverk, supportvektormaskiner, beslutsträd, Bayesisk inlärning och optimering); oövervakad inlärning (kluster, dimensioneringsreduktion, kärnmetoder); inlärningsteori (bias / varians avvägningar; VC teori, stora marginaler); förstärkning lärande och adaptiv kontroll. Andra ämnen inkluderar HMM (Hidden Markov Model), Evolutionary Computing, Deep Learning (With Neural Nets) och designalgoritmer vars prestanda kan analyseras noggrant för grundläggande maskininlärningsproblem.

    En viktig del av kursen är ett gruppprojekt. Stora öppna källverktyg som används för parallell, distribuerad och skalbar maskininlärning kommer att kortfattat täckas för att hjälpa studenter att göra projekten. (4-enheter) Förutsättning: Ingen.

  • Artificiell intelligens (AI) är den disciplin som försöker bygga och förstå intelligenta system. Datorer med intelligens på mänsklig nivå skulle ha en enorm inverkan på samhället. Intelligenta mjukvaruagenter och multiagentsystem växer snabbt och hjälper till inom många områden som digital transformation, automation, konversationssystem, webbsökning, robotteknik, tillverkning, hälsa, läkemedel, bankverksamhet, försörjningskedja, autonom körning, reklam, spel, bara för att nämn några. AI driver en industri med flera biljoner dollar. Denna kurs kommer att lära ut grunderna för AI och ge studenterna en praktisk förståelse för området. Ämnen inkluderar kärnkoncepten för AI – intelligenta agenter, multiagentsystem, intelligent sökning, logik av första och högre ordningen, kunskapsrepresentation, resonemang, perception, lärande, semantik (NLP, Image, Object...), planering, beslutsfattande, agerande, reaktiv, deliberativ, rationell, adaptiv, kommunikation och interaktion. Kursen betonar tillvägagångssätt med praktisk relevans och diskuterar ett antal senaste populära tillämpningar av AI. Viktiga verktyg med öppen källkod och programmeringsspråk för AI (inklusive låg kod och ingen kod) kommer att behandlas kort. Eleverna kommer också att göra ett gruppprojekt för att lösa ett verkligt problem med hjälp av AI.

    (4 enheter) Förutsättning: Samtycke från institutionens fakultet

  • I denna kurs kommer vi att titta på tekniker, principer och mönster för hur man ska utforma flexibla, skalbara, testbara och fjädrande mjukvarusystem som använder mikroservices. Vi kommer att studera hur vi kan dela upp stora applikationer i mindre mikroservices som är enklare att bygga och andra fördelar jämfört med monolitiska företagsapplikationer. En distribuerad mikroservicearkitektur ger också många utmaningar. Vi kommer att studera dessa utmaningar och hur de ska hantera dem. Ämnen i kursen är arkitektoniska stilar, integrationstekniker och mönster, domänstyrd design, händelsedrikerad arkitektur och reaktiv programmering. (4-poäng). (Inga förutsättningar)

  • För att hedra 50 år av MIU-utbildning är datavetenskapsavdelningen glada över att initiera vår nya Golden Jubilee ComPro Tech Talks-serie.

    Samtal finns tillgängliga här..

Studiealternativ

Det finns 3 studiealternativ för internationella studenter.
Var och en ger en MS i datavetenskap.
Alla har tillträdesdatum februari, maj, augusti eller november.

ProgramMånader av studier på campusBetald praktikDistansutbildning (DE) under praktiken
CPT8-9Upp till 2 år CPT4 DE-kurser
VÄLJA8-9Upp till 11.5 månader CPT + 3 år VÄLJA (Tillval)4 DE-kurser
Heltid på campus12-133-år VÄLJA alternativNA

”Första gången jag hörde talas om MSCS-programmet, tvivlade jag på det. Jag kunde inte tro att något liknande existerar. Men en dag gick en av mina vänner med i programmet. Det var när jag bekräftade att det är verkligt. Sedan återupptog jag min ansökningsprocess. Väl! Det är sant, jag är här, jag har avslutat programmet och jag är så glad. ”

Är du redo att börja en ny karriär?

© Copyright - Maharishi International University, magisterexamen i datavetenskap - Program för dataprofessionella℠ Sekretesspolicy

Nya Rekrytturné i W. och N. Afrika 7-22 december

> Se detaljer och boka din gratisbiljett

(Biljetter finns nu tillgängliga för alla 5 evenemangen)

VÄNTETIDER FÖR INTERVJU AV AMBASSADEN OCH BEHANDLINGSTIDER FÖR ANSÖKNINGAR FÖR MSCS

Vi har funnit att många länder har mycket försenade intervjudatum. Snälla se Väntetider för visumbokning (state.gov) för att ta reda på hur lång tid det tar att få ett intervjudatum för ditt land/stad.

Om väntetiden för intervju är mer än 2 månader uppmuntrar vi dig att ansöka och fylla i din ansökan omgående, även om du planerar att ansöka om ett framtida inträde. På så sätt kan du slutföra ansökningsprocessen, få din I-20 och sedan få ett intervjudatum. Du måste ha en I-20 för att få intervjudatumet. Om datumet är tidigare än du planerar att komma till USA, kan du alltid skjuta upp ditt ankomstdatum när du har fått visumet. Vi skulle bara ge dig en ny I-20 för inträdesdatumet för vilket du planerar att komma.

För frågor angående denna information, vänligen kontakta vårt antagningskontor på admissionsdirector@miu.edu.

Ställ dig själv dessa 4 frågor:

  1. Har du en kandidatexamen inom ett tekniskt område? Ja eller nej?

  2. Hade du bra betyg i din kandidatexamen? Ja eller nej?

  3. Har du minst 12 månaders betald arbetserfarenhet på heltid som mjukvaruutvecklare efter din kandidatexamen? Ja eller nej?

  4. Är du tillgänglig för att komma till USA för klasser (det här programmet är inte tillgängligt online)? Ja eller nej?

Om du svarade "ja" på alla ovanstående frågor, du kan ansöka (Även om detta inte garanterar att du kommer att accepteras.)