Ilmu Komputer vs Pemrograman Komputer: apa bedanya?

Kredit gambar

Tampaknya kedua istilah ini sedikit berubah dalam beberapa tahun terakhir. Sebagai orang yang mulai belajar tentang pemrograman sendiri, saya baru-baru ini mendengar banyak istilah "ilmu komputer" dan "pemrograman komputer" yang digunakan secara bergantian. Saya harus tahu sedikit tentang apa yang sebenarnya mereka maksudkan dan menjawab beberapa pertanyaan: Apakah mereka sama? Apakah mereka saling berhubungan? Apakah yang satu termasuk yang lain?

Mengapa ini penting?

Sebagai pemula yang belajar cara memprogram (dan memiliki gelar sarjana 4 tahun tetapi tidak terlatih dalam Informatika), saya dapat mengatakan bahwa saya merasa penting bagi prospek karier saya. Seringkali ketika melihat tawaran pekerjaan yang terkait dengan perangkat lunak, saya melihat bahwa gelar Ilmu Komputer 4 tahun diperlukan atau dilihat sebagai suplemen utama. Ini sering menyebabkan orang di posisi saya bertanya pada diri sendiri: Apakah saya ketinggalan kapal? Apakah "pemrograman komputer" kurang seni dari yang saya kira? Apakah ada gelar dalam Ilmu Komputer yang memiliki pergelangan tangan insinyur perangkat lunak nyata?

Memeriksa definisi Wikipedia dari setiap istilah, mengetahui apa yang saya mulai dari tempat saya mencari:

Pemrograman komputer adalah proses merancang dan membangun program komputer yang melakukan tugas komputasi tertentu ... Tujuan pemrograman adalah untuk menemukan urutan instruksi yang akan mengotomatisasi tugas yang sering di komputer.

Saya membandingkan ini dengan definisi Informatika:

Informatika adalah studi tentang proses yang saling berhubungan dengan data dan disajikan sebagai data dalam suatu program. Mengizinkan penggunaan algoritme untuk mengelola, menyimpan, dan mentransmisikan data digital. Ilmuwan komputer akan mempelajari teori komputasi dan praktik mendesain sistem perangkat lunak.

Dari get-go, saya bisa melihat bahwa ada perbedaan besar yang ditunjukkan di sini. Proses merancang dan membangun program yang menjalankan fungsi yang sama terlihat seperti pemrograman komputer. Pada gilirannya, ilmu komputer adalah studi dasar dari proses ini. Saya pikir apa yang ingin saya katakan tentang perbandingan ini adalah bahwa pemrograman komputer adalah di bidang teknologi terapan, dan ilmu komputer lebih teoretis.

Untuk lebih spesifik, saya merujuk pada komentar para insinyur perangkat lunak yang berpengalaman tentang perbedaan antara keduanya. Sebelum melanjutkan, saya harus menunjukkan bahwa, terlepas dari apa yang orang pikirkan, sebagian besar diskusi ini telah dilihat dan dipengaruhi oleh lensa pendidikan tinggi. "Apa perbedaan antara ilmu komputer dan pemrograman komputer?" Meskipun ada sumber yang berupaya menjawab pertanyaan secara langsung, seperti wawancara, percakapan sering kali ditanyakan, "Apa spesialisasi yang perlu saya pelajari di perguruan tinggi: ilmu komputer atau rekayasa perangkat lunak?" Ini menjawab pertanyaan seperti. Karena saya tidak tahu pada awalnya, banyak sekolah menawarkan gelar dalam Rekayasa Perangkat Lunak untuk program ini, yang dapat dibandingkan dengan program komputer untuk artikel ini. Seperti yang diharapkan, tingkat Informatika mengarahkan siswa untuk mempelajari teori proses komputer dasar, sementara perangkat lunak mengajarkan mereka untuk menerapkan prinsip-prinsip ini. Terlepas dari perbedaan-perbedaan ini, subjek-subjek ini memiliki kesamaan yang mencolok.

