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

Vårt program är specialiserat på programvarusystem och programvaruutveckling med OOP (Java) och webbapplikationer, tillsammans med vissa datavetenskapskurser. Kärnområden för studier inkluderar: avancerad mjukvaruutveckling, webbapplikationsprogrammering och arkitektur, vissa datavetenskapskurser och flera viktiga applikationsområden.

Alla kurser är utformade för att hjälpa dig att fördjupa din karriär och varje kurs innehåller praktiska uppdrag. Se examenskrav.

Datavetenskapskurser

Standard Core Courses

  • Kursen presenterar de grundläggande principerna för objektorienterad programmering. Eleverna kommer att lära sig att skriva återanvändbar och bättre underhållen programvara och integrera denna kunskap med laboratorieuppdrag och projekt. Tema 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)

  • Kursen behandlar nuvarande metoder och praxis för god design av mjukvarusystem. Ämnen omfattar: Mjukvaruutvecklingsmönster, ramverk, arkitekturer och systemdesign för att tillämpa dessa abstraktioner på flera nivåer. (2-4-poäng) Förutsättning: CS 401 eller samtycke från institutionens fakultet.

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

  • Kursen fokuserar på att undervisa principer och praxis som används vid utveckling av applikationer i större skala. Vi kommer att undersöka de olika arkitektoniska lagren som ofta används och olika tekniker förknippade med dessa lager, inklusive Object Relational Mapping (ORM), Dependency Injection (DI), Aspect Oriented Programming (AOP) och integration med andra applikationer via Web Services (RESTfull och SOAP), Meddelande och fjärråtkomst av metod. Måste ha en fungerande kunskap om relationella databaser och SQL. Om du inte har en stark kurs eller bra kunskap om SQL, bör du registrera dig för CS422 DBMS innan du registrerar dig för EA. (4-enheter)

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

  • 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 programmering av webbapplikationer. Detta erbjudande kommer att använda Java-servlets och JSP för bearbetning av serversidan. Kursen introducerar HTML och CSS. JavaScript är ett fokus för kursen och täcks som ett funktionellt programmeringsspråk inklusive jQuery, Ajax och JavaScript namnområden och moduler. Det är en förutsättning för CS545-webbapplikationsarkitekturen. Det täcker inte AngularJS eller NodeJS, men JavaScript som behandlas här förbereder dig för att lära dig dessa tekniker. (4 enheter)
    Förutsättning: CS 220 eller CS 401 eller samtycke från institutionens fakultet.

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

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

