Bagaimana Memanfaatkan Pendidikan Sains Komputer

Kebanyakan pengaturcara moden menerima pendidikan mereka di universiti. Dari masa ke masa, ini akan berubah, tetapi kini keadaan sedemikian rupa sehingga kakitangan yang baik dalam syarikat IT masih datang dari universiti. Dalam jawatan ini, Stanislav Protasov, Pengarah Perhubungan Universiti Acronis, bercakap tentang visinya tentang ciri-ciri latihan universiti untuk pengaturcara masa depan. Guru, pelajar dan mereka yang mengupah mereka mungkin menemui beberapa petua berguna di bawah pemotongan.

Bagaimana Memanfaatkan Pendidikan Sains Komputer

Selama 10 tahun yang lalu saya telah mengajar matematik, algoritma, bahasa pengaturcaraan dan pembelajaran mesin di pelbagai universiti. Hari ini, selain jawatan saya di Acronis, saya juga merupakan timbalan ketua jabatan teori dan sains komputer gunaan di MIPT. Daripada pengalaman saya bekerja di universiti Rusia yang baik (dan bukan sahaja), saya membuat beberapa pemerhatian tentang penyediaan pelajar dalam disiplin komputer.

Peraturan 30 saat tidak lagi berfungsi

Saya pasti anda telah menemui peraturan 30 saat, yang menyatakan bahawa pengaturcara harus memahami tujuan fungsi selepas melihat kodnya dengan pantas. Ia telah lama dicipta, dan sejak itu banyak sistem pengendalian, bahasa, perkakasan dan algoritma telah muncul. Saya telah menulis kod selama 12 tahun, tetapi baru-baru ini saya melihat kod sumber untuk satu produk, yang pada pandangan pertama kelihatan seperti mantra sihir kepada saya. Hari ini, jika anda tidak tenggelam dalam kawasan subjek, maka peraturan 30 saat berhenti berfungsi. Jika tidak, bukan sahaja 30, tetapi juga 300 saat tidak akan mencukupi untuk anda memikirkan apa itu.

Sebagai contoh, jika anda ingin menulis pemandu, anda perlu menyelam ke dalam kawasan ini dan membaca beribu-ribu baris kod tertentu. Dengan pendekatan ini untuk mempelajari subjek, pakar membangunkan "perasaan mengalir". Seperti dalam rap, apabila perasaan rima yang baik dan irama yang betul muncul tanpa rasionalisasi khas. Begitu juga, pengaturcara yang terlatih dengan mudah boleh mengenali kod yang tidak berkesan atau hanya buruk tanpa pergi ke kajian terperinci tentang tempat pelanggaran gaya berlaku atau pendekatan suboptimum digunakan (tetapi perasaan ini boleh menjadi sangat sukar untuk dijelaskan).

Pengkhususan dan kerumitan yang semakin meningkat membawa kepada hakikat bahawa pendidikan sarjana muda tidak lagi memberi peluang untuk mempelajari semua bidang dengan cukup mendalam. Tetapi pada tahap pendidikan inilah seseorang itu perlu memperoleh pandangan. Selepas itu, di sekolah siswazah atau di tempat kerja, anda perlu meluangkan sedikit masa untuk melibatkan diri dalam masalah dan spesifik kawasan subjek, mempelajari slanga, bahasa pengaturcaraan dan kod rakan sekerja, membaca artikel dan buku. Nampaknya ini adalah satu-satunya cara, dengan bantuan universiti, untuk "mempertingkatkan palang" untuk masa depan Pakar berbentuk T.

Apakah bahasa pengaturcaraan yang terbaik untuk diajar di universiti?

Bagaimana Memanfaatkan Pendidikan Sains Komputer
Yang menggembirakan saya, guru universiti telah pun berputus asa mencari jawapan yang betul kepada soalan: "Apakah bahasa yang terbaik untuk diprogramkan?" Perdebatan tentang mana yang lebih baik - C# atau Java, Delphi atau C++ - hampir hilang. Kemunculan banyak bahasa pengaturcaraan baru dan pengumpulan pengalaman pedagogi telah membawa kepada pemahaman yang mantap dalam persekitaran akademik: setiap bahasa mempunyai niche sendiri.

