Bisakah seseorang mendapatkan dasar pemrograman yang kuat tanpa pergi ke perguruan tinggi / universitas? [Tutup]

28

Pertama, saya telah mencari situs dan membaca semua topik "otodidak vs. perguruan tinggi" sebelumnya. Sebagian besar jawaban menyatakan bahwa melanjutkan ke perguruan tinggi adalah pilihan terbaik, karena dua alasan utama:

  1. Pergi ke perguruan tinggi memberi Anda kertas, yang sangat penting untuk mendapatkan pekerjaan, terutama di masa ekonomi yang sulit.

  2. Pergi ke perguruan tinggi memberi Anda basis pemrograman yang solid, mengajarkan Anda prinsip-prinsip yang akan penting terlepas dari bahasa / jalur yang Anda ambil.

Inilah pertanyaan saya: Saya sama sekali tidak khawatir tentang alasan 1, karena saya sudah memiliki perusahaan sendiri (saya membangun situs web / melakukan pemasaran afiliasi) dan situasi keuangan yang stabil, jadi saya cukup yakin saya tidak perlu melihat-lihat. untuk sebuah pekerjaan.

Saya khawatir tentang alasan 2. Yaitu, saya ingin memastikan bahwa saya akan memiliki landasan pemrograman yang solid seperti orang lain di luar sana, dan saya bertanya-tanya apakah itu mungkin dengan belajar mandiri.

Misalkan saya meluangkan waktu untuk mempelajari dasar-dasar yang sangat, seperti matematika diskrit, desain algoritma, logika pemrograman, arsitektur komputer, Majelis, pemrograman C, basis data dan struktur data - kebanyakan menggunakan buku, sumber daya online, dan banyak pengkodean. Katakanlah saya menghabiskan 1-2 tahun untuk membahas dasar-dasar itu.

Apakah Anda pikir yayasan saya akan solid, atau masih kurang dibandingkan dengan seseorang yang kuliah?

Daniel
sumber
2
Kemungkinan ada setidaknya satu orang di planet ini yang bisa. Omong-omong, alasan 1 masih penting. Ketika semua hal lain sama, "mereka" biasanya akan lebih suka seseorang dengan pendidikan formal yang lebih banyak.
Ayub
1
Saya dapat memberi tahu Anda satu hal, Anda tidak akan tahu apa artinya solid di universitas.
Peter Turner
Intinya adalah bahwa dibutuhkan sepuluh tahun untuk belajar pemrograman, dan menghabiskan beberapa tahun ini belajar di beberapa Universitas dapat membantu.
Basile Starynkevitch

Jawaban:

17

Tentu saja. Iya itu mungkin. Bagaimana aku tahu? Karena saya berhasil!

Itu sulit. Tidak punya ilusi tentang ini. Tanpa tutor untuk pergi ketika hal-hal tidak berhasil, Anda harus mencari tahu sendiri masalah. Ada banyak yang harus dipelajari dan jika Anda tidak memiliki motivasi diri atau tidak cukup berdedikasi, Anda tidak akan dapat melakukannya. Bagi saya, saya merasa sulit untuk termotivasi tentang apa pun, tetapi saya sangat menikmati belajar dan pemrograman sehingga saya tidak perlu berjuang sendiri.

Beberapa tips:

  • Belajar sambil bekerja! Ingin tahu cara kerja pohon biner? Buat satu.
  • Lakukan dengan belajar. Tentukan sendiri proyek ambisius di mana Anda harus belajar hal-hal baru untuk menyelesaikannya. Perhatian: Jika Anda menetapkan sendiri proyek yang terlalu sulit maka mudah untuk berkecil hati, tetapi jika Anda menetapkan sendiri proyek yang terlalu mudah, maka Anda tidak akan belajar banyak. Anda sedang mencari zona mentega.
  • Mulai dengan C. Bahasa tingkat tinggi membuat Anda malas. Saya tidak pernah belajar C jika saya belajar python terlebih dahulu.
  • Wikipedia harus menjadi titik panggilan pertama Anda untuk konsep apa pun yang perlu Anda pelajari.
  • Tidak masalah jika Anda tidak pernah menyelesaikan satu proyek, (setelah semua, apa yang selesai). Jauh lebih penting bagi Anda untuk mempelajari hal-hal baru. Itu tidak berarti mengatakan bahwa Anda tidak boleh mencoba menyelesaikan suatu proyek. Ini bisa menjadi dorongan motivasi besar untuk melihat sesuatu yang Anda buat berhasil. Mudah untuk dilacak, jangan khawatir jika Anda melakukannya.

