Apakah Anda Siap Tingkatkan Karir Anda?

Program kami mengkhususkan diri dalam bidang sistem perangkat lunak dan pengembangan perangkat lunak menggunakan OOP (Java), aplikasi web, dan ilmu data. Bidang inti studi meliputi: pengembangan perangkat lunak canggih, pemrograman dan arsitektur aplikasi web, analisis dan teknologi big data, pembelajaran mesin, dan beberapa area aplikasi penting.

Semua kursus dirancang untuk membantu Anda memajukan karir Anda dan setiap kursus berisi tugas praktis. Melihat persyaratan kelulusan.

BARU! Pemenang penghargaan Jalur Ilmu Data

Mata Kuliah Inti Standar

  • Praktik Pemrograman Modern (pemrograman Java) (CS 401)

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

  • Pengembangan Perangkat Lunak Lanjutan (CS 525)

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

  • Algoritma (CS 435)

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

  • Jaringan Komputer (CS 450)

    Tujuan dari kursus ini adalah untuk mempelajari konsep, prinsip arsitektur, dan terminologi jaringan komputer dengan mengeksplorasi bagaimana jaringan bekerja dan mengembangkan aplikasi jaringan. Kursus ini mengikuti pendekatan top-down untuk memahami jaringan dengan menggunakan arsitektur dan protokol Internet sebagai contoh utama dari implementasi prinsip-prinsip jaringan. Kami mulai pada lapisan aplikasi dan melanjutkan melalui lapisan transportasi, lapisan jaringan, lapisan tautan, dan lapisan fisik jaringan komputer. Siswa mengembangkan beberapa aplikasi jaringan dan menyelesaikan beberapa laboratorium yang dirancang untuk melacak dan memahami protokol jaringan utama yang digunakan di Internet. (Unit 4) Prasyarat: CS 401 atau persetujuan dari departemen fakultas.

  • Sistem Manajemen Basis Data (CS 422)

    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 (CS 425)

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

  • Arsitektur dan Kerangka Kerja Aplikasi Web (CS 545)

    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.

  • Pemrograman Aplikasi Web (CS 472)

    Kursus ini menyediakan 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 Java servlets dan JSP untuk pemrosesan sisi server. Kursus ini akan memperkenalkan HTML dan CSS. JavaScript adalah fokus kursus, dan dibahas sebagai bahasa pemrograman fungsional termasuk jQuery, Ajax, dan JavaScript namespaces dan modul. Ini adalah prasyarat untuk Arsitektur Aplikasi Web CS545. Itu tidak mencakup AngularJS atau NodeJS, tetapi JavaScript yang dibahas di sini akan mempersiapkan Anda untuk mempelajari teknologi tersebut. (Unit 4)
    Prasyarat: CS 220 atau CS 401 atau persetujuan dari departemen fakultas.

  • Sains dan Teknologi Kesadaran untuk Profesional Komputer (UNTUK 506)

    Kursus pertama Anda secara khusus dirancang untuk membangun dasar bagaimana Anda bisa menjadi profesional ilmu komputer berkinerja 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 berfungsinya fungsi mental unggul yang meningkatkan kreativitas dan pemikiran "out of the box". Kursus ini akan fokus pada prinsip-prinsip yang menopang kinerja puncak dalam aktivitas dengan mengembangkan campuran istirahat dan aktivitas yang optimal. Anda akan mengembangkan dan mengalami rutinitas harian yang ideal yang mendukung kesuksesan dalam hidup. (Unit 2)

  • Kepemimpinan untuk Manajer Teknis (UNTUK 506B)

    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 timnya?

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

    (Unit 2)

