Вивчіть «практичні» навички за допомогою новітніх технологій розробки програмного забезпечення

Ви готові Просуньте свою кар'єру?

Чи готові ви просувати свою кар’єру?

Після консультації зі своїми радниками всі студенти обирають фундаментальні курси з лівої колонки нижче та курси для підвищення кваліфікації з правої колонки.

На підставі кваліфікаційних іспитів, складених після прибуття в кампус, лише студенти Підготовча вступна траса потрібно буде пройти 4-тижневий курс Fundamental Programming Practices (CS 390). FOR 506 і CS 401 необхідні для всіх студентів. Переглянути вимоги до випуску >

Фундаментальні курси

  • Ваш перший курс спеціально розроблений, щоб встановити основу того, як ви можете стати найкращим фахівцем з інформатики. Цей курс укорінений у практиці трансцендентальної медитації, яка веде до реалізації вашого справжнього потенціалу. Ви дізнаєтесь про переваги ТМ, включаючи здатність вирішувати складні проблеми за допомогою чудового розумового функціонування, посилюючи креативність та нестандартне мислення. Курс буде зосереджений на принципах, які лежать в основі пікових показників діяльності, розробляючи оптимальне поєднання відпочинку та активності. Ви сформуєте і переживете ідеальний розпорядок дня, який підтримує життєвий успіх. (2 одиниці)

  • Цей курс забезпечує цілеспрямовану програму для вдосконалення програмування та аналітичних навичок у п’яти областях: вирішення проблем, структури даних, об’єктно-орієнтоване програмування, мова програмування Java та використання рекурсії в програмах Java.

    Ці теми мають особливе значення як передумова для курсів в аспірантурі з комп'ютерних наук.

    Теми включають: елементи програмування на Java, об’єктно-орієнтоване проектування та реалізацію, структури даних (включаючи списки, стеки, черги, двійкові дерева пошуку, хеш-таблиці та набори), ієрархію винятків, введення / виведення файлів та потоки та JDBC. (4 кредити) Обов’язкова умова: Для студентів магістрантів: CS 221; для аспірантів: згода факультету кафедри (4 одиниці)

  • Цей курс представляє основні принципи об'єктно-орієнтованого програмування. Студенти дізнаються, як писати багаторазове та краще програмне забезпечення, а також інтегрувати ці знання з лабораторними завданнями та проектами. Теми включають: основні принципи і моделі об'єктно-орієнтованого програмування, UML-діаграми класів і принципи проектування, що сприяють повторному використанню та ремонтопридатності програмного забезпечення. (Одиниць 4)

  • Цей курс охоплює основні принципи проектування БД і ознайомлення з базами даних SQL і NoSQL.

    Теми включають: Принципи проектування реляційної БД, нормальні форми, первинні та зовнішні та унікальні ключі; Запити (агрегація, об'єднання, сортування); транзакції; Принципи проектування БД на основі документів, індекси, масштабування баз даних; Доступність і відновлення (дамп, відновлення, експорт, імпорт); База даних як послуга. Немає попередніх умов.

    (Одиниць 4)

  • Системи бази даних організовують і отримують інформацію, що дозволяє користувачеві легко і ефективно отримувати доступ до потрібної інформації. Теми включають: реляційну модель даних; SQL; ER моделювання; реляційна алгебра; нормалізація даних; операції; об'єкти в базі даних; безпека та цілісність даних; сховища даних, OLAP та інтелектуального аналізу даних; розподілені бази даних; вивчення конкретної комерційної системи бази даних. (Одиниці 4) Передумова: CS 401 або згода факультету кафедри.

  • Програмна інженерія - це курс, який знайомить студентів з найкращими практиками розробки програмного забезпечення за допомогою методології розробки програмного забезпечення. Студенти вже мали певний досвід попередніх курсів з об'єктно-орієнтованою парадигмою і використовували деякі з базових UML-діаграм для цілей моделювання відносин між об'єктами програмного забезпечення. У програмній інженерії, студент буде розвивати навички в поєднанні цих інструментів разом, щоб виробляти надійне, легко підтримуване програмне забезпечення. Методологія розробки програмного забезпечення описує, коли і як повинні бути використані концепції OO і UML діаграми для досягнення мети побудови якісного програмного забезпечення. Курс охоплює невеликий проект, в якому можна проілюструвати та застосувати принципи, обговорювані у форматі лекції. До закінчення курсу студент буде мати запущену програму, побудовану відповідно до високих стандартів методології розробки RUP (Rational Unified Process).

  • У цьому курсі представлені методи аналізу ефективності алгоритмів (включаючи найгірший і середній аналіз) і впроваджується безліч відомих, високоефективних алгоритмів. Аналізу, проектуванню і реалізації алгоритмів приділяється рівний акцент. Теми включають пошук і сортування, ефективність операцій над структурами даних (включаючи списки, хеш-таблиць, збалансовані двійкові пошукові дерева, пріоритетні черги), алгоритми графів, комбінаторні алгоритми, рекуррентні відносини, динамічне програмування, NP-повні проблеми і деякі спеціальні теми як час дозволяє. (Спеціальні теми включають обчислювальну геометрію, алгоритми криптосистем, апроксимацію, великі дані та паралельні обчислення.)

  • Цей курс глибоко вивчає концепції асинхронного веб-програмування та охоплює найважливіші шаблони проектування для JS, включаючи шаблон спостерігача, фабрику, декоратор та багато іншого. Він також охоплює роботу з Web API та незмінними структурами даних.

    Теми включають: Спільний Git; Вступ до TypeScript і Bundlers; Асинхронний JavaScript; Цикл подій; API історії, API геолокації; Ajax (HTTP, Ajax, JSON, Fetch, Introduction to CORS, Debugging); Promises і Async/Await; реактивне програмування; RxJS Observables і оператори; Патерни проектування: модуль, прототип, одиночний елемент, спостерігач, фасад, фабрика, декоратор, проксі, стратегія, запам’ятовування; Сучасні веб-браузери. Немає попередніх умов.

    (Одиниць 4)

  • Майбутнє обчислювальної техніки паралельне. Збільшення продуктивності послідовної роботи вийшло на плато, оскільки конструкції процесора вийшли за межі мініатюризації, тактової частоти, потужності та тепла. У 2005 році кількість ядер процесора різко почала зростати з одного ядра до кількох ядер, створюючи потенціал для набагато швидше виконання програм. Однак, щоб використовувати цей потенціал, програміст повинен мати певні знання про методи паралельного програмування.

    Цей курс навчає студентів фундаментальним поняттям паралельного програмування в контексті Java 9. Паралельне програмування дає змогу розробникам використовувати багатоядерні комп’ютери, щоб прискорити роботу своїх програм, використовуючи кілька ядер одночасно. Наприкінці цього курсу ви навчитеся використовувати популярні паралельні фреймворки Java (такі як багатопоточність, потоки та виконавці) для написання паралельних програм для широкого спектру багатоядерних платформ, включаючи сервери, настільні комп’ютери або мобільні пристрої.

    Програмні інструменти, які використовуються під час цього курсу, включають Microsoft Visual Studio, бібліотеку багатопотокової роботи Java та стандарт потокової обробки OpenMP. (4 одиниці) Необхідна умова: Знання комп’ютерного програмування на Java, C або C++.

    Для отримання додаткової інформації перегляньте це п’ятихвилинне відео, зняте професором цього курсу:

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

  • Цей курс забезпечує систематичний вступ до програмування інтерактивних і динамічних веб-додатків. Курс призначений для осіб, які мають невеликий або зовсім не мають досвіду програмування веб-додатків. Ця пропозиція використовуватиме NodeJS і фреймворк Express для обробки на стороні сервера.

    Курс починається з огляду основ HTML і CSS, з особливим акцентом на макет веб-сторінки за допомогою CSS. JavaScript — це мова програмування, яка використовується протягом усього курсу, включаючи функції, об’єкти, модулі, фреймворк jQuery, Ajax і Promises. Студенти витрачають більшу частину свого часу на програмування серії веб-сайтів, що стають все більш складними та витонченими. Завершення проекту протягом останнього тижня курсу створює веб-сайт із серверною частиною бази даних SQL, до якої клієнт отримує асинхронний доступ для досягнення оптимальної продуктивності.

    Цей курс є передумовою для архітектури веб-додатків CS545 і сучасних веб-додатків CS572. Необхідна умова: CS 220 або CS 401 або згода викладачів кафедри

    (Одиниць 4)

  • Розробка програм для Android – це захоплюючий і потенційно прибутковий досвід. Розробка Android відкриває перед програмістом світ творчості. Це дозволяє вам виразити себе способами, про які ви ніколи не мріяли в цифровому світі, де ви можете створити продукт і зробити його доступним для мільярдів користувачів лише одним натисканням кнопки. Цей курс навчить розробляти програми для Android за допомогою мови програмування Kotlin.

    Теми включають: налаштування комп’ютера для програмування Android; Основи маніфесту; Макети, дії, види та компоненти інтерфейсу користувача; Робота з намірами, фрагментами та спільними налаштуваннями; Веб-перегляд і HTML; Робота з мультимедіа; компоненти Android Jetpack, кімнатна база даних і JSON; Заниження датчиків; локалізація; Публікація програми в магазині Google Play. (4 одиниці) Попередні умови не потрібні.

  • Цей курс присвячений використанню JavaScript у серверній частині (NodeJS). Студенти дізнаються, як працює NodeJS, і отримають глибоке розуміння його основного інтерфейсу прикладного програмування (API). Курс охоплює, як працює компілятор JS (V8), як структурувати код за допомогою модулів і як працює асинхронний код у Node і циклі подій Node. Курс також навчає менеджеру пакетів вузлів (NPM), тому, як створити веб-сервер, як працювати з фреймворком Express і як використовувати ODM, наприклад Mongoose, для керування MongoDB. Студенти вивчать усі методи, які визначають сучасну веб-програму, включаючи автентифікацію користувачів за допомогою веб-токенів JSON, збереження даних у базі даних і створення Restful API. Також розглядаються інші концепції інформатики.

    Теми включають: дизайн HTTP & Rest API; Програми без стану проти програм із збереженням стану; API вузла; Менеджер пакетів вузлів (npm); Архітектура модель-контролер, фреймворк Express і проміжне програмне забезпечення; Маршрутизація на стороні сервера; Аутентифікація на основі маркерів. Немає попередніх умов.

    (Одиниць 4)

  • Big Data - це новий природний ресурс: дані подвоюються кожні 12-18 місяців. Цей новий курс Big Data Analytics охоплює основні концепції та інструменти для видобутку великих різноманітних наборів даних для отримання нових знань. Ви освоїте використання мови R для створення Wordcloud, Pagerank, візуалізації даних, дерев рішень, регресії, кластеризації, нейронних мереж тощо. Ви будете працювати з деякими великими багатомільйонними наборами даних, а також видобувати канали Twitter. Ви вивчите концепції Hadoop / MapReduce та Streaming Data, а також дослідите інші проекти Apache Big Data, такі як Spark, Flink, Kafka, Storm, Samza, NoSQL за допомогою окремих дослідницьких робіт. Ви будете працювати в групах над відкритими проектами від Kaggle.com, щоб конкурувати за призові гроші, вирішуючи найкращі у своєму роді аналітичні завдання. Ви також навчитеся використовувати провідну в галузі IBM SPSS Modeler та платформи з відкритим вихідним кодом. На курсі також буде використано широкий спектр навчальних відеоматеріалів від MIT, Coursera, Google та інших. (4 одиниці) Обов’язкова умова: Згода факультету кафедри

  • Мета цього курсу - надати студентам знання та навички лідерства, включаючи комунікативні навички як підготовку до майбутніх керівних ролей.

    До кінця цього курсу студенти зрозуміють відповіді на ключові питання щодо ефективного керівництва, включаючи наступне:

    Чи є «лідери природжених»?

    Чи потрібно ефективно володіти харизмою?

    Який актив потрібно бути лідером?

    У чому різниця між управлінням і провідним?

    Які багато «інтелігентів» потрібні для того, щоб очолити цю епоху?

    Що таке «зловживання керівництвом» і як це призводить до саботажу?

    Знаючи, що зворотній зв'язок є важливим для провідного процесу, як ми переживаємо страх давати і отримувати його?

    Який джерело 80% проблем виявлено на робочому місці?

    Чи доступні наукові дослідження, які допоможуть організації поліпшити навички керівництва індивіда та команди?

    До присутніх виступатимуть видатні підприємці, комп'ютерні вчені, філантропи, академіки та інші відомі лідери в суспільстві.

    (Одиниць 2)

Курси підвищення кваліфікації

  • Управління проектами знайомить студента з навчанням через практичну розробку проекту, лекції, читання, ознайомлення із структурою управління проектами, її сукупністю областей знань (10 областей знань і пов’язаних процесів) та розгортання. Студенти працюють над реальним впровадженням проекту та відчувають роль управління проектом на всіх етапах життєвого циклу розробки програмного забезпечення, використовуючи методологію розробки додатків.

    Студенти отримують реальний досвід у плануванні проектів, управлінні вимогами, управлінні обсягом, стандартах кодування, оцінці вартості для модуля/коду в доларах, а також з точки зору людино-годин, управління графіками, управління якістю, управління ризиками та управління комунікаціями. До кінця курсу студенти матимуть запущену програму, розроблену з використанням процесів PM, які використовуються в промисловості. (Починаючи від вимог до розгортання виробництва). Проект розроблено з використанням останніх технологій Java та їхніх фреймворків із веб-сервісами та шаблонами проектування.

  • Даний курс розглядає сучасні теми з програмування мови програмування з акцентом на формальних методах та механізмах абстрагування. Теми включають абстракцію даних і управління, формальну специфікацію синтаксису і семантики, докази коректності програми, недетермінованого програмування, розширені структури управління і вивчення конкретних мов. (Одиниці 4) Передумова: CS 401 або згода факультету кафедри.

  • Цей курс охопить шаблони хмарного програмування та дозволить студентам попрактикуватися в роботі з різними веб-хмарними службами, включаючи функції AWS Serverless.

    Теми включають: управління ідентифікацією та доступом (IAM); Віртуальна приватна хмара (VPC), Списки контролю доступу до мережі – NACL, Підмережі, Зони доступності, Проста служба зберігання (S3), Elastic Cloud Compute (EC2), Проста служба сповіщень (SNS), Еластичний балансувальник навантаження (ELB), Автоматичне масштабування, Маршрут 53, API в хмарі; AWS Lambda, без сервера; веб-сервіси; Розгортання програми, остаточний проект. (4 кредити). (Немає передумов)

  • Сучасна обробка інформації визначається величезними сховищами даних, які не можуть бути оброблені традиційними системами баз даних. Цей курс охоплює новітні технології, розроблені та використані лідерами галузі для вирішення цієї проблеми найбільш ефективним способом. Окремі теми охоплюють алгоритми MapReduce, алгоритм розробки алгоритму MapReduce, HDFS, кластерну архітектуру Hadoop, YARN, обчислювальні відносні частоти, вторинне сортування, сканування в Інтернеті, інвертовані індекси та компресія індексів, Spark алгоритми і Scala. (Одиниці 4) Необхідна умова: Алгоритми CS 435.

  • Лише за кілька років технології великих даних перетворилися зі сфери галасу в один із основних компонентів нової цифрової ери. Ці технології дуже корисні для перетворення інформації в знання. Мета курсу полягає в тому, щоб додати деякі важливі інструменти до вашого арсеналу, щоб допомогти вам вирішити різні проблеми великих даних.

    Курс починається з відповідей на такі запитання, як «Що таке великі дані та їх значення? Як надійно та дешево зберігати великі дані? Які інструменти використовувати, щоб знайти корисну інформацію з цих великих даних? тощо». У цьому курсі студенти вивчатимуть різні інструменти та моделі програмування для аналізу великих даних. Теми включають проекти екосистеми Hadoop, такі як MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper, а також проекти екосистеми Apache Spark, такі як Spark SQL і Spark Streaming. Студентам також надається можливість побудувати повний конвеєр великих даних, починаючи зі збору даних у режимі реального часу, обробки, аналізу та, нарешті, перегляду результатів у графічному форматі на інформаційних панелях. Студенти в основному працюватимуть з одновузловим кластером Hadoop розподілу Cloudera. (4 одиниці) (MPP є єдиною необхідною умовою)

  • Зі стрімким зростанням обсягу даних із різних джерел більшість підприємств і організацій стали сильно керуватися даними. Отримання ключової інформації з таких даних і перетворення її на знання та інтелект є ключовою функцією Big Data Analytics. Ось чому все більше компаній витрачають все більше грошей на аналіз даних. Тепер це ще більше прискорюється завдяки швидкому зростанню цифрове перетворення. Цей курс Big Data Analytics охоплює фундаментальні поняття аналітики, алгоритми та інструменти для аналізу великих різноманітних наборів даних для отримання нових ідей для бізнесу.

    Уся основна аналітика – в тому числі Описовий, прогнозний, наказовий та діагностичний буде покрито. Він охоплюватиме алгоритмічні підходи до аналізу великих наборів даних (неструктурованих, змішаних, структурованих, графічних і потокових): машинне навчання (нейронні мережі, глибоке навчання, дерева рішень, випадковий ліс тощо), штучний інтелект, обробка природної мови (NLP), статистичні та потокові алгоритми на сучасних платформах розподіленого аналізу (наприклад, MapReduce, Hadoop, Spark) для регресії (прогнозування), класифікації, кластеризації, систем рекомендацій тощо. Розширена аналітика великих даних, Особливо Причинно-наслідкова аналітика також буде покрито. Переважно використовуватимуться мови програмування Python/R. Студенти також виконуватимуть груповий проект, щоб вирішити реальну проблему за допомогою аналізу великих даних.

    (4 шт.) Необхідні умови: Згода професорсько-викладацького складу кафедри

  • У цьому курсі розглядаються сучасні методи та практики хорошого проектування програмних систем. Теми включають шаблони проектування програмного забезпечення, рамки, архітектури та системи проектування для застосування цих багаторівневих абстракцій. (2-4 кредити) Необхідна умова: CS 401 або згода викладачів кафедри.

  • Цей курс зосереджено на навчанні принципам і практикам, які використовуються при розробці більш масштабних корпоративних програм. Ми розглянемо різні архітектурні шари, які часто використовуються, і різні технології, пов’язані з цими рівнями, включаючи об’єктно-реляційне відображення (ORM), ін’єкцію залежностей (DI), аспектно-орієнтоване програмування (AOP) та інтеграцію з іншими програмами через веб-служби (RESTfull). та SOAP), обмін повідомленнями та віддалений виклик методів. Повинні мати робочі знання реляційних баз даних та SQL. Якщо у вас немає міцного курсу або хороших робочих знань з SQL, вам слід зареєструватися в СУБД CS422, перш ніж реєструватися в EA. (4 одиниці)

  • Цей курс фокусує веб-додатки в корпоративних умовах. Корпоративне додаток - це велика система програмного забезпечення, призначена для роботи у великій організації, наприклад, корпорації або уряді. Корпоративні програми є складними, масштабованими, заснованими на компонентах, розподіленими та критично важливими. Цей курс, CS545, фокусується на передньому або презентаційному шарі корпоративного веб-додатка. CS544 Enterprise Architecture - це супутній курс, який фокусується на зворотному або бізнес-рівні, включаючи бізнес-логіку, транзакції та наполегливість. CS472, програмування веб-додатків, є обов'язковим курсом, який охоплює HTML, CSS, JavaScript, сервлети і JSP.

    Курс навчає принципам і моделям, які є загальними для всіх платформ і рамок. Курс вивчатиме та працюватиме з двома переважними веб-фреймворками Java, Java Server Faces (JSF) та SpringMVC. JSF є компонентною базою і є офіційною специфікацією презентації для стека технологій Java Enterprise Edition. SpringMVC є частиною базової основи Spring і стала найпоширенішою веб-платформою Java за останні роки. (Одиниці 4) Передумова: CS 472 або згода факультету кафедри.

  • React — найпопулярніша бібліотека для створення потужних веб-додатків. У цьому курсі студенти дізнаються, як використовувати React і ES6 для створення надійних, масштабованих програм з нуля, використовуючи найновіші шаблони Redux для підтримки стану своїх програм.

    Теми включають: розробку веб-додатків на основі компонентів, шаблони дизайну компонентів, використання решти API, постійність за допомогою API браузера, JSX і React API (реквізити, типи атрибутів, події, посилання), потік даних програми та розгортання програм React. Передумови WAP або CS 477.

    (Одиниць 4)

  • У цьому курсі студенти вивчають архітектуру реактивного програмування односторінкових веб-додатків (SPA), а також усі необхідні навички для створення повноцінної сучасної веб-додатки за допомогою TypeScript і Angular. Студенти отримують глибоке розуміння того, як працює Angular, зокрема: виявлення змін; Реактивне програмування RxJs із спостережуваними та суб’єктами; Тінь DOM; зони; Модулі, компоненти, спеціальні директиви та канали; Послуги та впровадження залежностей; Компілятор Angular: компіляція JIT та AOF; Форми (на основі шаблонів і даних); Маршрути, охорона та охорона маршрутів; HTTP клієнт; і автентифікація JWT JSON Web Token. Необхідні умови: WAP або CS 477.

    (Одиниць 4)

  • Цей курс передбачає перехід від веб-розробки до розробки мобільних додатків за допомогою React Native, популярного фреймворку від Facebook, який дозволяє запускати міжплатформні нативні програми за допомогою JavaScript без Java або Swift. Курс представляє сучасний JavaScript–JavaScript XML (JSX)–розширення JavaScript. Студенти отримують досвід роботи з React Native та його парадигмами, архітектурою програми та інтерфейсом користувача. Курс завершується остаточним проектом, у якому студенти реалізують мобільний додаток повністю за власним дизайном. Необхідні умови: WAA або CS568.

    (Одиниць 4)

  • У цьому курсі ви дізнаєтеся Reactive Programming Architecture SPA (веб-додатки з однією сторінкою) разом з усіма необхідними навичками для створення повного сучасного веб-додатка. Технології включають: бази даних NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase і NoSQL (MongoDB). Курс охоплюватиме:

    • Як двигун C ++ V8 і асинхронний код працюють у вузлі і циклі подій Node.
    • Як структурувати свій код для повторного використання і побудувати Restful API за допомогою модулів і ExpressJS.
    • Як працюють бази даних NoSQL: Mongo Shell, фреймворк агрегації, набори реплік, кластеризація, осколки, Mongoose ORM.
    • Глибоке розуміння того, як працює Angular (підтримується Google), Виявлення змін, Реактивне програмування RxJs з спостережуваними та суб'єктами, Shadow DOM, Зони, Модулі та Компоненти, Спеціальні директиви та труби, Послуги та ін'єкції залежностей, Кутовий компілятор, JIT та компіляція AOF , Форми (Шаблонний засіб і Data Driven), Прив'язка даних, Маршрутизація, Захист і захист маршруту, HTTP-клієнт, JWT JSON Web Token Authentication.

    (Одиниць 4)

  • У цьому курсі практикуму студенти виконують завдання, пов’язані з комп’ютером, на технічній професійній посаді. Завдання, що виконуються, можуть полягати в проектуванні та розробці нових систем або застосуванні існуючих систем для конкретних цілей. Посадові інструкції практикуму формулюються роботодавцем та студентом та вимагають попереднього затвердження одним із випускників факультету, за погодженням із керівником практикуму, де розміщується студент. (Цей курс в першу чергу призначений для студентів, які навчаються в програмах стажування чи кооперації.) (0.5-1 одиниця на блок - може бути повторена.)

  • Машинне навчання — це область дослідження, яка дає комп’ютерам можливість вчитися на даних, лежить в основі майже кожної наукової дисципліни, а вивчення узагальнення (тобто передбачення) на основі даних є центральною темою машинного навчання. Цей курс надає на рівні випускників введення в машинне навчання та поглиблене висвітлення нових і передових методів машинного навчання, а також їхню основну теорію. У ньому наголошується на підходах, які мають практичне значення, і обговорюється ряд останніх застосувань машинного навчання, таких як інтелектуальний аналіз даних (у Big Data / Data Science, Data Analytics), обробка природних мов, комп’ютерний зір, робототехніка, біоінформатика та обробка текстових і веб-даних. Машинне навчання використовується в різних галузях, включаючи фінансові послуги, нафту та газ, охорону здоров’я, маркетинг і рекламу, уряд, Інтернет та Інтернет речей.

    Цей курс охоплює різноманітні парадигми навчання, алгоритми, теоретичні результати та додатки. У ньому використовуються основні поняття зі штучного інтелекту, теорії інформації, статистики та теорії управління настільки, наскільки вони стосуються машинного навчання. Теми включають: контрольоване навчання (генеративне / дискримінаційне навчання, параметричне / непараметричне навчання, нейронні мережі, опорні векторні машини, дерево рішень, баєсівське навчання та оптимізація); навчання без нагляду (кластеризація, зменшення розмірності, методи ядра); теорія навчання (компроміси із зміщенням / відхиленням; теорія ВК; великі запаси); навчання підкріплення та адаптивний контроль. Інші теми включають HMM (модель прихованого Маркова), еволюційні обчислення, глибоке навчання (за допомогою нейронних мереж) та розробку алгоритмів, ефективність яких може бути ретельно проаналізована для вирішення основних проблем машинного навчання.

    Важливою частиною курсу є груповий проект. Основні інструменти з відкритим вихідним кодом, що використовуються для паралельного, розподіленого та масштабованого машинного навчання, будуть коротко розкриті, щоб допомогти студентам виконувати проекти. (Одиниці 4) Необхідна умова: Немає.

  • Штучний інтелект (AI) — це дисципліна, яка намагається створити та зрозуміти інтелектуальні системи. Комп’ютери з людським інтелектом мали б величезний вплив на суспільство. Інтелектуальні програмні агенти та багатоагентні системи швидко розвиваються та допомагають у багатьох сферах, таких як цифрова трансформація, автоматизація, розмовні системи, веб-пошук, робототехніка, виробництво, охорона здоров’я, фармацевтика, банківська справа, ланцюг постачання, автономне водіння, реклама, ігри, лише для назвіть кілька. ШІ рухає багатотрильйонову індустрію. Цей курс навчатиме основам ШІ та дасть студентам практичне розуміння цієї галузі. Теми включають основні концепції ШІ – інтелектуальні агенти, багатоагентні системи, інтелектуальний пошук, логіка першого та вищого порядку, представлення знань, міркування, сприйняття, навчання, семантика (NLP, зображення, об’єкт...), планування, прийняття рішень, діюча, реактивна, обмірковувальна, раціональна, адаптивна, комунікація та взаємодія. Курс наголошує на практичних підходах і обговорює низку останніх популярних застосувань ШІ. Будуть коротко розглянуті основні інструменти з відкритим кодом і мови програмування для штучного інтелекту (включаючи Low code та No code). Студенти також виконуватимуть груповий проект, щоб вирішити проблему з реального життя за допомогою ШІ.

    (4 шт.) Необхідні умови: Згода професорсько-викладацького складу кафедри

  • У цьому курсі ми розглянемо методи, принципи та закономірності розробки гнучких, масштабованих, тестованих і стійких програмних систем, що використовують мікросервіси. Ми вивчимо, як можна розділити великі програми на менші мікросервіси, які легше будувати та інші переваги в порівнянні з монолітними корпоративними додатками. Розподілена архітектура мікросервісу також дає багато викликів. Ми вивчимо ці виклики і як їх вирішувати. Теми цього курсу - архітектурні стилі, методи інтеграції та шаблони, дизайн, керований областями, архітектура, керована подіями, і реактивні програми. (Кредити 4). (Немає передумов)

  • На честь 50-річчя освіти MIU кафедра комп’ютерних наук із задоволенням ініціює нашу нову серію технічних розмов ComPro з нагоди золотого ювілею.

    Цю щомісячну серію організовує та модерує професор Ренука Моханрадж.

    Бесіди доступні за адресою https://www.youtube.com/playlist?list=PLoBuI1C_-EtrAMdD45sldMnd8HXNhmyBQ.

    Дивіться нашу останню записану розмову від суботи, 28 травня 2022 року:

    Інструктор MIU з комп’ютерних наук Унуболд Туменбаяр, сертифікований архітектор професійних рішень AWS, висвітлив ці теми в нашому останньому технічній бесіді ComPro:
    o Створення програми з повним стеком за лічені хвилини в хмарі
    o Дискусія про сучасні технології
    o GraphQL
    o Відреагувати
    o NoSQL за допомогою служб та інструментів AWS

    Перегляньте слайди Unbold тут.

    Ця розмова є хорошим попереднім переглядом нашої Курс хмарних обчислень (CS 516).