Masalah pengajaran menggunakan satu atau lain bahasa pengaturcaraan telah tidak lagi menjadi keutamaan. Tidak kira bahasa apa kursus itu diajar. Perkara utama ialah ekspresi bahasa yang mencukupi. buku"Seni Pengaturcaraan Berbilang Pemproses” adalah ilustrasi yang baik bagi pemerhatian ini. Dalam edisi klasik sekarang ini, semua contoh dibentangkan dalam Java - bahasa tanpa petunjuk, tetapi dengan Pengumpul Sampah. Hampir tidak ada sesiapa yang akan berpendapat bahawa Java jauh daripada pilihan optimum untuk menulis kod selari berprestasi tinggi. Tetapi bahasa itu sesuai untuk menerangkan konsep yang dibentangkan dalam buku itu. Contoh yang lain - kursus pembelajaran mesin klasik Andrew Nna, mengajar di Matlab dalam persekitaran Oktaf. Hari ini anda boleh memilih bahasa pengaturcaraan yang berbeza, tetapi apakah perbezaannya jika idea dan pendekatan itu penting?

Lebih praktikal dan lebih dekat dengan realiti

Pada masa yang sama, dalam beberapa tahun kebelakangan ini terdapat lebih ramai pengamal di universiti. Jika program universiti Rusia terdahulu dikritik secara aktif kerana bercerai dari realiti, hari ini perkara yang sama tidak boleh dikatakan mengenai pendidikan IT. 10 tahun lalu hampir tiada guru di universiti yang mempunyai pengalaman industri sebenar. Pada masa kini, semakin kerap, kelas di jabatan khusus diajar bukan oleh guru sains komputer sepenuh masa, tetapi dengan mengamalkan pakar IT yang mengajar hanya 1-2 kursus pada masa lapang mereka dari kerja utama mereka. Pendekatan ini membenarkan dirinya dari sudut latihan kakitangan berkualiti tinggi, mengemas kini kursus dan, sudah tentu, mencari pekerja berpotensi dalam syarikat. Saya tidak fikir saya akan mendedahkan rahsia itu dengan mengatakan bahawa kami menyokong jabatan asas di MIPT dan membina hubungan dengan universiti lain, termasuk untuk menyediakan pelajar yang boleh memulakan kerjaya mereka di Acronis.

Ahli matematik atau pengaturcara?

Bagaimana Memanfaatkan Pendidikan Sains Komputer
Peperangan suci, yang sebelum ini berkisar tentang bahasa pengaturcaraan, telah beralih ke arah falsafah. Kini mereka yang dipanggil "pengaturcara" dan "ahli matematik" sedang bertelagah sesama sendiri. Pada dasarnya, sekolah-sekolah ini boleh dipisahkan kepada dua program pendidikan, tetapi industri masih lemah dalam memisahkan kehalusan sedemikian, dan dari universiti ke universiti kami mempunyai pendidikan yang sama dengan tumpuan yang sedikit berbeza. Ini bermakna bahawa kedua-dua pelajar dan syarikat di mana dia akan terus bekerja perlu menambah teka-teki pengetahuan dengan kepingan yang hilang.

Kemunculan pengamal di universiti yang menulis kod industri dalam bahasa yang berbeza memberikan pelajar kemahiran pembangunan yang lebih baik. Memahami dengan baik pelaksanaan perpustakaan standard, rangka kerja dan teknik pengaturcaraan, pengaturcaraan berlatih menanamkan dalam diri pelajar keinginan untuk menulis kod yang baik, untuk melakukannya dengan cepat dan cekap.

Kemahiran berguna ini, bagaimanapun, kadangkala membawa kepada kemunculan mereka yang suka mencipta semula roda. Pelajar pengaturcaraan berfikir seperti ini: "Perlukah saya menulis 200 baris lagi kod yang baik yang akan menyelesaikan masalah secara langsung?"

Guru yang telah menerima pendidikan matematik klasik (contohnya, daripada Fakulti Matematik atau Matematik Gunaan) selalunya bekerja dalam persekitaran pseudo-saintifik, atau dalam bidang pemodelan dan analisis data. "Ahli Matematik" melihat masalah dalam bidang Sains Komputer secara berbeza. Mereka terutamanya beroperasi bukan dengan kod, tetapi dengan algoritma, teorem dan model formal. Kelebihan penting pendekatan matematik ialah pemahaman asas yang jelas tentang perkara yang boleh dan tidak boleh diselesaikan. Dan bagaimana untuk menyelesaikannya.

Sehubungan itu, guru matematik bercakap tentang pengaturcaraan dengan berat sebelah terhadap teori. Pelajar yang datang daripada "ahli matematik" selalunya menghasilkan penyelesaian yang difikirkan dengan baik dan unggul secara teori, tetapi biasanya suboptimum dari sudut linguistik dan selalunya ditulis secara selamba. Pelajar sedemikian percaya bahawa matlamat utamanya adalah untuk menunjukkan keupayaan untuk menyelesaikan masalah tersebut secara prinsip. Tetapi pelaksanaannya mungkin pincang.

