Դուք պատրաստ եք Advance ձեր կարիերան

Մեր ծրագիրը մասնագիտացած է ծրագրային ապահովման համակարգերի եւ ծրագրային ապահովման մշակման ոլորտներում, օգտագործելով OOP (Java), վեբ ծրագրեր եւ տվյալների գիտություն: Հետազոտության հիմնական ոլորտները ներառում են `առաջադեմ ծրագրային ապահովում, վեբ հավելվածի ծրագրավորում եւ ճարտարապետություն, մեծ տվյալների վերլուծություն եւ տեխնոլոգիաներ, մեքենաների ուսուցում եւ մի քանի կարեւոր կիրառական տարածքներ:

Բոլոր դասընթացները նախատեսված են, որոնք կօգնեն ձեզ զարգացնել ձեր կարիերան եւ յուրաքանչյուր դասընթաց պարունակել գործնական հանձնարարություններ: Դիտել ավարտական ​​պահանջներ:

NEW! Մրցանակի արժանացած Data Science

Ստանդարտ Core դասընթացներ

  • Ժամանակակից ծրագրավորման պրակտիկա (Java ծրագրավորում) (CS 401)

    Այս դասընթացը ներկայացնում է օբյեկտի վրա հիմնված ծրագրավորման հիմնարար սկզբունքները: Ուսանողները կսովորեն, թե ինչպես պետք է գրել նորից եւ ավելի լավ պահպանվող ծրագրեր, եւ այդ գիտելիքները ինտեգրվել լաբորատոր հանձնարարությունների եւ նախագծերի հետ: Թեմաները ներառում են `օբյեկտի վրա հիմնված ծրագրավորման հիմնարար սկզբունքները եւ մոդելները, UML դասակարգային դիագրամները եւ նախագծման սկզբունքները, որոնք նպաստում են ծրագրային ապահովման կրկնօրինակման եւ կայունության ապահովմանը: (4 միավոր)

  • Ընդլայնված ծրագրային ապահովում (CS 525)

    Այս դասընթացը ներառում է ծրագրային ապահովման համակարգերի լավ նախագծման մեթոդներն ու պրակտիկան: Թեմաները ներառում են `ծրագրային նախագծման նախշերով, շրջանակների, ճարտարապետների եւ նախագծման համակարգեր, որոնք կիրառելու են այս բազմաբնույթ մակարդակները: (2-4 վարկ) Նախադրյալ `CS 401 կամ բաժնի ֆակուլտետի համաձայնությունը:

  • Ալգորիթմներ (CS 435)

    Այս դասընթացը ներկայացնում է ալգորիթմների արդյունավետության վերլուծության մեթոդներ (ներառյալ ամենավատ դեպքերն ու միջին դեպքերի վերլուծությունը) եւ ներկայացնում են մի շարք հայտնի, բարձր արդյունավետ ալգորիթմներ: Ալգորիթմների վերլուծությունը, դիզայնը եւ իրականացումը հավասար շեշտադրում են: Թեմաներ են ներառում տվյալների կառուցվածքների (ներառյալ ցուցակները, hashtables, հավասարակշռված երկուական որոնման ծառեր, առաջնային հերթեր), գրաֆի ալգորիթմների, համադրիչ ալգորիթմների, կրկնության հարաբերությունները, դինամիկ ծրագրավորման, NP- ամբողջական խնդիրների եւ որոշակի հատուկ թեմաների որոնման եւ տեսակավորման, արդյունավետության մասին: թույլ է տալիս: (Հատուկ թեմաներ են `հաշվարկային երկրաչափություն, գաղտնագրման համակարգերի ալգորիթմներ, մոտավորություն, մեծ տվյալների եւ զուգահեռ հաշվարկներ):

  • Համակարգչային ցանցեր (CS 450)

    Դասընթացի նպատակն է սովորել համակարգչային ցանցերի հասկացությունները, ճարտարապետական ​​սկզբունքները եւ տերմինաբանությունը, ուսումնասիրելով ցանցերի ստեղծման եւ ցանցի կիրառման զարգացումը: Այս դասընթացը հետեւում է ինտերնետի ճարտարապետությանը եւ արձանագրություններին `որպես ցանցային սկզբունքների իրականացման առաջնային օրինակ օգտագործելով հասկացող ցանցերի վերեւում գտնվող մոտեցումը: Մենք սկսում ենք կիրառական շերտից եւ շարունակելու ենք տրանսպորտային շերտը, ցանցի շերտը, շերտի շերտը եւ համակարգչային ցանցերի ֆիզիկական շերտը: Ուսանողները զարգացնում են մի քանի ցանցային ծրագրեր եւ լրացնում են մի քանի լաբորատորիաներ, որոնք նախատեսված են Ինտերնետում օգտագործվող գերակտիվ ցանցային արձանագրությունները հետագծելու եւ հասկանալու համար: (4 միավոր) Նախադրյալ. CS 401 կամ բաժնի ֆակուլտետի համաձայնությունը:

  • Տվյալների բազայի կառավարման համակարգեր (CS 422)

    Տվյալների բազայի համակարգերը կազմակերպում եւ ստանում են տեղեկատվություն, որը թույլ է տալիս օգտվողին մուտք գործել ցանկալի տեղեկատվությունը հեշտ եւ արդյունավետ: Թեմաներ են ներառում `հարաբերական տվյալների մոդելը. SQL; ER մոդելավորում; հարաբերական հանրահաշիվ; տվյալների կարգավորումը; գործարքներ; տվյալների բազայում օբյեկտներ; տվյալների անվտանգություն եւ ամբողջականություն; տվյալների պահեստավորում, OLAP եւ տվյալների հանքարդյունաբերություն; բաշխված տվյալների բազաներ; եւ ուսումնասիրել կոնկրետ առեւտրային տվյալների բազայի համակարգը: (4 միավոր) Նախադրյալ. CS 401 կամ բաժնի ֆակուլտետի համաձայնությունը:

  • Ծրագրավորման ճարտարագիտություն (CS 425)

    Ծրագրային ապահովման ճարտարագիտությունը դասընթաց է, որը ուսանողներին ներկայացնում է ծրագրային ապահովման մշակման լավագույն փորձը `ծրագրային ապահովման մշակման մեթոդաբանությամբ: Ուսանողները նախորդ դասընթացներում արդեն ունեցել են որոշակի փորձ `Օբյեկտի վրա հիմնված պարադիգմով եւ օգտագործվել են հիմնական UML դիագրամներից որոշ ծրագրային օբյեկտների միջեւ հարաբերությունների մոդելավորման նպատակով: Ծրագրավորման ճարտարագիտության մեջ ուսանողը կկարողանա հմտություններ զարգացնել այդ գործիքների միասին դնելով կայուն, հեշտությամբ պահպանվող ծրագրային ապահովման համար: Ծրագրային ապահովման մշակման մեթոդաբանությունը նկարագրում է, թե երբ եւ ինչպես պետք է օգտագործվի OO- ի հասկացությունները եւ UML- ի դիագրամները, որպեսզի ապահովեն որակյալ ծրագրային ապահովման ստեղծումը: Դասընթացը կենտրոնում է մի փոքրիկ նախագծի շուրջ, որտեղ դասախոսության ձեւաչափում քննարկվող սկզբունքները կարելի է նկարագրել եւ կիրառել: Դասընթացի ավարտին ուսանողը կունենա վազող ծրագիր, որը կառուցված է RUP (Rational Unified Process) զարգացման մեթոդաբանության բարձր չափանիշներին համապատասխան:

  • Վեբի կիրառման ճարտարապետություն եւ շրջանակներ (CS 545)

    Այս դասընթացը կենտրոնացնում է վեբ հավելվածները ձեռնարկության ընդլայնման մեջ: Ընկերության հայտը խոշոր ծրագրային համակարգ է, որը նախատեսված է գործել որպես խոշոր կազմակերպություն, օրինակ `կորպորացիա կամ կառավարություն: Ձեռնարկությունների կիրառական ծրագրերը բարդ են, մասշտաբային, բաղադրիչ վրա հիմնված, բաշխված եւ առաքելություն: Այս դասընթացը CS545- ն կենտրոնանում է կորպորատիվ վեբ հավելվածի ճակատային ավարտին կամ ներկայացման շերտի վրա: CS544 Enterprise Architecture- ը ուղեկցող դասընթաց է, որը կենտրոնանում է հետեւի կամ գործարար շերտի վրա, ներառյալ բիզնես տրամաբանությունը, գործարքները եւ համառությունը: CS472, Web Application Programming- ը նախապայման է, որը ներառում է HTML, CSS, JavaScript, servlets եւ JSP:

    Դասընթացը դասավանդում է սկզբունքներ եւ օրինակներ, որոնք ընդհանուր են հարթակներում եւ շրջանակներում: Դասընթացը կքննարկի եւ աշխատի երկու հիմնական Java վեբ շրջանակների, Java Server Faces- ի (JSF) եւ SpringMVC- ի հետ: JSF- ը բաղադրիչ հիմք է հանդիսանում եւ հանդիսանում է Java Enterprise Edition տեխնոլոգիական բլոկի պաշտոնական ներկայացման շրջանակի հստակեցում: SpringMVC- ը Core Spring- ի շրջանակն է եւ վերջին տարիներին դարձել է առավել լայնորեն կիրառվող Java վեբ շրջանակ: (4 միավոր) Նախադրյալ. CS 472 կամ բաժնի ֆակուլտետի համաձայնությունը:

  • Վեբ ծրագրերի ծրագրավորում (CS 472)

    Այս դասընթացը ապահովում է ինտերակտիվ եւ դինամիկ վեբ ծրագրերի ծրագրավորման համակարգված ներածություն: Դասընթացը նախատեսված է նախնական վեբ ծրագրավորման փորձի քիչ թե ոչ անհատների համար: Այս առաջարկը կօգտագործի Java servlets եւ JSP սերվերի կողմից վերամշակման համար: Դասընթացը կներկայացնի HTML եւ CSS: JavaScript- ը դասընթացի կենտրոնն է եւ ընդգրկվում է որպես ֆունկցիոնալ ծրագրավորման լեզու, ներառյալ jQuery, Ajax եւ JavaScript անունների տարածքները եւ մոդուլները: Դա նախապայման է CS545 Web Application Architecture- ի համար: Այն չի ներառում AngularJS- ի կամ NodeJS- ը, սակայն այստեղ տեղադրված JavaScript- ը կպատրաստի ձեզ սովորելու այդ տեխնոլոգիաները: (4 միավոր)
    Նախադրյալ `CS 220 կամ CS 401 կամ բաժնի ֆակուլտետի համաձայնություն:

  • Գիտության եւ տեխնոլոգիաների գիտակցության համակարգչային մասնագետների համար (FOR 506)

    Ձեր առաջին դասընթացը հատուկ նախագծված է, հիմք ստեղծելով, թե ինչպես կարող եք դառնալ բարձրակարգ համակարգչային գիտության պրոֆեսիոնալ: Դասընթացը արմատացած է Transcendental Meditation- ի պրակտիկայում, որը հանգեցնում է իրական ներուժի իրականացմանը: Դուք կիմանաք TM- ի օգուտների մասին, ներառյալ բարդ խնդիրների լուծման ունակությունը `բարձրացնելով մտավոր գործառույթը խթանող ստեղծագործությունը եւ« դուրս վանդակում »մտածելակերպը: Դասընթացը կկենտրոնանա այն սկզբունքների վրա, որոնք նպաստում են գործունեության բարձր մակարդակին `հանգստի եւ գործունեության օպտիմալ խառնուրդ ստեղծելու միջոցով: Դուք կզարգանաք եւ կզգաք իդեալական ամենօրյա ռեժիմը, որն աջակցում է հաջողության մեջ: (2 միավոր)

  • Առաջատարը տեխնիկական ղեկավարների համար (FOR 506B)

    Դասընթացի նպատակն է ուսանողներին ապահովել գիտելիքներ եւ հմտություններ առաջնորդության մեջ, ներառյալ հաղորդակցման հմտությունները, որպես ապագա ղեկավարության դերերի նախապատրաստում:

    Դասընթացի ավարտին ուսանողները կկարողանան հասկանալ արդյունավետ ղեկավարության վերաբերյալ հիմնական հարցերի պատասխանները, ներառյալ հետեւյալը.

    Արդյոք «բնականորեն ծնված» առաջնորդներ կան:

    Դուք պետք է ունենաք խարիզմություն արդյունավետ կառավարելու համար:

    Ինչպիսի ակտիվ պետք է լինի առաջնորդ:

    Որն է տարբերությունը կառավարելու եւ ղեկավարելու միջեւ:

    Որոնք են այս դարաշրջանում առաջնորդելու շատ «մտավորականներ»:

    Ինչ է «կառավարման սխալը» եւ ինչպես է այն հանգեցնում ինքնասպասարկման:

    Իմանալով, որ այդ կարծիքը կարեւոր է առաջատար գործընթացի համար, ինչպես ենք ստանում այն ​​վախը տալուց եւ ստանալուց:

    Ինչ է աշխատավայրում հայտնաբերված խնդիրների 80% -ի աղբյուրը:

    Արդյոք կա գիտական ​​հետազոտություն, որն աջակցում է կազմակերպությանը `անհատական ​​եւ թիմային առաջնորդության հմտությունների բարելավման համար:

    Հյուրընկալող բանախոսները կներառեն հեղինակավոր գործարարներ, համակարգչային գիտնականներ, բարերարներ, ակադեմիկոսներ եւ հասարակության մյուս հայտնի առաջնորդներ:

    (2 միավոր)

Լրացուցիչ MSCS դասընթացներ

  • Ընդլայնված ծրագրավորման լեզուներ (CS 505)

    Այս դասընթացը ծրագրավորման լեզուների դիզայնի առաջադեմ թեմաներ է համարում `շեշտադրելով պաշտոնական մեթոդներին եւ քանդման մեխանիզմներին: Թեմաները ներառում են տվյալների եւ վերահսկողության հստակեցում, սինթետիկ եւ սեմինիստական ​​ֆորմատի հստակեցում, ծրագրերի ճշգրտության ապացույցներ, ոչ deterministic ծրագրավորում, առաջադեմ հսկողության կառույցներ եւ հատուկ լեզուների ուսումնասիրություն: (4 միավոր) Նախադրյալ. CS 401 կամ բաժնի ֆակուլտետի համաձայնությունը:

  • Մեծ տվյալներ (տվյալների գիտություն) (CS 522)

    Ժամանակակից տեղեկատվության վերամշակումը որոշվում է տվյալների մեծ պաշարներով, որոնք չեն կարող վարվել ավանդական տվյալների բազայի համակարգերով: Այս դասընթացը ներառում է վերջին տեխնոլոգիան, որը մշակվել եւ օգտագործվել է ոլորտի առաջատարների կողմից `այս խնդիրը առավել արդյունավետ լուծելու համար: Հատուկ թեմաները ներառում են MapReduce ալգորիթմներ, MapReduce ալգորիթմների նախագծման նախշերով, HDFS, Hadoop կլաստերային ճարտարապետություն, YARN, computing հարաբերական հաճախություններ, երկրորդական դասավորում, վեբ զննում, անջատված ինդեքսներ եւ ինդեքսի սեղմում, Spark ալգորիթմներ եւ Scala: (4 միավոր) Նախադրյալ `CS 435 ալգորիթմներ:

  • Մեծ տվյալների վերլուծություն (տվյալների գիտություն) (CS 488)

    Big Data- ը նոր բնական ռեսուրս է, տվյալները կրկնապատկվում են յուրաքանչյուր 12-18 ամիս: Այս նոր Big Data Analytics դասընթացը ներառում է նոր հասկացություններ ստեղծելու համար խոշոր բազմազան տվյալների հավաքածուների հենքի եւ հիմնական հասկացությունների համար: Դուք կարող եք տիրապետել R լեզվի օգտագործմանը, որպեսզի ստեղծել Wordcloud, Pagerank, Data Visualization, Decision Trees, Regression, Clustering, Neural Networks եւ այլն: Դուք աշխատելու եք մի քանի խոշոր բազմամիլիոն ռեկորդային տվյալների, ինչպես նաեւ Twitter- ի թարմացումների հետ: Դուք կսովորեք Hadoop / MapReduce եւ Streaming Data հասկացությունները եւ կքննարկեք այլ Apache Մեծ Տվյալների նախագծեր, ինչպիսիք են Spark, Flink, Kafka, Storm, Samza, NoSQL- ը անհատական ​​հետազոտական ​​փաստաթղթերի միջոցով: Դուք կաշխատեք Kaggle.com- ից բաց ծրագրերի խմբերում, որպեսզի մրցեք դրամական պարգեւի համար `լուծելու լավագույն տվյալների վերլուծական մարտահրավերները: Դուք նաեւ կսովորեք օգտագործել ոլորտի առաջատար IBM SPSS Modeler- ը եւ բաց կոդով տվյալների հանքարդյունաբերական հարթակները: Այս դասարանում օգտագործվող #1 դասի բեսթսելլերը գրված է հրահանգչի կողմից: Դասընթացը կօգտագործի նաեւ MIT- ի, Coursera- ի, Google- ի եւ այլ տեղերից տեսանյութերի լայն տեսականի: (4 միավոր) Նախադրյալ. Բաժանմունքի ֆակուլտետի համաձայնությունը

  • Մեծ տվյալների տեխնոլոգիաներ (տվյալների գիտություն) (CS 523)

    Մի քանի կարճ տարիների ընթացքում խոշոր տվյալների տեխնոլոգիաներն անցել են նորագույն թվային տարիքի հիմնական բաղադրիչներից մեկը: Այս տեխնոլոգիաները շատ օգտակար են տեղեկատվությունը Գիտելիքի փոխակերպման համար:

    Դասընթացի նպատակն է ձեր զինանոցում որոշ կարեւոր գործիքներ ավելացնել, որոնք կօգնեն ձեզ լուծել մեծ տվյալների խնդիրները: Մենք սկսում ենք տալ պատասխաններ, ինչպես օրինակ «Ինչ է մեծ տվյալները»: Ինչու է դա կարեւոր կամ օգտակար: Ինչպես եք պահում այս մեծ տվյալները »: Այնուհետեւ մենք կկարողանանք ուսումնասիրել տարբեր գործիքներ եւ ծրագրային մոդելներ, տվյալների տեխնոլոգիական խոշոր բլոկից, որը կօգնի մեզ վերլուծել տվյալները: Թեմաները ներառում են Hadoop էկոհամակարգի որոշ ծրագրեր, ինչպիսիք են MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper եւ Apache Spark էկոհամակարգերի նախագծերը: Մենք նաեւ լուսաբանելու ենք AWS եւ EMR- ին: Դուք հիմնականում աշխատում եք մի քանի հանգույցով, Hadoop- ի Cloudera բաշխման հետ: (4 միավոր) (առանց նախապայմանների)

  • Համակարգչային անվտանգություն (CS 466)

    Այս դասընթացը խորապես ներառում է համակարգչային անվտանգության երեք ասպեկտները `գաղտնիությունը, ամբողջականությունը եւ մատչելիությունը: Սովորում են գաղտնի եւ ամբողջական անվտանգության քաղաքականության մի քանի մոդելներ: Գաղտնիության եւ ամբողջականության ապահովման գործում գաղտնագրման դերն ուսումնասիրվում է: Այլ թեմաները ներառում են վավերացում, աուդիտ, ներթափանցման փորձարկում, ընդհանուր խոցելիություններ եւ ներխուժման հայտնաբերում: Դասընթացը եզրափակվում է իրատեսական անվտանգ համակարգի դեպքերի ուսումնասիրությամբ: Ուսանողներին կառաջարկվեն կարդալ փաստաթղթերը անվտանգության գրականության մեջ եւ դրանք կիրառել դասախոսության մեջ ներկայացված նյութի նկատմամբ: (4 վարկ) Նախադրյալ. CS 401 կամ բաժնի ֆակուլտետի համաձայնությունը:

  • Ձեռնարկությունների ճարտարապետություն (CS 544)

    Այս դասընթացը կենտրոնանում է ավելի մեծ ձեռնարկատիրության ծրագրերի մշակման ժամանակ օգտագործվող սկզբունքներին եւ գործելակերպներին ուսուցանելու վրա: Մենք կքննարկենք այն տարբեր ճարտարապետական ​​շերտերը, որոնք հաճախ օգտագործվում են եւ այդ շերտերի հետ կապված տարբեր տեխնոլոգիաներ, այդ թվում `օբյեկտի հարաբերական քարտեզագրում (ORM), կախվածության ներարկում (DI), օպտիկական կողմնորոշված ​​ծրագրավորում (AOP) եւ այլ ծրագրերի հետ ինտեգրումը վեբ ծառայություններով (RESTfull եւ SOAP), Messaging եւ հեռակա մեթոդի հրավիրում: Պետք է ունենալ աշխատանքային գիտելիքներ հարակից տվյալների բազաների եւ SQL- ի մասին: Եթե ​​դուք չունեք SQL- ի լավ դասընթաց կամ լավ աշխատանքային գիտելիքներ, պետք է գրանցեք CS422 DBMS- ի համար, նախքան EA- ին գրանցելը: (4 միավոր)

  • Մեքենայական ուսուցում (տվյալների գիտություն) (CS 582)

    Մեքենայի ուսուցում, ուսումնասիրության դաշտը, որը համակարգիչներին հնարավորություն է տալիս տվյալների ընթերցման ունակությունը, գրեթե ամեն գիտական ​​կարգի սրտում է, եւ տվյալների հավաքագրման ուսումնասիրությունը (այսինքն `կանխատեսումը) մեքենավարման հիմնական թեման է: Այս դասընթացը հնարավորություն է տալիս մագիստրատուրայի մակարդակի ներածություն մեքենայական ուսուցման եւ մեքենաների ուսուցման նոր եւ առաջադեմ մեթոդների մանրամասն լուսաբանման, ինչպես նաեւ դրանց հիմքում ընկած տեսության մասին: Այն ընդգծում է մոտեցումները գործնական առարկայի հետ եւ քննարկում է մեքենաների ուսուցման մի շարք վերջին հայտեր, ինչպիսիք են Data Mining (Big Data / Data Science, Data Analytics), Natural Language Processing, Computer Vision, Robotics, Bioinformatics եւ Text եւ Web data processing: Մեքենայի ուսուցումն օգտագործվում է տարբեր ոլորտներում `ֆինանսական ծառայություններ, նավթ եւ գազ, առողջապահություն, մարկետինգ եւ գովազդ, կառավարում, ինտերնետ եւ ինտերնետի բաներ:

    Այս դասընթացը ներառում է մի շարք ուսուցման պարադիգմներ, ալգորիթմներ, տեսական արդյունքներ եւ ծրագրեր: Այն օգտագործում է հիմնական հասկացությունները արհեստական ​​հետախուզության, տեղեկատվական տեսության, վիճակագրության եւ վերահսկողության տեսության համեմատ, քանի որ դրանք մեքենայական ուսուցման համար կարեւոր են: Թեմաները ներառում են `վերահսկվող ուսուցում (գեներատիվ / խտրական կրթություն, պարամետրային / ոչ պարամետրիկ ուսուցում, նեյրոնային ցանցեր, աջակցություն վեկտորային մեքենաներ, որոշման ծառ, բայեզյան ուսուցում եւ օպտիմալացում); չկարգավորված ուսուցում (կլաստերացում, չափման նվազեցում, միջուկի մեթոդներ); ուսումնառության տեսությունը (կողմնակալ / զարկերակային փոխհարաբերություններ, VC տեսություն, խոշոր եզրեր); ամրապնդման ուսուցում եւ հարմարվողական վերահսկողություն: Այլ թեմաները ներառում են HMM (Hidden Markov մոդելը), Evolutionary Computing, Deep Learning (Neural Nets- ի հետ) եւ նախագծման ալգորիթմներ, որոնց կատարումը կարող է կոշտորեն վերլուծել հիմնարար մեքենաների ուսուցման խնդիրները:

    Դասընթացի կարեւոր մասն է խմբի նախագիծը: Զուգահեռ, բաշխված եւ չափելի մեքենաների ուսուցման համար օգտագործվող հիմնական բաց կոդով գործիքները կարճ ժամանակով կներկայացվեն, որպեսզի ուսանողները օգնի ծրագրերին: (4 միավոր) Նախադրյալ. Ոչ:

  • Շարժական սարքերի ծրագրավորում (CS 473)

    Շարժական սարքի ծրագրավորման կարեւորությունը վերջին տարիներին առաջացել է որպես ծրագրային ապահովման զարգացման նոր տիրույթ: Այս դասընթացը ուսանողներին պատրաստում է զարգացնել ծրագրեր, որոնք աշխատում են շարժական սարքերում, ինչպիսիք են IPhone, iPad կամ Android հեռախոսները: Սա արագ զարգացող շուկա է: Դասընթացը կենտրոնանում է բջջային ծրագրերի տեղադրման, մշակման, փորձարկման եւ բաշխման վրա: Այս դասընթացի ավարտին ուսանողները կարողանում են մշակել ծրագրեր, որոնք ընդգրկված են, դրանք մոդելավորել, ստուգել դրանք իրական սարքի վրա եւ վերջապես հրատարակել հավելվածի խանութը, օգտագործողների համար մատչելի դարձնելու համար: (4 միավոր) Նախադրյալ. CS472 կամ բաժնի ֆակուլտետի համաձայնությունը:

  • Ժամանակակից վեբ ծրագրեր (CS 572)

    Այս ընթացքում դուք կկարողանաք իմանալ ՍՊԱ (Single Page Web Applications) ռեակտիվ ծրագրավորման ճարտարապետությունը եւ բոլոր անհրաժեշտ հմտությունները `ամբողջական արդի վեբ հավելված ստեղծելու համար: Տեխնոլոգիաները ներառում են `NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase եւ NoSQL տվյալների բազաները (MongoDB): Դասընթացը կներառի.

    • Ինչպես C ++ V8- ի շարժիչն ու ասինխրոն կոդը աշխատում են հանգույցում եւ հանգույցի իրադարձության հանգույցում:
    • Ինչպես կառուցել ձեր կոդը վերագործարկման համար եւ կառուցել հանգստացող API `մոդուլների եւ ExpressJS- ի միջոցով:
    • Ինչպես է գործում NoSQL տվյալների բազա. Mongo Shell, համախմբման հիմունքներ, Replica Sets, Clustering, Shards, Mongoose ORM:
    • Խորը հասկացողություն, թե ինչպես է անկյունային (աջակցում է Google- ի կողմից), փոփոխության հայտնաբերում, ռեակտիվ RxJs- ի ծրագրավորում, դիտորդների եւ առարկաների հետ, ստվերային DOM, գոտիներ, մոդուլներ եւ բաղադրիչներ, մաքսային հրահանգներ եւ խողովակներ, ծառայություններ եւ կախվածության ներարկում, անկյունային կոմպիլյատոր, JIT եւ AOF կազմելը , Ձեւաթղթեր (Կաղապար ղեկավարվող եւ տվյալների վրա հիմնված), Տվյալների ամրագրումը, Ուղղորդումը, Պահպանողները եւ երթուղու պաշտպանությունը, HTTP հաճախորդը, JWT JSON վեբ տեքստային նույնականացումը:

    (4 միավոր)

  • Օպերացիոն համակարգեր (CS 465)

    Օպերացիոն համակարգը վերահսկում է համակարգչային համակարգի կենտրոնական ռեսուրսները եւ դրանք տրամադրում է անհատական ​​օգտվողներ: Դասընթացի թեմաները ներառում են հաջորդական եւ միաժամանակյա գործընթացները, փոխադարձ բացառումը, ռեսուրսների փոխանակումը, գործընթացի համագործակցությունը, փակուղի, ռեսուրսների տեղաբաշխումը, պրոցեսորների պլանավորումը, հիշողության կառավարման համակարգը, հատվածային եւ paging ալգորիթմները, ժամանակի կառավարման համակարգերը, պլանավորման ալգորիթմները եւ ռեսուրսների պաշտպանությունը: (4 միավոր) Նախադրյալ. CS 401 կամ բաժնի ֆակուլտետի համաձայնությունը:

  • Զուգահեռ ծրագրավորում (CS 471)

    Բոլոր նոր համակարգիչների ստանդարտ պրոցեսորը այժմ բազմակողմանի պրոցեսոր է, որն ունի ավելի արագ ծրագրեր իրականացնելու ներուժ: Այնուամենայնիվ, օգտագործելու այս ներուժը, ծրագրավորողը պետք է ունենա զուգահեռ ծրագրավորման տեխնիկայի որոշակի գիտելիքներ: Այս դասընթացի ընթացքում ուսանողները կկատարեն ժամանակի մեծ մասը զուգահեռ ծրագրեր գրելու եւ կարգաբերելու համար: Ակնկալվող արդյունքը կլինի գործնական ծրագրավորման հմտության նոր մակարդակի մշակում: Այս հմտությունը ոչ միայն օգտակար կլինի բազմաֆունկցիոնալ պրոցեսորների ծրագրավորման, այլեւ օպերացիոն համակարգերի ծրագրավորման եւ բաշխված տվյալների բազայի ծրագրավորման համար: Այս դասընթացի ընթացքում օգտագործված ծրագրային գործիքները ներառում են Microsoft Visual C / C ++, Java multithreading գրադարան եւ OpenMP սեղմման ստանդարտ: (4 միավոր) Նախադրյալ. Համակարգչային ծրագրավորման իմացություն, օգտագործելով Java, C կամ C ++:

  • Ծրագրային ապահովման ճարտարապետություն (CS 590)

    Այս ընթացքում մենք կանդրադառնանք միկրոալիքային ծառայություններ օգտագործող ճկուն, լայնածավալ, փորձարկելի եւ ճկուն ծրագրային համակարգերի նախագծման մեթոդներին, սկզբունքներին եւ ձեւերին: Մենք կսովորեցնենք, թե ինչպես կարող ենք խոշոր ծրագրեր բաժանել ավելի փոքր միկրոային ծառայությունների, որոնք ավելի հեշտ են կառուցել եւ այլ առավելություններ, համեմատած մոնոլիտ ձեռնարկությունների ծրագրերի հետ: Բաշխված միկրոալիքային ճարտարապետությունը նույնպես շատ մարտահրավերներ է առաջացնում: Մենք կքննարկենք այդ մարտահրավերները եւ դրանց լուծման ուղիները: Այս դասընթացի թեմաներն են ճարտարապետական ​​ոճերը, ինտեգրման տեխնիկան եւ ձեւերը, տիրույթը հիմնված դիզայնը, միջոցառումների վրա հիմնված ճարտարապետությունը եւ ռեակտիվ ծրագրավորումը: (4 վարկ): (Առանց նախապայմանների)

  • Ծրագրավորման ծրագրերի պրակտիկա (CS 575)

    Դասընթացի այս փուլում ուսանողները համակարգչային խնդիրներով զբաղվում են տեխնիկական մասնագիտական ​​դիրքով: Կատարված խնդիրները կարող են լինել նոր համակարգերի նախագծման եւ մշակման կամ առկա համակարգերի կիրառումը կոնկրետ նպատակների համար: Գործնական աշխատանքների նկարագրությունները ձեւակերպվում են գործատուի եւ ուսանողի կողմից եւ նախապես պահանջում է հաստատում գերատեսչության շրջանավարտներից մեկի կողմից, խորհրդակցելով պրակտիկայի ղեկավարի հետ, որտեղ ուսանողը տեղադրված է: (Այս դասընթացի հիմնականում պրակտիկայի կամ կոոպերատիվ ծրագրերի ուսանողների համար) (0.5-1 միավոր յուրաքանչյուր բլոկի համար կարող է կրկնվել):

«Առաջին անգամ լսել եմ ՄՍՀԿ-ի ծրագրին, ես կասկածեցի: Ես չէի հավատում, որ նման բան գոյություն ունի: Բայց մի օր ընկերոջս միացավ ծրագիրը: Դա այն ժամանակ, երբ ես հաստատեցի, որ դա իրական է: Հետո վերսկսեցի իմ դիմումը: Դե Ճիշտ է, ես այստեղ եմ, ավարտել եմ ծրագիրը, եւ ես շատ ուրախ եմ »:

Էդվին ԲուամբալեՈւգանդա