Bagaimana Anda tahu kapan Anda selesai? Nah, alasan Anda mengambil gelar adalah agar Anda menjadi mahir dalam pemrograman. Ketika Anda yakin dapat menulis perangkat lunak apa pun yang diberikan dalam jumlah waktu yang wajar maka Anda adalah seorang programmer, tetapi itu tidak berarti Anda harus berhenti belajar.

Kebetulan, saya sekarang menderita dari titik satu. Jauh dari perusahaan pengembang perangkat lunak juga tidak membantu.

dan_waterworth
sumber
Sama disini. Saya memang mendapatkan gelar untuk kertas. Saya tidak belajar terlalu banyak, terutama semua yang sudah saya ketahui. Saya belajar bahwa saya benar-benar membenci java lebih dari yang saya pikir sebelumnya (harus menggunakannya untuk tugas akhir saya) dan saya memang punya satu profesor hebat yang mengajar kami dari pengalaman pribadinya di mana saya belajar banyak hal.
Echo mengatakan Reinstate Monica
@Echo, apakah itu sepadan?
dan_waterworth
@ Dan_waterworth, saya suka berpikir begitu.
Echo mengatakan Reinstate Monica
Saya pikir itu jauh lebih masuk akal untuk memulai dengan bahasa pemrograman tingkat tinggi, terutama dengan Python. Tentu saja itu tergantung pada jenis tugas yang ingin Anda tangani setelah Anda selesai mempelajari dasar-dasarnya: jika Anda ingin melakukan pemrograman sistem hardcore, pilih rute C, jika Anda ingin mengembangkan aplikasi pengguna akhir, jangan t repot-repot dengan C dan pergi untuk sesuatu seperti Python.
Zsolt Török
tidak setuju dengan bagian C. Anda ingin tetap pada abstraksi tingkat tinggi. Anda bisa berpendapat bahwa C membuat Anda malas, belajar kode mesin! jika Anda tidak membutuhkan kinerja jenis C, tidak masalah untuk tetap menggunakan python.
Segfault
12

Saya pikir, tujuan paling penting dari Perguruan Tinggi / Universitas adalah untuk mengajarkan Anda cara belajar sendiri. Tidak masalah, apakah itu pemrograman, fisika, kimia, matematika, dll. Universitas mengajari saya cara belajar tanpa bantuan siapa pun.

Sorantis
sumber
1
Yah saya sudah memiliki gelar di bidang Ekonomi Internasional jadi saya bagian yang dibahas.
Daniel
1
Saya punya teman yang memiliki gelar dalam beberapa <nama>, dan dia adalah programmer Flash / PHP yang sukses. Saya kira semua terserah Anda. Saya misalnya memiliki gelar dalam bidang fisika, tetapi saya adalah seorang pengembang perangkat lunak. Dua tahun lalu saya memutuskan untuk mendapatkan gelar Master di CS, hanya karena saya menginginkannya, bukan karena saya membutuhkannya.
Sorantis
5
Pendidikan tinggi saya mengajari saya untuk mengambil bahasa komputer baru dalam 1-2 hari dari tutorial online. Jika Anda sudah bisa melakukannya, Anda akan mendapat pelajaran yang luar biasa.
apoorv020
1
Ya, tetapi Anda harus menjadi autodidak yang berkomitmen.
dietbuddha
3
Beberapa orang tidak perlu belajar bagaimana belajar secara mandiri.
dan_waterworth
6