Kanak-kanak yang dibesarkan sebagai pengaturcara di sekolah atau pada tahun pertama mereka membawa bersama mereka "basikal yang sangat cantik", yang, bagaimanapun, biasanya tidak berfungsi dengan cekap tanpa gejala. Sebaliknya, mereka tidak menetapkan sendiri tugas untuk berteori secara mendalam dan beralih kepada buku teks untuk mencari penyelesaian yang optimum, lebih suka kod yang cantik.

Di universiti yang berbeza, semasa temuduga pelajar, saya biasanya melihat "sekolah" mana yang mendasari pendidikannya. Dan saya hampir tidak pernah menemui keseimbangan yang sempurna dalam pendidikan asas. Sebagai seorang kanak-kanak, di bandar saya anda boleh membuat persediaan untuk olimpiade matematik, tetapi tidak ada kelab pengaturcaraan. Kini, di kelab, kanak-kanak belajar memprogram dalam "bergaya" Go dan Python. Oleh itu, walaupun pada peringkat kemasukan ke universiti, terdapat perbezaan dalam pendekatan. Saya percaya bahawa adalah penting untuk mengekalkan kedua-dua kemahiran di universiti, jika tidak sama ada pakar dengan asas teori yang tidak mencukupi, atau orang yang belum belajar dan tidak mahu menulis kod yang baik, akan datang untuk bekerja di syarikat.

Bagaimana untuk "memampatkan palang" untuk masa hadapan Pakar berbentuk T?

Bagaimana Memanfaatkan Pendidikan Sains Komputer
Jelas bahawa dalam keadaan sedemikian pelajar hanya memilih apa yang paling disukainya. Guru sekadar menyampaikan pandangan yang lebih dekat dengannya. Tetapi semua orang akan mendapat manfaat jika kod itu ditulis dengan cantik, dan dari sudut pandangan algoritma, semuanya jelas, munasabah dan berkesan.

  • cakrawala IT. Lulusan ijazah sarjana muda dalam Sains Komputer ialah pakar sedia dengan pandangan teknikal yang maju, yang mungkin telah memilih profilnya. Tetapi pada tahun junior, kita tidak tahu apa yang dia akan lakukan. Dia boleh pergi ke sains atau analitik, atau, sebaliknya, dia boleh menulis sejumlah besar kod setiap hari. Oleh itu, pelajar perlu ditunjukkan semua aspek bekerja dalam bidang IT dan diperkenalkan kepada semua alat. Sebaik-baiknya, guru dari kursus teori akan menunjukkan kaitan dengan amalan (dan sebaliknya).
  • Titik pertumbuhan. Adalah untuk kepentingan pelajar itu sendiri untuk tidak membiarkan dirinya melampau. Memahami sama ada anda seorang "ahli matematik" atau "pengaturcara" tidak sukar. Cukup untuk mendengar dorongan pertama apabila menyelesaikan masalah: apa yang anda mahu lakukan - lihat buku teks untuk mencari pendekatan yang optimum atau tulis beberapa fungsi yang pasti akan berguna kemudian? Berdasarkan ini, anda boleh membina trajektori pelengkap pembelajaran anda.
  • Sumber ilmu alternatif. Ia berlaku bahawa program ini seimbang, tetapi "Pemrograman Sistem" dan "Algoritma" diajar oleh orang yang sama sekali berbeza, dan sesetengah pelajar lebih dekat dengan guru pertama, dan yang lain - kepada yang kedua. Tetapi walaupun anda tidak menyukai profesor, ini bukan sebab untuk mengabaikan beberapa mata pelajaran yang memihak kepada yang lain. Sarjana muda sendiri berminat untuk mencari kemahuan untuk bekerja dengan sumber pengetahuan dan sama sekali tidak mempercayai pendapat radikal seperti "matematik adalah ratu sains, perkara utama ialah mengetahui algoritma" atau "kod yang baik mengimbangi segala-galanya."