Ytterligare MSCS-kurser

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

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

  • Stora data är den nya naturresursen: data fördubblas varje 12-18 månader. Den här nya Big Data Analytics-kursen täcker de grundläggande begreppen och verktygen för att gruva 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, Beslutstrender, Regression, Clustering, Neurala nätverk och mycket mer. Du kommer att arbeta med några stora fler miljoner rekorddataset, och även mina Twitter-flöden. Du kommer att lära dig Hadoop / MapReduce and Streaming Data-koncept och utforska andra Apache Big Data-projekt som Spark, Flink, Kafka, Storm, Samza, NoSQL genom individuella forskningshandlingar. Du kommer att arbeta i grupper på öppna projekt från Kaggle.com för att konkurrera om prispengar genom att lösa de bästa analytiska utmaningarna. Du kommer också att lära dig att använda branschledande IBM SPSS Modeler, och dataöverföringsplattformar med öppen källkod. Den #1 bästsäljare handboken som används i denna kurs är skriven av instruktören själv. Kursen kommer också att använda ett brett utbud av videoträningsmaterial från MIT, Coursera, Google och på annat håll. (4-enheter) Förutsättning: Samtycke av institutionens fakultet

  • På bara några få år har stor datateknik gått från hype till en av kärnkomponenterna i den nya digitala tiden. Dessa tekniker är mycket användbara för att omvandla information till kunskap.

    Syftet med kursen är att lägga till några riktigt viktiga verktyg i din arsenal för att hjälpa dig att lösa olika stora dataproblem. Vi börjar med att svara på frågor som ”Vad är Big Data? Varför är det viktigt eller användbart? Hur lagrar du denna stora data? ” Vi studerar sedan olika verktyg och programmeringsmodeller från den stora datatekniken som hjälper oss att analysera data. Ämnen inkluderar några av projekten i Hadoop-ekosystemet som MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper och Apache Spark ekosystemprojekt. Vi kommer också att täcka en introduktion till AWS och EMR. Du kommer huvudsakligen att arbeta med en enda nod Hadoop-distribution av Cloudera. (4 enheter) (Inga förutsättningar)

  • Målet med denna kurs är att lära sig begreppen, arkitekturprinciperna och terminologin i datanätverk genom att utforska hur nätverk fungerar och utveckla nätverksapplikationer. Denna kurs följer uppifrån och ner-metoden för att förstå nätverk genom att använda Internetens arkitektur och protokoll som det primära exemplet på en implementering av nätverksprinciper. Vi börjar vid applikationslagret och fortsätter genom transportlagret, nätverkslagret, länklagret och det fysiska lagret av datanätverk. Studenter utvecklar flera nätverksapplikationer och genomför flera laboratorier som är utformade för att spåra och förstå de dominerande nätverksprotokoll som används på Internet. (4 enheter) Förutsättning: CS 401 eller godkännande från institutionens fakultet.

  • Kursen går djupt in i de tre aspekterna av datasäkerhet: konfidentialitet, integritet och tillgänglighet. Flera modeller för sekretesspolicy och integritetsskyddspolitik studeras. Kryptografins roll för att säkerställa sekretess och integritet undersöks. Andra ämnen inkluderar autentisering, revision, penetrationstestning, vanliga sårbarheter och intrångsdetektering. Kursen avslutas med fallstudien av ett realistiskt säkert system. Studenterna kommer att bli ombedda att läsa avhandlingar från säkerhetslitteraturen och tillämpa dem på material som ges i föreläsningarna. (4-poäng) Förutsättning: CS 401 eller samtycke från institutionens fakultet.

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

  • Maskininlärning, studieområdet som ger datorer förmågan att lära sig av data, är kärnan i nästan alla vetenskapliga ämnen, och studiet av generalisering (det vill säga förutsägelse) från data är det centrala ämnet för maskininlärning. Denna kurs ger en introduktion på avancerad nivå till maskininlärning och djupgående täckning av nya och avancerade metoder inom maskininlärning, liksom deras underliggande teori. Det betonar tillvägagångssätt med praktisk relevans och diskuterar ett antal senaste tillämpningar av maskininlärning, såsom Data Mining (i Big Data / Data Science, Data Analytics), Natural Language Processing, Computer Vision, Robotics, Bioinformatics och Text and Web data processing. Maskininlärning används i olika branscher, inklusive finansiella tjänster, olja och gas, hälsovård, marknadsföring och reklam, regering, internet och sakernas internet.

    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.

  • Betydelsen av mobilenhetsprogrammering har uppstått under de senaste åren som en ny domän inom mjukvaruutveckling. Kursen förbereder eleverna att utveckla applikationer som körs på mobila enheter som en IPhone, IPad eller Android-telefon. Detta är en snabbt utvecklande marknad. Kursen fokuserar på att installera, utveckla, testa och distribuera mobila applikationer. I slutet av kursen kan eleverna utveckla en app för de täckta plattformarna, simulera dem, testa dem på den verkliga enheten och äntligen publicera på appbutiken för att göra tillgängligheten till användarna. (4-enheter) Förutsättning: CS472 eller samtycke från institutionens fakultet.

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

  • Ett operativsystem styr datorsystemets centrala resurser och fördelar dem till enskilda användare. Kursämnen inkluderar sekventiella och samtidiga processer, ömsesidig uteslutning, resursdelning, processamarbete, dödläge, resurstilldelning, processorplanering, minneshantering, segmenterings- och personsökningsalgoritmer, tidsdelningssystem, schemaläggningsalgoritmer och resursskydd. (4 enheter) Förutsättning: CS 401 eller godkännande från institutionens fakultet.

  • Standardprocessorn för alla nya datorer är nu en multi-core processor, som har potential att genomföra program mycket snabbare. För att utnyttja denna potential måste en programmerare dock ha kunskaper om parallell programmeringsteknik. Under den här kursen kommer studenterna att tillbringa större delen av sin tid att skriva och felsöka parallella program. Det förväntade resultatet kommer att vara att utveckla en ny nivå av praktisk programmeringskunskap. Denna färdighet kommer inte bara att vara användbar för programmering av flera kärnprocessorer, men även operativsystemprogrammering och distribuerad databasprogrammering. Mjukvaruverktygen som används under kursen inkluderar Microsoft Visual C / C ++, Java multithreading-bibliotek och OpenMP-tråderingsstandard. (4-enheter) Förutsättning: Kunskap om datorprogrammering med Java, C eller C ++.

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

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

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

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