Pendidikan Menengah "Rekayasa Perangkat Lunak VS - Mana Yang Terbaik Untuk Anda?" YouTuber dan mantan Pengembang Google YK Sugi meneliti perbedaan antara ilmu komputer dan rekayasa perangkat lunak di University of Waterloo (di bawah). Pastikan Anda memiliki salah satu program ilmu komputer terbaik di Amerika Utara. Dia menemukan bahwa, terlepas dari persyaratan spesialisasi untuk matematika dan statistik, "hampir setiap magistrasi" memiliki sifat yang unik:

Menurut pendapat saya (mana yang harus dipilih), itu sangat tergantung pada apa yang Anda inginkan. Singkatnya:
Jika Anda menyukai matematika, logika, atau jika Anda ingin memasuki bidang khusus seperti kecerdasan buatan, pembelajaran mesin, keamanan atau grafik, Anda harus memilih ilmu komputer.
Jika Anda lebih tertarik pada pekerjaan manual dan ingin tahu bagaimana siklus hidup perangkat lunak dirancang dan dipelihara, Anda harus memilih rekayasa perangkat lunak.

Menjawab pertanyaan spesialisasi mana yang harus dipilih, berdasarkan minatnya menjadi insinyur perangkat lunak, Sugi menjawab dengan penilaian yang sangat bagus bahwa "jurusan ilmu komputer" Untuk alasan yang jelas, ini mengejutkan saya. Bagaimana mungkin gelar dalam rekayasa perangkat lunak tidak menjadi cara terbaik untuk menemukan pekerjaan rekayasa perangkat lunak?

Banyak sekolah bahkan tidak menawarkan gelar dalam rekayasa perangkat lunak. Menurut Sugi, University of British Columbia di Vancouver menawarkan hanya teori komputer dan riset perangkat lunak serta rekayasa komputer. Masing-masing dari mereka menawarkan kursus dalam rekayasa perangkat lunak tetapi tidak ada spesialisasi. Bagaimana sekolah seperti Universitas Waterloo menawarkan gelar dalam bidang manajemen perangkat lunak, tetapi ini mungkin bukan pilihan terbaik bagi insinyur perangkat lunak masa depan? Sugi menawarkan lebih banyak pengembangan:

Biasanya, apa yang mereka (majikan) cari dalam calon insinyur perangkat lunak adalah dasar-dasar ilmu komputer, yang meliputi penulisan kode yang solid dan proyek yang menarik, serta struktur data dan algoritma.
Saya pikir cara terbaik untuk mengembangkan keterampilan ini adalah dengan cepat mempelajari dasar-dasar ilmu komputer dan menghabiskan waktu, pemecahan masalah, dan menulis kode.
Berdasarkan kurikulum rekayasa perangkat lunak dan mahasiswa teknik pada umumnya, saya pikir akan lebih sulit untuk dilakukan dengan rekayasa perangkat lunak dibandingkan dengan ilmu komputer.

Sugini perlu menekankan bahwa meskipun dasar-dasar ilmu komputer paling baik dipelajari di ruang kelas, sifat praktis dari konsep rekayasa perangkat lunak membutuhkan banyak pengalaman. Ini dapat mencegah siswa memasuki universitas.

Terlepas dari prestasi Sugi dan orang lain dalam topik ini, sulit untuk menyangkal bahwa kehadiran para master dan kursi di universitas sangat mempengaruhi pendekatan kami terhadap ilmu komputer dan perbandingannya dengan pemrograman komputer. .

Meskipun kami memiliki ide yang jauh lebih baik tentang bagaimana melihat pertanyaan ini dalam konteks akademik, pertanyaannya masih dalam hubungan kategorikal antara ilmu komputer dan pemrograman komputer. Apakah pemrograman membangkitkan indah sebagai subkategori ilmu komputer, atau apakah kedua disiplin ilmu masih berbeda satu sama lain?

Apa yang dikatakan oleh penelitian ini adalah bahwa pemrograman komputer adalah ilmu komputer, tetapi dengan perbedaan yang signifikan adalah bidangnya.