Kursus MSCS tambahan

  • Bahasa Pemrograman Lanjutan (CS 505)

    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.

  • Big Data (jalur Ilmu Data) (CS 522)

    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.

  • Big Data Analytics (Data Science track) (CS 488)

    Big Data adalah sumber daya alam baru: data berlipat ganda setiap 12-18 bulan. Kursus Big Data Analytics yang baru ini mencakup konsep-konsep dasar dan alat-alat untuk menambang kumpulan data yang sangat beragam untuk menghasilkan wawasan baru. Anda akan menguasai penggunaan bahasa R untuk membuat Wordcloud, Pagerank, Visualisasi Data, Pohon Keputusan, Regresi, Clustering, Jaringan Saraf Tiruan, dan banyak lagi. Anda akan bekerja dengan beberapa set data multi-juta rekaman besar, dan juga menambang umpan Twitter. Anda akan mempelajari konsep Hadoop / MapReduce dan Streaming Data, dan akan mengeksplorasi Proyek Big Data Apache lainnya seperti Spark, Flink, Kafka, Storm, Samza, NoSQL melalui masing-masing makalah penelitian. Anda akan bekerja dalam kelompok pada proyek terbuka dari Kaggle.com untuk bersaing memperebutkan uang hadiah dengan memecahkan tantangan analitik data terbaik. Anda juga akan belajar menggunakan IBM SPSS Modeler yang terkemuka di industri, dan platform penambangan data sumber terbuka. Buku teks terlaris #1 yang digunakan dalam kursus ini ditulis oleh instruktur sendiri. Kursus ini juga akan menggunakan berbagai materi pelatihan video dari MIT, Coursera, Google, dan di tempat lain. (Unit 4) Prasyarat: Persetujuan dari fakultas departemen

  • Teknologi Big Data (Data Science track) (CS 523)

    Hanya dalam beberapa tahun singkat, teknologi data besar telah beralih dari ranah sensasi menjadi salah satu komponen inti dari era digital baru. Teknologi ini sangat berguna untuk mengubah Informasi menjadi Pengetahuan.

    Tujuan kursus adalah untuk menambahkan beberapa alat yang sangat penting dalam gudang senjata Anda untuk membantu Anda memecahkan berbagai masalah data besar. Kami akan mulai dengan memberikan jawaban untuk pertanyaan seperti "Apa itu Big Data? Mengapa ini penting atau bermanfaat? Bagaimana Anda menyimpan data besar ini? ”Kemudian kita akan mempelajari berbagai alat dan model pemrograman dari tumpukan teknologi data besar yang akan membantu kita untuk menganalisis data. Topik meliputi beberapa proyek dalam ekosistem Hadoop seperti MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), proyek ekosistem Zookeeper dan Apache Spark. Kami juga akan membahas pengantar AWS dan ESDM. Anda terutama akan bekerja dengan distribusi simpul tunggal Hadoop dari Cloudera. (Unit 4) (Tidak ada prasyarat)

  • Keamanan Komputer (CS 466)

    Kursus ini masuk jauh ke dalam tiga aspek keamanan komputer: kerahasiaan, integritas dan ketersediaan. Beberapa model untuk kebijakan keamanan rahasia dan integritas dipelajari. Peran kriptografi dalam memastikan kerahasiaan dan integritas diperiksa. Topik lainnya termasuk otentikasi, audit, pengujian penetrasi, kerentanan umum dan deteksi intrusi. Kursus ini diakhiri dengan studi kasus tentang sistem keamanan yang realistis. Siswa akan diminta untuk membaca makalah dari literatur keamanan dan menerapkannya pada materi yang diberikan dalam kuliah. (Kredit 4) Prasyarat: CS 401 atau persetujuan dari fakultas departemen.

  • Arsitektur Perusahaan (CS 544)

    Kursus ini berfokus pada pengajaran prinsip dan praktik yang digunakan ketika mengembangkan aplikasi perusahaan skala besar. Kami akan memeriksa berbagai lapisan arsitektur yang sering digunakan dan berbagai teknologi yang terkait dengan lapisan-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 basis data relasional dan SQL. Jika Anda tidak memiliki kursus yang kuat atau pengetahuan SQL yang baik, Anda harus mendaftar ke CS422 DBMS sebelum mendaftar untuk EA. (Unit 4)

  • Pembelajaran Mesin (Jalur Ilmu Data) (CS 582)

    Machine Learning, bidang studi yang memberikan komputer kemampuan untuk belajar dari data, merupakan jantung dari hampir setiap disiplin ilmu, dan studi generalisasi (yaitu, prediksi) dari data adalah topik utama pembelajaran mesin. Kursus ini memberikan pengantar tingkat sarjana untuk pembelajaran mesin dan cakupan mendalam tentang metode baru dan canggih dalam pembelajaran mesin, serta teori yang mendasarinya. Ini menekankan pendekatan dengan relevansi praktis dan membahas sejumlah aplikasi pembelajaran mesin baru-baru ini, seperti Penambangan Data (dalam Big Data / Ilmu Data, Analisis Data), Pemrosesan Bahasa Alami, Visi Komputer, Robotika, Bioinformatika dan Teks serta pemrosesan data Web. Machine Learning 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 terawasi (pembelajaran generatif / diskriminatif, pembelajaran parametrik / non-parametrik, jaringan saraf, mesin vektor dukungan, pohon keputusan, pembelajaran & optimalisasi Bayesian); pembelajaran tanpa pengawasan (pengelompokan, pengurangan dimensi, metode kernel); teori belajar (bias / varians pengorbanan; teori VC; margin besar); pembelajaran penguatan dan kontrol adaptif. Topik lain termasuk HMM (Hidden Markov Model), Evolutionary Computing, Deep Learning (With Neural Nets) dan perancangan algoritma yang kinerjanya 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.

  • Pemrograman Perangkat Seluler (CS 473)

    Pentingnya pemrograman perangkat seluler telah muncul selama beberapa tahun terakhir sebagai domain baru dalam pengembangan perangkat lunak. Kursus ini mempersiapkan siswa untuk mengembangkan aplikasi yang berjalan pada perangkat seluler seperti IPhone, IPad atau ponsel Android. Ini adalah pasar yang berkembang pesat. Kursus berfokus pada menginstal, mengembangkan, menguji, dan mendistribusikan aplikasi seluler. Pada akhir kursus ini siswa dapat mengembangkan aplikasi untuk platform yang dicakup, mensimulasikan mereka, mengujinya di perangkat nyata dan akhirnya menerbitkan di app store untuk membuat ketersediaan bagi para pengguna. (Unit 4) Prasyarat: CS472 atau persetujuan dari fakultas departemen.

  • Aplikasi Web Modern (CS 572)

    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)

  • Sistem Operasi (CS 465)

    Sistem operasi mengontrol sumber daya utama sistem komputer dan mengalokasikannya untuk pengguna individu. Topik kursus meliputi proses berurutan dan bersamaan, pengecualian bersama, berbagi sumber daya, kerja sama proses, kebuntuan, alokasi sumber daya, penjadwalan prosesor, manajemen memori, algoritma segmentasi dan paging, sistem pembagian waktu, algoritma penjadwalan, dan perlindungan sumber daya. (Unit 4) Prasyarat: CS 401 atau persetujuan dari departemen fakultas.

  • Pemrograman Paralel (CS 471)

    Prosesor standar untuk semua komputer baru sekarang merupakan prosesor multi-core, yang memiliki potensi untuk menjalankan program lebih cepat. Namun, untuk memanfaatkan potensi ini, seorang programmer harus memiliki pengetahuan tentang teknik pemrograman paralel. Selama kursus ini, siswa akan menghabiskan sebagian besar waktu mereka menulis dan men-debug program paralel. Hasil yang diharapkan adalah mengembangkan keterampilan pemrograman praktis tingkat baru. Keahlian ini tidak hanya berguna untuk pemrograman prosesor multi-core, tetapi juga pemrograman sistem operasi dan pemrograman basis data terdistribusi. Alat perangkat lunak yang digunakan selama kursus ini termasuk Microsoft Visual C / C ++, Java multithreading library, dan standar threading OpenMP. (Unit 4) Prasyarat: Pengetahuan tentang pemrograman komputer menggunakan Java, C, atau C ++.

  • Arsitektur Perangkat Lunak (CS 590)

    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)

  • Praktikum dalam Pengembangan Perangkat Lunak (CS 575)

    Dalam kursus praktikum ini, siswa melakukan tugas yang berhubungan dengan komputer dalam posisi profesional teknis. Tugas yang dilakukan mungkin dalam desain dan pengembangan sistem baru atau penerapan sistem yang ada untuk tujuan tertentu. Deskripsi pekerjaan praktikum dirumuskan oleh pemberi kerja dan siswa, dan memerlukan persetujuan terlebih dahulu oleh salah satu fakultas pascasarjana departemen, dalam konsultasi dengan supervisor praktikum tempat siswa ditempatkan. (Kursus ini terutama untuk siswa dalam program magang atau kerja sama.) (0.5-1 unit per blok - dapat diulang.)

“Pertama kali saya mendengar tentang program MSCS, saya meragukannya. Saya tidak percaya ada sesuatu seperti ini. Tetapi suatu hari, seorang teman saya bergabung dengan program tersebut. Saat itulah saya mengkonfirmasi bahwa itu nyata. Kemudian saya melanjutkan proses aplikasi saya. Baik! Memang benar, saya di sini, saya telah menyelesaikan program dan saya sangat senang. "

Edwin Bwambaleuganda