Ben je klaar om Ga je carrière vooruit?

Ons programma is gespecialiseerd op het gebied van softwaresystemen en softwareontwikkeling met behulp van OOP (Java) en webtoepassingen, samen met enkele cursussen voor gegevenswetenschap. Kerngebieden van studie zijn: geavanceerde softwareontwikkeling, webapplicatieprogrammering en -architectuur, enkele cursussen voor gegevenswetenschap en verschillende belangrijke toepassingsgebieden.

Alle cursussen zijn bedoeld om je carrière vooruit te helpen en elke cursus bevat praktische opdrachten. Uitzicht afstudeereisen.

Data Science cursussen

Standaard kerncursussen

  • 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 huidige methoden en werkwijzen voor een goed ontwerp van softwaresystemen. Onderwerpen zijn onder meer: ​​ontwerppatronen van software, frameworks, architecturen en ontwerpsystemen om deze multi-level abstracties toe te passen. (2-4 credits) Voorwaarde: CS 401 of toestemming van de faculteit van de faculteit.

  • 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 richt zich op het onderwijzen van de principes en werkwijzen die worden gebruikt bij het ontwikkelen van grootschalige bedrijfsapplicaties. We zullen de verschillende architecturale lagen die vaak worden gebruikt en verschillende technologieën die verband houden met deze lagen onderzoeken, waaronder Object Relational Mapping (ORM), Dependency Injection (DI), Aspect-Oriented Programming (AOP) en integratie met andere applicaties via webservices (RESTfull en SOAP), Berichten en externe methode aanroep. Moet een praktische kennis hebben van relationele databases en SQL. Als u geen goede koers of goede kennis van SQL heeft, moet u zich aanmelden voor CS422 DBMS voordat u zich aanmeldt voor EA. (4-eenheden)

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

  • Deze cursus biedt een systematische inleiding tot het programmeren van interactieve en dynamische webapplicaties. De cursus is bedoeld voor personen met weinig of geen ervaring met programmeren van webapplicaties. Dit aanbod maakt gebruik van Java-servlets en JSP voor verwerking op de server. De cursus introduceert HTML en CSS. JavaScript is een focus van de cursus en wordt behandeld als een functionele programmeertaal, inclusief jQuery, Ajax en JavaScript-naamruimten en -modules. Het is een vereiste voor de CS545 Web Application Architecture. Het heeft geen betrekking op AngularJS of NodeJS, maar het JavaScript dat hier wordt behandeld, zal u voorbereiden om die technologieën te leren. (4 stuks)
    Voorwaarde: CS 220 of CS 401 of toestemming van de faculteit van de faculteit.

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

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