Beberapa orang berkembang di lingkungan akademik dan bahkan mengharuskan mereka untuk belajar (biasanya sebagai bentuk motivasi). Orang lain (seperti saya) tidak dan bahkan dapat menemukan mereka mengesampingkan.

Saya memiliki karir yang panjang dalam perangkat lunak tanpa mendapatkan gelar. Menjelang akhir karir saya berada dalam peran arsitektur dan arsitek senior proyek saya mengatakan bahwa pengetahuan saya tentang perangkat lunak dan ilmu komputer (keduanya bukan hal yang sama!) Dengan mudah setara dengan memiliki gelar Master dari Waterloo University (satu sekolah CS top Kanada).

Ada beberapa kekurangan, tentu saja, di kumpulan pengetahuan saya. Keterampilan matematika saya hanya cukup untuk mengikuti apa yang saya pelajari hari ini. Saya benci matematika murni dan umumnya tidak bisa mengikuti perkembangan terbaru dan terhebat. Ini kadang-kadang menempatkan halangan dalam pemahaman saya tentang hal-hal (seperti, katakanlah, Haskell) sampai saya mendapatkan keterampilan matematika saya ke tingkat yang cukup untuk memahami konsep-konsep. Tetapi kenyataannya tetap bahwa informasi tersedia tanpa saya berada di dekat departemen CS atau matematika universitas. Yang bisa saya katakan adalah bahwa kadang-kadang urutan pembelajaran saya kurang optimal - Saya kadang-kadang harus mundur dan mengisi beberapa bahan dasar sebelum melanjutkan apa yang saya lakukan.

HANYA PENDAPAT SAYA yang benar
sumber
4

Saya pikir fondasi Anda akan solid, asalkan Anda memiliki disiplin untuk benar-benar duduk dan mengajar diri Anda sendiri semua hal itu dan bekerja melalui contoh-contoh. Saya memiliki gelar, tetapi dalam bidang Teknik, bukan Ilmu Komputer. Saya telah bekerja dengan banyak programmer profesional luar biasa yang telah belajar sendiri segala hal yang perlu mereka ketahui. Belajar mandiri adalah sesuatu yang harus Anda miliki untuk menjadi seorang programmer yang baik, karena selalu ada teknologi baru yang tidak Anda pelajari di sekolah.

Marcie
sumber
3

Seperti kebanyakan hal dalam hidup, jawaban saya adalah padat, itu tergantung pada orangnya . Saya sangat yakin bahwa Anda tidak perlu gelar sarjana untuk menjadi programmer; Namun, berdasarkan pengalaman saya, perguruan tinggi memiliki kecenderungan untuk mengekspos orang pada masalah dan ide yang mungkin tidak mereka temui sendiri melalui studi independen.

Di zaman sekarang ini, orang yang termotivasi dapat online, dan terima kasih kepada sumber-sumber seperti MIT Open Courseware , mengumpulkan kursus studi independen yang akan memberi mereka pengetahuan yang cukup luas dan ini pengetahuan luas yang saya rasakan ini. apa yang membuat pengembang yang baik. Namun, seseorang yang tidak memiliki motivasi diri mungkin menemukan bahwa mereka dapat memperolehnya dengan mempelajari satu bahasa dan mungkin hanya bisa mendapatkan dengan bijaksana dalam karier.

Seperti yang saya katakan sebelumnya, saya merasa bahwa luasnya pengetahuan itulah yang membuat pengembang yang baik karena itu berarti mereka telah terkena lebih banyak masalah dan telah mengembangkan keterampilan pemecahan masalah mereka. Anda tidak perlu pergi ke sekolah untuk mendapatkan pengetahuan yang luas ini, tetapi sekolah pasti membantu dalam hal ini karena program gelar yang bagus akan memaksa Anda untuk mengembangkan pengetahuan yang luas.

rjzii
sumber
2

