Pertanyaan ini membuat saya berpikir bahwa ada pertanyaan yang lebih baik untuk ditanyakan.
Apa yang Anda pelajari di sekolah yang tidak Anda pedulikan saat itu, tetapi ternyata bermanfaat atau Anda harus belajar kembali di tempat kerja karena Anda memilikinya di sekolah, tetapi tidak menyimpan informasi dan Anda memerlukannya? (Maksud saya untuk pekerjaan terkait perangkat lunak.)
Saya pikir ini dapat membantu mahasiswa mengidentifikasi beberapa hal yang harus mereka perhatikan ketika mereka masih di sekolah.
programming-practices
HLGEM
sumber
sumber
Jawaban:
Kebanyakan pengembang yang saya lihat baru keluar dari sekolah tidak memiliki banyak pengalaman dengan pengembangan OO . Mereka pernah mendengarnya, tetapi kebanyakan hanya 'memasukkan barang ke dalam kelas'.
Di sekolah Anda mendapatkan banyak contoh tentang mobil & orang-orang yang dapat ditempatkan di OO-framework. Ini mengajarkan Anda polimorfisme, kelebihan beban dan hal-hal seperti itu. Agak 'dasar'. Adalah baik untuk mengetahui hal-hal ini dan bagaimana cara kerjanya, tetapi saya tidak pernah mendapatkan contoh penggunaan dunia nyata untuk ini. Saya pikir ini penting untuk menunjukkan kepada siswa beberapa skenario dunia nyata di mana beberapa desain digunakan.
Satu hal lain yang saya lewatkan di perguruan tinggi adalah penggunaan (atau salah penggunaan) pola desain yang dapat digunakan . Saya pikir hari ini pola yang paling penting harus diperkenalkan di suatu tempat di akhir tahun pertama atau awal tahun kedua. Siswa harus terbiasa dengan mereka.
Menulis kode bersih adalah sesuatu yang tidak diajarkan (cukup) di sekolah. Kami bisa membuat kode berantakan dan masih mendapatkan nilai A +. "Jika aplikasinya bekerja, itu bagus." adalah moto. Siswa harus belajar bagaimana menulis kode yang bersih dan berkualitas tinggi dan mendapatkan imbalan untuk itu, ini juga berarti refactoring dan menggunakan pola atau praktik terbaik yang telah mereka pelajari.
Tentu saja para siswa yang bersemangat mempelajari semua hal ini sendiri, tetapi orang lain yang tidak bersemangat tidak melakukannya. Ini dapat ditempatkan di bawah kurangnya motivasi, atau mereka hanya tidak tahu di mana atau bagaimana mencarinya. Ketika membayar banyak uang untuk sekolah, saya pikir mereka harus benar-benar mengajari Anda hal-hal semi-canggih ini.
Juga, beberapa layak (profesional) menulis adalah keterampilan yang kurang bagi kebanyakan orang. Sayang sekali karena ini sangat penting di dunia nyata. Paling penting adalah mampu membuat diri Anda jelas dalam bahasa ibu Anda. Jika Anda tidak dapat menulis dengan jelas dalam bahasa utama Anda, sulit untuk berkomunikasi di perusahaan.
Saya tidak tahu apakah Anda dapat mengajar seseorang untuk menulis pada usia ini, mereka seharusnya sudah terbiasa dengan keterampilan ini. Orang bisa mengulangi hal-hal yang diajarkan di sekolah menengah. Mungkin mengajari siswa cara menulis komentar & dokumentasi teknis. Saya masih kesulitan menulis dokumen teknis karena sepertinya tidak ada yang tahu cara melakukannya, atau apa format defaultnya.
sumber
Girls Anda mungkin berpikir saya bercanda tetapi saya tidak.
Jangan marah atau apa pun, Anda masih perlu mempelajari hal-hal akademis. Tetapi Anda juga perlu meluangkan waktu mempelajari tentang orang-orang, dari orang-orang di sekitar Anda.
Itu termasuk setengah dari umat manusia yang memiliki minat dan sikap yang sama sekali berbeda dari Anda dan teman-teman Anda, tetapi yang masih ingin Anda rukun.
sumber
Saya merasa saya harus memasukkan sekitar 42% lebih banyak energi ke dalam statistik.
sumber
Menulis akan menjadi salah satu yang terbesar bagi saya. Saya tidak berpikir ini terbatas hanya untuk pengembang saja.
sumber
Pemrograman fungsional. Pada saat itu tampak seperti segerombolan tanda kurung yang tidak bisa melakukan sesuatu yang bermanfaat. Sekarang setelah ekspresi lambda mulai digunakan secara luas, saya harus melatih otak untuk berpikir seperti itu. Di perguruan tinggi saya hanya ingin mendapatkan LISP dan Skema sejauh mungkin ke kaca spion dan tidak pernah melihat ke belakang. Jika saya tahu betapa bermanfaatnya beberapa aspek pemrograman fungsional, saya akan lebih memperhatikan.
sumber
Ekspresi Reguler. Saya ingat dengan jelas meniup mereka di perguruan tinggi. Mereka sangat diperlukan untuk bekerja.
sumber
Jawaban favorit saya (statistik) diambil, jadi saya akan memberikan jawaban favorit kedua saya. Notasi O-besar dan pengetahuan tentang efisiensi berbagai algoritma kunci. Bagi saya, ini bukan "senjata rahasia" daripada statistik, tetapi masih sangat berharga.
sumber
Saya berharap saya mendengarkan apa yang dikatakan guru saya ketika saya berusia 14 tahun. Sayangnya saya tidak bisa memberi tahu Anda apa itu, karena saya tidak mendengarkan.
sumber
Harus menjadi kursus tentang Bahasa Terbatas dan Teori Automata.
Pikir itu terlalu teoritis, sampai pekerjaan saya menuntut saya melakukan kompiler bahasa domain spesifik dari awal.
sumber
Saya akan mengatakan C, serta UNIX. Meskipun saya belajar UNIX segera setelah kuliah, saya merasa saya akan mendapat manfaat dari semakin mendarah daging dengan UNIX dan C sebelumnya.
sumber
sumber
Penulisan teknis. Saya menghabiskan banyak waktu menulis persyaratan, berkomunikasi dengan pelanggan dan rekan kerja. Ini adalah area di mana saya mengikuti kelas jam 1 kredit di College. Satu-satunya kelas lain yang benar-benar membantu dalam karier saya adalah kelas jam 1 kredit lainnya. Itu dalam pemrograman C. Sisanya sementara menarik dan mungkin membantu keseluruhan keterampilan analitik saya belum benar-benar bermanfaat langsung bagi karier saya.
Memang saya bersekolah 20 tahun yang lalu dan C dianggap terdepan di departemen Teknik Listrik. Orang-orang CS melakukan beberapa hal dengan Lisp dan C ++ tetapi mungkin masih tidak sebanyak OO seperti yang saya harapkan terjadi dengan lulusan Today.
sumber
Dokumen desain
Saya selalu berasumsi bahwa orang lain yang akan menciptakan barang-barang ini, atau hanya dokumen sederhana. Mereka tidak sederhana sama sekali dan tim saya cukup kecil sehingga saya membuat dokumen desain sendiri.
sumber
Bahasa asing kedua. Rusia dalam kasus saya. Banyak buku, sumber daya, dan banyak lagi dalam bahasa khusus ini di ruang sekitar saya.
sumber
Dari sisi CS:
Dari kategori segalanya:
sumber
Vektor matematika dan kalkulus. Aku punya mereka, tetapi profesiku mengerikan dan tidak benar-benar mengajar mata pelajaran. Tapi sebagai seseorang yang gemar pemrograman grafis ... yayasan vektor matematika yang lebih baik akan membantu.
sumber
Jelas, Sejarah dan Sastra. Masalahnya sering, sekolah tidak membuat itu menarik.
sumber
Elektronik
Saya tidak punya banyak hal terkait perangkat lunak di sekolah . Ah - informatika, tetapi saya membatalkannya. :) Tapi itu mudah dipelajari nanti. Padahal elektronik, saya sering tidak mengerti. Mikrokontroler, PWM, GPIO - wtf? Saya berharap saya akan mengerti hal-hal itu.
sumber
Jaringan / komputasi terdistribusi . Pemrograman bukanlah tantangan, tetapi prasyarat dalam arsitektur saat ini adalah pengetahuan yang mendalam tentang konsep-konsep terdistribusi.
Kursus terperinci ditawarkan sebagai pilihan, tetapi harus memilih antara ini dan AI: jadi, itu tidak benar-benar penyesalan.
sumber
Pola Desain: Cara mereka disajikan tidak benar-benar memberi tahu Anda betapa berharganya mereka, sejak itu saya telah membaca beberapa buku tentang mereka dan berpikir mereka sangat berguna.
sumber
Unix, Shellscripting, C. Memiliki kesempatan untuk mempelajarinya dengan baik di sekolah, tetapi harus melakukannya nanti di tempat kerja.
sumber
Hal-hal ilmu non komputer:
Secara pribadi, saya berharap saya memiliki bahasa ibu seperti kebanyakan orang normal di sekitar sini. Maksud saya, kebanyakan orang dilahirkan berbicara dengan satu bahasa utama dan mungkin memilih satu atau dua bahasa lain kemudian. Dalam situasi ini, bahasa tambahan biasanya tidak mengganggu bahasa asli karena Anda sudah memiliki dasar yang kuat yang meliputi pidato, menulis, dan mendengarkan. Saya tumbuh berbicara, menulis, dan mendengarkan tiga bahasa berbeda secara bersamaan. Meskipun saya selalu berhasil dengan baik di kelas bahasa baik di sekolah maupun di perguruan tinggi, saya berharap saya memiliki kelancaran berbahasa SATU. Ini menghasilkan saya harus berpikir sedikit untuk sepersekian detik sebelum merumuskan tanggapan. Beberapa orang memperhatikan itu dan menyimpulkan bahwa saya terlalu pemalu (yang tidak salah sampai batas tertentu).
sumber
Ekonomi. Ini mungkin membosankan (dan agak kejam), tetapi toh itu satu-satunya yang benar-benar penting dalam masyarakat ini. Setelah itu, statistik.
sumber
Saya pikir tiga kelas yang memberi saya wawasan paling dalam tentang bagaimana komputer beroperasi dalam pelaksanaan perangkat lunak (yang pemahaman ini memungkinkan untuk pemrograman yang lebih optimal) adalah:
Penyusun Sistem Operasi Bahasa Majelis
Barangkali sangat mudah untuk berpikir bahwa kelas-kelas ini tidak begitu berguna kecuali jika Anda masuk ke karier yang secara khusus berfokus pada salah satu dari hal-hal ini tetapi bahkan jika Anda seorang pengembang web dan tidak memanfaatkan semua ini secara langsung dengan pemahaman yang mendasari masih akan sangat membantu untuk kode secara efektif.
sumber
Ada sekitar selusin kelas yang saya harap saya ambil di perguruan tinggi tetapi tidak. Sebagian besar bukan CS. Fotografi, Jenderal Chem, lebih banyak menulis!
sumber
Sangat lucu jumlah orang yang mengatakan seni liberal: Saya adalah seorang jurusan ilmu kognitif (Philosophy / CompSci / Anatomy) ... Akhirnya beralih ke Philosophy / CompSci dengan minor berat dalam bahasa Inggris (saya bisa mendapatkan gelar BA, tetapi tidak repot-repot mengambil 101 yang saya lewati).
Butuh satu minggu cerita untuk menceritakan semua omong kosong yang saya dapatkan dari rekan-rekan CS saya untuk mengambil kelas seni liberal itu. Tidak peduli bahwa setengah lusin kelas dalam logika melakukan lebih banyak untuk pemrograman saya daripada jumlah kalkulus. Tidak masalah bahwa semua program AI terbaik saya adalah program Filsafat. Tidak peduli bahwa ada GADIS fricking di kelas bahasa Inggris saya. Tidak tidak, saya adalah semacam masalah serius untuk mengambil kursus tersebut.
Ambil hati. Setidaknya Anda tidak perlu menjelaskan pendidikan Anda setiap kali seseorang melihat resume Anda.
sumber
Persamaan kuadratik dan trigonometri.
Sangat penting dalam menulis perangkat lunak untuk disiplin teknik tradisional.
sumber
Ya saya tidak memperhatikan kompiler seperti yang seharusnya.
sumber
CS / Matematika: lebih banyak logika, aljabar, teori kategori. Hal-hal yang lebih mendasar dan kurang diterapkan: memahami hal-hal yang diterapkan ketika Anda tahu dasar-dasarnya dengan baik jauh lebih mudah daripada sebaliknya, dan lebih bermanfaat.
(Saya memiliki A dalam statistik tetapi butuh waktu lama untuk menghubungkannya dengan kebutuhan pemrograman nyata, saya banyak lupa.)
'Humaniora': bahasa alami, tulisan, perumusan, pemahaman, dan dipahami. Itu tidak terlihat penting sampai Anda bergabung dengan tim yang terdiri dari lebih dari 2-3 rekan peretas, yaitu, yang disebut 'kehidupan nyata'.
sumber
Komputer Grafik (rendering 3d di opengl / directx)
Sejujurnya saya sangat tertarik pada itu tetapi begitu sibuk sehingga saya tidak bisa memasukkan waktu yang saya inginkan. Itu menjadi tugas bukan hobi. Saya pikir saya mungkin harus mengambil buku di atasnya untuk membuat saya tertarik lagi.
sumber