Варіанти дослідження

Є 3 варіанти навчання для іноземних студентів.
Кожен надає ступінь магістра з комп’ютерних наук.
Усі мають дати вступу в січень, квітень, серпень або жовтень.

програмиМісяці навчання на кампусіОплачувана практикаДистанційна освіта (DE) під час практики
CPT8-9До 2 років CPT4 DE Курси
OPT9-10До 11.5 місяців CPT + 3-річний OPT (За бажанням)3 DE Курси
Повний робочий день на кампусі12-133 року OPT варіантNA

“Перший раз, коли я почув про програму MSCS, я сумнівався в цьому. Я не міг повірити, що щось подібне існує. Але одного разу до програми долучився мій друг. Тоді я підтвердив, що це реально. Потім я відновив процес подання заявки. Добре! Це правда, я тут, я закінчив програму і дуже щасливий ".

Ви готові розпочати нову кар'єру?

ЧАС ОЧІКУВАННЯ НА СПІВБУДУ В ПОСОЛЬСТВІ США ТА ОБРОБКА ЗАЯВ MSCS

Ми з’ясували, що в багатьох країнах дати співбесід дуже відкладені. Будь ласка, подивіться Час очікування запису на візу (state.gov) щоб дізнатися тривалість часу для призначення дати співбесіди для вашої країни/міста.