Sebagai seorang programmer saya menemukan saya terus-menerus bermain dengan API dan bahasa terkait yang tidak berfungsi (Ruby on Rails, Python, Node.js, dll). Saya melakukan ini lebih untuk menarik daripada untuk bekerja. Saya memiliki 2 gelar associate tetapi bahkan setelah 10 tahun pemrograman di Java / JEE saya menemukan bahwa saya sangat merindukan teori gelar BS (Big O, Algoritma, Descrete Math, dll).

Saya mengambil kelas malam paruh waktu untuk mendapatkan gelar BS saya di Sistem Info Komputer, tetapi tidak banyak teori CS yang ditawarkan dalam program ini. Saya mendapatkan gelar saya terutama untuk memiliki "kertas" karena ini lebih banyak bisnis daripada teknis tetapi satu-satunya pilihan saya untuk kelas malam.

Lihat MIT Open Coursware . Ini gratis dan merupakan sumber yang bagus untuk mengisi celah teori CS / Matematika.

Heath Lilley
sumber
2

Saya percaya itu salah untuk berpikir bahwa perguruan tinggi / universitas akan secara definisi memberi Anda dasar pemrograman yang baik. Mereka akan mengajarkan Anda banyak teori, dan banyak cara berbeda untuk memikirkan masalah. Itu semua baik dan bagus, tetapi mengubah teori itu menjadi praktik adalah keahlian yang berbeda.

Satu-satunya cara efektif untuk mengajarkan penerapan teori yang benar adalah dengan membimbing dan melakukan. Singkatnya, Anda perlu berusaha menerapkan teori sebaik mungkin, dan mengandalkan seseorang dengan pengalaman lebih untuk memberi Anda kritik membangun atau mengarahkan Anda ke arah yang benar. Mentor Anda tidak akan melakukan pekerjaan untuk Anda, tetapi akan membantu Anda menjadi lebih baik dalam melakukan pekerjaan Anda.

Saya tidak akan menjadi pengembang seperti sekarang ini tanpa bantuan beberapa mentor yang baik di awal karier saya. Bekerja pada proyek-proyek sumber terbuka adalah cara yang baik untuk menemukan beberapa mentor yang bersedia meluangkan waktu untuk merinci. Setidaknya itu pengalaman saya. Saya juga memiliki seorang mentor dalam pekerjaan pemrograman pertama saya yang membantu saya memahami bagaimana merancang aplikasi yang diperluas dengan mudah.

Jadi adakah manfaat untuk kuliah / universitas? Iya nih. Namun, mereka tidak dilengkapi untuk membantu Anda mengubah teori menjadi praktik kecuali Anda menerimanya sendiri. Jika Anda mulai mencoba menerapkan apa yang Anda pelajari saat di universitas, Anda dapat mulai mengajukan jenis pertanyaan yang tepat yang akan membantu Anda benar-benar memahami teori di tingkat yang lebih praktis. Jika Anda menunggu sampai Anda berada di tempat kerja, Anda baru saja menunda proses belajar yang penting itu.

Berin Loritsch
sumber
Setuju. Hampir semua pemrograman bisnis yang saya lakukan mirip dengan bekerja dalam perdagangan seperti tukang kayu. Saya pikir jalur program magang / pekerja harian / master akan lebih membantu daripada universitas dalam mempelajari cara memprogram.
cfeduke
2

Orang cenderung melebih-lebihkan pentingnya landasan teori, matematika dan pengetahuan algoritmik IMO. Alasan mengapa pemrogram mendorong dan mewawancarai hal-hal ini adalah karena mereka sendiri "penggemar" matematika.

Sekarang tentu saja ada beberapa pemrograman di mana itu berguna untuk mengetahui apa "mesin negara" itu, atau bagaimana menggunakan pencarian "Booyer-Moore". Bahkan ada beberapa masalah yang berguna untuk mengetahui beberapa matematika nyata, seperti jika Anda bekerja dengan perhitungan keuangan atau simulasi fisika.

