Yazılım Geliştirmede En Son Teknolojilerle 'Uygulamalı' Becerileri Öğrenin

Hazır mısın Kariyerinizi ilerletmek mi?

Kariyerinizde İlerlemeye Hazır mısınız?

Tüm öğrenciler Danışmanlarına danışarak aşağıdaki sol sütundan Temel Kursları ve sağ sütundan İleri Düzey Kursları seçer.

Kampüse geldiklerinde girilen yeterlik sınavlarına göre, sadece öğrenciler Hazırlık Giriş Parkuru 4 haftalık Temel Programlama Uygulamaları (CS 390) dersini almaları gerekecektir. FOR 506 ve CS 401 tüm öğrenciler için gereklidir. Mezuniyet Koşullarını Görüntüle >

Temel Kurslar

  • İlk kursunuz, nasıl en iyi performans gösteren bilgisayar bilimleri uzmanı olabileceğinizin temelini oluşturmak için özel olarak tasarlanmıştır. Kurs, gerçek potansiyelinizin gerçekleştirilmesine yol açan Transandantal Meditasyon uygulamasına dayanmaktadır. Yaratıcılığı artıran üstün zihinsel işleyişle karmaşık sorunları çözme yeteneği ve "kutudan çıkar çıkmaz" düşünme gibi TM'nin faydalarını öğreneceksiniz. Kurs, optimal bir dinlenme ve aktivite karışımı geliştirerek aktivitede en yüksek performansı destekleyen ilkelere odaklanacaktır. Hayatta başarıyı destekleyen ideal bir günlük rutin geliştirecek ve yaşayacaksınız. (2 adet)

  • Bu ders, beş alanda programlama ve analitik becerileri geliştirmek için odaklanmış bir program sağlar: problem çözme, veri yapıları, nesne yönelimli programlama, Java programlama dili ve Java programlarında özyineleme kullanımı.

    Bu konular Bilgisayar Bilimleri yüksek lisans programındaki dersler için bir ön koşul olarak özellikle önemlidir.

    Konular şunlardır: Java programlama öğeleri, nesne yönelimli tasarım ve uygulama, veri yapıları (listeler, yığınlar, kuyruklar, ikili arama ağaçları, karma tablolar ve kümeler dahil), istisna hiyerarşisi, dosya giriş / çıkışları ve akışlar ve JDBC. (4 kredi) Önkoşul: Lisans öğrencileri için: CS 221; lisansüstü öğrenciler için: bölüm fakültesinin onayı (4 adet)

  • Bu ders, nesneye yönelik programlamanın temel ilkelerini sunar. Öğrenciler yeniden kullanılabilir ve daha iyi bakımlı yazılım yazmayı öğrenecek ve bu bilgiyi laboratuar ödevleri ve projeleriyle bütünleştireceklerdir. Konular şunları içerir: nesneye yönelik programlama temel ilkeleri ve modelleri, UML sınıf diyagramları ve yazılımın yeniden kullanılabilirliğini ve bakımını artıran tasarım ilkeleri. (4 birimleri)

  • Bu kurs, DB tasarım ilkelerinin temellerini ve SQL ve NoSQL veritabanlarına bir girişi kapsar.

    Konular şunlardır: İlişkisel DB tasarım ilkeleri, Normal Formlar, Birincil ve Yabancı ve Benzersiz anahtarlar; Sorgular (Toplama, Birleştirme, Sıralama); İşlemler; Belge tabanlı DB tasarım ilkeleri, İndeksler, Ölçekleme Veritabanları; Kullanılabilirlik ve kurtarma (dökme, geri yükleme, dışa aktarma, içe aktarma); Hizmet Olarak Veritabanı. Önkoşul Yok.

    (4 birimleri)

  • Veri tabanı sistemleri bilgileri düzenler ve alır, kullanıcının istenen bilgilere kolay ve verimli bir şekilde erişmesini sağlar. Konular şunlardır: ilişkisel veri modeli; SQL; ER modellemesi; ilişkisel cebir; veri normalizasyonu; işlemler; veritabanındaki nesneler; veri güvenliği ve bütünlüğü; veri depolama, OLAP ve veri madenciliği; dağıtılmış veritabanları; ve belirli bir ticari veritabanı sisteminin incelenmesi. (4 birimleri) Önkoşul: CS 401 veya bölüm fakültesi onayı.

  • Yazılım Mühendisliği, öğrencilere yazılım geliştirme metodolojisi ile yazılım geliştirme alanındaki en iyi uygulamaları tanıtan bir derstir. Öğrenciler Nesne Yönelimli paradigması ile önceki derslerde bazı deneyimler yaşamış ve bazı temel UML diyagramlarını yazılım nesneleri arasındaki ilişkileri modellemek amacıyla kullanmışlardır. Yazılım Mühendisliğinde, öğrenci bu araçları bir araya getirerek sağlam, kolay bakım gerektiren bir yazılım üretmek için beceriler geliştirir. Bir yazılım geliştirme metodolojisi, OO kavramlarının ve UML diyagramlarının kaliteli yazılım oluşturma amacını gerçekleştirmek için ne zaman ve nasıl kullanılması gerektiğini açıklar. Ders, ders biçiminde tartışılan prensiplerin gösterilebileceği ve uygulanabileceği küçük bir proje etrafında yoğunlaşmaktadır. Bu dersin sonunda, öğrencinin RUP (Rational Unified Process) geliştirme metodolojisinin yüksek standartlarına uygun olarak inşa edilmiş bir uygulaması olacaktır.

  • Bu ders, algoritmaların etkinliğini analiz etmek için yöntemler sunar (en kötü durum ve ortalama durum analizi dahil) ve çeşitli bilinen, yüksek verimli algoritmalar sunar. Algoritmaların analiz, tasarım ve uygulamalarına eşit önem verilir. Konular arasında arama ve sıralama, veri yapıları üzerindeki işlemlerin etkinliği (listeler, karma tablolar, dengeli ikili arama ağaçları, öncelik sıraları dahil), grafik algoritmaları, birleştirici algoritmalar, yinelenme ilişkileri, Dinamik Programlama, NP-tamamlayıcı problemler ve zamanla bazı özel konular bulunmaktadır izin verir. (Özel konular arasında hesaplama geometrisi, kriptosistemler için algoritmalar, yaklaşım, Büyük Veri ve paralel hesaplama yer almaktadır.)

  • Bu kurs, eşzamansız web programlama kavramlarının derinliklerine iner ve gözlemci kalıbı, fabrika, dekoratör ve daha fazlasını içeren JS için en temel tasarım kalıplarını kapsar. Ayrıca Web API ve Immutable veri yapılarıyla çalışmayı da kapsar.

    Konular şunlardır: İşbirlikçi Git; TypeScript ve Bundler'lara Giriş; Eşzamansız JavaScript; Olay Döngüsü; Geçmiş API'si, Coğrafi Konum API'si; Ajax (HTTP, Ajax, JSON, Fetch, CORS'a Giriş, Hata Ayıklama); Sözler ve Zaman uyumsuz/Bekleme; Reaktif Programlama; RxJS Gözlenebilirleri ve Operatörleri; Tasarım Kalıpları: Modül, Prototip, Singleton, Gözlemci, Cephe, Fabrika, Dekoratör, Proxy, Strateji, Notlandırma; Modern Web Tarayıcıları. Önkoşul yok.

    (4 birimleri)

  • Bilgisayarın geleceği paraleldir. İşlemci tasarımları minyatürleştirme, saat frekansı, güç ve ısı sınırlarını aştığından sıralı performanstaki artış sabitlendi. 2005 yılında işlemci çekirdeklerinin sayısı birdenbire tek bir çekirdekten birden çok çekirdeğe yükselmeye başladı ve programları çok daha hızlı yürütme potansiyeli yarattı. Ancak, bu potansiyeli kullanmak için bir programcının paralel programlama teknikleri hakkında biraz bilgi sahibi olması gerekir.

    Bu ders öğrencilere Java 9 bağlamında paralel programlamanın temel kavramlarını öğretir. Paralel programlama, geliştiricilerin aynı anda birden çok çekirdek kullanarak uygulamalarının daha hızlı çalışmasını sağlamak için çok çekirdekli bilgisayarları kullanmalarını sağlar. Bu kursun sonunda, sunucular, masaüstü bilgisayarlar veya mobil cihazlar dahil olmak üzere çok çeşitli çok çekirdekli platformlar için paralel programlar yazmak için popüler paralel Java çerçevelerinin (Multi-Threading, Streams ve Executors gibi) nasıl kullanılacağını öğreneceksiniz.

    Bu kursta kullanılan yazılım araçları, Microsoft Visual Studio, Java çoklu iş parçacığı kitaplığı ve OpenMP iş parçacığı standardını içerir. (4 adet) Ön koşul: Java, C veya C++ kullanarak bilgisayar programlama bilgisi.

    Daha fazla bilgi için, bu kursun Profesörü tarafından hazırlanan bu beş dakikalık videoyu izleyin:

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

  • Bu ders, etkileşimli ve dinamik web uygulamalarını programlamaya sistematik bir giriş sağlar. Kurs, önceden web uygulaması programlama deneyimi çok az olan veya hiç olmayan bireylere yöneliktir. Bu teklif, sunucu tarafı işleme için NodeJS ve Express çerçevesini kullanır.

    Kurs, CSS kullanarak web sayfası düzenine özel olarak odaklanarak, HTML ve CSS'nin temellerinin gözden geçirilmesiyle başlar. JavaScript, işlevler, nesneler, modüller, jQuery çerçevesi, Ajax ve Promises dahil olmak üzere kurs boyunca kullanılan programlama dilidir. Öğrenciler zamanlarının çoğunu giderek daha karmaşık ve karmaşık hale gelen bir dizi web sitesini programlamak için harcarlar. Kursun son haftasında bir capstone projesi, optimum performans için istemci tarafından eşzamansız olarak erişilen bir SQL veritabanı arka ucuna sahip bir web sitesi oluşturur.

    Bu ders, CS545 Web Uygulama Mimarisi ve CS572 Modern Web Uygulamaları için bir ön koşuldur. Ön koşul: CS 220 veya CS 401 veya bölüm fakültesinin onayı

    (4 birimleri)

  • Android programları geliştirmek, heyecan verici ve potansiyel olarak kazançlı bir deneyimdir. Android geliştirme, programcıya yaratıcılık dünyasının kapılarını açar. Bir ürün oluşturabileceğiniz ve tek bir tıklamayla milyarlarca kullanıcıya sunabileceğiniz dijital bir dünyada kendinizi asla hayal etmediğiniz şekillerde ifade etmenize olanak tanır. Bu ders, Kotlin programlama dilini kullanarak Android uygulamalarının nasıl geliştirileceğini öğretecektir.

    Konular şunları içerir: Bilgisayarınızı Android programlama için ayarlama; Manifest temelleri; Düzenler, Etkinlikler, Görünümler ve UI bileşenleri; Amaçlar, Parçalar ve Paylaşılan Tercihlerle Çalışmak; Web Görünümü ve HTML; Multimedya ile Çalışmak; Android Jetpack bileşenleri, Room Database ve JSON; Algılayıcıları Anlamak; yerelleştirme; Uygulama Google Play Store'da yayınlanıyor. (4 adet) Önkoşul gerekli değildir.

  • Bu kurs, JavaScript'i arka uçta (NodeJS) kullanmaya odaklanır. Öğrenciler, NodeJS'nin nasıl çalıştığını öğrenecek ve temel uygulama programlama arabirimi (API) hakkında derinlemesine bir anlayış kazanacak. Kurs, JS derleyici motorunun (V8) nasıl çalıştığını, modülleri kullanarak kodun nasıl yapılandırılacağını ve Node ve Node olay döngüsünde asenkron kodun nasıl çalıştığını kapsar. Kurs ayrıca Düğüm Paket Yöneticisi (NPM), bir web sunucusunun nasıl oluşturulacağını, Express çerçevesiyle nasıl çalışılacağını ve MongoDB'yi yönetmek için Mongoose gibi ODM'nin nasıl kullanılacağını öğretir. Öğrenciler, JSON Web Belirteçleri ile kullanıcıların kimliğini doğrulamak, veritabanında kalıcı veriler ve bir Dinlendirici API oluşturmak dahil olmak üzere modern bir web uygulamasını tanımlayan tüm teknikleri öğreneceklerdir. Diğer bilgisayar bilimi kavramları da kapsanmaktadır.

    Konular şunlardır: HTTP & Rest API tasarımı; Durum bilgisi olmayan ve durum bilgisi olan uygulamalar; Düğüm API'si; Düğüm Paket Yöneticisi (npm); Model-Controller mimarisi, Express çerçevesi ve ara katman yazılımları; Sunucu tarafı yönlendirme; Belirteç tabanlı kimlik doğrulama. Önkoşul Yok.

    (4 birimleri)

  • Büyük Veri yeni doğal kaynaktır: veriler her 12-18 ayda bir ikiye katlanıyor. Bu yeni Büyük Veri Analitiği kursu, yeni içgörüler oluşturmak için çok çeşitli veri kümelerinin madenciliğine yönelik temel kavramları ve araçları kapsar. Wordcloud, Pagerank, Veri Görselleştirme, Karar Ağaçları, Regresyon, Kümeleme, Sinir Ağları ve daha fazlasını oluşturmak için R dilinin kullanımında ustalaşacaksınız. Bazı büyük multi-milyon kayıt veri kümeleri ile çalışacak ve ayrıca Twitter yayınlarını benimseyeceksiniz. Hadoop/MapReduce ve Streaming Data kavramlarını öğrenecek ve bireysel araştırma makaleleri aracılığıyla Spark, Flink, Kafka, Storm, Samza, NoSQL gibi diğer Apache Büyük Veri Projelerini keşfedeceksiniz. Türünün en iyisi veri analizi zorluklarını çözerek para ödülü için rekabet etmek için Kaggle.com'daki açık projelerde gruplar halinde çalışacaksınız. Ayrıca sektör lideri IBM SPSS Modeler'ı ve açık kaynaklı veri madenciliği platformlarını kullanmayı öğreneceksiniz. Kursta ayrıca MIT, Coursera, Google ve başka yerlerden çok çeşitli video eğitim materyalleri kullanılacaktır. (4 adet) Önkoşul: Bölüm öğretim üyesinin onayı

  • Bu dersin amacı öğrencilere gelecekteki liderlik rollerine hazırlık olarak iletişim becerileri dahil olmak üzere liderlik hakkında bilgi ve beceri kazandırmaktır.

    Bu dersin sonunda öğrenciler, aşağıdakiler de dahil olmak üzere, etkili liderlikle ilgili kilit soruların cevaplarını anlayacaklardır:

    'Doğal doğan' liderler var mı?

    Etkili bir şekilde liderlik etmek için karizmaya sahip olmak zorunda mısınız?

    Lider olmak için hangi varlık gereklidir?

    Yönetmekle liderlik yapmak arasındaki fark nedir?

    Bu dönemde liderlik etmesi gereken birçok 'zeka' nelerdir?

    'Yönetim yanlış uygulama' nedir ve kendi kendini sabote etmeye nasıl yol açar?

    Bu geri bildirimin öncü süreç için çok önemli olduğunu bilmek, verme ve alma korkusunu nasıl yenebiliriz?

    İşyerinde bulunan sorunların% 80'in kaynağı nedir?

    Kuruluşun bireysel ve ekip liderliği becerilerini geliştirmesine yardımcı olacak bilimsel araştırmalar var mı?

    Konuk konuşmacılar arasında tanınmış girişimciler, bilgisayar bilimcileri, hayırseverler, Akademisyenler ve toplumdaki diğer önde gelen liderler yer alacak.

    (2 birimleri)