Tech YouTuber Silvester Morgan dalam 2017 "Pengembangan Perangkat Lunak? Pengembangan Perangkat Lunak VS Ilmu Komputer" (di bawah) merinci perbedaan antara keduanya:

Pengembangan perangkat lunak adalah penggunaan bahasa pemrograman dan alat untuk melakukan sesuatu untuk mencapai apa pun, untuk membangun sesuatu, atau untuk menulis instruksi yang dihasilkan komputer untuk mengotomatisasi sesuatu. Pengembangan perangkat lunak adalah program ilmu komputer.
Ilmu komputer adalah akar dan dasar dari pengembangan perangkat lunak dan perangkat lunak, tetapi keduanya tidak sama. Anda dapat menjadi pengembang perangkat lunak yang efektif dan terampil tanpa latar belakang yang baik, tetapi sebagai seorang profesional sejati, selalu baik untuk rajin dan belajar ketika Anda membutuhkannya dan mendalam.

Meskipun Morgan melihat Pemrograman sebagai subkategori dan aplikasi Ilmu Komputer, ia menganggap mereka cukup unik dan dapat didekati dengan pertimbangan khusus.

Pada 2015 EdSurge berkomentar di artikelnya "Informatika melampaui kode" (di bawah) bahwa Sheena Vaidyanathan berpendapat bahwa pemrograman adalah bagian penting dari Ilmu Komputer.

Pemecahan masalah dan pengkodean (atau pemrograman) menggunakan komputer yang dibantu komputer adalah tentang mengimplementasikan solusi ini. Ilmuwan komputer mungkin terlihat seperti arsitek untuk mendesain rumah - tetapi tidak perlu membangunnya.
Prinsip Sains Sekolah yang baru dari Sekolah Informasi AP mencerminkan perbedaan penting ini dengan tujuh gagasan utama: Kreativitas, abstraksi, data, algoritma, pemrograman, Internet, pengaruh global. Pengkodean adalah salah satu dari tujuh bidang ini.

Dalam artikelnya tentang pendidikan tentang topik-topik ini, Vaidyanathan berpendapat bahwa ada banyak alasan untuk mengajar ilmu komputer secara umum, dan bahwa hanya penolakan terhadap program bukanlah alasan untuk mencegah bidang ilmu komputer lainnya. .

Tech YouTuber, produser dan penulis Aaron Beta meliput topik ini dalam videonya di tahun 2017, "Apa Perbedaan antara Ilmu Komputer dan Pemrograman Komputer?"

... mereka sama (Komputer dan perangkat lunak Komputer) dan apa bedanya? Jadi, saya pikir pertanyaan termudah untuk dijawab adalah sulit untuk dijawab. Bukankah kedua istilah ini sama? Dan jawabannya adalah, tentu saja, "Tidak, mereka tidak. Tapi mereka saling berhubungan" ...
... konsep yang mirip dengan ahli kimia dan insinyur kimia. Pemrograman komputer adalah insinyur kimia. Mereka adalah orang-orang yang melakukan penelitian dan menerapkannya dalam situasi sehari-hari, sedangkan sisi informatika lebih merupakan ahli kimia. Mereka melakukan penelitian, kerja teoretis, dan kemudian seseorang harus menerapkannya ke dunia nyata.

Aaron dalam Beta juga mengatakan bahwa meskipun kedua ruang terpisah, pemahaman satu akan berfungsi untuk memperdalam yang lain. Pemahaman yang lebih dalam tentang teori pengoperasian komputer akan membantu Anda menulis kode yang lebih efisien, sambil mengetahui bagaimana komputer dapat memandu Anda akan membantu Anda memahami komputer secara umum.

Jadi di mana Lulusan Bootcamp cocok dengan semua ini?

Seperti yang dapat Anda lihat dari atas, sebagian besar diskusi di bidang komputer dan perangkat lunak ada di universitas, meninggalkan mereka yang bermain game (sendiri). Tidak perlu dikatakan, meskipun telah ada diskusi yang luas tentang topik ini, memang benar bahwa mantan, siswa bootcamp coding saat ini atau calon tidak boleh berkecil hati.

