Saya mencari hal paling keren yang dapat Anda lakukan dalam beberapa baris kode sederhana. Saya yakin Anda dapat menulis satu set Mandelbrot di Haskell dalam 15 baris tetapi sulit untuk diikuti.
Tujuan saya adalah untuk menginspirasi siswa bahwa pemrograman itu keren .
Kami tahu bahwa pemrograman itu keren karena Anda dapat membuat apa pun yang Anda bayangkan - ini adalah outlet kreatif terbaik. Saya ingin mengilhami para pemula ini dan menyelesaikannya sebanyak mungkin gundukan pembelajaran awal yang saya bisa.
Sekarang, alasan saya egois. Saya mengajar kursus Intro to Computing kepada sekelompok 60 jurusan setengah-setengah, setengah bisnis; semua mahasiswa baru. Mereka adalah siswa yang berasal dari sekolah menengah bawah. Dari pengalaman masa lalu saya, kelompok ini umumnya terpecah sebagai berikut: beberapa bintang rock , beberapa yang berusaha sangat keras dan semacam mendapatkannya, beberapa yang berusaha sangat keras dan nyaris tidak mendapatkannya, dan beberapa yang tidak peduli. Saya ingin menjangkau sebanyak mungkin kelompok ini seefektif mungkin. Berikut adalah contoh bagaimana saya akan menggunakan program komputer untuk mengajar:
Berikut ini contoh yang saya cari: skrip VBS 1 baris untuk membuat komputer Anda berbicara dengan Anda:
CreateObject("sapi.spvoice").Speak InputBox("Enter your text","Talk it")
Saya bisa menggunakan ini untuk menunjukkan urutan operasi. Saya akan menunjukkan kodenya, membiarkan mereka bermain dengannya, kemudian menjelaskan bahwa ada banyak hal yang terjadi di baris itu, tetapi komputer dapat memahaminya, karena ia tahu aturannya. Lalu saya akan menunjukkan kepada mereka sesuatu seperti ini:
4(5*5) / 10 + 9(.25 + .75)
Dan Anda dapat melihat bahwa pertama yang perlu saya lakukan adalah (5 * 5). Lalu saya bisa mengalikan untuk 4. Dan sekarang saya telah membuat Object. Membagi dengan 10 sama dengan memanggil Bicara - Saya tidak bisa Bicara sebelum saya memiliki objek, dan saya tidak bisa membaginya sebelum saya memiliki 100. Kemudian di sisi lain saya pertama kali membuat InputBox dengan beberapa instruksi untuk cara menampilkannya . Ketika saya menekan enter pada kotak input, ia mengevaluasi atau "mengembalikan" apa pun yang saya masukkan. (Petunjuk: 'oooooo' membuat suara lucu) Jadi ketika saya mengatakan Bicara, sisi kanan adalah apa yang harus Bicara. Dan saya mendapatkannya dari InputBox.
Jadi, ketika Anda melakukan beberapa hal dalam satu jalur, seperti:
x = 14 + y;
Anda perlu menyadari urutan hal-hal. Pertama kita tambahkan 14 dan y. Lalu kami memasukkan hasilnya (apa yang dievaluasi, atau dikembalikan) ke x.
Itulah tujuan saya, untuk memiliki banyak contoh keren ini untuk menunjukkan dan mengajar kelas sambil bersenang-senang. Saya mencoba contoh ini pada teman sekamar saya dan sementara saya mungkin tidak menggunakan ini sebagai pelajaran pertama, dia menyukainya dan belajar sesuatu.
Beberapa program Mathematica keren yang membuat grafik atau bentuk yang indah yang mudah dimengerti adalah ide yang bagus dan saya akan melihatnya. Berikut adalah beberapa contoh script action yang rumit tapi itu agak terlalu maju dan saya tidak bisa mengajar flash. Apa ide lain yang kamu punya?
sumber
Jawaban:
Saya mendapat respons yang bagus dari anak-anak saya dengan skrip VB cepat untuk memanipulasi karakter Microsoft Agent. Bagi mereka yang tidak terbiasa dengan MS Agent, ini adalah serangkaian karakter animasi layar yang dapat dimanipulasi melalui antarmuka COM. Anda dapat mengunduh kode dan karakter di halaman unduhan Microsoft Agent .
Beberapa baris berikut akan membuat karakter Merlin muncul di layar, terbang berkeliling, mengetuk layar untuk mendapatkan perhatian Anda, dan menyapa.
Ada banyak sekali perintah lain yang dapat Anda gunakan. Memeriksahttp://www.microsoft.com/technet/scriptcenter/funzone/agent.mspx untuk informasi lebih lanjut.
EDIT 2011-09-02 Saya baru-baru ini menemukan bahwa Microsoft Agent tidak diinstal secara asli pada Windows 7. Namun ditawarkan sebagai unduhan terpisah di sini . Saya belum menguji ini sehingga tidak dapat memverifikasi apakah ini beroperasi.
sumber
Masukkan kode ini di bilah alamat Anda (di browser Anda) dan tekan enter. Kemudian Anda dapat mengedit semua konten halaman web!
Itu adalah "one-liner" paling keren yang saya tahu =)
sumber
javascript:
danvoid 0
merupakan boilerplate: setara denganint main() {
danreturn 0; }
dalam C. Dan dua baris lainnya hanyalah API browser yang berbeda yang melakukan hal yang sama: Yang pertama adalah IE API, yang kedua adalah NetScape API. Penggunaan HTML5contentEditable
, jadi kecuali Anda peduli untuk mendukung Firefox 1.5 atau apalah, jumlah kode sebenarnya adalah:document.body.contentEditable='true';
Ketika saya pertama kali menulis ini.
Itu mengejutkan orang! Komputer mengingat nama mereka!
EDIT: Hanya untuk menambah ini. Jika Anda dapat meyakinkan programmer baru ini adalah hal paling keren yang bisa mereka lakukan, mereka akan menjadi programmer yang baik. Saat ini, Anda dapat melakukan hampir semua hal yang Anda inginkan dengan satu baris kode untuk menjalankan pustaka yang ditulis orang lain. Saya pribadi sama sekali tidak puas dengan melakukan itu dan melihat sedikit manfaat dalam mengajarkannya.
sumber
PHP - paking Sierpinski alias Triforce
OK, ini 15 baris kode tetapi hasilnya luar biasa! Hal-hal semacam itulah yang membuatku panik ketika aku masih kecil. Ini dari manual PHP:
sumber
Microsoft memiliki Small Basic , sebuah IDE untuk "anak-anak".
Ini dirancang khusus untuk menunjukkan betapa kerennya pemrograman.
sumber
Saya cenderung berpikir bahwa orang-orang terkesan dengan hal-hal yang dapat mereka hubungkan atau relevan dengan kehidupan mereka. Saya akan mencoba dan mendasarkan 10 baris kode saya di sekitar sesuatu yang mereka tahu dan mengerti. Ambil, misalnya, Twitter dan API-nya. Mengapa tidak menggunakan API ini untuk membuat sesuatu yang keren. 10 baris kode berikut akan mengembalikan "timeline publik" dari Twitter dan menampilkannya di aplikasi konsol ...
Contoh kode saya mungkin bukan yang terbaik untuk siswa Anda. Ini ditulis dalam C # dan menggunakan .NET 3.5. Jadi, jika Anda akan mengajari mereka PHP, Java, atau C ++ ini tidak akan berguna. Namun, maksud saya adalah dengan mengaitkan 10 baris kode Anda dengan sesuatu yang "keren, menarik, dan relevan bagi siswa, sampel Anda juga menjadi keren, menarik, dan relevan.
Semoga berhasil!
[Ya, saya tahu bahwa saya melewatkan beberapa baris menggunakan pernyataan dan metode Utama, tapi saya menduga 10 baris tidak perlu benar-benar 10 baris]
sumber
Ini adalah server telnet Python yang akan menanyakan nama pengguna dan menyapa mereka. Ini terlihat keren karena Anda berkomunikasi dengan program Anda dari komputer yang berbeda melalui jaringan.
sumber
Saya pikir sulit menjadi pendidik komputer akhir-akhir ini. Saya. Kami menghadapi pertempuran menanjak yang semakin curam. Siswa kami adalah pengguna yang luar biasa canggih dan dibutuhkan banyak hal untuk mengesankan mereka. Mereka memiliki begitu banyak alat yang dapat diakses oleh mereka yang melakukan hal-hal menakjubkan.
Kalkulator sederhana dalam 10 baris kode? Mengapa? Saya punya TI-86 untuk itu.
Script yang menerapkan efek khusus pada gambar? Untuk itulah Photoshop digunakan. Dan Photoshop menghancurkan semua yang dapat Anda lakukan dalam 10 baris.
Bagaimana dengan menyalin CD dan mengonversi file ke MP3? Uhh, saya sudah punya 50.000 lagu yang saya dapat dari BitTorrent. Mereka sudah dalam format MP3. Saya memutarnya di iPhone saya. Lagi pula, siapa yang membeli CD?
Untuk memperkenalkan pengguna yang cerdas ke pemrograman, Anda harus menemukan sesuatu yang:
a) berlaku untuk sesuatu yang mereka anggap menarik dan keren, dan b) melakukan sesuatu yang belum bisa mereka lakukan.
Anggap siswa Anda sudah memiliki akses ke perangkat lunak paling mahal. Banyak dari mereka memiliki versi lengkap Adobe CS5.5 (harga eceran: $ 2.600; harga aktual: gratis) dan dapat dengan mudah mendapatkan aplikasi apa pun yang biasanya akan merusak anggaran departemen Anda.
Tetapi sebagian besar dari mereka tidak tahu bagaimana "barang-barang komputer" ini benar-benar berfungsi.
Mereka adalah kelompok yang sangat kreatif: mereka suka menciptakan sesuatu. Mereka hanya ingin dapat melakukan atau membuat sesuatu yang tidak bisa dilakukan teman mereka. Mereka ingin sesuatu untuk dibanggakan.
Berikut adalah beberapa hal yang saya temukan beresonansi dengan siswa saya:
Tidak ada yang melibatkan pemrograman dalam pengertian tradisional. Tapi mereka memanfaatkan perpustakaan yang kuat. Saya menganggap mereka sebagai jenis pemrograman yang berbeda.
sumber
Saya telah menemukan favorit besar (dalam GWBASIC) adalah:
Saya telah menemukan bahwa para siswa pemula memiliki beberapa konsepsi yang perlu diperbaiki.
Semoga beruntung dengan kelas Anda. Saya yakin Anda akan melakukannya dengan baik.
PS Saya yakin Anda mengerti bahwa, bersama dengan materi dan keterampilan, Anda juga mengajarkan sikap, dan itu sama pentingnya.
sumber
Kode-C ini mungkin dikaburkan, tetapi saya merasa sangat kuat
Dan inilah hasilnya ... Hanya dalam 3 baris ... Semacam fraktal
Hello World
...sumber
Bagaimana dengan menunjukkan bahwa Anda dapat mengambil browser web apa saja dan memasukkan JavaScript ke bilah alamat dan mendapatkan kode untuk dieksekusi?
EDIT: Buka halaman dengan banyak gambar dan coba ini di bilah alamat:
sumber
Anda dapat membuat aplikasi yang memilih nomor acak. Dan Anda harus menebaknya. Jika Anda salah dikatakan: lebih tinggi atau lebih rendah. Dan jika Anda menebaknya, pesan yang bagus.
Sangat menyenangkan bermain untuk para siswa.
Versi Python sederhana tanpa pengecekan error yang tepat:
Erik menyarankan agar komputer menebak nomornya. Ini dapat dilakukan dalam 10 baris kode juga (meskipun sekarang kurangnya pemeriksaan kesalahan yang tepat bahkan lebih serius: angka yang valid di luar rentang menyebabkan loop tak terbatas):
sumber
eval(raw_input(prompt))
. Lihat input .Kembali ke kelas komputer di sekolah menengah, saya dan beberapa teman mengajar di kelas cara pemrograman dengan Delphi. Kelas sebagian besar berfokus pada pemrograman dengan Pascal, jadi Delphi adalah langkah selanjutnya yang baik. Kami mendemonstrasikan sifat event Delphi dan kapabilitas RAD-nya. Di akhir pelajaran, kami menunjukkan kepada kelas sebuah contoh aplikasi dan meminta mereka mereproduksinya. Aplikasi bertanya " Apakah Anda mabuk? " Dengan dua tombol Ya dan Tidak . ... Saya pikir Anda tahu apa yang akan terjadi selanjutnya ... tombol Tidak mengubah lokasi pada mouse dan hampir mustahil untuk mengklik.
Para siswa dan guru mendapat tendangan yang bagus.
Program ini hanya membutuhkan beberapa baris kode yang ditulis pengguna dengan persamaan sederhana untuk menghitung di mana harus memindahkan tombol. Saya tidak berpikir ada siswa lain yang mengetahuinya, tetapi ada beberapa yang dekat.
sumber
Ketika saya pertama kali menemukan garpu bash, saya pikir itu benar-benar manis. Sangat sederhana, namun rapi dalam hal apa yang dapat dilakukannya:
sumber
Ini curang, dan bahkan tidak sederhana, tapi saya pernah menulis shoot'em di 20 baris C ++, menggunakan perpustakaan grafis Allegro. Tidak ada kriteria nyata untuk apa garis itu, tetapi itu sedikit lalu, dan itu dibuat murni untuk bersenang-senang. Bahkan memiliki efek suara kasar.
Begini tampilannya:
20 Garis http://img227.imageshack.us/img227/8770/20linesxx0.png
Dan inilah kodenya ( harus dikompilasi):
sumber
Di zaman sekarang ini, JavaScript adalah cara terbaik untuk menunjukkan bagaimana Anda dapat memprogram menggunakan beberapa alat yang sangat mendasar, misalnya notepad.
Efek jQuery adalah titik awal yang bagus bagi siapa pun yang ingin memukau teman-teman mereka!
Di sini, cukup klik ruang putih halaman.
sumber
Satu hal yang mungkin Anda pertimbangkan adalah sesuatu seperti Robocode , di mana banyak pengkodean disarikan dan Anda pada dasarnya hanya memberi tahu robot apa yang harus dilakukan. Fungsi 10-line sederhana dapat membuat robot melakukan banyak hal, dan memiliki hasil yang sangat visual dan mudah diikuti.
Mungkin Robocode itu sendiri tidak cocok untuk tugas itu, tetapi hal semacam ini adalah cara yang baik untuk menghubungkan kode tertulis dengan tindakan visual di komputer, ditambah itu menyenangkan untuk ditonton ketika Anda perlu memberikan contoh.
sumber
Jadi suatu hari, saya memutuskan bahwa saya sudah cukup. Saya akan belajar piano. Melihat orang seperti Elton John memerintahkan penguasaan keyboard seperti itu meyakinkan saya bahwa inilah yang ingin saya lakukan.
Sebenarnya belajar piano adalah kekecewaan besar. Bahkan setelah menyelesaikan delapan kelas pelajaran piano, saya masih tidak terkesan dengan bagaimana citra mental saya bermain piano sangat berbeda dari visi awal saya menikmati kegiatan.
Namun, yang benar-benar saya nikmati hanyalah tiga tingkatan dasar teori musik saya. Saya belajar tentang konstruksi musik. Saya akhirnya bisa melangkah dari dunia melakukan musik tertulis ke menulis musik saya sendiri. Selanjutnya, saya bisa mulai memainkan apa yang ingin saya mainkan.
Jangan mencoba memukau programmer baru, terutama programmer muda. Seluruh gagasan "kurang dari sepuluh baris kode sederhana" tampaknya memunculkan suasana "Tunjukkan sesuatu yang pintar ".
Anda dapat menunjukkan kepada programmer sesuatu yang pintar. Anda kemudian dapat mengajarkan programmer yang sama itu bagaimana mereplikasi "kinerja" ini. Tapi ini bukan apa yang membuat mereka kecanduan pemrograman. Ajari mereka dasar-dasarnya, dan biarkan mereka mensintesis sepuluh baris kode pintar mereka sendiri.
Saya akan menunjukkan kepada programmer baru kode Python berikut:
Saya menyadari bahwa saya tidak perlu menetapkan
line
untukedited_line
. Namun, itu hanya untuk memperjelas, dan untuk menunjukkan bahwa saya tidak mengedit dokumen asli.Dalam waktu kurang dari sepuluh baris, saya telah melakukan verbosifikasi dokumen. Tentu saja, juga pastikan untuk menunjukkan kepada programmer baru semua metode string yang tersedia. Lebih penting lagi, saya telah menunjukkan tiga hal mendasar yang menarik yang bisa saya lakukan: penugasan variabel, loop, file IO, dan penggunaan perpustakaan standar.
Saya pikir Anda akan setuju bahwa kode ini tidak menyilaukan. Faktanya, ini sedikit membosankan. Tidak - sebenarnya, ini sangat membosankan. Tetapi tunjukkan kode itu ke programmer baru dan lihat apakah programmer itu tidak dapat menggunakan kembali setiap bagian dari skrip itu untuk sesuatu yang jauh lebih menarik dalam seminggu, jika bukan hari itu. Tentu, itu akan tidak menyenangkan bagi Anda (mungkin menggunakan skrip ini untuk membuat parser HTML sederhana), tetapi yang lainnya hanya membutuhkan waktu dan pengalaman.
sumber
Seperti kebanyakan komentator lainnya, saya mulai menulis kode untuk menyelesaikan masalah matematika (atau membuat grafik untuk game yang benar-benar mengerikan yang akan saya desain - hal-hal seperti Indiana Jones versus Zombies).
Apa yang benar-benar mulai saya (baik matematika dan pemrograman) mulai dari berbasis teks, pilih game gaya petualangan Anda sendiri ... ke lebih banyak game berbasis grafis. Saya mulai mewarnai kertas grafik dan memplot piksel, sampai saya masuk ke geometri ... dan menemukan cara menggunakan persamaan untuk menggambar kurva dan garis, kotak, dll.
Maksud saya adalah, saya bisa benar - benar masuk ke sesuatu seperti pemrosesan ( http://processing.org/ ) di mana program khas terlihat seperti ini:
Bagi saya, ini adalah "Logo" masa depan.
Ada contoh "halo dunia" yang mudah yang dapat dengan cepat membuat seseorang menggambar dan mengubah kode dan melihat bagaimana banyak hal pecah dan "kecelakaan" aneh apa yang dapat dibuat ... semua jalan menuju interaksi yang lebih maju dan penciptaan fraktal ...
sumber
Anda dapat menggunakan skrip yang ditulis dengan AutoIt , yang mengaburkan batas antara menggunakan aplikasi dan pemrograman tradisional.
Misalnya skrip yang membuka notepad dan membuat komputer mereka sendiri menghina mereka di dalamnya dan melalui kotak pesan, dan kemudian tidak meninggalkan jejak tindakannya:
sumber
Saya ingat ketika saya pertama kali mulai coding loop selalu membuat saya terkesan. Anda menulis 5 - 10 baris kode (atau kurang) dan ratusan (atau berapa banyak yang Anda tentukan) dicetak. (Saya belajar dulu di PHP dan Java).
sumber
Saya pikir tempat yang baik bagi siswa untuk memulai Greasemonkey . Ada ribuan contoh skrip di userscripts.org, bahan bacaan yang sangat bagus, beberapa di antaranya sangat kecil. Skrip Greasemonkey memengaruhi halaman web, yang sudah biasa digunakan siswa, jika tidak dimanipulasi. Greasemonkey sendiri menawarkan cara yang sangat mudah untuk mengedit dan mengaktifkan / menonaktifkan skrip saat pengujian.
Sebagai contoh, berikut ini skrip "Google Two Columns":
sumber
Ini adalah program c # berbasis teks yang sangat sederhana yang mensimulasikan aksi pemintalan mesin slot. Itu tidak termasuk peluang berbeda untuk menang atau pembayaran tunai, tetapi itu bisa menjadi latihan yang bagus untuk siswa.
Maaf lebih dari 10 baris.
sumber
Dengan Tcl Anda memiliki editor teks sederhana dengan tombol simpan di sekitar 12 baris kode (tetapi tidak terbuka, itu akan mengambil 8 baris lain). Ia bekerja di semua platform standar:
Saya menyadari tujuannya adalah 10 baris, jadi jika Anda ingin tetap pada 10 baris atau kurang, editor teks sederhana tanpa memuat atau menyimpan hanya dua baris. Itu tidak terlalu buruk.
Jalankan salah satu dari blok kode di atas dengan " nama file harapan " pada platform pilihan Anda. Wish hadir dengan sebagian besar * nix's dan mac tetapi Anda harus menginstalnya secara manual untuk windows.
Untuk melangkah lebih jauh, skrip dua baris itu juga dapat ditulis dengan python, meskipun dibutuhkan delapan baris, masih di bawah sasaran 10 baris:
sumber
Bagaimana dengan bookmarklet? Itu akan menunjukkan kepada mereka bagaimana memanipulasi sesuatu yang mereka gunakan setiap hari (Internet) tanpa memerlukan alat pengembangan.
sumber
Jika Anda mampu membeli perangkat keras, menggunakan papan + pemrosesan Arduino akan menghasilkan beberapa hal yang cukup keren, meskipun mungkin sedikit canggih bagi orang-orang yang mungkin tidak tertarik sama sekali dalam pemrograman.
sumber
Saya menulis tentang ini baru-baru ini di sebuah artikel "Program terpendek, paling berguna yang pernah saya tulis."
Rangkuman: Saya menulis aplikasi 3 baris VB6 pada tahun 1996 yang masih saya gunakan setiap hari. Setelah exe dijatuhkan di folder "Send-to". Ini memungkinkan Anda mengklik kanan pada file di explorer dan mengirim path lengkap file itu ke clipboard.
sumber
Clipboard.Clear
? Ini menghapus semua konten dari clipboard, bahkan data non-teks (misalnya data gambar). Ini umumnya bukan yang Anda inginkan sama sekali.Sangat menarik bahwa Anda menyebutkan set Mandelbrot, karena membuat fraktal dengan GW-BASIC adalah apa yang memicu kecintaan saya pada pemrograman di sekolah menengah (sekitar 1993). Sebelum kami mulai belajar tentang fraktal, kami menulis aplikasi standar deviasi yang membosankan dan saya masih berencana untuk masuk ke jurnalisme.
Tetapi begitu saya melihat bahwa program BASIC yang panjang dan sulit untuk ditulis menghasilkan "medan fraktal," saya terpikat dan saya tidak pernah melihat ke belakang. Itu mengubah cara saya berpikir tentang matematika, sains, komputer, dan cara saya belajar.
Saya harap Anda menemukan program yang memiliki dampak yang sama pada siswa Anda.
sumber
wxPython Langkah Pertama
simple.py frame http://zetcode.com/wxpython/images/simple.jpg
sumber
Saya yakin itu akan berubah menjadi lebih dari 10 baris kode, tetapi apakah Anda sudah mempertimbangkan aplikasi berbasis formulir di mana menekan tombol melakukan hal-hal seperti mengubah warna latar belakang atau mengubah ukuran teks? Ini akan menunjukkan kepada mereka bagaimana program interaktif bekerja. Ini juga akan menunjukkan kepada mereka bahwa mereka, sebagai programmer, memiliki kendali penuh atas apa yang komputer (program) lakukan.
Semoga itu akan mengarahkan mereka untuk membuat saran untuk hal-hal lain yang bisa mereka ubah dan kemudian ke hal-hal lain yang mungkin ingin mereka lakukan.
sumber