Pelajari Keterampilan Praktek dengan Teknologi Terkini dalam Pengembangan Perangkat Lunak

Apakah Anda Siap Tingkatkan Karir Anda?

Apakah Anda Siap untuk Memajukan Karir Anda?

Dengan berkonsultasi dengan Penasihat mereka, semua siswa memilih Kursus Dasar dari kolom sebelah kiri di bawah dan Kursus Lanjutan dari kolom sebelah kanan.

Berdasarkan ujian kualifikasi yang diambil ketika mereka tiba di kampus, hanya siswa di Jalur Masuk Persiapan perlu mengikuti kelas Praktik Pemrograman Dasar (CS 4) selama 390 minggu. FOR 506 dan CS 401 diperlukan untuk semua siswa. Lihat Persyaratan Wisuda >

Kursus Dasar

  • Kursus pertama Anda secara khusus dirancang untuk menetapkan dasar tentang bagaimana Anda bisa menjadi seorang profesional ilmu komputer dengan kinerja terbaik. Kursus ini berakar pada praktik Meditasi Transendental yang mengarah pada pemenuhan potensi sejati Anda. Anda akan belajar tentang manfaat TM termasuk kemampuan untuk memecahkan masalah yang kompleks dengan fungsi mental yang unggul yang meningkatkan kreativitas dan pemikiran "di luar kotak". Kursus ini akan berfokus pada prinsip-prinsip yang menopang kinerja puncak dalam aktivitas dengan mengembangkan perpaduan istirahat dan aktivitas yang optimal. Anda akan berkembang dan mengalami rutinitas harian yang ideal yang mendukung kesuksesan dalam hidup. (2 unit)

  • Kursus FPP menyediakan program terfokus untuk meningkatkan keterampilan pemrograman dan analitis dalam lima bidang: pemecahan masalah, struktur data, pemrograman berorientasi objek, bahasa pemrograman Java, dan penggunaan rekursi dalam program Java.

    Topik-topik ini sangat penting sebagai prasyarat untuk program pascasarjana di bidang Ilmu Komputer.

    Topiknya meliputi: elemen pemrograman Java, desain dan implementasi berorientasi objek, struktur data (termasuk daftar, tumpukan, antrian, pohon pencarian biner, tabel hash, dan set), hierarki pengecualian, i / o dan aliran file, dan JDBC. (4 sks) Prasyarat: Untuk mahasiswa sarjana: CS 221; untuk mahasiswa pascasarjana: persetujuan fakultas departemen (4 unit)

  • Kursus MPP menyajikan prinsip-prinsip dasar pemrograman berorientasi objek. Siswa akan belajar bagaimana menulis perangkat lunak yang dapat digunakan kembali dan terpelihara dengan lebih baik, dan mengintegrasikan pengetahuan ini dengan tugas dan proyek laboratorium. Topik meliputi: prinsip dasar dan model pemrograman berorientasi objek, diagram kelas UML, dan prinsip desain yang mempromosikan kegunaan ulang dan pemeliharaan perangkat lunak. (4 unit)

  • Kursus ini mencakup esensi prinsip-prinsip desain DB dan pengenalan database SQL dan NoSQL.

    Topik meliputi: Prinsip-prinsip desain DB relasional, Bentuk Normal, Kunci Utama dan Asing dan Unik; Query (Agregasi, Gabung, Sortasi); Transaksi; Prinsip-prinsip desain DB berbasis dokumen, Indeks, Basis Data Penskalaan; Ketersediaan dan pemulihan (buang, pulihkan, ekspor, impor); Basis Data sebagai Layanan. Tidak ada Pra-syarat.

    (Unit 4)

  • Sistem basis data mengatur dan mengambil informasi, memungkinkan pengguna untuk mengakses informasi yang diinginkan dengan mudah dan efisien. Topik meliputi: model data relasional; SQL; Pemodelan ER; aljabar relasional; normalisasi data; transaksi; objek dalam database; keamanan dan integritas data; pergudangan data, OLAP, dan penambangan data; database terdistribusi; dan mempelajari sistem basis data komersial khusus. (Unit 4) Prasyarat: CS 401 atau persetujuan dari departemen fakultas.

  • Rekayasa Perangkat Lunak adalah kursus yang memperkenalkan siswa pada praktik terbaik dalam pengembangan perangkat lunak melalui metodologi pengembangan perangkat lunak. Siswa telah memiliki beberapa pengalaman dalam kursus sebelumnya dengan paradigma Berorientasi Objek dan telah menggunakan beberapa diagram UML dasar untuk tujuan pemodelan hubungan antara objek perangkat lunak. Dalam Rekayasa Perangkat Lunak, siswa akan mengembangkan keterampilan dalam menyatukan alat-alat ini untuk menghasilkan perangkat lunak yang kuat dan mudah dirawat. Metodologi pengembangan perangkat lunak menjelaskan kapan dan bagaimana konsep OO dan diagram UML harus digunakan untuk mencapai tujuan membangun perangkat lunak berkualitas. Kursus berpusat di sekitar proyek kecil di mana prinsip-prinsip yang dibahas dalam format kuliah dapat diilustrasikan dan diterapkan. Pada akhir kursus, siswa akan memiliki aplikasi yang berjalan, dibangun sesuai dengan standar tinggi dari metodologi pengembangan RUP (Proses Bersatu Rasional).

  • Kursus ini menyajikan metode untuk menganalisis efisiensi algoritma (termasuk analisis kasus terburuk dan rata-rata) dan memperkenalkan berbagai algoritma yang dikenal dan sangat efisien. Analisis, desain, dan implementasi algoritma diberi penekanan yang sama. Topik meliputi pencarian dan penyortiran, efisiensi operasi pada struktur data (termasuk daftar, hashtable, pohon pencarian biner seimbang, antrian prioritas), algoritma grafik, algoritma kombinatorial, hubungan perulangan, Pemrograman Dinamis, masalah lengkap NP, dan beberapa topik khusus seiring waktu memungkinkan. (Topik khusus termasuk geometri komputasi, algoritma untuk cryptosystems, aproksimasi, Big Data dan komputasi paralel.)

  • Kursus ini masuk jauh ke dalam konsep pemrograman web asinkron dan mencakup pola desain paling penting untuk JS, yang mencakup pola pengamat, pabrik, dekorator, dan banyak lagi. Ini juga mencakup bekerja dengan API Web dan struktur data yang tidak dapat diubah.

    Topik meliputi: Git kolaboratif; Pengantar TypeScript dan Bundler; JavaScript asinkron; Acara-Loop; API Sejarah, API Geolokasi; Ajax (HTTP, Ajax, JSON, Fetch, Pengenalan CORS, Debugging); Janji dan Async/Menunggu; Pemrograman Reaktif; Observable dan Operator RxJS; Pola Desain: Modul, Prototipe, Singleton, Pengamat, Faade, Pabrik, Dekorator, Proksi, Strategi, Memoisasi; Peramban Web Modern. Tidak ada prasyarat.

    (Unit 4)

  • Masa depan komputasi paralel. Peningkatan kinerja sekuensial telah stabil karena desain prosesor telah mencapai batas miniaturisasi, frekuensi clock, daya, dan panas. Pada tahun 2005 jumlah inti prosesor tiba-tiba mulai meningkat dari satu inti menjadi beberapa inti, menciptakan potensi untuk mengeksekusi program jauh lebih cepat. Namun, untuk memanfaatkan potensi ini, seorang programmer harus memiliki pengetahuan tentang teknik pemrograman paralel.

    Kursus ini mengajarkan konsep dasar pemrograman paralel dalam konteks Java 9. Pemrograman paralel memungkinkan pengembang menggunakan komputer multicore untuk membuat aplikasi mereka berjalan lebih cepat dengan menggunakan beberapa core secara bersamaan. Pada akhir kursus ini, Anda akan mempelajari cara menggunakan kerangka kerja Java paralel populer (seperti Multi-Threading, Streams, dan Executors) untuk menulis program paralel untuk berbagai platform multicore termasuk server, desktop, atau perangkat seluler.

    Perangkat lunak yang digunakan selama kursus ini termasuk Microsoft Visual Studio, Java multithreading library, dan standar threading OpenMP. (4 unit) Prasyarat: Pengetahuan tentang pemrograman komputer menggunakan Java, C, atau C++.

    Untuk informasi lebih lanjut, tonton video lima menit yang dibuat oleh Profesor kursus ini:

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

  • Kursus ini memberikan pengenalan sistematis untuk pemrograman aplikasi web interaktif dan dinamis. Kursus ini ditujukan untuk individu dengan sedikit atau tanpa pengalaman pemrograman aplikasi web sebelumnya. Penawaran ini akan menggunakan NodeJS dan kerangka kerja Express untuk pemrosesan sisi server.

    Kursus dimulai dengan ulasan tentang dasar-dasar HTML dan CSS, dengan fokus khusus pada tata letak halaman web menggunakan CSS. JavaScript adalah bahasa pemrograman yang digunakan secara menyeluruh termasuk fungsi, objek, modul, kerangka kerja jQuery, Ajax, dan Janji. Siswa menghabiskan sebagian besar waktu mereka memprogram serangkaian situs web yang semakin kompleks dan canggih. Proyek batu penjuru selama minggu terakhir kursus membuat situs web dengan backend database SQL yang diakses secara asinkron oleh klien untuk kinerja yang optimal.

    Kursus ini merupakan prasyarat untuk CS545 Web Application Architecture dan CS572 Modern Web Applications. Prasyarat: CS 220 atau CS 401 atau persetujuan fakultas jurusan

    (Unit 4)

  • Mengembangkan program Android adalah pengalaman yang menarik dan berpotensi menguntungkan. Pengembangan Android membuka dunia kreativitas bagi para programmer. Ini memungkinkan Anda untuk mengekspresikan diri dengan cara yang tidak pernah Anda impikan di dunia digital di mana Anda dapat membuat produk dan membuatnya tersedia untuk miliaran pengguna hanya dengan satu klik tombol. Kursus ini akan mengajarkan cara mengembangkan aplikasi Android menggunakan bahasa pemrograman Kotlin.

    Topik meliputi: Menyiapkan komputer Anda untuk pemrograman Android; Dasar-dasar manifes; Tata Letak, Aktivitas, Tampilan, dan komponen UI; Bekerja dengan Maksud, Fragmen, dan Preferensi Bersama; Tampilan Web dan HTML; Bekerja dengan Multimedia; komponen Android Jetpack, Room Database, dan JSON; Sensor yang Meremehkan; Lokalisasi; Menerbitkan aplikasi ke Google Play Store. (4 unit) Tidak ada Prasyarat yang diperlukan.

  • Kursus ini berfokus pada penggunaan JavaScript di backend (NodeJS). Siswa akan belajar bagaimana NodeJS bekerja dan mendapatkan pemahaman yang mendalam tentang antarmuka pemrograman aplikasi inti (API). Kursus ini mencakup cara kerja mesin kompiler JS (V8), cara menyusun kode menggunakan modul, dan cara kerja kode asinkron di Node dan loop peristiwa Node. Kursus ini juga mengajarkan Node Package Manager (NPM), cara membangun server web, cara bekerja dengan kerangka kerja Express, dan cara menggunakan ODM seperti Mongoose untuk mengelola MongoDB. Siswa akan mempelajari semua teknik yang mendefinisikan aplikasi web modern, termasuk mengautentikasi pengguna dengan Token Web JSON, menyimpan data dalam database, dan membangun Restful API. Konsep ilmu komputer lainnya juga dibahas.

    Topik meliputi: Desain HTTP & Istirahat API; Aplikasi stateless vs stateful; Node API; Manajer Paket Node (npm); Arsitektur Model-Controller, kerangka kerja Express, dan middlewares; Perutean sisi server; Otentikasi berbasis token. Tidak ada Pra-syarat.

    (Unit 4)

  • Big Data adalah sumber daya alam baru: data berlipat ganda setiap 12-18 bulan. Kursus Analisis Data Besar baru ini mencakup konsep dan alat dasar untuk menambang kumpulan data besar yang beragam untuk menghasilkan wawasan baru. Anda akan menguasai penggunaan bahasa R untuk membuat Wordcloud, Pagerank, Visualisasi Data, Pohon Keputusan, Regresi, Clustering, Neural Networks, dan banyak lagi. Anda akan bekerja dengan beberapa kumpulan data multi-juta catatan besar, dan juga menambang umpan Twitter. Anda akan mempelajari konsep Hadoop/MapReduce dan Streaming Data, dan akan menjelajahi Proyek Big Data Apache lainnya seperti Spark, Flink, Kafka, Storm, Samza, NoSQL melalui makalah penelitian individual. Anda akan bekerja dalam kelompok dalam proyek terbuka dari Kaggle.com untuk bersaing memperebutkan hadiah uang dengan memecahkan tantangan analisis data terbaik. Anda juga akan belajar menggunakan IBM SPSS Modeler, dan platform penambangan data sumber terbuka. Kursus ini juga akan menggunakan berbagai materi pelatihan video dari MIT, Coursera, Google, dan di tempat lain. (4 unit) Prasyarat: Persetujuan fakultas jurusan

  • Pengembangan Perangkat Lunak adalah proses sistematis dalam memahami, menentukan, menganalisis, merancang, memprogram, menguji, mendokumentasikan, dan memelihara yang terlibat dalam produksi beberapa Sistem atau Perangkat Lunak Aplikasi.

    Dalam kursus ini, siswa akan belajar bagaimana menghasilkan solusi perangkat lunak tingkat perusahaan, dengan mengambil persyaratan mulai dari konsepsi hingga analisis, desain, implementasi dan pengujian hingga pengiriman dan penerapan perangkat lunak yang berfungsi. Pelatihan ini akan mengajarkan berbagai prinsip, praktik terbaik, serta alat dan teknologi terkait, serta bagaimana prinsip-prinsip tersebut digunakan dan diterapkan dalam menghasilkan solusi perangkat lunak yang kuat dan berkualitas tinggi. Teknik dan alat yang dibahas sebagian besar akan dipusatkan pada, meskipun tidak terbatas pada, platform perangkat lunak Java.

    Kita akan mempelajari teknik bagaimana mengidentifikasi dan memperoleh persyaratan yang benar untuk produk perangkat lunak, bagaimana menganalisis persyaratan ini dan memilih arsitektur solusi perangkat lunak yang sesuai dan membuat desain yang sesuai. Dan bagaimana menerapkan desain dalam kode, termasuk pengujian dan pada akhirnya bagaimana membangun dan mengemas artefak yang dihasilkan untuk pengiriman/penerapan. Kami akan mempertimbangkan berbagai mekanisme penerapan modern, termasuk Cloud. Prasyarat: CS 401

    Topik akan mencakup:

    • Desain dan Pengembangan Basis Data
    • Analisis dan Desain Berorientasi Objek
    • Pemodelan domain
    • Arsitektur Sistem
    • Pengembangan Aplikasi Web menggunakan Spring Web MVC
    • Implementasi dan Pengujian Sistem; termasuk Pengujian Unit, Pengujian Mocking dan Integrasi
    • Keamanan Perangkat Lunak – termasuk Manajemen Identitas dan Akses
    • Teknologi Kontainerisasi dan Kontainer

    (Unit 4)

  • Tujuan dari kursus ini adalah untuk memberikan para siswa dengan pengetahuan dan keterampilan dalam kepemimpinan, termasuk keterampilan komunikasi sebagai persiapan untuk peran kepemimpinan di masa depan.

    Pada akhir kursus ini, siswa akan memahami jawaban atas pertanyaan kunci mengenai kepemimpinan yang efektif, termasuk yang berikut:

    Apakah ada pemimpin 'lahir alami'?

    Apakah Anda harus memiliki karisma untuk memimpin secara efektif?

    Aset apa yang dibutuhkan untuk menjadi seorang pemimpin?

    Apa perbedaan antara mengelola dan memimpin?

    Apa yang banyak dibutuhkan 'kecerdasan' untuk memimpin di era ini?

    Apa itu 'malpraktek manajemen' dan bagaimana hal itu mengarah pada sabotase diri?

    Mengetahui bahwa umpan balik sangat penting untuk proses memimpin, bagaimana kita mengatasi rasa takut memberi dan menerimanya?

    Apa sumber 80% dari masalah yang ditemukan di tempat kerja?

    Apakah ada penelitian ilmiah yang tersedia untuk membantu organisasi dalam meningkatkan keterampilan kepemimpinan individu dan tim?

    Pembicara tamu akan mencakup wirausahawan terkemuka, ilmuwan komputer, dermawan, akademisi, dan pemimpin terkemuka lainnya di masyarakat.

    (Unit 2)