Kyle Thayer, seorang mahasiswa PhD di University of Washington, berupaya mengatasi masalah khusus ini dalam artikelnya di tahun 2018 "Coding Embedded Bootcamps: Gelar-Gelar Ilmu Komputer: Apa yang Pengusaha Inginkan dan Perspektif Lain" . Dia mencatat bahwa baik gelar bootcamp dan Ilmu Komputer 4-tahun memiliki tujuan dan kelebihan mereka:

Tujuan dari level CS adalah untuk memberikan siswa gambaran dari bidang ilmu komputasi. Coding bootcamps pada gilirannya mendidik orang tentang jenis bisnis perangkat lunak tertentu (biasanya pemrograman web full-stack).
... Coding bootcamps tidak mencakup dasar-dasar sistem operasi, dan sulit bagi aplikasi CS untuk membahas teknologi Web terbaru atau untuk bekerja dalam kerja tim. Program universitas berubah perlahan, tetapi dasar-dasar ilmu komputer juga berubah, pengkodean lampu boot berubah terlalu cepat dan mampu mengikuti kecepatan teknologi yang cepat. Saya berharap bootcamps pengkodean dan level CS akan terus bekerja secara independen atau bersama sebagai trek terpisah di masa mendatang.

Thayer sendiri sebenarnya mempelajari Blog ini dari Blog (ditautkan di bawah). "Apa yang benar-benar dipikirkan pengusaha tentang coding boot?" Studi ini, yang disebut Research, memberikan contoh lebih dari 1.000 manajer perekrutan dan SDM. Seperti dicatat dalam artikel itu, 72% mengatakan mereka terkejut dengan derajat bootcamp "seolah-olah mereka siap dan bisa menjadi pemain top yang melihat diri mereka sebagai kandidat dengan gelar ilmu komputer", tambahan 12% setuju 'Lulusan bootcamp lebih siap dan lebih percaya diri.' Sekitar 17% dari responden "berpikir bahwa lulusan bootcamp tidak berpendidikan baik atau mereka tidak berprestasi sebagai kandidat dalam ilmu komputer."

80% manajer yang diwawancarai mengatakan bahwa mereka mempekerjakan lulusan bootcamp pada waktu tertentu dan bahwa mereka akan dipekerjakan lagi (99,8%).

Meskipun setiap orang memiliki pendapat yang berbeda, saya hampir tidak dapat menyimpulkan bahwa hasil ini harus dicegah untuk programmer bootcamp, pada kenyataannya, seperti yang saya katakan, mereka telah melebihi harapan saya. Namun, penelitian ini dilengkapi dengan data yang valid: terlepas dari pandangan positif lulusan bootcamp, 41% responden survei mengatakan mereka akan lebih nyaman dalam mempekerjakan seseorang dengan latar belakang ilmu komputer. Hal ini sebagian besar disebabkan oleh kurangnya standar yang mendasari universitas yang diatur dengan baik dan kerangka kerja peraturan untuk bootamp coding yang ada. Seiring dengan topik serupa, responden mencatat bahwa Ilmu Komputer sangat dihargai untuk proyek-proyek yang lebih abstrak terkait dengan pengetahuan teoritis tentang komputer, sementara sertifikat truk penting untuk tugas-tugas yang membutuhkan pemahaman praktis tentang masalah tersebut.

Jadi apa yang kamu butuhkan?

Nah, berikut adalah beberapa pertanyaan yang diajukan di awal:

Apakah ilmu komputer dan program komputer sama?

Tidak. Meskipun memiliki banyak kesamaan, wajar untuk mengatakan bahwa pemrograman komputer dan ilmu komputer pada dasarnya berbeda.

Apakah ilmu komputer dan perangkat lunak komputer terkait?

Ya - meskipun mereka adalah kategori yang berbeda, mereka berdua sangat cocok satu sama lain, dan mengetahui salah satu dari mereka hampir membantu memahami yang lain.

Apakah program komputer atau wakil program termasuk dalam ilmu komputer?