İleri Kurslar

  • Project Management introduces the student to learn through practical development of a project, lectures, reading, experiencing the Project Management Framework,  its body of knowledge areas (10 knowledge areas and related processes) and deployment.  Students work through a real project implementation and experience the role of project management in all phases of the Software Development Life Cycle using an application development methodology.

    Students get real experience in project planning, requirements management, scope management, coding standards, cost estimations for module / code in terms of dollar value as well as in terms of the man hours, schedules management, quality management, risk management and communications management.  By the end of the course, students will have a running application that is developed using the PM processes used in industry. (Starting from requirements through production deployment).  The project is developed using the latest Java Technologies and their frameworks with the Web services and Design Patterns.

  • Bu ders, programlama dili tasarımında biçimsel yöntemler ve soyutlama mekanizmaları üzerinde durularak ileri düzey konuları ele almaktadır. Konular, veri ve kontrol soyutlama, sözdizimi ve anlambilimin biçimsel özellikleri, program doğruluğunun kanıtları, deterministik olmayan programlama, gelişmiş kontrol yapıları ve belirli dillerin çalışmasını içerir. (4 birimleri) Önkoşul: CS 401 veya bölüm fakültesi onayı.

  • Bu kurs, bulut programlama modellerini kapsayacak ve öğrencilerin AWS Serverless işlevleri de dahil olmak üzere çeşitli web bulut hizmetleriyle çalışma pratiği yapmalarına olanak tanıyacaktır.

    Konular şunları içerir: Kimlik ve Erişim Yönetimi (IAM); Sanal Özel Bulut (VPC), Ağ Erişim Kontrol Listeleri – NACL, Alt Ağlar, Erişilebilirlik Alanları, Basit Depolama Hizmeti (S3), Elastik Bulut Hesaplama (EC2), Basit Bildirim Hizmeti (SNS), Elastik Yük Dengeleyici (ELB), Otomatik Ölçekleme, Route 53, bulutta API; AWS Lambda, Sunucusuz; Ağ hizmetleri; Uygulama Dağıtımı, Bitirme Projesi. (4 kredi). (Ön koşul yok)

  • Modern bilgi işleme, geleneksel veri tabanı sistemleri tarafından idare edilemeyen geniş veri havuzları ile tanımlanmaktadır. Bu ders endüstri liderleri tarafından geliştirilen ve bu sorunu en verimli şekilde çözmek için kullanılan en son teknolojileri kapsar. Kapsanan belirli konular arasında MapReduce algoritmaları, MapReduce algoritması tasarım desenleri, HDFS, Hadoop küme mimarisi, YARN, hesaplama göreli frekansları, ikincil sıralama, web tarama, ters indeksler ve indeks sıkıştırma, Spark algoritmaları ve Scala sayılabilir. (4 birimleri) Önkoşul: CS 435 Algoritmaları.

  • Sadece birkaç kısa yıl içinde, büyük veri teknolojileri abartılı bir alemden yeni dijital çağın temel bileşenlerinden biri haline geldi. Bu teknolojiler, Bilgiyi Bilgiye dönüştürmek için çok faydalıdır. Kursun amacı, çeşitli büyük veri sorunlarını çözmenize yardımcı olacak bazı önemli araçları cephaneliğinize eklemektir.

    Ders, “Büyük Veri nedir ve önemi nedir? Büyük verileri güvenilir ve ucuz bir şekilde nasıl saklarsınız? Bu büyük veriden yararlı bilgiler bulmak için hangi araçlar kullanılmalı? vesaire." Bu derste öğrenciler, büyük verileri analiz etmek için farklı araçları ve programlama modellerini inceleyeceklerdir. Konular, MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper gibi Hadoop ekosistem projelerinin yanı sıra Spark SQL ve Spark Streaming gibi Apache Spark ekosistem projelerini içerir. Öğrencilere ayrıca gerçek zamanlı olarak veri toplama, işleme, analiz etme ve son olarak panolarda grafik biçiminde sonuçları görüntülemeden başlayarak eksiksiz bir büyük veri hattı oluşturma şansı verilir. Öğrenciler ağırlıklı olarak Cloudera dağıtımının tek düğümlü Hadoop kümesiyle çalışacaklar. (4 adet) (MPP tek ön koşuldur)

  • Çeşitli kaynaklardan gelen verilerin hızla artmasıyla, çoğu işletme ve kuruluş büyük ölçüde veri odaklı hale geldi. Bu tür verilerden önemli bilgileri çıkarmak ve bunu bilgi ve zekaya dönüştürmek, Büyük Veri Analitiğinin temel işlevidir. Bu nedenle, daha fazla işletme Veri Analitiğine giderek daha fazla para harcıyor. Bu şimdi hızla büyüyerek daha da hızlanıyor. dijital Dönüşüm. Bu Büyük Veri Analitiği kursu, yeni iş içgörüleri oluşturmak için büyük ve çeşitli veri kümelerini incelemeye yönelik temel analitik kavramlarını, algoritmaları ve araçları kapsar.

    Tüm ana analitikler - dahil Tanımlayıcı, Tahmine Dayalı, Belirleyici ve Tanılayıcı kapsanacak. Büyük veri kümelerini (yapılandırılmamış, karma, yapılandırılmış, grafik ve akış) analiz etmeye yönelik algoritmik yaklaşımları kapsayacaktır: Makine Öğrenimi (Sinir Ağları, Derin Öğrenme, Karar Ağaçları, Rastgele Orman ve daha fazlası), Yapay Zeka, Doğal Dil İşleme (NLP), İstatistiksel ve Regresyon (tahmin), sınıflandırma, kümeleme, öneri sistemleri ve daha fazlası için modern dağıtılmış analiz platformları (örn. MapReduce, Hadoop, Spark) üzerinden akış algoritmaları. Gelişmiş Büyük Veri Analitiği, özellikle Nedensel Analitik da kapsanacaktır. Python / R programlama dilleri ağırlıklı olarak kullanılacaktır. Öğrenciler ayrıca Büyük Veri Analitiği kullanarak gerçek hayattaki bir sorunu çözmek için bir grup projesi yapacaklar.

    (4 adet) Ön Koşul: Bölüm öğretim üyesinin onayı

  • Bu ders, yazılım sistemlerinin iyi tasarımı için mevcut yöntemleri ve uygulamaları ele alır. Konular, bu çok seviyeli soyutlamaları uygulamak için yazılım tasarım kalıpları, çerçeveler, mimariler ve tasarım sistemlerini içerir. (2-4 kredi) Ön koşul: CS 401 veya bölüm fakültesinin onayı.

  • Bu ders, daha büyük ölçekli kurumsal uygulamalar geliştirirken kullanılan ilke ve uygulamaları öğretmeye odaklanır. Object Relational Mapping (ORM), Dependency Injection (DI), Aspect Oriented Programming (AOP) ve Web Servisleri aracılığıyla diğer uygulamalarla entegrasyon (RESTfull) dahil olmak üzere sıklıkla kullanılan farklı mimari katmanları ve bu katmanlarla ilişkili farklı teknolojileri inceleyeceğiz. ve SOAP), Mesajlaşma ve uzak yöntem çağırma. İlişkisel veritabanları ve SQL hakkında çalışma bilgisine sahip olmalıdır. Güçlü bir kursa veya iyi bir SQL çalışma bilgisine sahip değilseniz, EA'ya kaydolmadan önce CS422 DBMS'ye kaydolmalısınız. (4 tane)

  • Bu ders kurumsal uygulamalarda web uygulamalarına odaklanmaktadır. Bir kurumsal uygulama, bir kurum veya devlet gibi büyük bir organizasyonda çalışmak üzere tasarlanmış büyük bir yazılım sistemidir. Kurumsal uygulamalar karmaşık, ölçeklenebilir, bileşen tabanlı, dağıtılmış ve görev açısından kritik öneme sahiptir. Bu ders CS545, kurumsal bir web uygulamasının ön veya sunum katmanına odaklanır. CS544 Enterprise Architecture, iş mantığı, işlemler ve sebat dahil olmak üzere arka uç veya iş katmanına odaklanan bir eşlik dersidir. CS472, Web Uygulaması Programlama, HTML, CSS, JavaScript, sunucu uygulamaları ve JSP'yi kapsayan bir önkoşuldur.

    Tabii, platformlar ve çerçeveler arasında genel olan prensipleri ve kalıpları öğretir. Elbette iki baskın Java web çerçevesi, Java Server Faces (JSF) ve SpringMVC ile birlikte çalışacak ve çalışacağız. JSF, bileşen tabanlı bir çerçevedir ve Java Enterprise Edition teknoloji yığını için resmi sunum çerçevesi özelliğidir. SpringMVC, Core Spring çerçevesinin bir parçasıdır ve son yıllarda en çok kullanılan Java web çerçevesi olmuştur. (4 birimleri) Önkoşul: CS 472 veya bölüm fakültesi onayı.

  • React, güçlü web uygulamaları oluşturmak için en popüler kütüphanedir. Bu kursta öğrenciler, uygulama durumlarını korumak için en son Redux kalıplarını kullanarak sıfırdan sağlam, ölçeklenebilir uygulamalar oluşturmak için React ve ES6'yı nasıl kullanacaklarını öğrenecekler.

    Konular şunları içerir: Bileşen tabanlı web uygulaması geliştirme, Bileşen Tasarım Kalıpları, Dinlenme API'lerini tüketme, Tarayıcı API'sinde kalıcılık, JSX ve React API (sahneler, proptypes, olaylar, referanslar), Uygulama veri akışı ve React uygulamalarını Dağıtma. Önkoşullar WAP veya CS 477.

    (4 birimleri)

  • Bu kursta öğrenciler, TypeScript ve Angular kullanarak eksiksiz bir modern web uygulaması oluşturmak için gerekli tüm becerilerle birlikte Tek Sayfa Web Uygulamalarının (SPA) Reaktif Programlama Mimarisini öğrenirler. Öğrenciler, Angular'ın nasıl çalıştığına dair derin bir anlayış kazanırlar. Bu bilgiler arasında şunlar yer alır: Değişiklik algılama; Gözlenebilirler ve deneklerle reaktif RxJ programlaması; Gölge DOM; Bölgeler; Modüller, bileşenler, özel yönergeler ve borular; Hizmetler ve bağımlılık enjeksiyonu; Açısal derleyici: JIT ve AOF derlemesi; Formlar (şablon odaklı ve veri odaklı); Yönlendirme, korumalar ve rota koruması; HTTP istemcisi; ve JWT JSON Web Token kimlik doğrulaması. Önkoşullar: WAP veya CS 477.

    (4 birimleri)

  • Bu kurs, platformlar arası yerel uygulamaların Java veya Swift olmadan JavaScript kullanarak çalışmasını sağlayan popüler bir Facebook çerçevesi olan React Native kullanarak web geliştirmeden mobil uygulama geliştirmeye geçiş yapar. Kurs, modern JavaScript–JavaScript XML (JSX)–bir JavaScript uzantısını tanıtır. Öğrenciler, React Native ve paradigmaları, uygulama mimarisi ve kullanıcı arayüzleri ile ilgili deneyim kazanırlar. Kurs, öğrencilerin tamamen kendi tasarladıkları bir mobil uygulamayı uyguladıkları bir final projesiyle son bulur. Önkoşullar: WAA veya CS568.

    (4 birimleri)

  • Bu derste SPA'nın Reaktif Programlama Mimarisini (Tek Sayfa Web Uygulamaları) ve tam bir Modern Web Uygulaması oluşturmak için gereken tüm becerileri öğreneceksiniz. Teknolojiler şunları içerir: NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase ve NoSQL veritabanları (MongoDB). Kurs şunları içerecektir:

    • C ++ V8 altyapısı ve eşzamansız kod Düğüm ve Düğüm olay döngüsünde nasıl çalışır?
    • Yeniden kullanım için kodunuzu yapılandırma ve modülleri ve ExpressJS kullanarak Restful API oluşturma.
    • NoSQL veritabanlarının nasıl çalıştığı: Mongo Shell, Aggregation framework, Replica Set, Clustering, Shards, Mongoose ORM.
    • Angular'ın (Google tarafından desteklenen) nasıl çalıştığını derinlemesine anlama, Değişiklik Algılama, Gözlemlenebilir ve Gözlemlenen Reaktif RxJ'ler, Shadow DOM, Bölgeler, Modüller ve Bileşenler, Özel Direktifler ve Borular, Hizmetler ve Bağımlılık Enjeksiyonu, Açısal Derleyici, JIT ve AOF Derlemesi , Formlar (Sürülen Şablon ve Veri Sürülen), Veri Bağlama, Yönlendirme, Korumalar ve Güzergah Koruması, HTTP istemcisi, JWT JSON Web Token Authentication.

    (4 birimleri)

  • Bu uygulama dersinde, öğrenciler bilgisayarla ilgili görevleri teknik bir profesyonel pozisyonda gerçekleştirirler. Gerçekleştirilen görevler, yeni sistemlerin tasarımı ve geliştirilmesi veya belirli amaçlar için mevcut sistemlerin uygulanması olabilir. Staj görev tanımları, işveren ve öğrenci tarafından oluşturulur ve öğrencinin yerleştirildiği staj sorumlusu ile görüşülerek bölümün lisansüstü fakültelerinden birinin onayını gerektirir. (Bu ders öncelikle staj veya işbirliği programlarındaki öğrenciler içindir.) (Blok başına 0.5-1 birim - tekrarlanabilir.)

  • Makine Öğrenimi, bilgisayarlara verilerden öğrenme yeteneği veren çalışma alanıdır, hemen hemen her bilimsel disiplinin kalbinde yer alır ve verilerden genelleme (yani tahmin) çalışması makine öğreniminin ana konusudur. Bu kurs, makine öğrenimine lisansüstü düzeyde bir giriş sağlar ve makine öğrenimindeki yeni ve gelişmiş yöntemlerin yanı sıra bunların altında yatan teorileri derinlemesine kapsar. Pratik alakalı yaklaşımları vurgular ve Veri Madenciliği (Büyük Veri / Veri Biliminde, Veri Analitiğinde), Doğal Dil İşleme, Bilgisayarla Görme, Robotik, Biyoinformatik ve Metin ve Web veri işleme gibi makine öğreniminin bir dizi yeni uygulamasını tartışır. Makine Öğrenimi, Finansal Hizmetler, Petrol ve Gaz, Sağlık Hizmetleri, Pazarlama ve Reklamcılık, Devlet, İnternet ve Nesnelerin İnterneti dahil olmak üzere çeşitli sektörlerde kullanılmaktadır.

    Bu ders çeşitli öğrenme paradigmalarını, algoritmalarını, teorik sonuçlarını ve uygulamalarını kapsar. Yapay zeka, bilgi teorisi, istatistik ve kontrol teorisinden temel kavramları, makine öğrenimiyle ilgili oldukları ölçüde kullanır. Konular şunlardır: denetimli öğrenme (üretken / ayırt edici öğrenme, parametrik / parametrik olmayan öğrenme, sinir ağları, destek vektör makineleri, karar ağacı, Bayes öğrenme ve optimizasyon); denetimsiz öğrenme (kümeleme, boyutluluk azaltma, çekirdek yöntemleri); öğrenme teorisi (önyargı / varyans değiş tokuşları; VC teorisi; büyük marjlar); pekiştirmeli öğrenme ve uyarlanabilir kontrol. Diğer konular arasında HMM (Gizli Markov Modeli), Evrimsel Hesaplama, Derin Öğrenme (Sinir Ağları ile) ve temel makine öğrenimi problemleri için performansı titizlikle analiz edilebilen algoritmalar tasarlama yer alır.

    Dersin önemli bir kısmı grup projesidir. Paralel, dağıtılmış ve ölçeklenebilir bir makine öğrenmesi için kullanılan başlıca açık kaynak araçları, öğrencileri projeleri yaparken yardımcı olmak için kısaca ele alınacaktır. (4 birimleri) Önkoşul: Yok.

  • Yapay Zeka (AI), Akıllı Sistemleri oluşturmaya ve anlamaya çalışan disiplindir. İnsan seviyesinde zekaya sahip bilgisayarların toplum üzerinde büyük bir etkisi olacaktır. Akıllı Yazılım Aracıları ve Çoklu Aracı Sistemleri hızla büyüyor ve Dijital Dönüşüm, Otomasyon, Konuşma Sistemleri, Web Arama, Robotik, Üretim, Sağlık, İlaç, Bankacılık, Tedarik Zinciri, Otonom Sürüş, Reklam, Oyunlar gibi birçok alanda yardımcı oluyor. Birkaç isim. AI, multi trilyon dolarlık bir endüstriyi yönlendiriyor. Bu kurs, AI'nın temellerini öğretecek ve öğrencilere alan hakkında pratik bir anlayış kazandıracaktır. Konular, yapay zekanın temel kavramlarını içerir - akıllı etmenler, çok etmenli sistemler, akıllı arama, birinci ve üst düzey mantık, bilgi gösterimi, muhakeme, algı, öğrenme, anlambilim (NLP, Görüntü, Nesne..), planlama, karar verme, eylemci, tepkisel, müzakereci, rasyonel, uyumlu, iletişim ve etkileşim. Kurs, pratik alaka düzeyine sahip yaklaşımları vurgular ve AI'nın son zamanlarda popüler olan bir dizi uygulamasını tartışır. AI için başlıca açık kaynak araçları ve programlama dilleri (Düşük kod ve Kodsuz dahil) kısaca ele alınacaktır. Öğrenciler ayrıca yapay zekayı kullanarak gerçek hayattaki bir sorunu çözmek için bir grup projesi yapacaklar.

    (4 adet) Ön Koşul: Bölüm öğretim üyesinin onayı

  • Bu derste, mikro hizmetleri kullanarak esnek, ölçeklenebilir, test edilebilir ve esnek yazılım sistemlerinin nasıl tasarlandığına ilişkin teknik, ilke ve kalıplara bakacağız. Büyük uygulamaları, monolitik kurumsal uygulamalara kıyasla daha kolay kurulabilen daha küçük mikro hizmetlere ve diğer avantajlara nasıl ayırabileceğimizi çalışacağız. Dağıtılmış bir mikro servis mimarisi de birçok zorluk yaratır. Bu zorlukları ve bunların nasıl ele alınacağını inceleyeceğiz. Bu dersin konuları mimari tarzlar, entegrasyon teknikleri ve kalıpları, alan odaklı tasarım, olay odaklı mimari ve reaktif programlamadır. (4 kredisi). (Önkoşul yok)

  • 50 yıllık MIU eğitiminin onuruna, Bilgisayar Bilimleri Bölümü yeni Golden Jubilee ComPro Tech Talks serimizi başlatmaktan mutluluk duyar.

    Bu aylık dizi, Profesör Renuka Mohanraj tarafından düzenleniyor ve yönetiliyor.

    Görüşmeler şu adreste mevcuttur: https://www.youtube.com/playlist?list=PLoBuI1C_-EtrAMdD45sldMnd8HXNhmyBQ.

    28 Mayıs 2022 Cumartesi tarihli en son kaydedilen konuşmamıza bakın:

    AWS sertifikalı bir profesyonel çözüm mimarı olan MIU Bilgisayar Bilimleri eğitmeni Unubold Tumenbayar, en son ComPro Tech Talk'umuzda bu konuları ele aldı:
    o Bulutta dakikalar içinde Full-stack uygulaması oluşturma
    o Modern Teknolojiler Üzerine Tartışma
    o GraphQL
    o Tepki
    o AWS hizmetlerini ve araçlarını kullanan NoSQL

    Unbold'un slaytlarına bakın okuyun.

    Bu konuşma, bizim için iyi bir ön izlemedir. Bulut Bilişim Kursu (CS 516).