Kursus Lanjutan

  • Manajemen Proyek memperkenalkan siswa untuk belajar melalui pengembangan praktis proyek, kuliah, membaca, mengalami Kerangka Kerja Manajemen Proyek, badan bidang pengetahuannya (10 bidang pengetahuan dan proses terkait) dan penyebaran. Siswa bekerja melalui implementasi proyek nyata dan mengalami peran manajemen proyek di semua fase Siklus Hidup Pengembangan Perangkat Lunak menggunakan metodologi pengembangan aplikasi.

    Siswa mendapatkan pengalaman nyata dalam perencanaan proyek, manajemen persyaratan, manajemen ruang lingkup, standar pengkodean, estimasi biaya untuk modul / kode dalam hal nilai dolar serta dalam hal jam kerja, manajemen jadwal, manajemen kualitas, manajemen risiko, dan manajemen komunikasi. Di akhir kursus, siswa akan memiliki aplikasi berjalan yang dikembangkan menggunakan proses PM yang digunakan di industri. (Mulai dari persyaratan hingga penyebaran produksi). Proyek ini dikembangkan menggunakan Teknologi Java terbaru dan kerangka kerja mereka dengan layanan Web dan Pola Desain.

  • Kursus ini mempertimbangkan topik-topik lanjutan dalam desain bahasa pemrograman dengan penekanan pada metode formal dan mekanisme abstraksi. Topik meliputi data dan abstraksi kontrol, spesifikasi formal sintaksis dan semantik, bukti kebenaran program, pemrograman non deterministik, struktur kontrol lanjutan, dan studi bahasa tertentu. (Unit 4) Prasyarat: CS 401 atau persetujuan dari departemen fakultas.

  • Kursus ini akan membahas pola pemrograman cloud dan akan memungkinkan siswa untuk berlatih bekerja dengan berbagai layanan cloud web, termasuk fungsi AWS Serverless.

    Topik meliputi: Manajemen Identitas & Akses (IAM); Virtual Private Cloud (VPC), Daftar Kontrol Akses Jaringan – NACL, Subnet, Availability Zone, Simple Storage Service (S3), Elastic Cloud Compute (EC2), Simple Notification Service (SNS), Elastic Load Balancer (ELB), Auto Scaling, Rute 53, API di awan; AWS Lambda, Tanpa Server; Layanan web; Penerapan Aplikasi, Tugas Akhir. (4 sks). (Tidak ada prasyarat)

  • Pemrosesan informasi modern didefinisikan oleh repositori data yang luas yang tidak dapat ditangani oleh sistem basis data tradisional. Kursus ini mencakup teknologi terbaru yang dikembangkan dan digunakan oleh para pemimpin industri untuk menyelesaikan masalah ini dengan cara yang paling efisien. Topik spesifik yang dibahas meliputi algoritma MapReduce, pola desain algoritma MapReduce, HDFS, arsitektur cluster Hadoop, BENANG, menghitung frekuensi relatif, pengurutan sekunder, perayapan web, indeks terbalik dan kompresi indeks, algoritma Spark dan Scala. (Unit 4) Prasyarat: Algoritma CS 435.

  • Hanya dalam beberapa tahun yang singkat, teknologi big data telah berubah dari ranah hype menjadi salah satu komponen inti dari era digital baru. Teknologi ini sangat berguna untuk mengubah Informasi menjadi Pengetahuan. Tujuan dari kursus ini adalah untuk menambahkan beberapa alat penting ke gudang senjata Anda untuk membantu Anda memecahkan berbagai masalah big data.

    Kursus dimulai dengan memberikan jawaban atas pertanyaan seperti “Apa itu Big Data dan pentingnya? Bagaimana Anda menyimpan data besar dengan andal dan murah? Alat apa yang digunakan untuk menemukan informasi bermanfaat dari data besar ini? dll." Dalam kursus ini, siswa akan mempelajari berbagai alat dan model pemrograman untuk menganalisis data besar. Topik meliputi proyek ekosistem Hadoop seperti MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper serta proyek ekosistem Apache Spark seperti Spark SQL dan Spark Streaming. Mahasiswa juga diberikan kesempatan untuk membangun big data pipeline yang lengkap mulai dari pengumpulan data secara real-time, mengolah, menganalisis dan terakhir melihat hasilnya dalam format grafis di dashboard. Siswa terutama akan bekerja dengan cluster Hadoop node tunggal dari distribusi Cloudera. (4 unit) (MPP adalah satu-satunya prasyarat)

  • Dengan pesatnya pertumbuhan data dari berbagai sumber, sebagian besar bisnis dan organisasi menjadi sangat didorong oleh data. Mengekstrak informasi kunci dari data tersebut dan mengubahnya menjadi pengetahuan dan kecerdasan adalah fungsi utama dari Big Data Analytics. Itulah sebabnya semakin banyak bisnis yang menghabiskan lebih banyak uang untuk Analisis Data. Ini sekarang semakin dipercepat dengan berkembang pesat Transformasi digital. Kursus Big Data Analytics ini mencakup konsep dasar analitik, algoritme, dan alat untuk menambang kumpulan data besar yang beragam untuk menghasilkan wawasan bisnis baru.

    Semua analitik utama – termasuk Deskriptif, Prediktif, Preskriptif dan Diagnostik akan ditutupi. Ini akan mencakup pendekatan algoritmik untuk menganalisis kumpulan data besar (tidak terstruktur, campuran, terstruktur, grafik & streaming): Pembelajaran Mesin (Jaringan Neural, Pembelajaran Mendalam, Pohon Keputusan, Hutan Acak, dan lainnya), AI, Pemrosesan Bahasa Alami (NLP), Statistik dan algoritma streaming, melalui platform analisis terdistribusi modern (misalnya MapReduce, Hadoop, Spark,) untuk Regresi (prediksi), klasifikasi, pengelompokan, sistem rekomendasi, dan lainnya. Analisis Big Data Tingkat Lanjut, Terutama Analisis Kausal juga akan ditanggung. Bahasa pemrograman Python / R akan banyak digunakan. Siswa juga akan melakukan proyek kelompok untuk memecahkan masalah kehidupan nyata menggunakan Big Data Analytics.

    (4 unit) Prasyarat: Persetujuan fakultas jurusan

  • Kursus ini mempertimbangkan metode dan praktik terkini untuk desain sistem perangkat lunak yang baik. Topik meliputi pola desain perangkat lunak, kerangka kerja, arsitektur, dan merancang sistem untuk menerapkan abstraksi multi-level ini. (2-4 sks) Prasyarat: CS 401 atau persetujuan fakultas jurusan.

  • Kursus ini berfokus pada pengajaran prinsip dan praktik yang digunakan saat mengembangkan aplikasi perusahaan skala besar. Kami akan memeriksa lapisan arsitektur berbeda yang sering digunakan dan teknologi berbeda yang terkait dengan lapisan ini, termasuk Pemetaan Relasional Objek (ORM), Injeksi Ketergantungan (DI), Pemrograman Berorientasi Aspek (AOP), dan integrasi dengan aplikasi lain melalui Layanan Web (RESTfull dan SOAP), Perpesanan dan pemanggilan metode jarak jauh. Harus memiliki pengetahuan tentang database relasional dan SQL. Jika Anda tidak memiliki kursus yang kuat atau pengetahuan yang baik tentang SQL, Anda harus mendaftar ke CS422 DBMS sebelum mendaftar ke EA. (4 unit)

  • Kursus ini memfokuskan aplikasi web dalam pengaturan perusahaan. Aplikasi perusahaan adalah sistem perangkat lunak besar yang dirancang untuk beroperasi di organisasi besar seperti perusahaan atau pemerintah. Aplikasi perusahaan bersifat kompleks, dapat diukur, berbasis komponen, didistribusikan, dan penting untuk misi. Kursus ini, CS545, berfokus pada ujung depan atau lapisan presentasi aplikasi web perusahaan. CS544 Enterprise Architecture adalah kursus pendamping yang berfokus pada back-end atau lapisan bisnis, termasuk logika bisnis, transaksi, dan kegigihan. CS472, Pemrograman Aplikasi Web, adalah kursus prasyarat yang mencakup HTML, CSS, JavaScript, servlet, dan JSP.

    Kursus ini mengajarkan prinsip dan pola yang bersifat umum lintas platform dan kerangka kerja. Kursus ini akan memeriksa dan bekerja dengan dua kerangka kerja web Java yang dominan, Java Server Faces (JSF) dan SpringMVC. JSF adalah kerangka kerja berbasis komponen dan spesifikasi kerangka presentasi resmi untuk tumpukan teknologi Java Enterprise Edition. SpringMVC adalah bagian dari kerangka kerja Core Spring dan telah menjadi kerangka kerja web Java yang paling banyak digunakan dalam beberapa tahun terakhir. (Unit 4) Prasyarat: CS 472 atau persetujuan dari departemen fakultas.

  • React adalah library paling populer untuk membangun aplikasi web yang kuat. Dalam kursus ini, siswa akan belajar bagaimana menggunakan React dan ES6 untuk membangun aplikasi yang kuat dan dapat diskalakan dari bawah ke atas menggunakan pola Redux terbaru untuk mempertahankan status aplikasi mereka.

    Topik meliputi: Pengembangan aplikasi web berbasis komponen, Pola Desain Komponen, Mengkonsumsi API lainnya, Kegigihan dengan API browser, JSX dan React API (props, proptypes, event, ref), Alur data aplikasi, dan Menyebarkan aplikasi React. Prasyarat WAP atau CS 477.

    (Unit 4)

  • Dalam kursus ini, siswa mempelajari Arsitektur Pemrograman Reaktif Aplikasi Web Satu Halaman (SPA) bersama dengan semua keterampilan yang diperlukan untuk membangun aplikasi web modern lengkap menggunakan TypeScript dan Angular. Siswa memperoleh pemahaman mendalam tentang cara kerja Angular, termasuk: Deteksi perubahan; Pemrograman RxJs reaktif dengan objek dan subjek yang dapat diamati; DOM Bayangan; Zona; Modul, komponen, arahan khusus, dan pipa; Layanan dan injeksi ketergantungan; Kompiler sudut: kompilasi JIT dan AOF; Formulir (template driven dan data-driven); Perutean, penjaga, dan perlindungan rute; klien HTTP; dan otentikasi Token Web JWT JSON. Prasyarat: WAP atau CS 477.

    (Unit 4)

  • Kursus ini bertransisi dari pengembangan web ke pengembangan aplikasi seluler menggunakan React Native, kerangka kerja populer dari Facebook yang memungkinkan aplikasi asli lintas platform berjalan menggunakan JavaScript tanpa Java atau Swift. Kursus ini memperkenalkan JavaScript–JavaScript XML (JSX) modern–ekstensi JavaScript. Siswa mendapatkan pengalaman dengan React Native dan paradigmanya, arsitektur aplikasi, dan antarmuka pengguna. Kursus ini berpuncak pada proyek akhir di mana siswa menerapkan aplikasi seluler sepenuhnya dari desain mereka sendiri. Prasyarat: WAA atau CS568.

    (Unit 4)

  • Dalam kursus ini Anda akan mempelajari Arsitektur Pemrograman Reaktif SPA (Aplikasi Web Halaman Tunggal) bersama dengan semua keterampilan yang diperlukan untuk membangun Aplikasi Web Modern penuh. Teknologi meliputi: NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase dan database NoSQL (MongoDB). Kursus akan mencakup:

    • Bagaimana mesin C ++ V8 dan kode asinkron bekerja di Node dan loop acara Node.
    • Cara menyusun kode Anda untuk digunakan kembali dan membangun Restful API menggunakan modul dan ExpressJS.
    • Bagaimana cara kerja basis data NoSQL: Mongo Shell, kerangka kerja Agregasi, Kumpulan Replika, Pengelompokan, Pecahan, Mongoose ORM.
    • Pemahaman mendalam tentang cara kerja Angular (didukung oleh Google), Deteksi Perubahan, pemrograman RxJs Reaktif dengan Subjek dan Subjek yang Dapat Diamati, The Shadow DOM, Zona, Modul dan Komponen, Arahan dan Pipa Kustom, Layanan dan Injeksi Ketergantungan, Kompresor Sudut, Kompilasi JIT dan Komposisi AOF , Formulir (Didorong Templat dan Didorong Data), Penjilidan Data, Perutean, Perlindungan Penjaga dan Rute, klien HTTP, JWT JSON Otentikasi Token Web.

    (Unit 4)

  • Dalam mata kuliah praktikum ini, mahasiswa melakukan tugas-tugas yang berhubungan dengan komputer dalam posisi teknis profesional. Tugas yang dilakukan dapat berupa desain dan pengembangan sistem baru atau penerapan sistem yang ada untuk tujuan tertentu. Uraian tugas praktikum dirumuskan oleh pemberi kerja dan mahasiswa, dan memerlukan persetujuan terlebih dahulu oleh salah satu lulusan fakultas departemen, dengan berkonsultasi dengan pembimbing praktikum tempat mahasiswa ditempatkan. (Kursus ini terutama untuk siswa dalam program magang atau kooperatif.) (0.5-1 unit per blok - dapat diulang.)

  • Machine Learning (ML) adalah bidang studi yang memberi komputer kemampuan untuk belajar dari data, merupakan jantung dari hampir setiap disiplin ilmu, dan studi tentang generalisasi (yaitu, prediksi) dari data adalah topik sentral dari pembelajaran mesin. . Kursus ini memberikan pengantar tingkat pascasarjana untuk pembelajaran mesin dan cakupan mendalam tentang metode baru dan lanjutan dalam pembelajaran mesin, serta teori dasarnya. Ini menekankan pendekatan dengan relevansi praktis dan membahas sejumlah aplikasi terbaru dari pembelajaran mesin, seperti Penambangan Data (dalam Big Data / Ilmu Data, Analisis Data), Pemrosesan Bahasa Alami, Visi Komputer, Robotika, Bioinformatika, dan pemrosesan data Teks dan Web. Pembelajaran Mesin digunakan di berbagai industri termasuk Layanan Keuangan, Minyak & Gas, Perawatan Kesehatan, Pemasaran & Periklanan, Pemerintah, Internet, dan Internet of Things.

    Kursus ini mencakup berbagai paradigma pembelajaran, algoritma, hasil teoritis dan aplikasi. Ini menggunakan konsep dasar dari kecerdasan buatan, teori informasi, statistik, dan teori kontrol sejauh mereka relevan dengan pembelajaran mesin. Topik meliputi: pembelajaran yang diawasi (pembelajaran generatif / diskriminatif, pembelajaran parametrik / non-parametrik, jaringan saraf, mesin vektor pendukung, pohon keputusan, pembelajaran Bayesian & pengoptimalan); pembelajaran tanpa pengawasan (pengelompokan, pengurangan dimensi, metode kernel); teori pembelajaran (pengorbanan bias / varians; teori VC; margin besar); pembelajaran penguatan dan kontrol adaptif. Topik lainnya termasuk HMM (Hidden Markov Model), Evolutionary Computing, Deep Learning (With Neural Nets), dan algoritme perancangan yang performanya dapat dianalisis secara ketat untuk masalah pembelajaran mesin mendasar.

    Bagian penting dari kursus adalah proyek kelompok. Alat sumber terbuka utama yang digunakan untuk pembelajaran mesin paralel, terdistribusi, dan dapat diskalakan akan dibahas secara singkat untuk membantu siswa mengerjakan proyek. (Unit 4) Prasyarat: Tidak ada.

  • Kecerdasan Buatan (AI) adalah disiplin yang berupaya membangun dan memahami Sistem Cerdas. Komputer dengan kecerdasan tingkat manusia akan memiliki dampak yang sangat besar bagi masyarakat. Agen Perangkat Lunak Cerdas dan Sistem Multi-Agen berkembang pesat dan membantu di banyak bidang seperti Transformasi Digital, Otomasi, Sistem Percakapan, Pencarian Web, Robotika, Manufaktur, Kesehatan, Farmasi, Perbankan, Rantai Pasokan, Pengemudi Otonom, Periklanan, Permainan, hanya untuk sebutkan beberapa. AI menggerakkan industri bernilai triliunan dolar. Kursus ini akan mengajarkan dasar-dasar AI dan memberi siswa pemahaman praktis tentang bidang tersebut. Topik meliputi konsep inti AI - agen cerdas, sistem multi-agen, pencarian cerdas, logika urutan pertama dan lebih tinggi, representasi pengetahuan, penalaran, persepsi, pembelajaran, semantik (NLP, Gambar, Objek ..), perencanaan, pengambilan keputusan, bertindak, reaktif, deliberatif, rasional, adaptif, komunikasi dan interaksi. Kursus ini menekankan pendekatan dengan relevansi praktis dan membahas sejumlah aplikasi AI yang populer baru-baru ini. Alat sumber terbuka utama & bahasa pemrograman untuk AI (termasuk Kode rendah & Tanpa kode) akan dibahas secara singkat. Siswa juga akan melakukan proyek kelompok untuk memecahkan masalah kehidupan nyata menggunakan AI.

    (4 unit) Prasyarat: Persetujuan fakultas jurusan

  • Dalam kursus ini kita akan melihat teknik, prinsip dan pola bagaimana merancang sistem perangkat lunak yang fleksibel, terukur, dapat diuji, dan tangguh menggunakan layanan microser. Kami akan mempelajari bagaimana kami dapat membagi aplikasi besar menjadi layanan microser kecil yang lebih mudah untuk dibangun dan keuntungan lainnya dibandingkan dengan aplikasi perusahaan monolitik. Arsitektur microservice terdistribusi juga memberikan banyak tantangan. Kami akan mempelajari tantangan ini dan bagaimana cara mengatasinya. Topik dari kursus ini adalah gaya arsitektur, teknik dan pola integrasi, desain berbasis domain, arsitektur berbasis acara dan pemrograman reaktif. (Kredit 4). (Tidak ada prasyarat)

  • Untuk menghormati 50 tahun pendidikan MIU, Departemen Ilmu Komputer dengan senang hati memprakarsai seri Golden Jubilee ComPro Tech Talks kami.

    Pembicaraan tersedia disini.