Namun, masalahnya 90% pemrograman umumnya tidak ada, tidak banyak dari kita yang melakukan pengembangan algoritme hardcore. Sebagian besar hal yang perlu Anda pelajari dapat Anda pelajari seiring berjalannya waktu. Tidak perlu membangun bangunan pondasi yang besar, tetapi tetap ingin tahu bagaimana memecahkan masalah yang berbeda.

Saya sendiri 100% belajar sendiri dan saya tidak pernah punya masalah untuk belajar tentang algoritma. Saya telah melakukan pekerjaan pada sistem keuangan dan bahkan itu bisa dilakukan tanpa keterampilan matematika teoretis yang lebih dalam.

Menjadi ahli dalam pemrograman bukan tentang fondasi, ini tentang terus memperluas kotak peralatan Anda dan pembelajaran yang Anda dapatkan jauh lebih bernilai ketika Anda dapat memasukkannya ke dalam konteks masalah yang benar-benar membutuhkan penyelesaian daripada hanya penelitian teoritis murni.

Anda tidak perlu mengetahui semuanya secara mendetail, itulah gunanya Google, StackOverflow dan Wikipedia :) Namun Anda perlu mengetahui keberadaan berbagai alat dan metode untuk menyadari bahwa mereka dapat digunakan dan diterapkan pada situasi Anda. Anda juga perlu mendapatkan pengalaman mengetahui alat mana yang paling baik untuk diterapkan. Yayasan umumnya dimanja oleh pemula karena mereka tidak memiliki pengalaman mengapa alat tertentu akan berguna. Jika Anda memiliki banyak pengalaman, beberapa hal hanya akan "klik" pada tempatnya.

Beberapa hal yang saya sarankan:

  • Jika belum, mulailah belajar tentang pola desain, itu alat paling praktis dan universal di kotak alat Anda.

  • Baca beberapa ikhtisar umum tentang berbagai algoritma jika Anda ingin tahu, hanya agar Anda tahu apa yang ada di sana saat Anda membutuhkannya

  • Pelajari tentang paralelisasi dan multithreading (dan beberapa pemrograman fungsional). Mampu mendukung banyak core adalah penting saat ini dan akan segera terabaikan sehingga ini merupakan pengetahuan yang sangat penting.

  • Lakukan proyek hobi yang menantang dan eksperimental yang mendorong keterampilan Anda ke depan dan memaksa Anda untuk mempelajari berbagai hal dalam konteks.

konrad
sumber
Perkiraan Anda tentang 90% pemrograman yang tidak memiliki konten teoretis yang kuat mungkin tepat. Sayangnya sebagian besar programmer akan secara berkala mendapatkan 10% lainnya, sehingga diperlukan.
Orbling
2

Satu hal yang perguruan tinggi akan membantu Anda dengan yang Anda mungkin menemukan kesulitan sendiri adalah kemampuan untuk membaca dan memahami makalah penelitian akademis terutama matematika. Namun, bahkan ini dapat dicapai sendiri, tetapi membantu jika ada instruktur dan rekan yang membimbing Anda dalam proses pembelajaran untuk mendapatkan pengetahuan lebih cepat dan lebih mudah.

Sebagai pemrogram umum sistem informasi, Anda kemungkinan tidak akan membaca makalah penelitian dengan baik. Sistem informasi saat ini cukup sederhana dan sebagian besar algoritma intens seperti pencarian, pengurutan dan pengindeksan dilakukan oleh sistem database. Selama Anda memahami konsepnya, Anda seharusnya tidak mengalami kesulitan.

Jika Anda memutuskan untuk terlibat dalam bidang pemrograman yang lebih sulit seperti mengembangkan sistem operasi mikro, pengembangan kompiler, kecerdasan buatan dan semacamnya, maka memiliki kemampuan untuk membaca dan memahami makalah penelitian dapat menjadi sangat penting untuk menerapkan sistem dengan cepat dan efisien.

