Siswa dan guru sama sekali berbeda satu sama lain. Beberapa ingin menikmati hidup, sementara yang lain terus-menerus mengganggu ini. Mereka memaksa setiap enam bulan untuk duduk lagi, membaca kembali ceramah, tidak tidur selama beberapa hari dan menyuntikkan kopi secara intravena.
Tentu saja, orang berbeda, itu lebih berbicara tentang stereotip. Ketika saya masih seorang siswa, saya tidak pernah berpikir bahwa saya akan mulai mengajar, dan saya tidak berpikir bahwa saya akan pergi ke sekolah pascasarjana dan tidak banyak membayangkan sama sekali. Tapi duduk di tempat kerja selama 8 jam sehari, lalu pulang dan mendorong sofa terlalu membosankan. Jadi semua kehidupan akan dihabiskan untuk menonton musim berikutnya dari Game of Thrones atau pesta di Dotka.
Pengalaman saya sebagai seorang guru sederhana - hanya 2 tahun. Tapi selama 2 tahun ada pengalaman menarik yang ingin saya bagikan. Artikel itu ternyata panjang dan tidak sabar dapat melihat bagian paling akhir, di mana residu kering yang diperoleh sebagai hasil dari trial and error diberikan.
Bagaimana orang biasanya mewakili profesor universitas? Orang dewasa, orang yang serius, dengan pengalaman hidup yang hebat, yang otoritasnya tidak tergoyahkan. Ini terutama dirasakan di antara para guru ilmu pasti. Tetapi seorang siswa baru-baru ini tidak cocok dengan deskripsi ini sama sekali. Tetapi itu tidak berarti apa-apa. Mengapa tidak mematahkan stereotip dan, alih-alih, dengan mata melotot untuk melihat pengalaman para guru yang sangat canggih itu, jalanlah sendiri? Menolak mempelajari praktik-praktik terbaik adalah ide yang bodoh, namun ada sesuatu dalam diri orang-orang ini yang patut dipelajari. Tapi ada satu lagi, musuh utama kebaruan - kebiasaan.
Pemrograman bukan Mat. Analisis. (Tutup di suatu tempat di dekatnya). Ilmu matematika adalah bidang yang jauh lebih matang. Sebagian besar hukum sudah diketahui. Ada lebih sedikit pertanyaan terbuka daripada dalam pemrograman. Pemrograman adalah bidang yang sangat dinamis, tidak ada tempat untuk kebiasaan. Terlalu berat untuk melekat pada sesuatu, dan Anda baru saja jatuh dari kenyataan.
Saya beruntung, pada tahun ke-2, ketika kami diajarkan pemrograman berorientasi objek, kelompok kami ditugaskan untuk seorang guru muda. Ia aktif, berprinsip, perfeksionis, dan cukup kompeten dalam menulis kode. Alih-alih hanya menerima laboratorium yang berfungsi, dia membuatnya menulis kode, yang sekarang dia tidak malu.
Jika itu bukan untuknya, kita semua di tempat kerja akan belajar apa "konstanta ajaib" itu, mengapa Anda perlu mengembalikan variabel sebagai imbalan (dan tidak mendorong operator unary di sana), mengapa Anda tidak dapat menulis konstruksi yang kuat di saat, bagaimana bekerja dengan UI di Jawa, mengapa di C ++ semuanya harus dilewati oleh pointer konstan. Secara umum, sebagian besar contoh di Internet adalah kode byd langka yang tidak dapat digunakan dalam produksi. Dan ini normal, karena dia adalah contoh untuk itu, untuk menunjukkan kode bekerja sejelas mungkin tanpa komplikasi.
Dan bahkan jika kami tidak tidur dan menulis kode sepanjang malam pada malam 30-31 Januari, dan kami pergi untuk mengambil laboratorium pada tanggal 31, ini memungkinkan kelompok kami untuk menjadi jauh di depan sisa sungai.
Itu bukan pengutipan primitif dari buku teks, bukan adopsi yang tidak diinisialisasi dari laboratorium, itu hanya apa yang Anda butuhkan - Menariknya, sulit, Anda mengerti seberapa banyak Anda memompa. Anda merasa ingin menambah berat badan dengan steroid.
Maka, setelah menjadi seorang guru, saya memutuskan untuk mengadopsi yang terbaik dari semua orang dan menambahkan dengan "trik" saya.
Tes bulu
Anda datang ke sekolah dan mereka memberi tahu Anda untuk melupakan semua wabah yang orang tua Anda ajarkan kepada Anda, Anda datang ke universitas yang mereka katakan kepada Anda - lupakan semua yang diajarkan kepada Anda di sekolah, Anda datang bekerja, kata mereka kepada Anda - lupakan semua yang diajarkan kepada Anda di universitas.
Mari kita ingat apa yang diajarkan kepada kita di tempat kerja setelah universitas.
Berikut adalah daftar yang saya buat tentang diri saya:
- Git
- Jira \ Redmine \ Trello
- Ulasan kode
- Ketergantungan injeksi
- Pengujian unit
- CI \ CD
- Bekerja dengan database (kami diajarkan untuk menulis kueri, tetapi tidak menggunakannya di Jawa)
- Migrasi Basis Data
- ORM
Tapi inilah yang ada di permukaan, dan jika Anda menggali lebih dalam, daftar akan berkembang:
- Docker
- K8S
- Arsitektur Layanan Mikro
Beberapa dari ini diberitahu, tetapi beberapa tidak. Ya, kami diberitahu bagaimana permintaan Pos diatur. Pada beberapa subjek berbicara tentang Json. Dan di Jawa, kami bahkan bekerja dengan soket. Tapi semuanya tidak berhubungan dengan tugas nyata. Dan seorang siswa biasa akan menjejalkan hal-hal ini dengan metode yang biasa, mengambil ujian, dan kemudian lupa, dan kemudian ingat lagi berkeping-keping ketika dia datang untuk bekerja.
Kita dapat mengatakan bahwa siswa sendiri yang harus disalahkan. Tetapi kemudian kita dapat mengatakan bahwa programmer sendiri yang harus disalahkan atas bug. Secara umum, kalahkan mereka dengan cambuk dan biarkan mereka segera melakukannya dengan cara normal.
Tapi tidak, ini kenyataan, itu tidak sempurna, dan karena itu mereka mempekerjakan penguji dan memaksa mereka untuk menulis tes Unit. Jika sesuatu tidak diberantas, itu hanya tinggal beradaptasi dengannya.
Poin penting lainnya adalah antusiasme guru. Banyak yang sudah mengajar dengan inersia. Mereka terbiasa: dari tahun ke tahun hal yang sama terjadi. Tetapi siswa merasakannya. Dan karenanya tanpa itu motivasi yang lemah jatuh di bawah angka 0. Saat sesi mendekat, bilah ini mulai tumbuh. Sangat disayangkan bahwa tidak semua siswa pada waktunya menyadari kedalaman penuh dari situasi mereka.
Total ada 2 masalah global:
- Masalah motivasi
- Ketidakrelevanan / fragmentasi dari pengetahuan yang diberikan
Kami akan memutuskan! Tidak semuanya berhasil sesuai rencana, tetapi pada akhirnya berhasil.
Tiba di pelajaran pertama, saya memaksa semua orang untuk mendaftar bitbucket. Pada saat itu itu adalah kursus pertama. Subjek itu disebut "Ilmu Komputer". Dosennya sendiri mengatakan bahwa kita dapat berbicara tentang semua yang menggemakan kata ini.
Subjeknya adalah menjalankan laboratorium kecil pada * nix shell. Siswa meludah tentang cara menggunakan git untuk waktu yang lama. Terutama konsol git. Tetapi seperti yang tampak bagi saya pada akhir semester, mereka terbakar.
Kami membuat ruang obrolan di VK, di sana saya membuang artikel pada subjek, menjawab pertanyaan. Dan itu sangat nyaman. Jangan ulangi 100500 kali. Dan jika seseorang tidak mau membaca, cukup kirim pesan kepadanya.
Pada subjek, saya memutuskan untuk berbicara sedikit tentang CI \ CD, pengujian unit, review kode. Itu sulit, saya harus mengajukan satu pertanyaan 1000 kali - apakah Anda mengerti itu? Saya harus dibimbing oleh pandangan saya. Karena jawabannya selalu "Ya." Tetapi di mata membaca kurangnya pemahaman.
Pasangan yang saya duduki di depan komputer dan jelas menunjukkan sesuatu, jauh lebih baik. Tampaknya sedang menulis perintah PowerShell kecil yang menutup Chrome. Agak, tapi untuk mahasiswa baru itu terlihat seperti sihir. Pada saat-saat seperti itu, para pria menjadi tertarik.
Kondisi lain dari dosen - perlu membuat presentasi. Saya pribadi tidak ingin meregangkan ini sepanjang semester dengan banyak catatan tentang siapa yang lulus dan siapa yang tidak.
Ada proposal dari saya untuk membuat presentasi presentasi terpusat. Kami memilih waktu yang nyaman bagi semua orang, kami memesan kantor untuk seluruh hari Sabtu \ Jumat, saya punya pizza \ kue \ teh \ kopi, dari teman-teman presentasi. Yang mengejutkan, wanita dengan siapa saya menyetujui pemesanan kabinet tidak menentang. Format ini sangat populer untuk para pria. Menghabiskan setiap enam bulan 2-3 ribu bukanlah uang yang besar, dan orang-orang ingat selamanya.
Kerucut isian
Setelah akhir kursus pertama, saya diminta oleh para pria untuk mencoba mengatur diri mereka sendiri dan menulis beberapa jenis mainan. Dan kemudian para pria juga mendapat ide ini. Tetapi implementasinya, sayangnya, tidak. Untuk mengimplementasikan rencana tersebut, Mesin Unreal dipilih. Argumennya sederhana - ia menggunakan sintaks yang sangat dekat dengan C ++, dan karena mereka seharusnya mempelajarinya di semester berikutnya, maka jika mereka tidak menulis sesuatu yang berharga, maka setidaknya itu akan membantu mereka di semester berikutnya.
Saya menawarkan untuk memberikan kuliah kecil tentang C ++ dalam format online, dan kemudian melanjutkan dengan implementasi. Masalahnya adalah bahwa saya sendiri sedang mengembangkan di. Net dan benar-benar lupa C ++. Saya harus ingat, butuh waktu. Terus terang, tidak ada cukup waktu untuk belajar Unreal juga. Tetapi musim panas ini, banyak dari orang-orang yang merespons secara bertahap mulai bergabung. Tetapi rutinitas juga menyeret saya: perbaikan di rumah negara saya oleh orang tua saya, keinginan untuk menikmati musim panas, pergantian perusahaan juga bertepatan dengan periode ini, liburan. Secara umum, ternyata saya menghabiskan semua energi saya untuk hal-hal lain yang sama pentingnya. Hasilnya adalah beberapa kuliah kecil, beberapa baris kode mati, di mana Anda tidak ingin menyodok tongkat.
Terpengaruh dan distribusi tim. Semua tersedia pada waktu yang berbeda, seseorang mengabaikan pesan, dll. Secara umum, untuk memotivasi orang di Internet, Anda perlu: pertama, cara lain, kedua, pengalaman dengan tim terdistribusi (yang tidak saya miliki), dan ketiga, antusiasme yang jauh lebih besar. Ya, kurangnya hasil juga merupakan hasil. Untuk bagian saya, saya ingin mengucapkan terima kasih kepada teman-teman, Anda hebat, tetapi saya telah mengambil kesimpulan dan akan mencoba untuk tidak mengulangi kesalahan.
Namun demikian, ilmu komputer tidak cukup subjek yang ingin saya lakukan. Posisi dosen dan kantor dekan sangat setia, bahkan jika mahasiswa melakukan sesuatu, dia terlihat seperti pasangan. Secara umum, ini benar, mata pelajaran tidak semuanya sama pentingnya. Dan pentingnya tergantung pada spesialisasi. Akan aneh untuk menganggap bahwa budaya bicara sama pentingnya bagi programmer seperti Mat. Analisis atau OOP. Atau untuk memaksa siswa dari humaniora untuk lulus laboratorium fisika selama berhari-hari. Tetapi saya menginginkan peran yang lebih bertanggung jawab.
Mendapatkan momentum
Jadi, kelas-kelas tentang OOP telah dimulai. Seperti halnya ilmu komputer, siswa terdaftar dengan Bitbucket. Tetapi masih ada beberapa inovasi.
Sekarang orang-orang membuat permintaan Tarik dan menerima komentar kode sebagai tanggapan. Dan ya, mereka harus mengambil lab pertama selama 2 bulan, sampai mulai memenuhi persyaratan minimum untuk desain kode
Kami mendapat Trello, untuk setiap tugas, papannya sendiri (ada 5 di antaranya), nama tugas itu adalah nama lengkap siswa. Hasilnya, ternyata dengan jelas, dan sekarang orang-orang punya ide tentang pelacak tugas, dan papan kanban.
Secara berpasangan, fokusnya bukan hanya pada bagaimana menulis kelas Anda. Sebaliknya, bagaimana membuat arsitektur sedemikian rupa sehingga mudah diperluas. Banyak perhatian diberikan pada prinsip-prinsip OOP, prinsip SOLID. Beberapa kali saya harus mengulangi prinsip fungsi virtual.
Di awal pasangan - tes kecil pada topik sebelumnya. Saya tidak memberikan peringkat apa pun. Ini penting untuk motivasi. Lagi pula, jika seorang siswa menulis, kemungkinan besar ia akan mengingat, memahami, dan menundanya di kepalanya. Di sini saya terbantu oleh kenyataan bahwa saya sendiri ada di tempat mereka belum lama ini dan saya ingat bagaimana semuanya bekerja. Secara umum, 5 menit adalah hal yang baik, dan bagi saya itu lebih merupakan motivasi daripada cara kontrol.
Pada titik tertentu, pengetahuan saya mulai habis, dan perlu mengatakan sesuatu - ada perasaan bahwa banyak lagi yang tidak terungkap.
Oke Google, pertanyaan untuk wawancara C ++. Pilih daftar untuk Junior. Kami membaca pertanyaan dan jawabannya. Voila, memompa diri mereka sendiri, memompa siswa.
Karena bekerja, sejumlah pasangan terlewatkan. Itu perlu untuk mengembalikannya, karena perubahan terus berlanjut. Resepsi pizza yang sama datang untuk menyelamatkan. Kami sepakat bahwa kami akan memilih tempat dan waktu untuk duduk, memesan makanan, kami akan melewatkan sepanjang hari dengan demikian mengembalikan kartu pass, dan siswa secara teori seharusnya menerima +1 ke laboratorium yang mereka serahkan. Saya membantu, menjawab pertanyaan.
Akibatnya, ternyata tidak begitu, menjadi bermasalah untuk mengalokasikan sepanjang hari, mereka mengambil 2 hingga 0,5. Itu juga tidak buruk, meskipun saya berharap akan ada lebih banyak drive. Namun demikian, itu dan tidak buruk untuk 1-2 kali. Lagipula, tidak semua orang melakukannya dengan benar pertama kali, bukan? Ok, sedikit pengalaman lain.
Sepanjang jalan, dia membuat orang-orang untuk kesepakatan +1 poin dengan Dependency Injection di C ++. Saya harus mengatakan, beberapa tahu. Secara umum, siswa dilakukan dengan baik. Keduanya bahkan membuat mainan yang sangat keren dengan antarmuka GUI dan arsitektur yang bagus. Dan satu bahkan tahu Qt. Pada akhirnya, saya berhasil memeras semua siswa dan membuat mereka lulus semua yang diperlukan untuk masuk ke ujian. Statistik ternyata cukup bagus.
Semester baru dimulai dan dimulai dengan pasangan dalam format mitap. Tugas pertama dari dosen adalah menyemai. Pengurai file primitif dan output dalam format CSV.
Mereka datang, menyalakan proyektor, bersama-sama di atas lutut selama 1,5 jam mereka melemparkan solusi di mana masih ada sesuatu untuk dikencangkan, tetapi secara umum frame sudah siap. Menurut pendapat saya, siswa harus melihat cara kerjanya, bagaimana alasannya, dll. Format mitap adalah yang Anda butuhkan. Itulah sebabnya mahasiswa baru menyaksikan dengan penuh minat bagaimana browser ditutup setelah perintah berikutnya di konsol. Jelas dan menarik. Bagi saya, format ini layak untuk dikembangkan.
Untuk meringkas
Ini semata-mata visi saya, mungkin tidak benar, tetapi para siswa menyukainya:
- Kami menggunakan Git dan membuatnya bekerja dengan cabang, menarik permintaan, dll.
- Buat Trello dan lacak tugas di sana. Kami mengajarkan siswa untuk memindahkan tugas dalam CR, jika tidak maka tidak akan ditonton.
- Kami menghabiskan 5 menit, mereka memotivasi siswa untuk mengingat apa yang tidak mereka ketahui. Tidak menyenangkan bagi semua orang untuk berpikir, tetapi bagi sebagian orang itu bahkan menyakitkan, tetapi lebih baik membiasakan diri selama semester.
- Pertanyaan untuk persiapan == pertanyaan untuk wawancara untuk posisi Junior
- Kami membuat Anda berurusan dengan Injeksi Ketergantungan, Unit-tes dan realitas lain dari perkembangan modern
- Kami melakukan mitaps berpasangan. Biarkan para siswa mengulangi setelah seminar, sebelum menggambar sebuah mahakarya, sang seniman harus menggambar apa yang dilukis orang lain ratusan kali.
- Kami mengatur hackathon mini, membeli beberapa pizza / jus dan mengajar siswa untuk bersenang-senang
- Secara umum, kami mencoba melakukan segalanya seperti dalam hidup.
Sesuatu seperti itu, saya membayangkan pelatihan dalam pengembangan. Apa yang kamu pikirkan Selalu terbuka terhadap ide-ide baru, mari kita lakukan dengan lebih baik!