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)

  • FPP kursu, beş alanda programlama ve analitik becerileri geliştirmek için odaklanmış bir program sunar: problem çözme, veri yapıları, nesne yönelimli programlama, Java programlama dili ve Java programlarında özyinelemenin 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)

  • MPP kursu, nesne yönelimli programlamanın temel ilkelerini sunar. Öğrenciler, yeniden kullanılabilir ve daha iyi korunan yazılımların nasıl yazılacağını öğrenecek ve bu bilgileri laboratuvar ödevleri ve projeleriyle bütünleştireceklerdir. Konular şunları içerir: nesne yönelimli programlamanın temel ilkeleri ve modelleri, UML sınıf diyagramları ve yazılımın yeniden kullanılabilirliğini ve sürdürülebilirliğini destekleyen tasarım ilkeleri. (4 tane)

  • 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.)

  • 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.

  • 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ı

  • Yazılım Geliştirme, bazı Sistem veya Uygulama Yazılımlarının üretiminde yer alan sistematik tasarlama, belirtme, analiz etme, tasarlama, programlama, test etme, belgeleme ve sürdürme sürecidir.

    Bu derste öğrenciler, konsept aşamasından analiz, tasarım, uygulama ve test etme, çalışan yazılımın teslimi ve dağıtımına kadar gereksinimleri alarak kurumsal düzeyde yazılım çözümlerinin nasıl üretileceğini öğreneceklerdir. Bir dizi ilkeyi, en iyi uygulamaları, ilgili araç ve teknolojileri ve bunların yüksek kaliteli, sağlam yazılım çözümlerinin üretiminde nasıl kullanıldığını ve uygulandığını öğretecektir. Kapsanan teknikler ve araçlar, bunlarla sınırlı olmamakla birlikte, çoğunlukla Java yazılım platformu etrafında yoğunlaşacaktır.

    Bir yazılım ürünü için doğru gereksinimlerin nasıl belirlenip ortaya çıkarılacağı, bu gereksinimlerin nasıl analiz edileceği ve uygun bir yazılım çözümü mimarisinin nasıl seçileceği ve uygun bir tasarımın nasıl oluşturulacağı ile ilgili teknikleri inceleyeceğiz. Test etme ve sonuçta ortaya çıkan yapının teslimat/dağıtım için nasıl oluşturulacağı ve paketleneceği de dahil olmak üzere tasarımın kodda nasıl uygulanacağı. Bulut da dahil olmak üzere çeşitli modern dağıtım mekanizmalarını ele alacağız. Önkoşul: CS 401

    Konular şunları içerecektir:

    • Veritabanı Tasarımı ve Geliştirme
    • Nesneye Dayalı Analiz ve Tasarım
    • Etki alanı modelleme
    • Sistem Mimarisi
    • Spring Web MVC kullanarak Web Uygulaması Geliştirme
    • Sistem Uygulaması ve Test Edilmesi; Birim Testi, Mocking ve Entegrasyon Testi dahil
    • Yazılım Güvenliği – Kimlik ve Erişim Yönetimi dahil
    • Konteynerizasyon ve Konteyner teknolojileri

    (4 birimleri)

  • 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

  • Proje Yönetimi, öğrenciye bir projenin pratik gelişimi, dersler, okuma, Proje Yönetimi Çerçevesini deneyimleme, bilgi alanları (10 bilgi alanı ve ilgili süreçler) ve uygulama aracılığıyla öğrenmesini sağlar. Öğrenciler, gerçek bir proje uygulaması üzerinde çalışır ve bir uygulama geliştirme metodolojisi kullanarak Yazılım Geliştirme Yaşam Döngüsünün tüm aşamalarında proje yönetiminin rolünü deneyimler.

    Öğrenciler, proje planlama, gereksinim yönetimi, kapsam yönetimi, kodlama standartları, modül/kod için dolar değeri ve ayrıca adam saatleri, program yönetimi, kalite yönetimi, risk yönetimi ve iletişim yönetimi açısından maliyet tahminlerinde gerçek deneyim kazanırlar. Kursun sonunda öğrenciler, endüstride kullanılan PM süreçleri kullanılarak geliştirilmiş çalışan bir uygulamaya sahip olacaklardır. (Gereksinimlerden üretim dağıtımına kadar). Proje, Web hizmetleri ve Tasarım Modelleri ile en son Java Teknolojileri ve çerçeveleri kullanılarak geliştirilmiştir.

  • 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ı.

  • 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 (ML), bilgisayarlara verilerden öğrenme yeteneği veren çalışma alanıdır, hemen hemen her bilimsel disiplinin merkezinde yer alır ve verilerden genelleme (yani tahmin) çalışması, makine öğreniminin ana konusudur. . Bu ders, makine öğrenimine lisansüstü düzeyde bir giriş ve makine öğrenimindeki yeni ve gelişmiş yöntemlerin yanı sıra bunların altında yatan teorilerin derinlemesine ele alınmasını sağlar. Pratik alaka düzeyine sahip yaklaşımları vurgular ve Veri Madenciliği (Büyük Veri / Veri Bilimi, Veri Analitiği), Doğal Dil İşleme, Bilgisayarla Görü, Robotik, Biyoinformatik ve Metin ve Web veri işleme gibi bir dizi yeni makine öğrenimi 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.

    Konuşmalar mevcut okuyun.

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 ​​Şubat, Mayıs, Ağustos veya Kasım'dır.

ProgramlarAylarca Kampüs İçi Çalışmaücretli stajStaj Sırasında Uzaktan Eğitim (DE)
CPT8-92 yıla kadar CPT4 DE Kursu
OPT8-911.5 ay kadar CPT + 3 yıl OPT (opsiyonel)4 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?

yeni B. ve K. Afrika işe alım turu 7-22 Aralık

> Ayrıntıları görün ve ücretsiz biletinizi ayırtın

(5 etkinliğin tamamı için biletler mevcuttur)

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: kabul direktörü@miu.edu.

Kendinize Bu 5 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 12 aylık tam zamanlı, ücretli iş deneyiminiz var mı? Evet veya Hayır?

  4. Şu anda yazılım geliştirici olarak mı çalışıyorsunuz? Evet veya Hayır?

  5. 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.)