Dasturiy ta'minotni ishlab chiqarishda eng yangi texnologiyalar bilan "Qo'lda ishlash" ko'nikmalarini o'rganing

Siz tayyormisiz? Ishga kirishish nimani anglatadi?

Karyerangizni oshirishga tayyormisiz?

Maslahatchilar bilan maslahatlashgan holda, barcha talabalar pastdagi chap ustundan Asosiy kurslarni va o'ng tomondagi ustundan Ilg'or kurslarni tanlaydilar.

Talabalar kampusga kelganlarida olingan malaka imtihonlariga asoslanib, faqat talabalar Tayyorgarlik kirish trek 4 haftalik Fundamental Programming Practices (CS 390) kursini o'tashi kerak bo'ladi. FOR 506 va CS 401 barcha talabalar uchun talab qilinadi. Bitiruv talablarini ko'rish >

Asosiy kurslar

  • Sizning birinchi kursingiz sizning eng yaxshi kompyuter fanlari bo'yicha mutaxassis bo'lishingiz uchun asos yaratishga mo'ljallangan. Kurs sizning haqiqiy potentsialingizni amalga oshirishga olib keladigan Transandantal Meditatsiya amaliyotiga asoslangan. Siz TMning afzalliklari, shu jumladan ijodiy va "qutidan tashqarida" fikrlashni kuchaytiradigan yuqori aqliy faoliyat orqali murakkab muammolarni hal qilish qobiliyati haqida bilib olasiz. Kurs, dam olish va faollikning maqbul aralashmasini ishlab chiqish orqali faoliyatdagi eng yuqori ko'rsatkichlarni ta'minlaydigan tamoyillarga asoslangan. Siz hayotdagi muvaffaqiyatni qo'llab-quvvatlaydigan ideal kun tartibini ishlab chiqasiz va boshdan kechirasiz. (2 birlik)

  • Ushbu kurs dasturlash va tahliliy ko'nikmalarini oshirish uchun yo'naltirilgan dasturni beshta yo'nalishda taqdim etadi: muammolarni hal qilish, ma'lumotlar tuzilmalari, ob'ektga yo'naltirilgan dasturlash, Java dasturlash tili va Java dasturlarida rekursiyadan foydalanish.

    Ushbu mavzular kompyuter fanlari aspiranturasi kurslarining zaruriy sharti sifatida alohida ahamiyatga ega.

    Mavzularga quyidagilar kiradi: Java dasturlash elementlari, ob'ektga yo'naltirilgan loyihalash va amalga oshirish, ma'lumotlar tuzilmalari (shu jumladan ro'yxatlar, steklar, navbat, ikkilik qidiruv daraxtlari, xash jadvallar va to'plamlar), istisnolar ierarxiyasi, fayl kiritilishi va oqimlari va JDBC. (4 kredit) Old shart: Bakalavriat talabalari uchun: CS 221; aspirantlar uchun: kafedra fakulteti roziligi (4 ta)

  • Ushbu kurs ob'ektlarni dasturlashning asosiy tamoyillarini aks ettiradi. Talabalar qayta foydalanish mumkin bo'lgan va yaxshi ta'minlangan dasturiy ta'minotni yozishni o'rganadilar va bu bilimlarni laboratoriya topshiriqlari va loyihalari bilan birlashtiradi. Mavzularga quyidagilar kiradi: dasturiy ta'minotning qayta ishlanganligi va qayta tiklanishini ta'minlaydigan ob'ektga asoslangan dasturlashning asosiy tamoyillari va modellari, UML klassi va dizayn printsiplari. (4 ta)

  • Ushbu kurs ma'lumotlar bazasini loyihalash tamoyillari va SQL va NoSQL ma'lumotlar bazalariga kirishni o'z ichiga oladi.

    Mavzularga quyidagilar kiradi: Relyatsion ma'lumotlar bazasini loyihalash tamoyillari, Oddiy shakllar, asosiy va xorijiy va noyob kalitlar; So'rovlar (jamlash, qo'shish, saralash); Bitimlar; Hujjatga asoslangan ma'lumotlar bazasini loyihalash tamoyillari, indekslar, ma'lumotlar bazalarini masshtablash; Mavjudligi va qayta tiklanishi (dump, tiklash, eksport, import); Ma'lumotlar bazasi xizmat sifatida. Oldindan shartlar yo'q.

    (4 ta)

  • Ma'lumotlar bazasi tizimlari foydalanuvchilarga kerakli ma'lumotlarni osongina va samarali ravishda foydalanish imkonini beradigan ma'lumotni tashkil qiladi va qabul qiladi. Mavzularga quyidagilar kiradi: relatsion ma'lumotlar modeli; SQL; ER modellashtirish; munosabatlar algebra; ma'lumotlar normalizatsiyasi; bitimlar; ma'lumotlar bazasidagi obyektlar; ma'lumotlar xavfsizligi va yaxlitligi; ma'lumotlar omborxonalari, OLAP va ma'lumotni yig'ish; tarqatilgan ma'lumotlar bazalari; va ma'lum bir tijorat ma'lumotlar bazasi tizimini o'rganish. (4 ta) Old shart: CS 401 yoki kafedraning roziligi.

  • Dasturiy injinirlash dasturiy ta'minotni ishlab chiqish metodologiyasi yordamida talabalarni dasturiy ta'minotni ishlab chiqishda eng yaxshi amaliyotga joriy etadigan kursdir. Talabalar oldingi kurslarda Ob'ektga asoslangan paradigma bilan tajriba o'tkazgan va dastur moslamalari o'rtasidagi munosabatlarni modellash uchun asosiy UML diagrammalaridan foydalangan. Dastur muhandisligi sohasida talaba ushbu vositalarni birgalikda mustahkam, osongina saqlab turilishi mumkin bo'lgan dasturiy ta'minotni ishlab chiqarishga ko'maklashadi. Dasturiy ta'minotni ishlab chiqish metodologiyasi OO tushunchalari va UML diagrammalarini qachon va qanday qilib sifatli dasturiy ta'minotni yaratish maqsadiga erishish uchun ishlatilishini tushuntiradi. Kurs, ma'ruza shaklida muhokama qilingan printsiplar tasvirlangan va tatbiq etilishi mumkin bo'lgan kichik loyiha atrofida joylashgan. Kurs oxirida talaba RUP (Rational Unified Process) ishlab chiqish metodologiyasi bo'yicha yuqori standartlarga muvofiq ishlab chiqilgan dasturga ega bo'ladi.

  • Bu kurs algoritmlarning samaradorligini tahlil qilish usullarini (jumladan, eng yomon vaziyat va o'rtacha vaziyatni tahlil qilish) va ma'lum bo'lgan, yuqori samarali algoritmlarni taqdim etadi. Algoritmlarni tahlil qilish, loyihalash va amalga oshirishga alohida e'tibor beriladi. Mavzular quyidagilarni o'z ichiga oladi: ma'lumotlar tuzilmalari (ro'yxatlar, hashtables, muvozanatli ikkilik qidiruv daraxtlari, ustuvor navbatchilar), grafik algoritmlari, kombinatorial algoritmlar, takrorlash munosabatlari, dinamik dasturlash, NP-kompleks muammolari va ba'zi maxsus mavzular bo'yicha ma'lumotlarni izlash va ajratish, samaradorlik ruxsat beradi. (Maxsus masalalar hisoblash geometriyasi, kriptosistemalar uchun algoritmlar, yaqinlik, katta ma'lumotlar va parallel hisoblash).

  • Ushbu kurs asinxron veb-dasturlash tushunchalarini chuqur o'z ichiga oladi va JS uchun eng muhim dizayn naqshlarini, jumladan kuzatuvchi naqshini, zavodni, dekorativni va boshqa ko'p narsalarni qamrab oladi. Shuningdek, u Web API va Immutable ma'lumotlar tuzilmalari bilan ishlashni o'z ichiga oladi.

    Mavzularga quyidagilar kiradi: hamkorlikdagi Git; TypeScript va Bundlers dasturiga kirish; Asinxron JavaScript; Voqea-Loop; History API, Geolocation API; Ajax (HTTP, Ajax, JSON, Fetch, CORS ga kirish, disk raskadrovka); Va'dalar va Async/Await; Reaktiv dasturlash; RxJS kuzatuvchi va operatorlari; Dizayn naqshlari: modul, prototip, yagona, kuzatuvchi, fasad, zavod, dekorativ, proksi, strategiya, yodlash; Zamonaviy veb-brauzerlar. Oldindan shartlar yo'q.

    (4 ta)

  • Ushbu kurs interaktiv va dinamik veb-ilovalarni dasturlash bo'yicha tizimli kirishni ta'minlaydi. Kurs ilgari veb-ilovalarni dasturlash tajribasiga ega bo'lmagan yoki umuman bo'lmagan shaxslar uchun mo'ljallangan. Ushbu taklif server tomonida ishlov berish uchun NodeJS va Express ramkasidan foydalanadi.

    Kurs HTML va CSS asoslarini ko'rib chiqish bilan boshlanadi, CSS-dan foydalangan holda veb-sahifalarni joylashtirishga alohida e'tibor beriladi. JavaScript - bu kurs davomida qo'llaniladigan dasturlash tili bo'lib, funktsiyalar, ob'ektlar, modullar, jQuery ramkalari, Ajax va Promises. Talabalar ko'p vaqtlarini tobora murakkab va takomillashgan veb-saytlarni dasturlashda o'tkazadilar. Kursning so'nggi haftasidagi loyiha, optimal ishlash uchun mijoz tomonidan asinxron ravishda foydalaniladigan SQL ma'lumotlar bazasiga ega veb-sayt yaratadi.

    Ushbu kurs CS545 veb-ilovalar arxitekturasi va CS572 zamonaviy veb-ilovalari uchun zaruriy shartdir. Majburiy shart: CS 220 yoki CS 401 yoki kafedra professor-o'qituvchilarining roziligi

    (4 ta)

  • Ushbu kurs JavaScript-ni backend (NodeJS) da ishlatishga qaratilgan. Talabalar NodeJS qanday ishlashini o'rganadilar va uning asosiy amaliy dasturlash interfeysi (API) haqida chuqur tushunchaga ega bo'ladilar. Kurs JS kompilyator mexanizmi (V8) qanday ishlashini, modullar yordamida kodni qanday tuzishni va asinxron kodni Node va Node hodisalar tsiklida qanday ishlashini o'z ichiga oladi. Kurs shuningdek, Node Package Manager (NPM), veb-serverni qanday qurish, Express Framework bilan qanday ishlash va MongoDB-ni boshqarish uchun Mongoose kabi ODM-dan qanday foydalanishni o'rgatadi. Talabalar zamonaviy veb-ilovani belgilaydigan barcha usullarni, jumladan JSON Web Tokens yordamida foydalanuvchilarni autentifikatsiya qilish, ma'lumotlar bazasida ma'lumotlarni saqlash va Restful API yaratishni o'rganadilar. Boshqa informatika tushunchalari ham yoritilgan.

    Mavzularga quyidagilar kiradi: HTTP & Rest API dizayni; Fuqaroligi bo'lmagan va shtatli ilovalar; Tugun API; Node Package Manager (npm); Model-Controller arxitekturasi, Ekspress ramkalar va oraliq dasturlar; Server tomonida marshrutlash; Tokenga asoslangan autentifikatsiya. Oldindan shartlar yo'q.

    (4 ta)

  • Big Data - bu yangi tabiiy resurs: ma'lumotlar har 12-18 oyda ikki baravar ko'paymoqda. Ushbu yangi Big Data Analytics kursi yangi tushunchalarni yaratish uchun turli xil ma'lumotlar to'plamlarini qazib olish uchun asosiy tushunchalar va vositalarni o'z ichiga oladi. Wordcloud, Pagerank, Ma'lumotlarni vizuallashtirish, Qaror daraxtlari, Regressiya, Klasterlash, Neyron tarmoqlari va boshqalarni yaratish uchun siz R tilidan foydalanishni o'rganasiz. Siz bir necha millionlab katta hajmdagi yozuvlar to'plamlari bilan ishlaysiz, shuningdek Twitter-kanallarini meniki qilaman. Siz Hadoop / MapReduce va Streaming Data kontseptsiyalarini o'rganasiz, shuningdek Spake, Flink, Kafka, Storm, Samza, NoSQL kabi boshqa Apache Big Data loyihalarini o'rganasiz. Siz Kaggle.com saytidagi ochiq loyihalar bo'yicha guruhlarda ishlaysiz va eng yaxshi ma'lumotlar-analitik muammolarni hal qilish orqali mukofot pullari uchun kurashasiz. Shuningdek, siz sanoatning etakchi IBM SPSS Modeler va ochiq manbali ma'lumotlar qazib olish platformalaridan foydalanishni o'rganasiz. Shuningdek, kursda MIT, Coursera, Google va boshqa joylarning video o'quv materiallari keng qo'llaniladi. (4 birlik) Talab: Kafedra professor-o'qituvchilarining roziligi

  • Ushbu kurs yirikroq korporativ ilovalarni ishlab chiqishda qo'llaniladigan tamoyillar va amaliyotlarni o'rgatishga qaratilgan. Biz tez-tez qo'llaniladigan turli me'moriy qatlamlarni va ushbu qatlamlar bilan bog'liq bo'lgan turli texnologiyalarni, jumladan, ob'ekt bilan bog'liq xaritalash (ORM), bog'liqlik kiritish (DI), aspektga yo'naltirilgan dasturlash (AOP) va veb-xizmatlar (RESTfull) orqali boshqa ilovalar bilan integratsiyani ko'rib chiqamiz. va SOAP), Xabarlar va masofaviy usulni chaqirish. Relyatsion ma'lumotlar bazalari va SQL bo'yicha ishchi bilimga ega bo'lishi kerak. Agar sizda kuchli kurs yoki SQL bo'yicha yaxshi ish bilimingiz bo'lmasa, EA uchun ro'yxatdan o'tishdan oldin CS422 DBMS uchun ro'yxatdan o'tishingiz kerak. (4 birlik)

  • Ushbu kurs veb-ilovalarni korporativ muhitda aks ettiradi. Korxona arizasi - korporatsiya yoki hukumat kabi yirik tashkilotda ishlash uchun mo'ljallangan katta dasturiy ta'minot tizimi. Korxona ilovalari murakkab, keng qamrovli, komponentli, taqsimlangan va juda muhim vazifa. Ushbu kurs CS545, korporativ veb-ilovasining oldingi qismini yoki taqdimot ko'rsatadi. CS544 Enterprise Architecture - ishbilarmonlik mantig'i, bitimlar va qat'iyatlilikni o'z ichiga olgan orqa yoki biznes qatlamiga yo'naltirilgan hamkorlik kursidir. CS472, veb-dasturlarni dasturlash, HTML, CSS, JavaScript, servlets va JSP-ni qamrab olgan talab qilinadigan kursdir.

    Kurs, platformalar va ramkalar ichida umumiy bo'lgan printsiplar va naqshlarni o'rgatadi. Kurs Java veb-ramkalari, Java Server Faces (JSF) va SpringMVC bilan birgalikda tekshiriladi va ishlaydi. JSF tarkibiy qismga asoslangan tizim bo'lib, Java Enterprise Edition texnologiyasi to'plamining rasmiy taqdimotining texnik tavsifi hisoblanadi. SpringMVC Core Spring dasturining bir qismidir va so'nggi yillarda eng ko'p ishlatiladigan Java veb-ramkaga aylandi. (4 ta) Old shart: CS 472 yoki kafedraning roziligi.

  • Ushbu kursning maqsadi talabalarga etakchilik va bilimlarni rivojlantirish, shuningdek, kelgusidagi etakchilik rollariga tayyorgarlik sifatida muloqot ko'nikmalarini etkazishdir.

    Ushbu dars oxirida talabalar samarali rahbarlik masalalari bilan bog'liq asosiy savollarga, shu jumladan quyidagilarga javoblarni tushunadilar:

    "Tabiiy tug'ilgan" rahbarlar bormi?

    Samarali yo'l tutish uchun sizda hizmatga ega bo'lishingiz kerakmi?

    Bir etakchi bo'lish uchun nima kerak?

    Etakchi va etakchi o'rtasidagi farq nima?

    Ushbu davrda etakchilik qilishlari kerak bo'lgan ko'pchilik "aql" nima?

    "Boshqarishning yomonligi" nima va u o'z-o'zini sabotaj qilishga qanday olib keladi?

    Etaklaydigan jarayonlar uchun bu fikr-mulohazaning muhimligini bilish, uni berish va qabul qilishdan qo'rqishning qanday yo'llarini topamiz?

    Ish joyida topilgan muammolarning 80% manbai nima?

    Shaxsiy va jamoaviy etakchilik qobiliyatini oshirishda tashkilotga yordam beradigan ilmiy izlanishlar mavjudmi?

    Mehmon ma'ruzachilari taniqli tadbirkorlar, kompyuter olimlari, xayr-ehsonchilar, akademiklar va jamiyatning boshqa taniqli rahbarlarini o'z ichiga oladi.

    (2 ta)

Kengaytirilgan kurslar

  • Hisoblashning kelajagi parallel. Protsessor konstruksiyalari miniatyura, soat chastotasi, quvvat va issiqlik chegaralariga yetib borgani uchun ketma-ket ishlashning o'sishi pasayib ketdi. 2005 yilda protsessor yadrolari soni birdaniga bir yadrodan bir nechta yadroga ko'paya boshladi va bu dasturlarni tezroq bajarish imkoniyatini yaratdi. Biroq, bu potentsialdan foydalanish uchun dasturchi parallel dasturlash texnikasi haqida ma'lum ma'lumotga ega bo'lishi kerak.

    Ushbu kurs talabalarga Java 9 kontekstida parallel dasturlashning asosiy tushunchalarini o'rgatadi. Parallel dasturlash ishlab chiquvchilarga bir vaqtning o'zida bir nechta yadrolardan foydalangan holda o'z ilovalarini tezroq ishga tushirish uchun ko'p yadroli kompyuterlardan foydalanish imkonini beradi. Ushbu kurs oxirida siz serverlar, ish stollari yoki mobil qurilmalarni o'z ichiga olgan ko'p yadroli platformalar uchun parallel dasturlarni yozish uchun mashhur parallel Java ramkalaridan (masalan, Multi-Threading, Streams va Executors) qanday foydalanishni o'rganasiz.

    Ushbu kurs davomida foydalaniladigan dasturiy vositalarga Microsoft Visual Studio, Java multithreading kutubxonasi va OpenMP ish zarrachalari standarti kiradi. (4 birlik) Majburiy shart: Java, C yoki C++ dan foydalangan holda kompyuter dasturlarini bilish.

    Qo'shimcha ma'lumot olish uchun ushbu kurs professori tomonidan tayyorlangan besh daqiqalik videoni tomosha qiling:

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

  • Android dasturlarini ishlab chiqish qiziqarli va potentsial daromad keltiradigan tajribadir. Android ishlanmasi dasturchiga ijod dunyosini ochadi. Bu sizga raqamli dunyoda hech qachon orzu qilmagan usullarda o'zingizni ifoda etish imkonini beradi, bu yerda siz mahsulot yaratishingiz va uni bir tugmani bosish orqali milliardlab foydalanuvchilarga taqdim etishingiz mumkin. Ushbu kurs Kotlin dasturlash tilidan foydalangan holda Android ilovalarini ishlab chiqishni o'rgatadi.

    Mavzularga quyidagilar kiradi: Kompyuteringizni Android dasturlash uchun sozlash; Manifest asoslari; Layouts, Activity, Views va UI komponentlari; Niyatlar, fragmentlar va umumiy afzalliklar bilan ishlash; Web View va HTML; Multimedia bilan ishlash; Android Jetpack komponentlari, Xona ma'lumotlar bazasi va JSON; Sensorlarni kamaytiruvchi; Mahalliylashtirish; Ilovani Google Play do'konida nashr qilish. (4 birlik) Hech qanday shartlar talab qilinmaydi.

  • Ushbu kurslar dasturiy tilni ishlab chiqishda ilg'or mavzularni rasmiy usullar va ajralmaslik mexanizmlariga urg'u bilan ko'rib chiqadi. Mavzularga ma'lumot va nazoratni ajralmaslikka, sintaksik va semantiklarning rasmiy spetsifikatsiyasi, dasturning to'g'riligining isboti, deterministik dasturlash, rivojlangan nazorat tuzilmalari va ma'lum tillarni o'rganish kiradi. (4 ta) Old shart: CS 401 yoki kafedraning roziligi.

  • Bu kurs bulutli dasturlash modellarini qamrab oladi va talabalarga turli veb-bulut xizmatlari, jumladan AWS Serverless funksiyalari bilan ishlashni mashq qilish imkonini beradi.

    Mavzularga quyidagilar kiradi: Identity & Access Management (IAM); Virtual shaxsiy bulut (VPC), tarmoqqa kirishni boshqarish roʻyxatlari – NACL, quyi tarmoqlar, mavjudlik zonalari, oddiy saqlash xizmati (S3), elastik bulutli hisoblash (EC2), oddiy bildirishnoma xizmati (SNS), elastik yuk balansi (ELB), avtomatik masshtablash, Marshrut 53, bulutdagi API; AWS Lambda, Serversiz; Veb-xizmatlar; Ilovani joylashtirish, yakuniy loyiha. (4 kredit). (Hech qanday shartlar yo'q)

  • Zamonaviy axborotni qayta ishlash an'anaviy ma'lumotlar bazalari tizimlarida ishlov berilmagan ma'lumotlarni keng omborlarda aniqlanadi. Ushbu kurs eng so'nggi texnologiyani o'z ichiga oladi va ishlab chiqilgan va sanoat rahbarlari tomonidan ushbu muammoni eng samarali tarzda hal qilish uchun ishlatiladi. Xususan, MapReduce algoritmlari, MapReduce algoritmi dizayn naqshlari, HDFS, Hadoop klaster me'morchiligi, YARN, hisoblash nisbatan chastotalar, ikkilamchi tartiblash, veb-brauzerlar, invert indekslar va indeks siqishni, Spark algoritmlari va Scala. (4 ta) Old shart: CS 435 algoritmlari.

  • Bir necha yillar mobaynida katta axborot texnologiyalari shamlardan bo'lgan hududdan yangi raqamli davrning asosiy tarkibiy qismlaridan biriga aylandi. Ushbu texnologiyalar axborotni bilimga aylantirish uchun juda foydali.

    Kursning maqsadi - katta hajmdagi ma'lumotlar bilan bog'liq turli xil muammolarni hal qilishda yordam beradigan juda muhim vositalarni qo'shish. Biz "Big Data nima?" Kabi savollarga javob berishdan boshlaymiz. Nima uchun bu muhim yoki foydali? Ushbu katta ma'lumotlarni qanday saqlaysiz? " Keyinchalik, biz ma'lumotlarni tahlil qilishda yordam beradigan katta ma'lumotlar texnologiyalari to'plamidan turli xil vositalar va dasturlash modellarini o'rganamiz. Mavzularga Hadoop ekotizimidagi MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper va Apache Spark ekotizimlari kabi ba'zi loyihalar kiradi. Shuningdek, biz AWS va EMR bilan tanishishni ko'rib chiqamiz. Siz asosan Cloudera-ning bitta tugunli Hadoop tarqatilishi bilan ishlaysiz. (4 birlik) (zarur shartlar yo'q)

  • Ushbu kurs dasturiy ta'minot tizimlarini yaxshi loyihalash uchun joriy usullar va amaliyotlarni ko'rib chiqadi. Mavzular dasturiy ta'minotni loyihalash naqshlari, ramkalar, arxitekturalar va ushbu ko'p darajali abstraktsiyalarni qo'llash uchun tizimlarni loyihalashni o'z ichiga oladi. (2-4 kredit) Shart: CS 401 yoki kafedra professor-oʻqituvchilarining roziligi.

  • React - kuchli veb-ilovalarni yaratish uchun eng mashhur kutubxona. Ushbu kursda talabalar React va ES6 dan foydalanish holatini saqlab qolish uchun eng yangi Redux naqshlaridan foydalangan holda mustahkam, kengaytiriladigan ilovalarni yaratish uchun qanday foydalanishni o'rganadilar.

    Mavzularga quyidagilar kiradi: Komponentlarga asoslangan veb-ilovalarni ishlab chiqish, Komponentlarni loyihalash naqshlari, Qolgan API-larni iste'mol qilish, Brauzer API-si, JSX va React API (rekvizitlar, proptiplar, hodisalar, referatlar) bilan doimiylik, Ilova ma'lumotlar oqimi va React ilovalarini joylashtirish. Old shartlar WAP yoki CS 477.

    (4 ta)

  • Ushbu kursda talabalar bir sahifali veb-ilovalarning reaktiv dasturlash arxitekturasini (SPA) va TypeScript va Angular yordamida to'liq zamonaviy veb-ilovani yaratish uchun barcha zarur ko'nikmalarni o'rganadilar. Talabalar Angular qanday ishlashi haqida chuqur tushunchaga ega bo'ladilar, jumladan: O'zgarishlarni aniqlash; Kuzatiladigan va sub'ektlar bilan reaktiv RxJs dasturlash; Shadow DOM; zonalar; Modullar, komponentlar, maxsus direktivalar va quvurlar; Xizmatlar va qaramlik in'ektsiyasi; Burchakli kompilyator: JIT va AOF kompilyatsiyasi; Shakllar (shablonga asoslangan va ma'lumotlarga asoslangan); Marshrut, qo'riqchilar va marshrutni himoya qilish; HTTP mijozi; va JWT JSON Web Token autentifikatsiyasi. Talablar: WAP yoki CS 477.

    (4 ta)

  • Ushbu kurs veb-ishlab chiqishdan mobil ilovalarni ishlab chiqishga o'tadi, bu Facebook-dan mashhur React Native ramkasi bo'lib, u o'zaro platformali mahalliy ilovalarni Java yoki Swiftsiz JavaScript-dan foydalanishga imkon beradi. Kurs zamonaviy JavaScript–JavaScript XML (JSX) – JavaScript kengaytmasini taqdim etadi. Talabalar React Native va uning paradigmalari, ilovalar arxitekturasi va foydalanuvchi interfeyslari bilan tajriba orttirishadi. Kurs yakuniy loyiha bilan yakunlanadi, unda talabalar mobil ilovani butunlay o'z dizayni bilan amalga oshiradilar. Old shartlar: WAA yoki CS568.

    (4 ta)

  • Ushbu kursda SPA (Rezultiv dasturlash me'morchiligi) va yagona Zamonaviy veb-ilovani yaratish uchun barcha kerakli ko'nikmalar bilan tanishasiz. Texnologiyalar quyidagilardir: NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase va NoSQL ma'lumotlar bazalari (MongoDB). Kurs quyidagilarni qamrab oladi:

    • C ++ V8 dvigatellari va asenkron kodi Node va tugun hodisasi aylanasida qanday ishlaydi?
    • O'zingizning kodingizni qayta ishlatish va modullar va ExpressJS yordamida Restful APIni qurish uchun qanday qurish kerak.
    • NoSQL ma'lumotlar bazalari qanday ishlaydi: Mongo Shell, yig'ish asoslari, replikatsiya to'plamlari, kümeleme, sharslar, Mongoose ORM.
    • Ruxsat etilgan RxJs dasturlari va mavzular, Soya DOM, Mintaqalar, Modul va Komponentlar, Maxsus Direktifler va Quvurlar, Xizmatlar va Bağımlılık qarshi, burchakka Derleyici, JIT va AOF Derleme bilan qanday ishlashini anglab (Google tomonidan qo'llab-quvvatlanadigan), chuqur tushunish. , Shakllar (Template Driven and Data Driven), Ma'lumot ulash, Yonaltiruvchi, Himoyachilar va Route Protection, HTTP mijozi, JWT JSON Web-Token Authentication.

    (4 ta)

  • Ushbu amaliy mashg'ulotda talabalar kompyuter bilan bog'liq vazifalarni texnik professional holatda bajaradilar. Amalga oshirilgan vazifalar yangi tizimlarni loyihalashtirish va rivojlantirish yoki mavjud tizimlarni muayyan maqsadlar uchun qo'llash bo'lishi mumkin. Amaliy mashg'ulotlarning tavsiflari ish beruvchi va talaba tomonidan shakllantiriladi va talaba joylashtirilgan amaliyot rahbari bilan kelishilgan holda kafedraning bitiruvchi fakultetlaridan biri tomonidan oldindan tasdiqlanishi kerak. (Ushbu kurs birinchi navbatda stajirovka yoki kooperatsiya dasturlari talabalari uchun mo'ljallangan.) (Har bir blok uchun 0.5-1 birlik - takrorlanishi mumkin.)

  • Mashinani o'rganish - bu kompyuterlarga ma'lumotlardan o'rganish qobiliyatini beradigan tadqiqot sohasi, deyarli har bir ilmiy fanning markazida bo'lib, ma'lumotlardan umumlashtirishni (ya'ni bashorat qilishni) o'rganish mashinani o'rganishning markaziy mavzusidir. Ushbu kurs magistratura darajasida mashinani o'rganishga kirish va mashinani o'rganishdagi yangi va ilg'or usullarni, shuningdek ularning asosiy nazariyasini chuqur qamrab oladi. U amaliy ahamiyatga ega bo'lgan yondashuvlarni ta'kidlaydi va ma'lumotlarni qazib olish (katta ma'lumotlar / ma'lumotlar fanida, ma'lumotlar tahlilida), tabiiy tillarni qayta ishlash, kompyuterni ko'rish, robototexnika, bioinformatika va matn va veb-ma'lumotlarni qayta ishlash kabi bir qator so'nggi dasturlarni muhokama qiladi. Mashina o'rganish turli sohalarda qo'llaniladi, shu jumladan moliyaviy xizmatlar, neft va gaz, sog'liqni saqlash, marketing va reklama, hukumat, Internet va narsalar interneti.

    Ushbu kurs turli xil o'rganish paradigmalarini, algoritmlarini, nazariy natijalarini va qo'llanilishini qamrab oladi. Unda sun'iy intellekt, axborot nazariyasi, statistika va boshqaruv nazariyasidagi asosiy tushunchalar mashinada o'rganishga mos keladigan darajada ishlatiladi. Mavzularga quyidagilar kiradi: nazorat ostida o'qitish (generativ / diskriminativ o'rganish, parametrik / parametrik bo'lmagan ta'lim, neyron tarmoqlar, qo'llab-quvvatlash vektorli mashinalar, qarorlar daraxti, Bayes tilini o'rganish va optimallashtirish); nazoratsiz o'rganish (klasterlash, o'lchamlarni kamaytirish, yadro usullari); o'rganish nazariyasi (noaniqlik / variance savdo-sotiqlari; VC nazariyasi; katta chegaralar); mustahkamlashni o'rganish va moslashuvchan nazorat. Boshqa mavzular qatoriga HMM (Yashirin Markov modeli), Evolyutsion hisoblash, chuqur o'rganish (neyron tarmoqlari bilan) va algoritmlarni loyihalash kiradi, ularning ishlashi asosiy mashina o'rganish muammolari uchun qat'iy tahlil qilinishi mumkin.

    Kursning muhim qismi - guruh loyihasi. Parallel, taqsimlanadigan va ölçeklenebilir kompyuter ta'lim uchun ishlatiladigan asosiy ochiq-oydin manba vositalari, loyiha qilgan talabalarga yordam berish uchun qisqacha qamrab olinadi. (4 ta). Talablar: yo'q.

  • Ushbu kursda biz mikroservislarni ishlatib, moslashuvchan, o'lchovli, testlangan va moslashuvchan dasturiy tizimlarni ishlab chiqishning texnikasi, tamoyillari va naqshlarini ko'rib chiqamiz. Katta hajmli ilovalarni bir tekis korporativ dasturlarga nisbatan kichikroq mikroservislarga ajratish va boshqa afzalliklarni qanday bo'lishini o'rganamiz. Bir tarqatilgan mikroservis arxitekturasi ham ko'plab qiyinchiliklarni keltirib chiqarmoqda. Biz ushbu muammolarni va ularga qanday murojaat qilishni o'rganamiz. Kursning mavzusi me'moriy uslublar, integratsiya texnikasi va naqshlari, domenga yo'naltirilgan dizayn, hodisalarga asoslangan arxitektura va reaktiv dasturlashdir. (4 credits). (Old shartlar yo'q)

  • MIU ta'limining 50 yilligi sharafiga, Kompyuter fanlari bo'limi bizning yangi Oltin yubiley ComPro Tech Talks seriyamizni boshlashdan mamnun.

    Ushbu oylik seriyani professor Renuka Mohanraj tashkil qiladi va boshqaradi.

    Suhbatlar quyidagi manzilda mavjud https://www.youtube.com/playlist?list=PLoBuI1C_-EtrAMdD45sldMnd8HXNhmyBQ.

    28-yil 2022-may, shanba kuni yozilgan so‘nggi nutqimizni ko‘ring:

    MIU kompyuter fanlari oʻqituvchisi Unubold Tumenbayar, AWS sertifikatiga ega boʻlgan professional yechimlar meʼmori bizning soʻnggi ComPro Tech Talk-da ushbu mavzularni yoritdi:
    o Bulutda bir necha daqiqada Full-stack ilovasini yaratish
    o Zamonaviy texnologiyalar haqida munozara
    o GraphQL
    o Reaksiya
    o AWS xizmatlari va vositalaridan foydalangan holda NoSQL

    Unboldning slaydlariga qarang Bu yerga.

    Bu suhbatimiz yaxshi ko'rinishdir Bulutli hisoblash kursi (CS 516).

O'qish imkoniyatlari

Xalqaro talabalar uchun 3 ta o'qish varianti mavjud.
Ularning har biri kompyuter fanlari bo'yicha magistr darajasini beradi.
Ularning barchasida yanvar, aprel, avgust yoki oktyabr oylarida kirish sanalari mavjud.

dasturlarKampusda o'qish oylariPullik amaliyotMasofaviy ta'lim (DE) Amaliyot davomida
CPT8-92 yilgacha CPT4 DE kurslari
OPT9-1011.5 oygacha CPT + 3 yil OPT (Ixtiyoriy)3 DE kurslari
Kampusda to'liq vaqt12-133 yil OPT variantNA

«MSCS dasturi to'g'risida birinchi marta eshitganimda, shubha qildim. Men shunga o'xshash narsa borligiga ishonolmadim. Ammo bir kuni mening do'stim dasturga qo'shildi. Bu haqiqat ekanligini tasdiqlaganimda edi. Keyin ariza topshirishni qayta boshladim. Xo'sh! To'g'ri, men shu erdaman, dasturni tugatdim va juda xursandman ».

Siz yangi martaba boshlashga tayyormisiz?

AQSH ELCHHINASI SUHBATLARINI KUTISH VAQTLARI VA MSCS arizalarini koʻrib chiqish muddatlari

Biz ko'p mamlakatlarda intervyu sanalari juda kechikkanligini aniqladik. Iltimos, qarang Viza tayinlash uchun kutish vaqtlari (state.gov) mamlakatingiz/shaharingiz uchun suhbat sanasini olish uchun qancha vaqt kerakligini bilish.

Agar suhbatni kutish vaqti 2 oydan ortiq bo'lsa, kelajakda ariza topshirishni rejalashtirayotgan bo'lsangiz ham, arizangizni darhol to'ldirishingizni tavsiya qilamiz. Shu tarzda siz ariza topshirish jarayonini yakunlashingiz, I-20 ni olishingiz va keyin suhbat sanasini olishingiz mumkin. Suhbat sanasini olish uchun sizda I-20 bo'lishi kerak. Agar siz AQShga kelishni rejalashtirgan sanadan ertaroq bo'lsa, viza olganingizdan so'ng, kelish kuningizni har doim keyinga qoldirishingiz mumkin. Siz kelishni rejalashtirgan kirish sanasi uchun sizga yangi I-20 chiqaramiz.

Ushbu ma'lumotga oid savollar uchun, iltimos, bizning qabul komissiyamizga murojaat qiling csadmissions@miu.edu.