Aanvullende MSCS-cursussen

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

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

  • Big Data is de nieuwe natuurlijke hulpbron: gegevens verdubbelen 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 beheerst het gebruik van R-taal om Wordcloud, Pagerank, Datavisualisatie, Beslissingsbomen, Regressie, Clustering, Neurale netwerken en meer te creëren. Je zult werken met een aantal grote multi-miljoen record datasets, en ook mijn Twitter feeds. Je leert Hadoop / MapReduce en Streaming Data-concepten en 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 de beste data-analytische uitdagingen op te lossen. Je leert ook om de toonaangevende IBM SPSS Modeler en open-source datamining-platforms te gebruiken. Het bestsellerhandboek #1 dat in deze cursus wordt gebruikt, is geschreven door de docent zelf. De cursus zal ook een breed scala aan video-trainingsmateriaal gebruiken van MIT, Coursera, Google en elders. (4-eenheden) Voorwaarde: Toestemming van de faculteitsafdeling

  • In slechts enkele jaren 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 zeer nuttig voor het omzetten van informatie in kennis.

    Het doel van de cursus is om een ​​aantal echt belangrijke tools aan je arsenaal toe te voegen om je te helpen bij het oplossen van verschillende big data-problemen. We beginnen met het geven van antwoorden op vragen als “Wat is Big Data? Waarom is het belangrijk of nuttig? Hoe bewaar je deze big data? " We bestuderen dan verschillende tools en programmeermodellen uit de big data-technologiestack die ons zullen helpen om de data te analyseren. Onderwerpen zijn onder meer enkele van de projecten in het Hadoop-ecosysteem, zoals MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper en Apache Spark-ecosysteemprojecten. We behandelen ook een inleiding tot AWS en EMR. Je zult voornamelijk werken met een Hadoop-distributie met één knooppunt van Cloudera. (4 stuks) (geen vereisten)

  • Het doel van deze cursus is om de concepten, architectuurprincipes en terminologie van computernetwerken te leren door te onderzoeken hoe netwerken werken en door netwerktoepassingen te ontwikkelen. Deze cursus volgt de top-down benadering om netwerken te begrijpen door de architectuur en protocollen van internet te gebruiken als het primaire voorbeeld van een implementatie van netwerkprincipes. We beginnen bij de applicatielaag en gaan door de transportlaag, netwerklaag, linklaag en de fysieke laag van computernetwerken. Studenten ontwikkelen verschillende netwerktoepassingen en voltooien verschillende labs die zijn ontworpen om de overheersende netwerkprotocollen die op internet worden gebruikt, op te sporen en te begrijpen. (4 eenheden) Voorwaarde: CS 401 of toestemming van de faculteit van de afdeling.

  • Deze cursus gaat dieper in op de drie aspecten van computerbeveiliging: vertrouwelijkheid, integriteit en beschikbaarheid. Verschillende modellen voor vertrouwelijk en integriteitsbeleid worden bestudeerd. De rol van cryptografie bij het waarborgen van vertrouwelijkheid en integriteit wordt onderzocht. Andere onderwerpen zijn onder meer authenticatie, auditing, penetratietesten, gemeenschappelijke kwetsbaarheden en inbraakdetectie. De cursus wordt afgesloten met de case study van een realistisch beveiligd systeem. Studenten zullen worden gevraagd om artikelen uit de veiligheidsliteratuur te lezen en deze toe te passen op materiaal dat in de hoorcolleges wordt gegeven. (4 credits) Voorwaarde: CS 401 of toestemming van de faculteit van de faculteit.

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

  • Machine Learning, het studiegebied 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) op basis van gegevens is het centrale onderwerp van machine learning. Deze cursus geeft een inleiding op graduate niveau tot machine learning en een 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 datamining (in big data / datawetenschap, data-analyse), natuurlijke taalverwerking, computervisie, robotica, bio-informatica en tekst- en webgegevensverwerking. 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.

  • Het belang van het programmeren van mobiele apparaten is de laatste jaren naar voren gekomen als een nieuw domein in softwareontwikkeling. Deze cursus bereidt de studenten voor op het ontwikkelen van applicaties die worden uitgevoerd op mobiele apparaten zoals een IPhone, IPad of Android-telefoon. Dit is een zich snel ontwikkelende markt. De cursus richt zich op het installeren, ontwikkelen, testen en distribueren van mobiele applicaties. Aan het einde van deze cursus kunnen studenten een app ontwikkelen voor de afgedekte platforms, deze simuleren, testen op het echte apparaat en uiteindelijk publiceren in de app store om de beschikbaarheid voor de gebruikers beschikbaar te maken. (4-eenheden) Voorwaarde: CS472 of toestemming van de faculteitsafdeling.

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

  • Een besturingssysteem beheert de centrale bronnen van het computersysteem en wijst deze toe aan individuele gebruikers. Onderwerpen van de cursus zijn onder meer opeenvolgende en gelijktijdige processen, wederzijdse uitsluiting, delen van bronnen, processamenwerking, impasse, toewijzing van bronnen, processorplanning, geheugenbeheer, algoritmen voor segmentatie en paginering, systemen voor timesharing, planningsalgoritmen en bescherming van bronnen. (4 eenheden) Voorwaarde: CS 401 of toestemming van de faculteit van de afdeling.

  • De standaardprocessor voor alle nieuwe computers is nu een multi-coreprocessor, die het potentieel heeft om programma's veel sneller uit te voeren. Om dit potentieel te benutten, moet een programmeur echter enige kennis hebben van parallelle programmeertechnieken. Tijdens deze cursus zullen studenten het grootste deel van hun tijd besteden aan het schrijven en debuggen van parallelle programma's. Het verwachte resultaat zal zijn om een ​​nieuw niveau van praktische programmeervaardigheid te ontwikkelen. Deze vaardigheid zal niet alleen nuttig zijn voor het programmeren van multi-coreprocessors, maar ook voor het programmeren van besturingssystemen en gedistribueerde databaseprogrammering. De softwaretools die tijdens deze cursus worden gebruikt, zijn Microsoft Visual C / C ++, Java multithreading-bibliotheek en OpenMP-threading-standaard. (4-eenheden) Voorwaarde: kennis van computerprogrammering met behulp van Java, C of C ++.

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

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

“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. "

© auteursrecht - Maharishi International University, Master in Computer Science - Computer Professionals Program℠ Privacybeleid