Keputusan Massachusetts Institute of Technology untuk mengganti Scheme dengan Python dalam mata kuliah pengantar ilmu komputer telah memicu perdebatan berkelanjutan tentang arah pendidikan CS. Perubahan ini, yang terjadi pada pertengahan tahun 2000-an, menandai berakhirnya era untuk salah satu kurikulum pemrograman paling berpengaruh dalam sejarah akademik.
Berakhirnya Empat Pendalaman Materi
Pendekatan asli MIT berpusat pada empat mata kuliah intensif 15 unit yang mengeksplorasi bahasa-bahasa rekayasa. Mata kuliah terkenal 6.001, Structure and Interpretation of Computer Programs , menggunakan Scheme untuk mengajarkan konsep-konsep fundamental tanpa terganggu oleh sintaks bahasa yang kompleks. Mata kuliah ini, bersama dengan tiga mata kuliah lainnya yang mencakup sirkuit, sinyal, dan arsitektur komputer, memberikan mahasiswa fondasi teoretis yang mendalam dalam ilmu komputer.
Namun, penurunan pendaftaran setelah crash dot-com, khususnya di kalangan kelompok yang kurang terwakili, mendorong perombakan kurikulum. Departemen mengganti empat mata kuliah pendalaman dengan dua mata kuliah survei 12 unit yang dirancang untuk menampilkan aplikasi menarik dari ilmu komputer, mulai dari robotika hingga jaringan.
Kurikulum Asli MIT EECS (1980an-2005)
- 6.001: Structure and Interpretation of Computer Programs ( Scheme )
- 6.002: Circuits and Electronics
- 6.003: Signals and Systems
- 6.004: Computation Structures
- Setiap mata kuliah: 15 unit (format pendalaman intensif)
Dari Teori ke Aplikasi
Kurikulum baru menekankan aplikasi praktis daripada kedalaman teoretis. Mata kuliah pengganti, 6.01, membuat mahasiswa bekerja dengan robot yang menavigasi labirin menggunakan sensor dan inferensi Bayesian . Python dipilih terutama karena alasan praktis - bahasa ini memiliki pustaka yang diperlukan untuk antarmuka robotika dan memungkinkan mahasiswa menulis program pendek untuk tugas-tugas spesifik seperti kontrol robot.
Pergeseran ini mencerminkan tren yang lebih luas dalam pendidikan ilmu komputer. Banyak departemen telah beralih dari mengajarkan konsep ilmu komputer murni menuju keterampilan pemrograman yang lebih bersifat vokasional. Perubahan ini mengakui bahwa sebagian besar mahasiswa tidak akan mengejar karir akademik tetapi justru membutuhkan keterampilan yang dapat dipasarkan untuk posisi di industri.
Kurikulum EECS MIT Baru (2005-2007)
- 6.01: Pengantar EECS I ( Python ) - robotika, kontrol, penginderaan, statistik
- 6.02: Pengantar EECS II - komunikasi, jaringan, teori informasi
- Setiap mata kuliah: 12 unit (format survei)
- Fokus: Paparan luas terhadap aplikasi EECS daripada fondasi teoretis yang mendalam
Perdebatan Besar: Scheme vs Python
Komunitas pemrograman tetap terbagi dalam transisi ini. Para pendukung Scheme berargumen bahwa kemurnian matematis bahasa ini dan sintaks yang minimal membuatnya ideal untuk mengajarkan konsep fundamental seperti rekursi, abstraksi, dan pemrograman fungsional. Mahasiswa dapat menguasai seluruh bahasa dengan cepat dan fokus pada prinsip-prinsip inti ilmu komputer.
Ada kemurnian dalam Scheme . Ini adalah bahasa ringan yang indah yang dapat dipelajari siapa pun dalam akhir pekan. Bahasa ini tidak melakukan hal ajaib untuk Anda yang berarti Anda dapat / harus membangun semua yang Anda inginkan dan Anda harus memahami bagaimana semuanya cocok bersama.
Para pendukung Python membantah bahwa mahasiswa mendapat manfaat dari mempelajari bahasa yang banyak digunakan dengan pustaka ekstensif dan aplikasi dunia nyata. Mereka berargumen bahwa ekosistem Python memberikan nilai praktis langsung dan motivasi untuk terus belajar, sementara pengetahuan Scheme memiliki transferabilitas terbatas untuk pekerjaan industri.
Perbedaan Utama: Scheme vs Python untuk Pendidikan
Aspek | Scheme | Python |
---|---|---|
Kompleksitas bahasa | Sintaks minimal, seluruh spesifikasi muat dalam 2 halaman | Kompleks, kaya fitur dengan pustaka standar yang ekstensif |
Kurva pembelajaran | Curam di awal, tetapi penguasaan penuh dimungkinkan | Awal yang lebih mudah, tetapi pemahaman ekosistem penuh membutuhkan waktu bertahun-tahun |
Relevansi industri | Penggunaan komersial terbatas | Banyak digunakan di industri |
Fokus pengajaran | Konsep CS murni, pemikiran matematis | Aplikasi praktis, proyek dunia nyata |
Latar belakang siswa | Menyamakan kedudukan (sedikit yang memiliki paparan sebelumnya) | Tidak merata (beberapa siswa memiliki pengalaman yang signifikan) |
Efek Penyeimbangan
Salah satu keuntungan Scheme yang sering diabaikan adalah kemampuannya untuk menyamakan kedudukan di antara mahasiswa. Karena sedikit sekolah menengah yang mengajarkan pemrograman fungsional, semua mahasiswa memulai dari titik yang kira-kira sama. Ini kontras dengan bahasa seperti Python atau Java , di mana beberapa mahasiswa datang dengan pengalaman sebelumnya yang signifikan, menciptakan lingkungan belajar yang tidak merata.
Perdebatan ini juga menyentuh pertanyaan fundamental tentang tujuan pendidikan universitas. Haruskah institusi elit fokus pada fondasi teoretis yang mengembangkan keterampilan berpikir mendalam, atau haruskah mereka memberikan pelatihan praktis yang mempersiapkan mahasiswa untuk pekerjaan langsung? Jawabannya mungkin bervariasi tergantung pada apakah mahasiswa berencana mengejar karir penelitian atau langsung memasuki industri.
Melihat ke Depan
Kurikulum ilmu komputer MIT saat ini telah berkembang lebih jauh lagi, bergerak menuju urutan CS0/CS1 yang lebih konvensional mirip dengan universitas lain. Departemen sebagian besar telah meninggalkan ide kurikulum inti terpadu, mencerminkan ekspansi dan spesialisasi bidang yang berkelanjutan.
Transisi Scheme ke Python mewakili lebih dari sekadar perubahan bahasa - ini melambangkan pergeseran pendidikan ilmu komputer dari abstraksi matematis menuju praktikalitas rekayasa. Meskipun kedua pendekatan memiliki manfaat, pilihan tersebut mengungkap asumsi fundamental tentang apa yang dibutuhkan mahasiswa untuk berhasil dalam lanskap teknologi yang semakin kompleks.
Referensi: Why MIT switched from Scheme to Python