Leer 'hands-on' vaardigheden met de nieuwste technologieën in softwareontwikkeling

Ben je klaar om Ga je carrière vooruit?

Ben je klaar om je carrière vooruit te helpen?

In overleg met hun adviseurs kiezen alle studenten Fundamentele Cursussen uit de linkerkolom hieronder en Advanced Courses uit de rechterkolom.

Op basis van kwalificerende examens die zijn afgelegd wanneer ze op de campus aankomen, zijn alleen studenten op de Voorbereidend invoertraject zal de 4-weekse cursus Fundamental Programming Practices (CS 390) moeten volgen. FOR 506 en CS 401 zijn verplicht voor alle studenten. Bekijk afstudeervereisten >

Basiscursussen

  • Uw eerste cursus is specifiek ontworpen om de basis te leggen van hoe u een best presterende computerwetenschapper kunt worden. De cursus is geworteld in de beoefening van transcendente meditatie die leidt tot vervulling van je ware potentieel. Je leert over de voordelen van TM, inclusief het vermogen om complexe problemen op te lossen door superieur mentaal functioneren, wat de creativiteit en "out of the box" -denken verbetert. De cursus richt zich op de principes die ten grondslag liggen aan topprestaties in activiteit door het ontwikkelen van een optimale mix van rust en activiteit. Je ontwikkelt en ervaart een ideale dagelijkse routine die succes in het leven ondersteunt. (2 eenheden)

  • Deze cursus biedt een gericht programma voor het verbeteren van programmeer- en analytische vaardigheden op vijf gebieden: probleemoplossing, datastructuren, objectgeoriënteerd programmeren, de programmeertaal Java en het gebruik van recursie in Java-programma's.

    Deze onderwerpen zijn van bijzonder belang als voorwaarde voor de cursussen in het graduate programma in Computer Science.

    Onderwerpen zijn onder meer: ​​elementen van Java-programmering, objectgeoriënteerd ontwerp en implementatie, datastructuren (inclusief lijsten, stapels, wachtrijen, binaire zoekbomen, hashtabellen en sets), de uitzonderingshiërarchie, bestands-i / o en streams, en JDBC. (4 studiepunten) Voorwaarde: voor niet-gegradueerde studenten: CS 221; voor afgestudeerde studenten: toestemming van de faculteit van de afdeling (4 eenheden)

  • Deze cursus presenteert de basisprincipes van objectgeoriënteerd programmeren. Studenten leren herbruikbare en beter onderhouden software te schrijven en integreren deze kennis met laboratoriumopdrachten en projecten. Onderwerpen zijn onder meer: ​​fundamentele principes en modellen van objectgeoriënteerd programmeren, UML-klassendiagrammen en ontwerpprincipes die herbruikbaarheid en onderhoudbaarheid van software bevorderen. (4-eenheden)

  • Deze cursus behandelt de essentie van DB-ontwerpprincipes en een inleiding tot SQL- en NoSQL-databases.

    Onderwerpen zijn onder meer: Relationele DB-ontwerpprincipes, normale vormen, primaire en buitenlandse en unieke sleutels; Query's (aggregatie, joins, sorteren); Transacties; Op documenten gebaseerde DB-ontwerpprincipes, indexen, schaaldatabases; Beschikbaarheid en herstel (dump, restore, export, import); Database als een service. Geen vereisten.

    (4-eenheden)

  • Databasesystemen organiseren en halen informatie op, waardoor de gebruiker eenvoudig en efficiënt toegang heeft tot de gewenste informatie. Onderwerpen zijn onder meer: ​​relationeel gegevensmodel; SQL; ER-modellering; relationele algebra; gegevensnormalisatie; transacties; objecten in de database; gegevensbeveiliging en integriteit; datawarehousing, OLAP en datamining; gedistribueerde databases; en studie van een specifiek commercieel database systeem. (4-eenheden) Voorwaarde: CS 401 of toestemming van de faculteitsafdeling.

  • Software Engineering is een cursus die de student laat kennismaken met de best practices in softwareontwikkeling via een software-ontwikkelingsmethode. Studenten hebben al wat ervaring opgedaan in eerdere cursussen met het objectgeoriënteerde paradigma en hebben enkele van de elementaire UML-diagrammen gebruikt voor het modelleren van relaties tussen softwareobjecten. In Software Engineering zal de student vaardigheden ontwikkelen om deze tools samen te brengen om robuuste, gemakkelijk te onderhouden software te produceren. Een softwareontwikkelingsmethode beschrijft wanneer en hoe OO-concepten en UML-diagrammen moeten worden gebruikt om het doel van het bouwen van kwaliteitssoftware te bereiken. De cursus concentreert zich rond een klein project waarin de principes besproken in het lesformaat kunnen worden geïllustreerd en toegepast. Tegen het einde van de cursus heeft de student een lopende aanvraag, gebouwd in overeenstemming met de hoge normen van de RUP (Rational Unified Process) ontwikkelingsmethodologie.

  • Deze cursus presenteert methoden voor het analyseren van de efficiëntie van algoritmen (inclusief worst-case en gemiddelde-case analyse) en introduceert een verscheidenheid aan bekende, zeer efficiënte algoritmen. Analyse, ontwerp en implementatie van algoritmen krijgen dezelfde nadruk. Onderwerpen zijn onder meer zoeken en sorteren, efficiëntie van bewerkingen op datastructuren (inclusief lijsten, hash-tabellen, gebalanceerde binaire zoekbomen, prioriteitswachtrijen), grafische algoritmen, combinatorische algoritmen, herhalingsrelaties, dynamische programmering, NP-complete problemen en enkele speciale onderwerpen in de tijd toelaat. (Speciale onderwerpen zijn computationele geometrie, algoritmen voor cryptosystemen, approximatie, Big Data en parallel computing.)

  • Deze cursus gaat diep in op asynchrone webprogrammeerconcepten en behandelt de meest essentiële ontwerppatronen voor JS, waaronder het waarnemerspatroon, de fabriek, de decorateur en nog veel meer. Het behandelt ook het werken met Web API en onveranderlijke datastructuren.

    Onderwerpen zijn onder meer: Gezamenlijke Git; Intro tot TypeScript en Bundlers; Asynchrone JavaScript; Event-Loop; Geschiedenis-API, Geolocatie-API; Ajax (HTTP, Ajax, JSON, Fetch, Inleiding tot CORS, Debugging); Beloften en Async/Await; Reactieve programmering; RxJS-waarnemers en operators; Ontwerppatronen: Module, Prototype, Singleton, Observer, Façade, Fabriek, Decorateur, Proxy, Strategie, Memoization; Moderne webbrowsers. Geen vereisten.

    (4-eenheden)

  • De toekomst van computers loopt parallel. De toename in sequentiële prestaties is tot stilstand gekomen nu processorontwerpen de limieten van miniaturisatie, klokfrequentie, vermogen en warmte hebben bereikt. In 2005 begon het aantal processorkernen abrupt toe te nemen van een enkele kern naar meerdere kernen, waardoor het potentieel ontstond om programma's veel sneller uit te voeren. Om dit potentieel te benutten, moet een programmeur echter enige kennis hebben van parallelle programmeertechnieken.

    Deze cursus leert studenten de fundamentele concepten van parallel programmeren in de context van Java 9. Parallel programmeren stelt ontwikkelaars in staat om multicore-computers te gebruiken om hun applicaties sneller te laten draaien door meerdere cores tegelijkertijd te gebruiken. Aan het einde van deze cursus leert u hoe u populaire parallelle Java-frameworks (zoals Multi-Threading, Streams en Executors) kunt gebruiken om parallelle programma's te schrijven voor een breed scala aan multicore-platforms, waaronder servers, desktops of mobiele apparaten.

    De softwaretools die tijdens deze cursus worden gebruikt, zijn Microsoft Visual Studio, Java multithreading-bibliotheek en OpenMP-threading-standaard. (4 stuks) Vereiste: kennis van computerprogrammering met Java, C of C++.

    Bekijk voor meer informatie deze vijf minuten durende video gemaakt door de professor van deze cursus:

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

  • Deze cursus biedt een systematische inleiding tot het programmeren van interactieve en dynamische webapplicaties. De cursus is bedoeld voor personen met weinig of geen eerdere programmeerervaring met webapplicaties. Dit aanbod maakt gebruik van NodeJS en het Express-framework voor server-side verwerking.

    De cursus begint met een bespreking van de basisprincipes van HTML en CSS, met speciale aandacht voor de lay-out van webpagina's met behulp van CSS. JavaScript is de programmeertaal die tijdens de cursus wordt gebruikt, inclusief functies, objecten, modules, jQuery-framework, Ajax en Promises. Studenten besteden het grootste deel van hun tijd aan het programmeren van een reeks steeds complexere en geavanceerdere websites. Een sluitstukproject tijdens de laatste week van de cursus creëert een website met een SQL-database-backend die asynchroon wordt benaderd door de klant voor optimale prestaties.

    Deze cursus is een vereiste voor CS545 Web Application Architecture en CS572 Modern Web Applications. Voorwaarde: CS 220 of CS 401 of toestemming van de afdelingsfaculteit

    (4-eenheden)

  • Het ontwikkelen van Android-programma's is een opwindende en potentieel lucratieve ervaring. Android-ontwikkeling opent de wereld van creativiteit voor de programmeur. Hiermee kun je jezelf uitdrukken op manieren waar je nooit van had gedroomd in een digitale wereld waar je een product kunt maken en dit met slechts één klik op een knop beschikbaar kunt stellen aan miljarden gebruikers. Deze cursus leert hoe u Android-applicaties kunt ontwikkelen met behulp van de Kotlin-programmeertaal.

    Onderwerpen zijn onder meer: ​​Uw computer instellen voor Android-programmering; Manifest basis; Lay-outs, activiteiten, weergaven en UI-componenten; Werken met intenties, fragmenten en gedeelde voorkeuren; Webweergave en HTML; Werken met multimedia; Android Jetpack-componenten, Room Database en JSON; Sensoren onderschatten; lokalisatie; App publiceren in Google Play Store. (4 eenheden) Er zijn geen vereisten vereist.

  • Deze cursus richt zich op het gebruik van JavaScript in de backend (NodeJS). Studenten leren hoe NodeJS werkt en krijgen een diep begrip van de kern van de Application Programming Interface (API). De cursus behandelt hoe de JS-compiler-engine (V8) werkt, hoe code te structureren met behulp van modules en hoe asynchrone code werkt in Node en de Node-gebeurtenislus. De cursus leert ook Node Package Manager (NPM), hoe je een webserver bouwt, hoe je met het Express-framework werkt en hoe je ODM zoals Mongoose gebruikt om MongoDB te beheren. Studenten leren alle technieken die een moderne webapplicatie definiëren, waaronder het authenticeren van gebruikers met JSON Web Tokens, het bewaren van gegevens in de database en het bouwen van een Restful API. Ook andere computerwetenschappelijke concepten komen aan bod.

    Onderwerpen zijn onder meer: HTTP & Rest API-ontwerp; Stateless vs stateful applicaties; Knooppunt-API; Knooppuntpakketbeheerder (npm); Model-Controller-architectuur, Express-framework en middleware; Routering aan de serverzijde; Verificatie op basis van tokens. Geen vereisten.

    (4-eenheden)

  • Big Data is de nieuwe natuurlijke hulpbron: data verdubbelt elke 12-18 maanden. Deze nieuwe Big Data Analytics-cursus behandelt de fundamentele concepten en hulpmiddelen voor het ontginnen van grote uiteenlopende datasets om nieuwe inzichten te genereren. Je leert het gebruik van R-taal onder de knie te krijgen om Wordcloud, Pagerank, datavisualisatie, beslissingsbomen, regressie, clustering, neurale netwerken en meer te creëren. Je zult werken met enkele grote datasets van miljoenen records en ook Twitter-feeds minen. Je leert Hadoop/MapReduce en Streaming Data-concepten en je zult andere Apache Big Data-projecten zoals Spark, Flink, Kafka, Storm, Samza, NoSQL verkennen via individuele onderzoekspapers. Je werkt in groepen aan open projecten van Kaggle.com om te strijden om prijzengeld door best-of-breed data-analytische uitdagingen op te lossen. Je leert ook om de toonaangevende IBM SPSS Modeler en open-source dataminingplatforms te gebruiken. De cursus maakt ook gebruik van een breed scala aan videotrainingsmateriaal van MIT, Coursera, Google en elders. (4 eenheden) Voorwaarde: Toestemming van de faculteit van de afdeling

  • Het doel van deze cursus is om studenten kennis en vaardigheden op het gebied van leiderschap te bieden, inclusief communicatieve vaardigheden als voorbereiding op toekomstige leiderschapsrollen.

    Aan het einde van deze cursus begrijpen de studenten de antwoorden op belangrijke vragen over effectief leiderschap, waaronder de volgende:

    Zijn er 'van nature geboren' leiders?

    Moet je charisma hebben om effectief te kunnen leiden?

    Welke troef is vereist om een ​​leider te zijn?

    Wat is het verschil tussen beheren en leiden?

    Wat zijn de vele 'intelligenties' die nodig zijn om te leiden in dit tijdperk?

    Wat is 'management malpractice' en hoe leidt dit tot zelf-sabotage?

    Wetende dat feedback essentieel is voor het leidende proces, hoe komen we dan over de angst om het te geven en te ontvangen?

    Wat is de bron van 80% van de problemen op de werkplek?

    Is er wetenschappelijk onderzoek beschikbaar om de organisatie te helpen bij het verbeteren van haar individuele en teamleiderschapsvaardigheden?

    Gastsprekers zijn vooraanstaande ondernemers, computerwetenschappers, filantropen, academici en andere prominente leiders in de samenleving.

    (2-eenheden)