Anda boleh memperdalam pengetahuan anda dalam teori dengan beralih kepada kesusasteraan khusus dan kursus dalam talian. Anda boleh meningkatkan kemahiran anda dalam bahasa pengaturcaraan di Coursera, Udacity atau Stepik, di mana banyak kursus yang berbeza dibentangkan. Selain itu, pelajar sering mula menonton kursus bahasa tegar jika mereka merasakan bahawa guru algoritma mengetahui matematik dengan baik, tetapi tidak dapat menjawab soalan pelaksanaan yang rumit. Tidak semua orang akan bersetuju dengan saya, tetapi dalam amalan saya ia telah terbukti dengan baik pengkhususan dalam C++ daripada Yandex, di mana ciri bahasa yang semakin kompleks dianalisis secara berurutan. Secara umum, pilih kursus dengan penarafan tinggi daripada syarikat atau universiti yang bereputasi.

Kemahiran insaniah

Bagaimana Memanfaatkan Pendidikan Sains Komputer
Datang dari universiti untuk bekerja di mana-mana syarikat, daripada syarikat permulaan kepada syarikat besar, pelajar dari universiti terkemuka pun mendapati diri mereka kurang menyesuaikan diri dengan persekitaran kerja sebenar. Hakikatnya ialah hari ini universiti "menjaga bayi" pelajar banyak. Walaupun selepas terlepas banyak kelas, tidak bersedia untuk ujian dan ujian tepat pada masanya, tidur berlebihan, atau lewat untuk peperiksaan, semua orang boleh lulus dan mengambilnya semula - dan pada akhirnya masih menerima diploma.

Walau bagaimanapun, hari ini terdapat semua syarat untuk pelajar bersedia untuk kehidupan dewasa dan aktiviti profesional bebas. Mereka perlu bukan sahaja berprogram, tetapi juga berkomunikasi. Dan ini juga perlu diajar. Universiti mempunyai pelbagai format untuk membangunkan kemahiran ini, tetapi, malangnya, mereka sering tidak diberi perhatian yang mencukupi. Walau bagaimanapun, kami mempunyai banyak peluang untuk memperoleh kemahiran kerja berpasukan yang berkesan.

  • Komunikasi perniagaan bertulis. Malangnya, kebanyakan graduan yang meninggalkan universiti tidak tahu tentang etika surat-menyurat. Kekhususan komunikasi dalam utusan segera adalah dalam pertukaran mesej malam dan siang dan penggunaan gaya perbualan dan perbendaharaan kata tidak formal. Walau bagaimanapun, adalah mungkin untuk melatih ucapan bertulis apabila pelajar berkomunikasi dengan jabatan dan universiti.

    Dalam amalan, pengurus sering berhadapan dengan keperluan untuk menguraikan projek besar kepada tugas-tugas kecil. Untuk melakukan ini, anda perlu menerangkan dengan jelas setiap tugas dan komponennya supaya pembangun junior memahami perkara yang diperlukan daripada mereka. Tugas yang kurang jelas sering membawa kepada keperluan untuk membuat semula sesuatu, itulah sebabnya pengalaman dalam komunikasi bertulis membantu graduan bekerja dalam pasukan yang diedarkan.

  • Pembentangan bertulis hasil kerja anda. Untuk membentangkan projek pendidikan mereka, pelajar senior boleh menulis siaran tentang Habr, artikel saintifik, dan juga hanya laporan. Terdapat banyak peluang untuk ini - kerja kursus bermula pada tahun kedua di beberapa universiti. Anda juga boleh menggunakan esei sebagai satu bentuk kawalan - ia biasanya lebih dekat dalam bentuk artikel kewartawanan. Pendekatan ini telah pun dilaksanakan di Sekolah Tinggi Ekonomi Universiti Penyelidikan Nasional.

    Jika syarikat mengamalkan pendekatan yang fleksibel untuk pembangunan, ia perlu membentangkan hasil kerjanya dalam bahagian yang lebih kecil, tetapi lebih kerap. Untuk melakukan ini, adalah penting untuk dapat menyampaikan secara ringkas hasil kerja seorang pakar atau seluruh pasukan. Selain itu, banyak syarikat hari ini menjalankan "semakan" - tahunan atau separuh tahunan. Pekerja membincangkan keputusan dan prospek kerja. Semakan yang berjaya adalah sebab utama pertumbuhan kerjaya, bonus, contohnya, dalam Microsoft, Acronis atau Yandex. Ya, anda boleh memprogramkan dengan baik, tetapi "duduk di sudut" walaupun pakar yang hebat akan sentiasa kalah kepada seseorang yang tahu cara membentangkan kejayaannya dengan baik.

  • Penulisan Akademik. Penulisan akademik wajar diberi perhatian khusus. Adalah berguna untuk pelajar membiasakan diri dengan peraturan menulis teks saintifik, menggunakan hujah, mencari maklumat dalam pelbagai sumber, dan memformat rujukan kepada sumber ini. Adalah dinasihatkan untuk melakukan ini dalam bahasa Inggeris, kerana terdapat banyak lagi teks yang baik dalam komuniti akademik antarabangsa, dan untuk pelbagai disiplin sudah ada templat yang ditetapkan untuk membentangkan hasil saintifik. Sudah tentu, kemahiran menulis akademik juga diperlukan semasa menyediakan penerbitan berbahasa Rusia, tetapi terdapat lebih sedikit contoh artikel moden yang baik dalam bahasa Inggeris. Kemahiran ini boleh diperolehi melalui kursus yang sesuai, yang kini termasuk dalam banyak program pendidikan.
  • Memimpin mesyuarat. Kebanyakan pelajar tidak tahu cara membuat persediaan untuk mesyuarat, mengambil minit dan memproses data. Tetapi jika kita mengembangkan kemahiran ini di kolej, contohnya, dengan mengambil bahagian dalam projek pasukan, kita boleh mengelakkan pembaziran masa di tempat kerja. Ini memerlukan penyeliaan kerja projek pelajar untuk mengajar mereka cara mengendalikan mesyuarat dengan berkesan. Pada praktiknya, ini menyebabkan setiap syarikat memerlukan banyak wang - lagipun, jika beberapa orang yang menerima gaji besar menghabiskan satu jam masa bekerja di perhimpunan, anda mahu ada pulangan yang sepadan ke atasnya.
  • Pengucapan awam. Ramai pelajar berhadapan dengan keperluan untuk bercakap secara terbuka sahaja semasa mempertahankan tesis mereka. Dan tidak semua orang bersedia untuk ini. Saya telah melihat ramai pelajar yang:
    • berdiri membelakangi penonton,
    • bergoyang, cuba memperkenalkan suruhanjaya kepada berkhayal,
    • memecahkan pen, pensel dan penunjuk,
    • berjalan dalam bulatan
    • tengok lantai.

    Ini adalah perkara biasa apabila seseorang membuat persembahan untuk kali pertama. Tetapi anda perlu mula bekerja dengan tekanan ini lebih awal - dengan mempertahankan kerja kursus anda dalam suasana mesra, di kalangan rakan sekelas anda.

    Di samping itu, amalan standard dalam syarikat adalah untuk memberi pekerja peluang untuk mencadangkan idea dan menerima pembiayaan, jawatan, atau projek khusus untuknya. Tetapi, jika anda memikirkannya, ini adalah perlindungan kerja kursus yang sama, hanya pada tahap yang lebih tinggi. Mengapa tidak mengamalkan kemahiran kerjaya yang berguna itu semasa belajar?