Opsi Studi

Ada 3 pilihan studi untuk Siswa Internasional.
Masing-masing menyediakan MS dalam Ilmu Komputer.
Semua memiliki tanggal masuk Februari, Mei, Agustus atau November.

programBulan Studi Di KampusPraktikum BerbayarPendidikan Jarak Jauh (DE) Selama Praktikum
CPT8-9Hingga 2 tahun CPT4 Kursus DE
OPT8-9Hingga bulan 11.5 CPT + 3 tahun OPT (Opsional)4 Kursus DE
Penuh waktu di Kampus12-133 tahun OPT OptionNA

“Pertama kali saya mendengar tentang program MSCS, saya meragukannya. Saya tidak percaya bahwa sesuatu seperti ini ada. Tetapi suatu hari, seorang teman saya bergabung dengan program tersebut. Saat itulah saya memastikan bahwa itu nyata. Kemudian saya melanjutkan proses lamaran saya. Baik! Benar, saya di sini, saya telah menyelesaikan program dan saya sangat bahagia. ”

Apakah Anda Siap Memulai Karir Baru?

New Tur perekrutan ke Afrika Barat dan Utara 7-22 Desember

> Lihat detailnya dan pesan tiket gratis Anda

(Tiket sekarang tersedia untuk semua 5 acara)

