Saya membaca tentang ilmu komputasi di Wikipedia, tetapi pemahaman saya tidak begitu jelas.
Apakah ilmu komputasi melibatkan pemrograman? Seberapa berbeda ilmu komputasi dengan komputasi _ ____ , di mana yang kosong bisa berupa disiplin apa saja (ilmu material, teknik, kimia, biologi, dan sebagainya)? (Saya akan melakukan ilmu material komputasi.)
Jawaban:
Tautan yang ditunjukkan oleh Godric di bawah pertanyaan itu benar. Ini memberikan gambaran yang baik dari banyak talenta yang harus dimiliki oleh seorang ilmuwan komputasi.
Secara umum, perbedaan antara menjadi Computational X (X = ahli matematika, insinyur sipil, ilmuwan bahan) dan menjadi Theoretical X atau Experimental X adalah bahwa yang pertama menangani masalah dengan komputer daripada eksperimen atau teori. Jelas, kemampuan untuk menggunakan komputer - khususnya untuk memprogram mereka - adalah bagian penting dari ini, seperti keterampilan dan pemahaman yang baik tentang X itu sendiri.
Ilmuwan Komputasi adalah orang-orang yang tidak langsung menjadi bagian dari komunitas X tetapi sering memiliki latar belakang dalam matematika atau ilmu komputer. Saya akan menganggap diri saya sebagai satu. Saya akan mengatakan bahwa sebagian besar dari mereka tidak begitu tertarik pada aplikasi tertentu (yaitu, X) itu sendiri tetapi lebih mempertimbangkan penyelesaian masalah di bidang X sebagai cara untuk mengembangkan dan menerapkan metode numerik dan komputasi baru - yaitu, sebagai testcases untuk metode yang dapat diterapkan secara lebih luas. Banyak ilmuwan komputasi adalah pemrogram yang sangat baik dan, mungkin yang lebih penting, perancang dan insinyur perangkat lunak. Menjadi ahli dalam hal itu tentu saja merupakan bagian penting dari deskripsi pekerjaan ilmuwan komputasi.
sumber
Singkatnya, Anda tidak akan menjadi profesional yang baik jika Anda mengklaim melakukan 'ilmu komputasi' tetapi tidak tahu pemrograman.
Untuk melakukan perhitungan, Anda memerlukan alat. Dan komputer adalah alat seperti itu. Pemrograman adalah satu-satunya cara untuk mengajarkan komputer bagaimana melakukan sesuatu. Oleh karena itu pemrograman adalah bagian penting dari ilmu komputasi. Ini bukan untuk mengatakan bahwa itu adalah satu-satunya bagian darinya. Teori memiliki tempat keramatnya sendiri. Jika Anda sangat pandai teori, Anda akan mendesain lebih baik, dan apa yang lebih penting adalah algoritma yang benar.
Sejauh yang saya lihat, Anda dapat bertahan hidup tanpa mengetahui pemrograman juga: dengan merancang algoritma secara teoritis. Tetapi kemudian Anda harus mempekerjakan orang lain yang tahu pemrograman untuk memverifikasi apakah algoritma Anda bekerja secara real time atau tidak.
Selain itu, adalah fakta dunia modern bahwa orang yang tahu pemrograman dibayar lebih baik. MENURUT OPINI SAYA!
sumber
Saya tidak mengetahui versi buku teks tentang definisi atau deskripsi ilmu komputasi tetapi di sini ada dua sen saya berdasarkan pengalaman saya:
Ilmu komputasi melibatkan berurusan dengan proses komputasi. Salah satu proses penting adalah pemrograman. Jadi, ya, itu melibatkan pemrograman. Ini adalah masalah yang berbeda apakah ilmuwan komputasi adalah penulis suatu program atau tidak, tetapi ia kemungkinan besar akan menjadi pengguna program yang ditulis untuk domain ilmiah tertentu. Dan semakin besar kemungkinan dia harus menulis kode "lem" untuk membuat segala sesuatunya sesuai dengan kebutuhannya. Semoga ini menjawab pertanyaan pertama Anda.
Saya tidak mengetahui ilmu material komputasi tetapi menganggapnya sebagai salah satu cabang ilmu yang memiliki kebutuhan komputasi, misalnya untuk simulasi energi dan interaksi antara elemen dll. Jadi, ya, itu akan melibatkan prinsip-prinsip umum yang sama dari ilmu komputasi seperti domain ilmiah lainnya: algoritma, prosedur, lem-kode, manipulasi file, konfigurasi, visualisasi dan sebagainya. Semoga ini dekat dengan menjawab pertanyaan kedua Anda.
Latar belakang ilmu komputer Anda pasti akan membantu. Apakah itu dalam ruang lingkup atau tidak sedikit subjektif. Namun, saya akan mengatakan, itu harusnya sangat di zona nyaman Anda mengingat mata pelajaran yang telah Anda pelajari.
sumber
Berikut ini jenis jawaban yang berbeda, tetapi menurut saya, cukup menarik.
Saya melihat semua pengguna beta ini dengan lebih dari 1000 reputasi. Saya pikir orang-orang ini dapat dianggap melakukan ilmu komputasi. Untuk masing-masing dari mereka, saya melihat profil dan melihat apakah mereka memiliki akun di StackOverflow, yang dapat dilihat sebagai tanda tertarik pada pemrograman. Inilah hasilnya:
Pada
25 users having more than 1000 reputation
:(16%)
tidak memiliki akun.(20%)
baru saja membuka akun tanpa mendapatkan reputasi.(64%)
berkontribusi pada StackOverflow.Jadi, paling tidak
84%
dari mereka yang tertarik dengan pemrograman. Menurut pendapat saya, ini menunjukkan bahwa pemrograman adalah bagian penting dari pekerjaan komputasi ilmiah :-) Itu hanya konfirmasi dari jawaban lain!Fakta menarik lainnya (yang tidak saya hitung) adalah bahwa semua pengguna ini memiliki akun tentang banyak topik, bukan hanya Ilmu Komputasi dan StackOverflow! Saya pikir ini sesuai dengan jawaban Wolfgang Bangerth.
sumber
Berbicara dari pengalaman pribadi saya, saya tahu ilmuwan komputasi yang sangat baik yang memiliki sedikit pengetahuan atau pengalaman pemrograman yang sebenarnya. Di sisi lain, sebagian besar ilmuwan komputasi yang saya tahu tahu cara memprogram komputer.
Tidak ada jawaban akhir untuk bagian pertanyaan Anda itu. Pertanyaan yang harus Anda tanyakan pada diri sendiri adalah: Apakah saya memiliki perangkat lunak yang tersedia untuk saya yang akan membiarkan saya menyelesaikan masalah saya, atau bagian dari pekerjaan saya adalah menulis perangkat lunak yang dapat memecahkan masalah terlebih dahulu dan kemudian menggunakannya untuk menyelesaikan masalah sebenarnya. Jawabannya akan menentukan apakah Anda perlu tahu pemrograman atau tidak.
sumber
Pertanyaan yang menarik, saya mempelajari ilmu material komputasi, dan saya seorang mahasiswa pascasarjana dari latar belakang fisika utama. Sejauh ini jumlah pemrograman yang saya lakukan sangat minim, tetapi itu berbicara sendiri. Seringkali, tujuan spesifik dari proyek Anda akan menentukan jumlah pengkodean yang tepat yang akan Anda lakukan. Jika melihat senyawa tertentu menggunakan teknik dan perangkat lunak standar, paling buruk Anda akan akhirnya menulis skrip Bash / Python untuk mengotomatisasi hal-hal di sekitar kode yang Anda gunakan. Saya berpendapat bahwa Anda akan melakukan beberapa pemrograman mungkin untuk mengimplementasikan hal-hal yang Anda cari untuk divalidasi, jawaban yang sangat singkat: tidak dapat berbicara untuk ilmu komputasi, tetapi untuk ilmu materi komputasi, jumlah pemrograman jika ada akan ditentukan oleh proyek Anda.
sumber
Saya akan menjawab bagian kedua. Sementara mungkin ada banyak tumpang tindih antara ilmuwan komputasi umum dan komputasi khusus X tergantung pada minat seseorang, perhatian utama ilmuwan komputasi adalah pengenalan teknik komputasi baru untuk mempelajari masalah dalam bidang domain. Hal baru dalam teknik komputasi dapat menjadi komputasi baru yang tidak mungkin karena kurangnya alat komputasi yang tepat atau cara yang lebih cepat. Komputasi X, di sisi lain, sebagian besar akan tertarik menggunakan alat baru ini untuk mempelajari masalah baru. Dengan demikian, secara umum, seorang ilmuwan komputasi pertama-tama akan meletakkan pernyataan masalah, menjelaskan kerangka kerja umum untuk menyelesaikannya, memaksakan beberapa batasan pada penerapan alat (kecepatan / kesalahan dll) dan akan memecahkan masalah sebagai bukti konsep. Adapun bagian pertama,
sumber