Sejauh dapat menerapkan pengetahuan, itu sangat individualistis. Orang yang kuliah mungkin tidak dapat menerapkan prinsip-prinsip juga karena seseorang yang tidak kuliah. Ada pepatah lama yang mengatakan, 'tidak masalah apa yang masuk tetapi apa yang keluar'.

Singkatnya, pengetahuan yang Anda dapatkan dari kuliah dapat membantu Anda lebih memahami dan berkomunikasi dengan dunia akademik. Namun, pengetahuan itu bisa dicapai tanpa masuk perguruan tinggi. Memiliki gelar membuatnya lebih mudah untuk meyakinkan orang lain bahwa Anda tahu apa yang Anda lakukan dan dapat memahami makalah penelitian akademik.

k rey
sumber
2

Saya tidak berpikir banyak orang akan mendapatkan "fondasi" yang sama baiknya dengan belajar mandiri seperti yang mereka lakukan saat kuliah, setidaknya tidak dalam jangka waktu yang sama. Dua tahun membaca buku-buku acak dan bermain dengan masalah mainan di waktu luang Anda tidak akan membawa Anda ke tingkat yang sama dengan dua tahun studi terfokus dengan kurikulum terorganisir. Apakah itu akan membuat Anda cukup untuk bertahan? Sangat mungkin. Tetapi jika Anda benar-benar ingin "fondasi sebagus siapa pun di luar sana", maka itu akan memakan waktu lebih dari dua tahun.

Bukan untuk mengecilkan hati Anda, itu pasti tidak akan membuang-buang waktu. Saya hanya tidak terlalu percaya diri bahwa banyak orang dapat menyatukan setara dengan dua tahun kuliah dalam dua tahun sambil menjalankan bisnis mereka sendiri dan memiliki semacam kehidupan pribadi / keluarga.

TMN
sumber
Aku melakukannya. Bahkan, sebagian besar studi saya secara signifikan kurang dari 2 tahun (sekitar 6 bulan), tetapi saya secara teratur melakukan 60-70 jam minggu.
dan_waterworth
Setuju dengan TMN. Dalam UMUM pendidikan formal Anda tidak tahu di mana Anda akan berakhir, ia memiliki banyak BREADTH (yaitu cenderung mencakup banyak wilayah). Contoh saya pada posting sebelumnya: Saya tidak pernah berpikir saya akan menggunakan Konstruksi Kompiler yang merupakan bagian dari kursus saya. Ternyata, 20+ tahun kemudian menjadi salah satu kursus paling penting yang pernah saya lakukan. Sekarang masalahnya adalah, bagi mereka yang tidak memiliki pengetahuan di belakang kepala - Anda tidak tahu apa yang tidak Anda ketahui. Dan tingkat ketidaktahuan itu membuat Anda kurang efektif, dalam jangka panjang.
cepat,
1

Saya telah berkembang secara profesional selama satu dekade tanpa gelar. Ketika saya mewawancarai orang-orang saya tertarik pada kemampuan mereka untuk memecahkan masalah dan kode. Mengatakan itu, ada beberapa perusahaan / peran saya tidak memenuhi syarat untuk murni karena mereka menuntut gelar. Konsultan tertentu memiliki kebijakan ini karena mereka dapat menjual Anda lebih banyak kepada klien.

ian
sumber
Ini sebagian besar masalah di mana perekrutan dilakukan melalui departemen Sumber Daya Manusia (SDM). Cara terbaik untuk mengatasinya adalah dengan membangun jejaring sosial bisnis para manajer TI yang mengenal Anda atau setidaknya Anda, dan mari kita coba untuk melangkahi proses "filter" SDM. Dengan kata lain, orang tanpa gelar cenderung harus lebih baik dalam memasarkan keterampilan dan layanan mereka sendiri, daripada melamar posisi yang diiklankan. Sebagian besar manajer TI yang kompeten akan dipekerjakan berdasarkan rekam jejak yang solid, dan reputasi (yaitu rujukan dari seseorang yang mereka percayai). Jangan berharap mendapatkan pekerjaan pemerintah. Jarang saat ini
mctylr
1