Ya, Perangkat Lunak Komputer adalah bidang praktis ilmu komputer. Pemrograman komputer dapat dianggap sebagai sub-jaringan ilmu komputer, meskipun banyak mata pelajaran ilmu komputer tidak ada hubungannya dengan pemrograman komputer.

Sebagai mahasiswa pemrograman komputer baru yang belum meraih gelar PhD dalam bidang Ilmu Komputer selama 4 tahun, apakah saya ketinggalan artikel?

Itu tergantung pada apa tujuan Anda. Jika Anda mencoba memperoleh keterampilan pemrograman untuk bekerja berdasarkan komersial atau semacamnya, maka jawabannya mungkin tidak (meskipun jalannya masih tidak mudah). Jika Anda mencoba untuk mempublikasikan penelitian Anda tentang teori komputer, Anda akan ingin belajar di universitas ini nanti.

Pemrograman komputer, apakah ini seni yang lebih kecil dari yang saya kira?

Itu tergantung pada apa yang Anda pikirkan. Jika Anda berpikir "Pemrograman Komputer" adalah bidang penelitian yang mencakup banyak bidang studi terkait komputer, maka Anda salah. Ini adalah ilmu komputer. Jika Anda berpikir bahwa membangun program-program ini adalah akhir dari membangun komputer dan belajar bagaimana memberikan instruksi, maka Anda benar. Sebagai komentar, berpikir "lebih kecil" dari yang lain biasanya tidak perlu dan tidak memiliki perspektif kontekstual spesifik yang saling melengkapi.

Apa artinya gelar ilmu komputer di bawah ikat pinggang insinyur perangkat lunak "nyata"?

Opsional. 4 tahun ilmu komputer tidak akan pernah menyakiti tujuan karir insinyur program masa depan dan / nya pemahamannya di lapangan, tetapi tidak ada hubungan satu-ke-satu antara mahasiswa pascasarjana dan insinyur. Ada banyak insinyur sukses yang telah membangun karier mereka setelah berbagai spesialisasi (atau tidak pernah kuliah). Selain itu, ada banyak siswa yang telah mendaftar di Ilmu Komputer dengan maksud menjadi insinyur dan kecewa ketika teori menjadi lebih sulit.

Perhatikan bahwa Perangkat Lunak Komputer adalah bidang praktis Ilmu Komputer. Ini dapat dipelajari secara independen dalam Ilmu Komputer, tetapi memahami satu akan sangat bermanfaat bagi yang lain. Mendefinisikan yang pertama sebagai yang lebih baik daripada yang lain sering merupakan praktik yang salah, tepatnya, sebelum memutuskan disiplin atau keterampilan mana yang paling menguntungkan. Alumni ilmu komputer dan alumni bootcamp masing-masing memiliki tempat sendiri di masyarakat, dan tidak mungkin mereka akan pergi.

Menulis artikel ini sangat bergantung pada penelitian oleh orang lain. Jika Anda ingin melihat salah satu dari sumber-sumber ini, silakan merujuk ke tautan berikut:

(Foto) https://theydiffer.com/difference-between-computer-science-and-computer-programming/

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

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

https://www.youtube.com/watch?v=cSVDk-ugAQ

http://blog.indeed.com/2017/05/02/what-employers-think-about-coding-bootcamp/

https://apstudent.collegeboard.org/apcourse/ap-computer-science-principles

https://www.robotlab.com/blog/coding-programming-and-computer-science-are-not-the-same

https://www.petersons.com/blog/whats-the-difference-between-computer-science-and-computer-engineering/

https://en.wikipedia.org/wiki/Computer_programming

https://en.wikipedia.org/wiki/Computer_sciencehttps://www.edsurge.com/news/2015-12-02-computer-science-goes-beyond-coding

https://medium.com/bits-and-behavior/coding-bootcamps-vs-computer-science-degrees-what-employers-want-and-other-perspectives-4058a67e4f15

https://medium.freecodecamp.org/computer-science-vs-software-engineering-which-one-is-a-better-major-88482c38446b

http://blog.indeed.com/2017/05/02/what-employers-think-about-coding-bootcamp/