Eğitim Seçenekleri

Uluslararası Öğrenciler için 3 çalışma seçeneği vardır.
Her biri Bilgisayar Bilimleri alanında bir MS sağlar.
Hepsinin giriş tarihleri ​​Ocak, Nisan, Ağustos veya Ekim.

ProgramlarAylarca Kampüs İçi Çalışmaücretli stajStaj Sırasında Uzaktan Eğitim (DE)
CPT8-92 yıla kadar CPT4 DE Kursu
OPT9-1011.5 ay kadar CPT + 3 yıl OPT (opsiyonel)3 DE Kursu
Kampüste tam zamanlı12-133 yıllık OPT seçenekNA

"MSCS programını ilk duyduğumda şüphelendim. Böyle bir şeyin var olduğuna inanamadım. Ama bir gün programa bir arkadaşım katıldı. Gerçek olduğunu o zaman onayladım. Ardından başvuru sürecime devam ettim. İyi! Doğru, buradayım programı tamamladım ve çok mutluyum. "

Yeni Bir Kariyere Başlamaya Hazır mısınız?

ABD BÜYÜKELÇİLİĞİ MÜLAKAT BEKLEME SÜRELERİ VE MSCS BAŞVURUSU İŞLEM SÜRELERİ

Birçok ülkenin görüşme tarihlerini çok geciktirdiğini bulduk. Bakınız Vize Randevu Bekleme Süreleri (state.gov) ülkeniz/şehriniz için bir görüşme tarihi almak için gereken süreyi öğrenmek için.

