Сіз дайынсыз ба? Сіздің мансапыңызды жақсартасыз ба?

Барлық курстар Сіздің мансапты дамытуға көмектесуге арналған және әрбір курста тәжірибелік тапсырмалар бар. Көрініс бітіру талаптары.

Деректер туралы курстар

Стандартты негізгі курстар

  • Бұл курс бағдарламалау мен аналитикалық дағдыларды арттыруға бағытталған бес бағыт бойынша бағдарламаны ұсынады: мәселелерді шешу, мәліметтер құрылымы, объектіге бағытталған бағдарламалау, Java бағдарламалау тілі және Java бағдарламаларында рекурсияны қолдану.

    Бұл тақырыптар информатика магистратурасындағы курстардың алғышарты ретінде ерекше маңызды.

    Тақырыптарға мыналар кіреді: Java бағдарламалау элементтері, объектіге бағытталған жобалау және енгізу, деректер құрылымдары (тізімдер, стектер, кезектер, екілік іздеу ағаштары, хэш кестелер мен жиынтықтарды қосқанда), ерекше иерархия, файл шығару / шығару және ағындар және JDBC. (4 кредит) Пререквизит: Бакалавриат студенттері үшін: CS 221; аспиранттар үшін: факультеттің келісімі (4 бірлік)

  • Бұл курс объектілі-бағдарлы бағдарламалаудың негізгі принциптерін ұсынады. Студенттер қайтадан қолданылатын және жақсы бағдарламалық қамтамасыз етуді жазуды үйренеді және осы білімді зертханалық тапсырмалар мен жобалармен біріктіреді. Тақырыпқа мыналар жатады: бағдарламалық жасақтаманың қайтадан қолдана алатындығын және қолжетімділігін арттыруға бағытталған объектілі-бағдарлы бағдарламалаудың негізгі принциптері мен модельдері, UML класстық диаграммалары және дизайн принциптері. (4 бірлік)

  • Бұл курс қазіргі заманғы әдістемелерді және бағдарламалық қамтамасыз ету жүйелерін жақсы жобалау әдістерін қарастырады. Тақырыптарға мыналар жатады: осы көп деңгейлі абстракцияларды қолдану үшін бағдарламалық жасақтама құрылымдары, шеңберлер, сәулет және жобалау жүйелері. (2-4 кредит) Пререквизит: CS 401 немесе кафедра оқытушыларының келісімі.

  • Бұл курс алгоритмдердің тиімділігін талдау әдістерін ұсынады (соның ішінде, ең жаман және орташа жағдайды талдау) және белгілі, жоғары тиімді алгоритмдерді енгізеді. Алгоритмдерді талдау, жобалау және іске асыруға бірдей көңіл бөлінеді. Тақырыптар деректер құрылымдары (соның ішінде тізімдер, хэштеттер, теңдестірілген екілік іздеу ағаштары, басым кезектер), графикалық алгоритмдер, комбинаторлық алгоритмдер, қайталану қатынастары, динамикалық бағдарламалау, NP-толық проблемалары және кейбір арнайы тақырыптар бойынша іздеу және сұрыптау, тиімділікті қамтиды мүмкіндік береді. (Арнайы тақырыптарға есептеу геометриясы, криптожүйелерге арналған алгоритмдер, жуықтау, үлкен деректер және параллель есептеулер кіреді.)

  • Бұл курс ауқымды кәсіпорын қосымшаларын әзірлеу кезінде қолданылатын принциптер мен практиканы оқытуға бағытталған. Біз жиі қолданылатын әртүрлі архитектуралық қабаттарды және осы қабаттармен байланысты әртүрлі технологияларды, соның ішінде Object Relational Mapping (ORM), Dependency Injection (DI), Aspect Oriented Programming (AOP) және Web Services (RESTfull және SOAP), Хабар алмасу және қашықтағы әдісті шақыру. Реляциялық дерекқорлар мен SQL туралы жұмыс істеу керек. Егер сізге күшті курс немесе жақсы SQL білімі жоқ болса, сіз EA тіркелмес бұрын CS422 DBMS үшін тіркелуіңіз керек. (4 бірлік)

  • Бағдарламалық жасақтаманы жобалау - бағдарламалық қамтамасыз етуді әзірлеу әдіснамасы арқылы студентті бағдарламалық қамтамасыз етуді дамытудағы озық тәжірибеге енгізетін курс. Студенттер бұрынғы курстарда Object-Oriented paradigm-мен тәжірибе жинақтады және бағдарламалық жасақтама объектілері арасындағы қатынастарды моделдеу мақсатында негізгі UML диаграммаларын қолданды. Бағдарламалық жасақтама инженериясында студент осы құралдарды сенімді, оңтайлы бағдарламалық қамтамасыз етуді жасау үшін біріктіру дағдыларын дамытады. Бағдарламалық қамтамасыз етуді әзірлеу әдіснамасы сапалы бағдарламалық қамтамасыз етуді құру мақсатын орындау үшін OO тұжырымдары мен UML диаграммаларын қашан және қалай қолдануға болатынын сипаттайды. Курс лекциялық форматта талқыланған принциптерді көрсетуге және қолдануға болатын шағын жобаның айналасында орналасқан. Курстың соңында студенттің RUP (Rational Unified Process) әдіснамасының жоғары стандарттарына сәйкес салынған қолданыстағы қосымшасы болады.

  • Бұл курс веб-қосымшаларды кәсіпорын параметріне аударады. Кәсіпорын қосымшасы корпорация немесе үкімет секілді ірі ұйымда жұмыс істеуге арналған үлкен бағдарламалық құрал болып табылады. Кәсіпорын қосымшалары күрделі, ауқымды, құрамдас бөлікке бөлінген, бөлінген және миссиясы сыни. Бұл курс, CS545, корпоративтік веб-қосымшаның алдыңғы жағына немесе көрсетілім қабатына бағытталған. CS544 Enterprise Architecture - бизнес-логика, транзакциялар және табандылықты қоса, артқы жағына немесе бизнес қабатына бағытталған компаньон курсы. CS472, Web Application Programming - HTML, CSS, JavaScript, сервлеттерді және JSP-ды қамтитын міндетті курс.

    Курс платформалар мен шеңберлерде жалпы болып табылатын қағидаттар мен үлгілерді үйретеді. Курс екі Java Web Framework, Java Server Faces (JSF) және SpringMVC-мен зерттеліп, жұмыс істейді. JSF компоненттік негіздеме болып табылады және Java Enterprise Edition технологиясының стекінің ресми көрсетілімінің негіздеме сипаттамасы болып табылады. SpringMVC - бұл негізгі деректер базасының бөлігі болып табылады және соңғы жылдары Java-ның ең кең таралған желісі болды. (4 бірл.) Пререквизит: CS 472 немесе кафедра оқытушыларының келісімі.

  • Бұл курс интерактивті және динамикалық веб-қосымшаларды бағдарламалауға жүйелі түрде кіріспе ұсынады. Курс веб-қосымшаларды бағдарламалау тәжірибесі аз немесе мүлдем жоқ адамдарға арналған. Бұл ұсыныста серверлік өңдеу үшін Java сервлеттері мен JSP қолданылады. Курста HTML және CSS енгізіледі. JavaScript курстың фокусы болып табылады және jQuery, Ajax және JavaScript аттары мен модульдерін қосатын функционалды бағдарламалау тілі ретінде қарастырылады. Бұл CS545 веб-қосымшасының архитектурасының алғышарты. Ол AngularJS немесе NodeJS-ті қамтымайды, бірақ JavaScript сізді сол технологияларды білуге ​​дайындайды. (4 бірлік)
    Пререквизиттер: CS 220 немесе CS 401 немесе кафедра оқытушыларының келісімі.

  • Сіздің бірінші курсыңыз информатика саласындағы ең жақсы маман бола алатындығыңыздың негізін қалауға арналған. Курс трансцендентальды медитация тәжірибесінен бастау алады, бұл сіздің нақты әлеуетіңізді жүзеге асыруға әкеледі. Сіз TM-нің артықшылықтары туралы білесіз, оның ішінде ақыл-ойдың жоғары қабілеті арқылы шығармашылықты арттыру және «ойдан тыс» ойлау арқылы күрделі мәселелерді шешу мүмкіндігі бар. Курста демалыс пен белсенділіктің оңтайлы қоспасын құру арқылы белсенділіктің жоғары деңгейіне негіз болатын принциптерге назар аударылады. Сіз өмірдегі сәттілікті қолдайтын күнделікті өмірді дамытып, сезінесіз. (2 бірлік)

  • Бұл курстың мақсаты студенттерді көшбасшылыққа, оның ішінде болашақ көшбасшылық рөлдерге дайындық ретінде қарым-қатынас дағдыларына үйрету.

    Курстың соңында студенттер тиімді басшылыққа қатысты негізгі сұрақтардың жауаптарын түсінеді, соның ішінде:

    «Табиғи туған» көшбасшылар бар ма?

    Сізді тиімді басқаруға харизма болуы керек пе?

    Жетекші болуға қандай бір актив қажет?

    Басқарушы және жетекші арасындағы айырмашылық неде?

    Осы дәуірде басшылық ету керек көптеген «ақылдылар» деген не?

    «Басқаруды бұзу» деген не және ол өзін-өзі саботажға қалай әкеледі?

    Жетекші процестер үшін кері байланысты білу маңызды екенін біліп, оны беруден және қорқудан қорқуды қалай аламыз?

    Жұмыс орнында кездесетін мәселелердің 80% көзі қандай?

    Ұйымның жеке және топтық көшбасшылық қабілеттерін арттыруға көмектесетін ғылыми зерттеулер бар ма?

    Қонақүйдің спикерлері көрнекті кәсіпкерлер, компьютерлік ғалымдар, филантроптар, академиктер және қоғамдағы басқа да беделді көшбасшыларды қамтиды.

    (2 бірлік)