Jika Anda memainkan permainan angka, mereka yang bergelar sarjana mendapatkan pekerjaan yang lebih baik & membayar.

Tidak semua orang yang mendapat gelar belajar / mengingat apa pun.

Kebanyakan orang tidak akan meluangkan waktu untuk belajar banyak tentang teori / latar belakang / dasar seperti ketika mereka kuliah. Mungkin orang tua Anda akan mendukung Anda selama 4 tahun belajar mandiri; semua orang harus mendapatkan pekerjaan.

Kekurangannya adalah jika Anda memiliki gelar CS dan gagal memiliki tingkat tertentu, Anda mungkin dipandang memiliki tenaga kuda rendah. Mari kita hadapi itu, jika Anda tidak mendapatkannya dalam 4 tahun pemberian sendok, Anda tidak akan mengetahuinya sambil memegang dan pekerjaan penuh waktu. Pengecualian tentu saja.

JeffO
sumber
1

Jika Anda benar-benar ingin mencari nafkah di bidang pengembangan perangkat lunak tanpa gelar, saya sarankan apa yang Anda lakukan adalah menghubungi Universitas setempat. Dapatkan dari mereka daftar kursus yang akan diminta jika Anda mendapatkan gelar. Sebagian besar universitas akan memiliki informasi yang tersedia berdasarkan permintaan, serta daftar sinopsis / silabus / buku untuk masing-masing program. Turun daftar itu. Cari buku yang dimaksud. Lihat topik apa yang mereka liput. Jika Anda melihat sesuatu yang tidak Anda pahami, beli / periksa buku itu dan pelajari. Pada akhir proses itu, Anda setidaknya harus tahu apa yang Anda ketahui dan apa yang tidak Anda ketahui, dan cukup bersaing dengan lulusan perguruan tinggi Anda (yang mungkin tetap tidur / selingkuh melalui beberapa kursus itu).

GWLlosa
sumber
1

Misalkan saya meluangkan waktu untuk mempelajari dasar-dasar yang sangat, seperti matematika diskrit, desain algoritma, logika pemrograman, arsitektur komputer, Majelis, pemrograman C, basis data dan struktur data - kebanyakan menggunakan buku, sumber daya online, dan banyak pengkodean. Katakanlah saya menghabiskan 1-2 tahun untuk membahas dasar-dasar itu.

Iya dan tidak. Beberapa hal sangat sulit untuk dipahami tanpa seorang guru. Biasanya itu hal yang lebih matematis.

Saya percaya - dan masih percaya setelah membantu memulai jurusan CS sebagai TA - bahwa siapa pun tanpa keterbelakangan mental dapat belajar kode pada level PHP / Java / C #. Secara mendasar, ini tidak sulit.

Dalam hal ini, perakitan dan bidang teknologi lainnya tidak Anda sebutkan. Itu adalah detail implementasi yang Baik Untuk Diketahui.

Struktur data, algoritma, desain digital, arsitektur komputer, dan aljabar basis data cukup sulit, jika pembelajarannya dalam.

Paul Nathan
sumber
0

Saya tidak ragu bahwa orang yang bermotivasi dan berdedikasi dapat mencapai fondasi yang kuat tetapi jika Anda memilih untuk tidak meraih gelar Anda akan kehilangan banyak aspek yang akan meningkatkan perkembangan Anda. Salah satu dari hal-hal ini dan mungkin yang paling penting adalah paparan kepada orang-orang yang berpikiran sama dengan siapa Anda dapat bertukar ide dan konsep. Ini juga sangat baik untuk dapat mendengarkan pengalaman instruktur yang memiliki kebijaksanaan berharga untuk disampaikan dan kadang-kadang dapat meluruskan konsep disalahpahami dalam satu atau dua kalimat. Adalah baik untuk dapat mengklarifikasi konsep-konsep pada saat paparan awal daripada memiliki ide-ide yang salah dan harus mengatasinya nanti.

Dave B.
sumber