Mülakat bekleme süresi 2 aydan fazlaysa, ilerideki bir giriş için başvurmayı planlıyor olsanız bile, başvurmanızı ve başvurunuzu hemen tamamlamanızı öneririz. Bu şekilde başvuru sürecini tamamlayabilir, I-20'nizi alabilir ve ardından bir görüşme tarihi alabilirsiniz. Mülakat tarihini almak için I-20'ye sahip olmalısınız. Tarih, ABD'ye gelmeyi planladığınızdan daha erken ise, vizenizi aldıktan sonra varış tarihinizi her zaman erteleyebilirsiniz. Gelmeyi planladığınız giriş tarihi için size yeni bir I-20 verirdik.

Bu bilgilerle ilgili sorularınız için lütfen şu adresteki kabul ofisimizle iletişime geçin: csadmissions@miu.edu.

Kendinize Bu 4 Soruyu Sorun:

  1. Teknik bir alanda lisans dereceniz var mı? Evet veya Hayır?

  2. Lisans derecenizde iyi notlarınız var mıydı? Evet veya Hayır?

  3. Lisans derecenizden sonra yazılım geliştirici olarak en az 6 aylık tam zamanlı, ücretli iş deneyiminiz var mı? Evet veya Hayır?

  4. Dersler için ABD'ye gelmeye uygun musunuz (bu program çevrimiçi olarak mevcut değildir)? Evet veya Hayır?

Yukarıdaki soruların tümüne 'evet' yanıtı verdiyseniz, başvurabilirsin (Bu, kabul edileceğinizi garanti etmese de.)