Gevorderde cursussen

  • Project Management introduces the student to learn through practical development of a project, lectures, reading, experiencing the Project Management Framework,  its body of knowledge areas (10 knowledge areas and related processes) and deployment.  Students work through a real project implementation and experience the role of project management in all phases of the Software Development Life Cycle using an application development methodology.

    Students get real experience in project planning, requirements management, scope management, coding standards, cost estimations for module / code in terms of dollar value as well as in terms of the man hours, schedules management, quality management, risk management and communications management.  By the end of the course, students will have a running application that is developed using the PM processes used in industry. (Starting from requirements through production deployment).  The project is developed using the latest Java Technologies and their frameworks with the Web services and Design Patterns.

  • Deze cursus behandelt geavanceerde onderwerpen in het ontwerpen van programmeertaal met de nadruk op formele methoden en abstractiemechanismen. Onderwerpen omvatten data- en controle-abstractie, formele specificatie van syntaxis en semantiek, bewijzen van programmacorrectheid, niet-deterministische programmering, geavanceerde controlestructuren en studie van specifieke talen. (4-eenheden) Voorwaarde: CS 401 of toestemming van de faculteitsafdeling.

  • Deze cursus behandelt cloud-programmeerpatronen en stelt studenten in staat om te oefenen met het werken met verschillende webcloudservices, waaronder AWS Serverless-functies.

    Onderwerpen zijn onder meer: ​​Identity & Access Management (IAM); Virtual Private Cloud (VPC), Network Access Control Lists - NACL, subnetten, beschikbaarheidszones, Simple Storage Service (S3), Elastic Cloud Compute (EC2), Simple Notification Service (SNS), Elastic Load Balancer (ELB), Auto Scaling, Route 53, API in de cloud; AWS Lambda, serverloos; Webservices; Toepassingsimplementatie, eindproject. (4 studiepunten). (Geen vereisten)

  • Moderne informatieverwerking wordt gedefinieerd door grote databestanden die niet kunnen worden verwerkt door traditionele databasesystemen. Deze cursus behandelt de nieuwste technologie die is ontwikkeld en gebruikt door marktleiders om dit probleem op de meest efficiënte manier op te lossen. Specifieke onderwerpen die aan de orde komen zijn MapReduce-algoritmen, algoritmen voor MapReduce-algoritmen, HDFS, Hadoop-clusterarchitectuur, YARN, berekening van relatieve frequenties, secundaire sortering, webcrawl, geïnverteerde indexen en indexcompressie, Spark-algoritmen en Scala. (4-eenheden) Voorwaarde: CS 435-algoritmen.

  • In slechts een paar jaar tijd zijn big data-technologieën van het rijk van de hype uitgegroeid tot een van de kerncomponenten van het nieuwe digitale tijdperk. Deze technologieën zijn erg handig om informatie om te zetten in kennis. Het doel van de cursus is om een ​​aantal belangrijke tools aan uw arsenaal toe te voegen om u te helpen bij het oplossen van verschillende big data-problemen.

    De cursus begint met het beantwoorden van vragen als “Wat is Big Data en het belang ervan? Hoe sla je big data betrouwbaar en goedkoop op? Welke tools kun je gebruiken om nuttige informatie uit deze big data te halen? enz." In deze cursus bestuderen studenten verschillende tools en programmeermodellen voor het analyseren van big data. Onderwerpen zijn onder meer Hadoop-ecosysteemprojecten zoals MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper en Apache Spark-ecosysteemprojecten zoals Spark SQL en Spark Streaming. Studenten krijgen ook de kans om een ​​complete big data-pijplijn op te bouwen, beginnend met gegevensverzameling in realtime, verwerking, analyse en uiteindelijk weergave van de resultaten in grafisch formaat op dashboards. Studenten zullen voornamelijk werken met een Hadoop-cluster met één knooppunt van Cloudera-distributie. (4 eenheden) (MPP is de enige vereiste)

  • Met de snelle groei van data uit verschillende bronnen zijn de meeste bedrijven en organisaties sterk datagedreven geworden. Essentiële informatie uit dergelijke gegevens halen en omzetten in kennis en intelligentie is de sleutelfunctie van Big Data Analytics. Daarom geven steeds meer bedrijven steeds meer geld uit aan Data Analytics. Dit wordt nu verder versneld door snel te groeien Digital Transformation. Deze cursus Big Data Analytics behandelt de fundamentele concepten van analyse, algoritmen en tools voor het ontginnen van grote, diverse datasets om nieuwe zakelijke inzichten te genereren.

    Alle belangrijke analyses - inclusief Beschrijvend, voorspellend, prescriptief en diagnostisch zal worden gedekt. Het behandelt algoritmische benaderingen voor het analyseren van grote datasets (ongestructureerd, gemengd, gestructureerd, grafiek en streaming): machinaal leren (neurale netwerken, diep leren, beslissingsbomen, willekeurig bos en meer), AI, natuurlijke taalverwerking (NLP), statistische en streaming-algoritmen, via moderne gedistribueerde analyseplatforms (bijv. MapReduce, Hadoop, Spark,) voor regressie (voorspelling), classificatie, clustering, aanbevelingssystemen en meer. Geavanceerde Big Data-analyseVooral Causale analyse zal ook gedekt worden. Python / R-programmeertalen zullen het meest worden gebruikt. Studenten zullen ook een groepsproject doen om een ​​real-life probleem op te lossen met behulp van Big Data Analytics.

    (4 stuks) Voorwaarde: Toestemming van de vakgroep

  • Deze cursus behandelt de huidige methoden en praktijken voor een goed ontwerp van softwaresystemen. Onderwerpen zijn onder meer software-ontwerppatronen, kaders, architecturen en ontwerpsystemen om deze abstracties op meerdere niveaus toe te passen. (2-4 studiepunten) Vereiste: CS 401 of toestemming van de afdelingsfaculteit.

  • Deze cursus richt zich op het aanleren van de principes en praktijken die worden gebruikt bij het ontwikkelen van grootschalige bedrijfsapplicaties. We zullen de verschillende architecturale lagen onderzoeken die vaak worden gebruikt en verschillende technologieën die bij deze lagen horen, waaronder Object Relational Mapping (ORM), Dependency Injection (DI), Aspect Oriented Programming (AOP) en integratie met andere applicaties via Web Services (RESTfull en SOAP), Messaging en het aanroepen van methoden op afstand. Moet een praktische kennis hebben van relationele databases en SQL. Als je geen sterke cursus of goede praktische kennis van SQL hebt, moet je je aanmelden voor CS422 DBMS voordat je je aanmeldt voor EA. (4 stuks)

  • Deze cursus richt zich op webapplicaties in een zakelijke omgeving. Een bedrijfsapplicatie is een groot softwaresysteem dat is ontworpen om te werken in een grote organisatie, zoals een bedrijf of een overheid. Enterprise-applicaties zijn complex, schaalbaar, component-gebaseerd, gedistribueerd en bedrijfskritisch. Deze cursus, CS545, richt zich op de frontend of presentatielaag van een zakelijke webtoepassing. CS544 Enterprise Architecture is een begeleidende cursus die zich richt op de back-end of bedrijfslaag, inclusief bedrijfslogica, transacties en persistentie. CS472, Web Application Programming, is een vereiste cursus die betrekking heeft op HTML, CSS, JavaScript, servlets en JSP.

    De cursus leert principes en patronen die algemeen zijn over platforms en frameworks. De cursus onderzoekt en werkt met de twee overheersende Java-webraamwerken, Java Server Faces (JSF) en SpringMVC. JSF is een op componenten gebaseerd raamwerk en is de officiële specificatie van het presentatieraamwerk voor de Java Enterprise Edition-technologiestack. SpringMVC maakt deel uit van het Core Spring-framework en is de afgelopen jaren het meest gebruikte Java-webraamwerk geworden. (4-eenheden) Voorwaarde: CS 472 of toestemming van de faculteitsafdeling.

  • React is de populairste bibliotheek voor het bouwen van krachtige webapplicaties. In deze cursus leren studenten hoe ze React en ES6 kunnen gebruiken om vanaf het begin robuuste, schaalbare applicaties te bouwen met behulp van de nieuwste Redux-patronen om hun applicatiestatus te behouden.

    Onderwerpen zijn onder meer: ​​op componenten gebaseerde ontwikkeling van webapplicaties, ontwerppatronen voor componenten, rest-API's consumeren, persistentie met browser-API, JSX en React API (props, proptypes, events, refs), applicatiegegevensstroom en React-apps implementeren. Vereisten WAP of CS 477.

    (4-eenheden)

  • In deze cursus leren studenten Reactive Programming Architecture van Single Page Web Applications (SPA) samen met alle benodigde vaardigheden om een ​​volledig moderne webapplicatie te bouwen met TypeScript en Angular. Studenten krijgen een diep begrip van hoe Angular werkt, waaronder: Wijzigingsdetectie; Reactieve RxJs-programmering met waarneembare objecten en onderwerpen; De schaduw-DOM; Zones; Modules, componenten, aangepaste richtlijnen en leidingen; Services en afhankelijkheidsinjectie; Hoekcompiler: JIT- en AOF-compilatie; Formulieren (sjabloongestuurd en datagestuurd); Routering, bewakers en routebeveiliging; HTTP-client; en JWT JSON Web Token-verificatie. Vereisten: WAP of CS 477.

    (4-eenheden)

  • Deze cursus gaat over van webontwikkeling naar ontwikkeling van mobiele applicaties met behulp van React Native, een populair framework van Facebook waarmee platformonafhankelijke native applicaties kunnen worden uitgevoerd met JavaScript zonder Java of Swift. De cursus introduceert moderne JavaScript-JavaScript XML (JSX)-een JavaScript-extensie. Studenten doen ervaring op met React Native en zijn paradigma's, applicatiearchitectuur en gebruikersinterfaces. De cursus mondt uit in een afstudeerproject waarin studenten een geheel naar eigen ontwerp ontworpen mobiele app implementeren. Vereisten: WAA of CS568.

    (4-eenheden)

  • In deze cursus leer je de Reactive Programming Architecture van SPA (Single Page Web Applications) samen met alle nodige vaardigheden om een ​​volledige moderne webapplicatie te bouwen. Technologieën omvatten: NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase en NoSQL-databases (MongoDB). De cursus behandelt:

    • Hoe de C ++ V8-engine en asynchrone code werken in Node en de gebeurtenislus Node.
    • Hoe u uw code kunt structureren voor hergebruik en Restful API kunt bouwen met behulp van modules en ExpressJS.
    • Hoe NoSQL-databases werken: Mongo-shell, aggregatieraamwerk, replicasets, clustering, scherven, Mongoose-ORM.
    • Diep inzicht in hoe Angular (ondersteund door Google) werkt, Change Detection, Reactive RxJs programmering met Observables and Subjects, The Shadow DOM, Zones, Modules en Componenten, Aangepaste richtlijnen en pipes, Services en afhankelijkheidsinjectie, Angular Compiler, JIT en AOF Compilation , Formulieren (Sjabloongestuurd en Gegevensgestuurd), Databinding, Routing, Guards en Routebescherming, HTTP-client, JWT JSON Webtoken-verificatie.

    (4-eenheden)

  • In dit practicum voeren studenten computergerelateerde taken uit in een technische beroepspositie. De uitgevoerde taken kunnen betrekking hebben op het ontwerpen en ontwikkelen van nieuwe systemen of de toepassing van bestaande systemen voor specifieke doeleinden. Functieomschrijvingen van het practicum worden opgesteld door de werkgever en de student en behoeven vooraf goedkeuring door een van de afgestudeerde faculteiten van de afdeling, in overleg met de practicumbegeleider waar de student wordt geplaatst. (Deze cursus is voornamelijk bedoeld voor studenten in de stage- of samenwerkingsprogramma's.) (0.5-1 eenheid per blok - kan worden herhaald.)

  • Machine Learning is het vakgebied dat computers de mogelijkheid geeft om van gegevens te leren, vormt de kern van bijna elke wetenschappelijke discipline, en de studie van generalisatie (dat wil zeggen, voorspelling) van gegevens is het centrale onderwerp van machine learning. Deze cursus geeft een inleiding op graduaatniveau tot machine learning en diepgaande dekking van nieuwe en geavanceerde methoden in machine learning, evenals hun onderliggende theorie. Het benadrukt benaderingen met praktische relevantie en bespreekt een aantal recente toepassingen van machine learning, zoals Data Mining (in Big Data / Data Science, Data Analytics), Natural Language Processing, Computer Vision, Robotics, Bioinformatics en Text and Web data processing. Machine Learning wordt gebruikt in verschillende industrieën, waaronder financiële dienstverlening, olie en gas, gezondheidszorg, marketing en reclame, overheid, internet en internet der dingen.

    Deze cursus behandelt een verscheidenheid aan leerparadigma's, algoritmen, theoretische resultaten en toepassingen. Het maakt gebruik van basisconcepten uit kunstmatige intelligentie, informatietheorie, statistiek en controletheorie, voor zover deze relevant zijn voor machine learning. Onderwerpen zijn onder meer: ​​begeleid leren (generatief / discriminerend leren, parametrisch / niet-parametrisch leren, neurale netwerken, ondersteunende vectormachines, beslissingsboom, Bayesiaans leren en optimaliseren); onbewaakt leren (clustering, dimensionaliteitsreductie, kernelmethoden); leertheorie (afwegingen voor bias / variantie; VC-theorie; grote marges); versterkend leren en adaptieve controle. Andere onderwerpen zijn onder meer HMM (Hidden Markov Model), Evolutionary Computing, Deep Learning (With Neural Nets) en het ontwerpen van algoritmen waarvan de prestaties rigoureus kunnen worden geanalyseerd op fundamentele machine learning-problemen.

    Een belangrijk onderdeel van de cursus is een groepsproject. Grote opensourcehulpmiddelen die worden gebruikt voor parallel, gedistribueerd en schaalbaar machine learning zullen kort worden behandeld om studenten te helpen bij het doen van de projecten. (4-eenheden) Voorwaarde: Geen.

  • Kunstmatige intelligentie (AI) is de discipline die probeert intelligente systemen te bouwen en te begrijpen. Computers met intelligentie op menselijk niveau zouden een enorme impact hebben op de samenleving. Intelligente softwareagenten en multi-agentsystemen groeien snel en helpen op veel gebieden, zoals digitale transformatie, automatisering, conversatiesystemen, zoeken op internet, robotica, productie, gezondheid, farmaceutica, bankieren, toeleveringsketen, autonoom rijden, advertenties, games, gewoon om noem er een paar. AI drijft een miljardenindustrie aan. Deze cursus leert de basis van AI en geeft studenten een praktisch begrip van het veld. Onderwerpen zijn onder meer de kernconcepten van AI - intelligente agenten, multi-agentsystemen, intelligent zoeken, eerste en hogere orde logica, kennisrepresentatie, redeneren, perceptie, leren, semantiek (NLP, Image, Object..), planning, besluitvorming, handelend, reactief, deliberatief, rationeel, adaptief, communicatief en interactief. De cursus legt de nadruk op benaderingen met praktische relevantie en bespreekt een aantal recente populaire toepassingen van AI. De belangrijkste open source tools & programmeertalen voor AI (inclusief Low code & No code) komen kort aan bod. Studenten zullen ook een groepsproject doen om een ​​real-life probleem op te lossen met behulp van AI.

    (4 stuks) Voorwaarde: Toestemming van de vakgroep

  • In deze cursus zullen we kijken naar de technieken, principes en patronen van het ontwerpen van flexibele, schaalbare, testbare en veerkrachtige softwaresystemen met behulp van microservices. We zullen bestuderen hoe we grote applicaties kunnen opdelen in kleinere microservices die eenvoudiger te bouwen zijn en andere voordelen in vergelijking met monolithische bedrijfsapplicaties. Een gedistribueerde microservice-architectuur biedt ook veel uitdagingen. We zullen deze uitdagingen bestuderen en aanpakken. Onderwerpen van deze cursus zijn architectuurstijlen, integratietechnieken en patronen, domeingestuurd ontwerp, door gebeurtenissen gestuurde architectuur en reactieve programmering. (4 credits). (Geen vereisten)

  • Ter ere van 50 jaar MIU-onderwijs is de afdeling Computerwetenschappen verheugd om onze nieuwe Golden Jubilee ComPro Tech Talks-serie te starten.

    Deze maandelijkse serie wordt georganiseerd en gemodereerd door professor Renuka Mohanraj.

    Gesprekken zijn beschikbaar op https://www.youtube.com/playlist?list=PLoBuI1C_-EtrAMdD45sldMnd8HXNhmyBQ.

    Bekijk onze laatste opgenomen talk, van zaterdag 28 mei 2022:

    MIU Computer Science-instructeur Unubold Tumenbayar, een AWS-gecertificeerde professionele oplossingsarchitect, behandelde deze onderwerpen in onze nieuwste ComPro Tech Talk:
    o Een Full-stack app bouwen in enkele minuten in de cloud
    o Discussie over moderne technologieën
    o GraphQL
    o Reageer
    o NoSQL met behulp van AWS-services en tools

    Bekijk de dia's van Unbold Kwaliteitsbeleid.

    Deze talk is een goede preview van onze Cloud Computing-cursus (CS516).

Studie opties

Er zijn 3 studiemogelijkheden voor internationale studenten.
Elk biedt een MS in Computer Science.
Ze hebben allemaal ingangsdata van januari, april, augustus of oktober.

Programma'sMaanden studie op de campusBetaald PracticumAfstandsonderwijs (DE) tijdens practicum
CPT8-9Tot 2 jaar CPT4 DE-cursussen
OPT9-10Tot 11.5 maanden CPT + 3 jaar OPT (Optioneel)3 DE-cursussen
Fulltime op de Campus12-133-jaar OPT optieNA

“De eerste keer dat ik over het MSCS-programma hoorde, twijfelde ik eraan. Ik kon niet geloven dat zoiets bestaat. Maar op een dag nam een ​​vriend van mij deel aan het programma. Dat was toen ik bevestigde dat het echt is. Daarna hervatte ik mijn sollicitatieproces. Goed! Het is waar, ik ben hier, ik heb het programma afgerond en ik ben zo blij. "

Bent u klaar om een ​​nieuwe carrière te beginnen?

AMERIKAANSE AMBASSADE INTERVIEW WACHTTIJDEN EN MSCS AANVRAAGVERWERKINGSTIJDEN

We hebben geconstateerd dat veel landen zeer vertraagde interviewdata hebben. Alsjeblieft zie Wachttijden voor visumafspraken (state.gov) om erachter te komen hoe lang het duurt om een ​​interviewdatum voor uw land/stad te krijgen.

Als de wachttijd voor het interview meer dan 2 maanden bedraagt, raden we u aan om uw aanvraag onmiddellijk in te dienen en af ​​te ronden, zelfs als u van plan bent om u aan te melden voor een toekomstige deelname. Op deze manier kunt u het aanvraagproces voltooien, uw I-20 krijgen en vervolgens een interviewdatum krijgen. U moet een I-20 hebben om de interviewdatum te krijgen. Als de datum eerder is dan u van plan bent om naar de VS te komen, kunt u uw aankomstdatum altijd uitstellen zodra u het visum heeft ontvangen. We geven u gewoon een nieuwe I-20 voor de ingangsdatum waarvoor u van plan bent te komen.

Voor vragen over deze informatie kunt u contact opnemen met ons opnamebureau op csadmissions@miu.edu.

Stel jezelf deze 4 vragen:

  1. Heb jij een Bachelor diploma in een technische richting? Ja of nee?

  2. Had je goede cijfers voor je bachelor? Ja of nee?

  3. Heb jij na je bachelor minimaal 6 maanden fulltime, betaalde werkervaring als softwareontwikkelaar? Ja of nee?

  4. Ben je beschikbaar om naar de VS te komen voor lessen (dit programma is niet online beschikbaar)? Ja of nee?

Als je op alle bovenstaande vragen 'ja' hebt geantwoord, je mag solliciteren (Hoewel dit geen garantie is dat je wordt geaccepteerd.)