WAKTU WAWANCARA KEDUTAAN AS DAN WAKTU PROSES APLIKASI MSCS

Kami telah menemukan bahwa banyak negara memiliki tanggal wawancara yang sangat tertunda. Tolong lihat Waktu Tunggu Janji Temu Visa (state.gov) untuk mengetahui lamanya waktu untuk mendapatkan tanggal wawancara untuk negara/kota Anda.

Jika waktu tunggu wawancara lebih dari 2 bulan, kami menganjurkan Anda untuk segera melamar dan melengkapi aplikasi Anda, bahkan jika Anda berencana untuk melamar entri di masa mendatang. Dengan cara ini Anda dapat menyelesaikan proses aplikasi, mendapatkan I-20 Anda, dan kemudian mendapatkan tanggal wawancara. Anda harus memiliki I-20 untuk mendapatkan tanggal wawancara. Jika tanggalnya lebih awal dari rencana Anda untuk datang ke AS, Anda selalu dapat menunda tanggal kedatangan Anda begitu Anda mendapatkan visa. Kami hanya akan mengeluarkan Anda I-20 baru untuk tanggal masuk yang Anda rencanakan untuk datang.

Untuk pertanyaan mengenai informasi ini, silakan hubungi kantor penerimaan kami di penerimaandirektur@miu.edu.

Tanyakan Pada Diri Anda 4 Pertanyaan Ini:

  1. Apakah Anda memiliki gelar Sarjana di bidang teknis? Ya atau tidak?

  2. Apakah Anda memiliki nilai bagus dalam gelar Sarjana Anda? Ya atau tidak?

  3. Apakah Anda memiliki setidaknya 12 bulan pengalaman kerja penuh waktu berbayar sebagai pengembang perangkat lunak setelah gelar Sarjana Anda? Ya atau tidak?

  4. Apakah Anda bersedia datang ke AS untuk mengikuti kelas (program ini tidak tersedia online)? Ya atau tidak?

Jika Anda menjawab 'ya' untuk semua pertanyaan di atas, Anda mungkin melamar (Meskipun ini tidak menjamin bahwa Anda akan diterima.)