Apa yang saya terlepas?

Salah satu sebab untuk menulis catatan ini adalah artikel, diterbitkan di laman web Universiti Negeri Tyumen. Penulis artikel hanya menumpukan pada kekurangan pelajar Rusia yang diperhatikan oleh guru asing. Amalan pengajaran saya di universiti yang berbeza menunjukkan bahawa sekolah Rusia dan pendidikan tinggi menyediakan asas yang baik. Pelajar Rusia mahir dalam matematik dan algoritma, dan lebih mudah untuk membina komunikasi profesional dengan mereka.

Dalam kes pelajar asing, sebaliknya, jangkaan seorang guru Rusia kadangkala terlalu tinggi. Sebagai contoh, pada peringkat latihan asas, pelajar India yang saya temui adalah serupa dengan pelajar Rusia dari segi tahap matematik mereka. Walau bagaimanapun, mereka kadang-kadang kekurangan pengetahuan khusus apabila mereka menamatkan pengajian mereka. Pelajar Eropah yang baik berkemungkinan mempunyai latar belakang matematik yang kurang kukuh di peringkat sekolah.

Dan jika anda belajar atau bekerja di universiti, anda kini boleh menggunakan kemahiran komunikasi (milik anda atau pelajar anda), mengembangkan asas asas anda dan mempraktikkan pengaturcaraan. Untuk tujuan ini, sistem pendidikan Rusia menyediakan semua peluang - anda hanya perlu menggunakannya dengan betul.

Saya akan gembira jika dalam komen untuk siaran anda berkongsi pautan anda ke kursus dan kaedah yang membantu menyamakan keseimbangan dalam pendidikan, serta cara lain untuk meningkatkan kemahiran insaniah semasa belajar di universiti.

Sumber: www.habr.com

Tambah komen