Selama beberapa dekade, gelar yang diterima untuk menjadi pengembang perangkat lunak adalah "Compter Science."
Kami sudah memiliki beberapa pertanyaan tentang apakah gelar itu benar-benar mempersiapkan siswa untuk mengembangkan perangkat lunak.
Beberapa sekolah telah, dalam 8 tahun terakhir, mulai menawarkan beberapa jurusan yang berbeda dalam pemrograman. Menggunakan kurikulum dari sekolah saya:
- Ilmu Komputer , yang dimulai dengan beberapa kursus pemrograman intro di tahun pertama, dan kemudian berfokus pada ilmu komputer teoretis, algoritma, dan sedikit hal-hal OS. Sebagian besar kelas melibatkan beberapa proyek dan pekerjaan rumah yang lebih kecil, dilakukan solo atau berpasangan.
- Rekayasa Perangkat Lunak , yang dimulai dengan kursus pemrograman intro yang sama, melakukan beberapa kelas teori, dan kemudian masuk ke praktik pengembangan perangkat lunak (pengujian, metodologi proses, metrik perangkat lunak, pengumpulan persyaratan) dan desain perangkat lunak (desain sistem terdistribusi, desain sistem info , desain waktu-nyata / disematkan, desain subsistem, dll)
Sekolah yang berbeda melakukannya dengan cara berbeda, jadi contoh di atas hanyalah contoh dunia nyata yang saya kenal. Yang saya tanyakan adalah: Apakah ada kebutuhan untuk jurusan yang berbeda dalam pemrograman?
computer-science
engineering
Fishtoaster
sumber
sumber
Jawaban:
Ya, seharusnya begitu.
Hubungan antara ilmu komputer dan rekayasa perangkat lunak sama dengan hubungan antara fisika dan teknik mesin. Satu memberikan latar belakang teoritis sementara yang lain mengambil teori-teori itu, bersama dengan prinsip-prinsip teknik yang baik, dan menerapkannya pada desain dan implementasi perangkat lunak.
Anda memerlukan keduanya untuk menghasilkan perangkat lunak baru dan lebih baik. Pendidikan ilmu komputer yang baik melatih orang untuk menghasilkan algoritme baru dan lebih baik, struktur data, bahasa dan paradigma pemrograman, kompiler, dan sejumlah hal lain yang dapat digunakan untuk meningkatkan sistem perangkat lunak. Pendidikan rekayasa perangkat lunak yang baik, di sisi lain, melatih Anda untuk mengambil alat dan pengetahuan ini yang diperoleh melalui studi ilmiah perhitungan, bersama dengan pengetahuan tentang siklus pengembangan perangkat lunak dan model proses untuk benar-benar membangun sistem yang diinginkan dan dibutuhkan oleh pelanggan. .
sumber
Sudah diketahui secara umum bahwa kurikulum CS biasa tidak menyiapkan satu untuk industri, tidak sebanyak yang ingin Anda siapkan pula. Jadi ya, ada kebutuhan untuk jurusan teknik perangkat lunak, dan keduanya harus berbeda, meskipun jelas di fakultas yang sama.
sumber
Mereka harus disiplin yang berbeda, tetapi tidak di tingkat sarjana. Saya hanya tidak melihat bagaimana mereka dapat mengatasi semua yang diperlukan untuk Rekayasa Perangkat Lunak pada gelar sarjana. Hanya dengan cara yang sama kita tidak melihat gelar sarjana dalam Sistem Rekayasa (di mana orang mendapatkan gelar MS setelah mendapatkan gelar di EE, CE, Mechanical Eng atau CS), itu adalah kasus yang sama dengan Rekayasa Perangkat Lunak.
Ini adalah pendekatan multidisiplin yang banyak didasarkan pada ilmu komputer dan / atau MIS. Orang-orang benar-benar menjadi insinyur perangkat lunak dalam praktik (dan bukan hanya dalam judul) setelah mengejar pekerjaan kursus lanjutan dan / atau pengalaman kerja di lapangan, asalkan nanti dilakukan di lingkungan yang konduktif dari rekayasa perangkat lunak.
Kebanyakan orang memiliki judul rekayasa perangkat lunak tetapi belum benar-benar maju melampaui pengkodean. Ini bukan gangguan pada mereka, tetapi sebuah pengamatan - mereka belum cukup terpapar dengan jenis pekerjaan yang akan membantu mereka mengumpulkan pengalaman kerja di luar coding. Lebih buruk lagi, sebagian besar pekerjaan dan organisasi dijalankan dengan kejam, dan tidak konduktif melakukan rekayasa perangkat lunak yang tepat.
Selain itu, tanpa kedewasaan kerja atau skolastik, materi rekayasa perangkat lunak hanya akan terbang di atas kepala sebagian besar mahasiswa sarjana.
sumber