Якщо час очікування співбесіди становить понад 2 місяці, ми рекомендуємо вам подати заявку та заповнити заявку негайно, навіть якщо ви плануєте подати заявку на вступ у майбутньому. Таким чином ви зможете завершити процес подання заявки, отримати I-20, а потім отримати дату співбесіди. Ви повинні мати I-20, щоб отримати дату співбесіди. Якщо дата настає раніше, ніж ви плануєте приїхати до США, ви завжди можете перенести дату прибуття після отримання візи. Ми просто видамо вам нову форму I-20 на дату в’їзду, на яку ви плануєте приїхати.

Із запитаннями щодо цієї інформації звертайтеся до нашої приймальної комісії за адресою csadmissions@miu.edu.

Задайте собі ці 4 запитання:

  1. У вас є ступінь бакалавра в технічній галузі? Так чи ні?

  2. Чи були у вас хороші оцінки на бакалавраті? Так чи ні?

  3. Чи маєте ви щонайменше 6 місяців оплачуваного досвіду роботи розробником програмного забезпечення на повний робочий день після отримання ступеня бакалавра? Так чи ні?

  4. Чи можете ви приїхати до США на заняття (ця програма недоступна онлайн)? Так чи ні?

Якщо ви відповіли «так» на всі запитання вище, ви можете подати заявку (Хоча це не гарантує, що вас приймуть.)