Қосымша MSCS курстары

  • Бұл курс формалды әдістерге және абстракцияның механизмдеріне баса назар аудара отырып, бағдарламалау тілін жобалаудың озық тақырыптарын қарастырады. Тақырыптар деректерді және басқаруды абстракцияны, синтаксисті және семантиканы формалды спецификациялауды, бағдарламаның дұрыстығын дәлелдеуді, детерминистикалық бағдарламалауды, кеңейтілген басқару құрылымдарын және нақты тілдерді зерттеуді қамтиды. (4 бірл.) Пререквизит: CS 401 немесе кафедра оқытушыларының келісімі.

  • Қазіргі ақпаратты өңдеу дәстүрлі дерекқор жүйелерімен өңделмейтін деректердің үлкен репозиторийлері арқылы анықталады. Бұл курс осы мәселені ең тиімді жолмен шешу үшін салалық көшбасшылар әзірлеген және қолданатын ең соңғы технологияны қамтиды. Арнайы тақырыптарда MapReduce алгоритмдері, MapReduce алгоритмінің дизайны үлгілері, HDFS, Hadoop кластерлік сәулет, YARN, есептеу жиіліктері, қайталама сұрыптау, веб-сканерлеу, инверттелген индекстер және индексті сығымдау, Spark алгоритмдері және Scala қамтиды. (4 бірліктері) Пререквизит: CS 435 алгоритмдері.

  • Big Data - бұл жаңа табиғи ресурс: мәліметтер әр 12-18 айда екі есеге артады. Бұл Big Data Analytics жаңа курсы жаңа түсініктер қалыптастыру үшін әртүрлі мәліметтер жиынтығын өндіруге арналған негізгі ұғымдар мен құралдарды қамтиды. Wordcloud, Pagerank, деректерді визуалдау, шешім ағаштары, регрессия, кластерлеу, жүйке желілері және басқаларын құру үшін R тілін қолдануды игересіз. Сіз бірнеше миллиондық жазбалар жиынтығымен жұмыс істейтін боласыз, сонымен қатар Twitter фидтерінде жұмыс істейтін боласыз. Сіз Hadoop / MapReduce және Streaming Data тұжырымдамаларын үйренесіз, және басқа зерттеу жұмыстары арқылы Spache, Flink, Kafka, Storm, Samza, NoSQL сияқты басқа Apache Big Data жобаларын зерттейсіз. Сіз Kaggle.com ашық жобаларында топтарда жұмыс істейсіз, ең жақсы мәліметтер-аналитикалық міндеттерді шешу арқылы ақшалай сыйлыққа таласыңыз. Сондай-ақ, сіз өнеркәсіптік жетекші IBM SPSS Modeler-ді және дереккөздерді бастапқы дереккөздермен жинау платформаларын пайдалануды үйренесіз. Сондай-ақ, курста MIT, Coursera, Google және басқа да жерлерден бейне оқыту материалдарының кең спектрі қолданылады. (4 бірлік) Қажетті жағдай: Кафедра профессор-оқытушылар құрамының келісімі

  • Бірнеше қысқа мерзімде үлкен деректер технологиясы жаңа цифрлық кезеңнің негізгі құрамдас бөліктерінің біріне айналды. Бұл технологиялар Ақпаратты білімге айналдыру үшін өте пайдалы.

    Курстың мақсаты - үлкен мәліметтерге қатысты әр түрлі мәселелерді шешуге көмектесетін арсеналға бірнеше маңызды құралдарды қосу. Біз «Үлкен деректер дегеніміз не? Неліктен бұл маңызды немесе пайдалы? Сіз бұл үлкен деректерді қалай сақтайсыз? »Деп сұрады. Содан кейін біз деректерді талдауға көмектесетін үлкен көлемдегі технологиялар жиынтығынан әртүрлі құралдар мен бағдарламалау модельдерін зерттейміз. Тақырыптарға Hadoop экожүйесіндегі MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper және Apache Spark экожүйелері жобалары жатады. Біз сондай-ақ AWS және EMR-ге кіріспе қарастырамыз. Сіз негізінен Cloudera таратылымының Hadoop бір түйінімен жұмыс істейтін боласыз. (4 бірлік) (алғышарттар жоқ)

  • Деректер базасы жүйесі пайдаланушыларға қажетті ақпаратты оңай және тиімді пайдалануға мүмкіндік беретін ақпаратты ұйымдастырады және шығарады. Тақырыптар: реляциялық деректер моделі; SQL; ER моделдеу; реляциялық алгебра; деректерді қалыпқа келтіру; мәмілелер; дерекқордағы объектілер; деректер қауіпсіздігі және тұтастығы; деректерді сақтау, OLAP және деректерді өңдеу; таратылған дерекқорлар; коммерциялық деректер базасының нақты жүйесін зерделеу. (4 бірл.) Пререквизит: CS 401 немесе кафедра оқытушыларының келісімі.

  • Machine Learning - бұл компьютерлерге деректерден үйрену мүмкіндігін беретін зерттеу саласы, барлық дерлік ғылыми пәндердің негізінде жатыр және деректерден жалпылауды (яғни болжауды) зерттеу машиналық оқытудың орталық тақырыбы болып табылады. Бұл курс магистратура деңгейінде машиналық оқытуға кіріспе және машиналық оқытудағы жаңа және озық әдістерді, сондай-ақ олардың негізгі теориясын терең қамтуды қамтамасыз етеді. Ол практикалық өзектілігі бар тәсілдерге баса назар аударады және деректерді өндіру (үлкен деректер/деректер туралы ғылым, деректерді талдау), табиғи тілді өңдеу, компьютерлік көру, робототехника, биоинформатика және мәтін мен веб-деректерді өңдеу сияқты машиналық оқытудың соңғы қолданбаларын талқылайды. Machine Learning әртүрлі салаларда қолданылады, соның ішінде қаржылық қызметтер, мұнай және газ, денсаулық сақтау, маркетинг және жарнама, үкімет, Интернет және заттардың интернеті.

    Бұл курс әр түрлі оқу парадигмаларын, алгоритмдерді, теориялық нәтижелер мен қолдануды қамтиды. Онда жасанды интеллект, ақпарат теориясы, статистика және басқару теориясының негізгі ұғымдары машиналық оқытуға қатысты болған жағдайда қолданылады. Тақырыптарға мыналар кіреді: бақылаулы оқыту (генеративті / дискриминативті оқыту, параметрлік / параметрлік емес оқыту, нейрондық желілер, тірек векторлық машиналар, шешім ағашы, Байес тілін оқыту және оңтайландыру); бақылаусыз оқыту (кластерлеу, өлшемділікті азайту, ядро ​​әдістері); оқыту теориясы (ауытқушылық / дисперсиялық саудалар; VC теориясы; үлкен маржалар); арматуралық оқыту және адаптивті бақылау. Басқа тақырыптарға HMM (жасырын Марков моделі), эволюциялық есептеу, терең оқыту (жүйке торларымен) және машиналық оқытудың негізгі проблемалары үшін өнімділігі қатаң талдануы мүмкін алгоритмдерді жобалау кіреді.

    Курстың маңызды бөлігі - топтық жоба. Параллельді, таратылатын және масштабталатын машина жасау үшін пайдаланылатын негізгі ашық бастапқы құралдарды оқушыларға жобаларды жүзеге асыруға көмектесу үшін қысқаша шолу жасалады. (4 бірлік) Пререквизит: Жоқ.

  • Мобильді құрылғыны бағдарламалаудың маңыздылығы соңғы жылдары бағдарламалық жасақтамадағы жаңа домен ретінде пайда болды. Бұл курс студенттерді IPhone, IPad немесе Android телефон сияқты мобильді құрылғыларда жұмыс істейтін қосымшаларды әзірлеуге дайындайды. Бұл тез дамып келе жатқан нарық. Курс мобильді қосымшаларды орнату, әзірлеу, сынақтан өткізу және таратуға бағытталған. Курстың соңында студенттер платформаларға арналған қосымшаны жасай алады, оларды имитациялайды, нақты құрылғымен сынайды және пайдаланушыларға қол жетімділік жасау үшін қосымшалар дүкенінде жариялайды. (4 бірлік) Пререквизит: CS472 немесе кафедра оқытушыларының келісімі.

  • Бұл курста СПА-ның Reactive Programming Architecture (Single Page Web Applications) және толыққанды заманауи веб-қосымшаны құру үшін барлық қажетті дағдыларды үйренесіз. Технологияларға мыналар жатады: NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase және NoSQL дерекқорлары (MongoDB). Курс келесідей болады:

    • C ++ V8 қозғалтқышы және асинхронды код Node және Node оқиғалар циклі қалай жұмыс істейді.
    • Кодты қайта пайдалану және модульдер мен ExpressJS арқылы тыныштандырылған API құрастыру үшін қалай құрастыруға болады.
    • NoSQL деректер қорлары қалай жұмыс істейді: Mongo Shell, агрегаттық жүйе, көшірме жиынтықтары, кластеризация, шарлар, Mongoose ORM.
    • Көрнекі (Google қолдау көрсеткен) бұрыштық жұмысын, Detect Detection өзгертуін, Observables and Subjects, Shadow DOM, аймақтар, модульдер мен компоненттері, арнайы директивалар және құбырлар, қызметтер және тәуелділік инъекциясы, бұрыштық компилятор, JIT және AOF компиляциясы бар реактивті RxJs бағдарламаларын қалай терең түсіну. , Forms (Template Driven and Data Driven), Деректерді байластыру, Бағдарлау, Күзет және маршруттарды қорғау, HTTP клиенті, JWT JSON Web Token Authentication.

    (4 бірлік)

  • Барлық жаңа компьютерлер үшін стандартты процессор енді бағдарламаларды әлдеқайда жылдам орындауға қабілетті көп ядролық процессор болып табылады. Алайда, бұл әлеуетті пайдалану үшін бағдарламашы параллельді бағдарламалау әдістерін білуі керек. Бұл курс барысында студенттер параллельді бағдарламаларды жазу мен түзету жұмыстарын өткізеді. Күтілетін нәтиже - практикалық бағдарламалау дағдысының жаңа деңгейін дамыту. Бұл дағдылар көп ядролы процессорларды бағдарламалау үшін ғана емес, сондай-ақ операциялық жүйелерді бағдарламалау және таратуға арналған деректер базасын әзірлеу үшін де пайдалы болмайды. Осы курс барысында қолданылатын бағдарламалық құралдардың ішінде Microsoft Visual C / C ++, Java мультимедиялық кітапхана және OpenMP жұмыс істеу стандарты бар. (4 бірл.) Пререквизит: Java, C немесе C ++ арқылы компьютерлік бағдарламаларды білу.

  • Бұл практикалық курста студенттер компьютермен байланысты тапсырмаларды техникалық кәсіби жағдайда орындайды. Орындалған міндеттер жаңа жүйелерді жобалау және жасау немесе қолданыстағы жүйелерді белгілі бір мақсаттарға қолдану кезінде болуы мүмкін. Практикумның лауазымдық нұсқаулықтарын жұмыс беруші мен студент тұжырымдайды және алдын-ала кафедраның бітіруші факультетінің біреуі, студент орналастырылған практика жетекшісімен келісе отырып талап етеді. (Бұл курс, ең алдымен, өндірістік практикада немесе ынтымақтастық бағдарламасында оқитындарға арналған.) (Бір блок үшін 0.5-1 бірлік - қайталануы мүмкін.)

  • Бұл курста біз микро-серверлерді қолдана отырып, икемді, ауқымды, тестіленетін және икемді бағдарламалық жүйелерді жобалау әдістерін, принциптерін және үлгілерін қарастырамыз. Үлкен қосымшаларды монолитті кәсіпорындардың бағдарламаларына қарағанда жеңілірек шағын микро-серверлерге бөлуге және басқа артықшылықтарды қалай бөлуге болатынын зерттейміз. Бөлінген микросервис архитектурасы көптеген қиындықтарды тудырады. Біз осы қиындықтарды және оларды қалай шешу керектігін зерттейміз. Курстың тақырыптары архитектуралық стильдер, интеграциялық әдістер мен модельдер, доменге негізделген дизайн, оқиғаға негізделген архитектура және реактивті бағдарламалау. (4 кредиттері). (Алғышарттары жоқ)

«MSCS бағдарламасы туралы бірінші рет естігенде, мен оған күмәндандым. Мен бұған ұқсас нәрсе бар екеніне сене алмадым. Бірақ бір күні менің досым бағдарламаға қосылды. Мен бұл шындық екенін растаған кезде болды. Содан кейін мен өтінішімді қайта бастадым. Жақсы! Рас, мен осындамын, бағдарламаны аяқтадым және өте қуаныштымын ».