JavaRush /Java Blog /Random-ID /Materi Tambahan Perkuliahan CS50 : Minggu 0 (Perkuliahan ...
Bender
Level 1
Маунтин-Вью

Materi Tambahan Perkuliahan CS50 : Minggu 0 (Perkuliahan 1 dan 2)

Dipublikasikan di grup Random-ID
Siapa yang belum menonton kuliah Harvard tentang dasar-dasar pemrograman, buka di sini: https://javarush.com/quests/QUEST_HARVARD_CS50 =)

Perkenalan. Struktur Kursus CS50

Materi tambahan perkuliahan CS50 : Minggu 0 (perkuliahan 1 dan 2) - 1Teman-teman! Dalam pendahuluan, kami akan mengingatkan Anda (atau memberi tahu Anda siapa pun) tentang struktur CS50. Kursus ini berlangsung 12 minggu. Setiap minggunya ada dua kali perkuliahan, serta berbagai macam seminar dan penjelasan. Kami akan menerbitkan artikel seperti ini segera setelah perkuliahan siap. Ini akan berisi penjelasan singkat tentang perkuliahan, catatan tentang “celana pendek” dan informasi tambahan, serta terjemahan tugas praktek. Kuliah nol minggu membahas isu-isu berikut:
  • Sistem bilangan biner.
  • ASCII
  • Algoritma dan pemikiran algoritmik
  • Kompiler
  • Bahasa awal
  • Ekspresi Boolean
  • Kondisi
  • Siklus
  • Variabel
  • Fungsi
  • Array
  • Aliran
  • Acara
Tujuan minggu 0:
  • Memahami bagaimana informasi dapat direpresentasikan secara digital.
  • Pelajari konstruksi dan konsep perangkat lunak dasar.
  • Buat animasi, permainan, atau aktivitas interaktif Anda sendiri menggunakan Scratch.
  • Buat teman Anda terkesan =).

CS50 Minggu 0 (Kuliah 1-2): catatan

Algoritma

Materi tambahan perkuliahan CS50 : Minggu 0 (perkuliahan 1 dan 2) - 2Kami harap Anda telah menonton ceramah dan memahami bahwa algoritme memecah solusi masalah (berbagai masalah, masalah matematika atau “cara menuju ke stasiun metro N”) menjadi beberapa langkah. Selain itu, setiap langkah harus diselesaikan dalam waktu yang terbatas, dan harus ada sejumlah langkah tertentu. Selain itu, langkah selanjutnya bergantung pada langkah sebelumnya. Anda dapat membaca lebih lanjut tentang algoritma, misalnya di sini . Jika Anda tahu bahasa Inggris, berikut adalah animasi TED yang luar biasa oleh David Malan: https://youtu.be/6hfOvs8pY1k Meskipun secara umum informasi dalam video mengulangi informasi dalam ceramah =).

Sistem bilangan biner

Materi tambahan perkuliahan CS50 : Minggu 0 (perkuliahan 1 dan 2) - 3Kami memiliki 10 jari dan sistemnya desimal. Artinya, kita dapat merepresentasikan bilangan apa pun, berapa pun besarnya, menggunakan bilangan 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Tergantung di mana letak bilangan tersebut dalam bilangan tersebut, bilangan tersebut dapat berarti bedanya : kalau angka ini terakhir, maka letaknya di tempat satuan, angka kedua dari belakang di tempat puluhan, lebih ke kiri lagi di tempat ratusan, dan seterusnya. Pada dasarnya, bilangan apa pun dapat ditulis sebagai jumlah digit, yang masing-masing digit dikalikan sepuluh hingga pangkat tertentu. Dalam hal satuan, nol. Misalnya, 1573 = 3*10 0 + 7*10 1 +5*10 2 +1*10 3 . Bilangan yang digunakan untuk mengalikan angka-angkanya disebut basis sistem bilangan. Untuk sistem desimal, basisnya secara logis adalah sepuluh. Komputer tidak memiliki jari, tetapi ada dua keadaan: kondisional “arus mengalir” dan “arus tidak mengalir”, nol dan satu. Oleh karena itu, semua angka (dan informasi secara umum) dalam memori komputer hanya terdiri dari dua digit - 0 dan 1. Lokasinya, seperti dalam kasus sistem bilangan desimal, menunjukkan sebuah digit. Hanya sekarang bilangan tersebut dapat diuraikan menjadi jumlah digit yang dikalikan bukan dengan pangkat sepuluh, tetapi dengan pangkat dua. 0 dalam biner = 0 1 dalam biner = 1 2 dalam biner = 10 7 10 =111 2 Belajar mengkonversi dari biner ke desimal. Anda mungkin sudah memahami cara melakukannya - kita cukup mengambil digit suatu bilangan, mulai dari yang paling kanan dan mengalikannya dengan basis ke pangkat yang sesuai dengan digitnya, dan menjumlahkan semuanya dengan setiap digit. Contoh: Cari analog desimal dari bilangan biner 101101 2 Yang paling kanan = 1*2 0 Nol berikutnya = 0*2 1 Yang ketiga dari kanan = 1*2 2 Yang keempat = 1*2 3 .. .dan seterusnya 101101 2 = 1*2 0 + 0*2 1 + 1*2 2 + 1*2 3 + 0*2 4 + 1*2 5 = 1 + 0 + 4 + 8 + 0 + 32 = 45 10 Bayangkan delapan bola lampu disusun berjajar. Masing-masing memiliki saklarnya sendiri. Masing-masing bola lampu adalah pelepasan. Apa yang bisa Anda bayangkan, ingat kuliah pertama (ada perangkat seperti itu di sana) atau ini widget untuk Anda: http://cdn.cs50.net/2016/x/psets/0/pset0/bulbs.html Mainkan dengan itu, latihlah “merasakan” sistem binernya. Konversi dari desimal ke biner. Di sini juga, semuanya sangat sederhana, jika Anda memahami esensinya. Di sini kita memiliki nomor 57 10 . Untuk mengubahnya menjadi sistem biner, Anda perlu menentukan berapa pangkat maksimum dua yang tidak melebihi angka ini. 2 6 = 64. Ini jelas berlebihan. Tapi 2 5 = 32. Sekarang kita sudah menentukan angka paling signifikan. 32 10= 100000 2 . Sekarang kita mencari digit berikutnya. 57-32 = 25. Sekarang untuk 25 kita mencari pangkat dua yang tidak melebihi 25. 2 4 = 16. Artinya digit berikutnya juga sama dengan 1. 32+16 = 48 10 = 110000 2 . 57 – 48 = 9. 2 3 = 8, kurang dari 9. Artinya digit selanjutnya juga satu. 32 + 16 + 8 = 56 10 = 111000 2 . 57-56 = 1, artinya hanya tersisa satu pangkat, 2 0 . Jadi 57 10 = 111001 2 . Jika tiba-tiba ada sesuatu yang masih belum jelas, Anda dapat membaca lebih lanjut di Wikibook, dan jika Anda mahir berbahasa Inggris, berikut sedikit tambahan untuk kuliahnya.

ASCII

Materi tambahan perkuliahan CS50 : Minggu 0 (perkuliahan 1 dan 2) - 4Komputer hanya memahami angka nol dan satu, dan memorinya dapat direpresentasikan sebagai rangkaian bola lampu yang sangat panjang dengan sakelar, seperti yang Anda lihat di atas. Kita sudah memahami cara merepresentasikan angka di komputer. Bagaimana dengan informasi lainnya? Surat, gambar? Katakanlah ada 26 huruf dalam alfabet Inggris. Artinya, secara teoritis, kita dapat merepresentasikan huruf dengan angka dari 0 hingga 25, hanya dalam sistem biner. Timbul pertanyaan berikut: bagaimana kita dapat memahami apakah kita memiliki huruf kecil atau huruf besar? Bagaimana dengan tanda baca? Tanda-tanda tak kasat mata seperti spasi? Singkatnya, kita membutuhkan sistem coding, Cap! Pada tahun 1960-an, ada banyak skema berbeda yang mengkodekan karakter. Kurangnya keseragaman terbukti menjadi masalah, dan pada tahun 1963, American Standards Institute, ANSI, mengembangkan dan memperkenalkan skema pengkodean ASCII (American Standard Code for Information Interchange). Setiap karakter ASCII terdiri dari tujuh bit, atau tujuh bit, yang masing-masing dapat mengambil nilai 0 atau 1. 7 bit dapat menampung angka dari 0 hingga 127 dalam biner, artinya kita memiliki 128 angka untuk menyandikan karakter. Tampaknya ini cukup untuk mengkodekan pidato bahasa Inggris tertulis? Mari kita hitung: az - 26 opsi AZ - 26 lagi 0-9 - 10 ,;:~& dan tanda baca lainnya - 32 Dan satu spasi lagi. Total - 95 karakter. 33 opsi kosong yang tersisa digunakan untuk apa yang disebut karakter kontrol, seperti umpan baris atau pengangkutan kembali: https://ru.wikipedia.org/wiki/ASCII#/media/File:ASCII_Code_Chart.svg Penting untuk membedakan antara karakter 0-9 dan nilai numerik 0 -9. Karakter 0-9 diwakili oleh nilai ASCII 48-57. Menarik untuk dicatat bahwa empat bit paling kanan dari nilai ASCII ini merupakan representasi biner dari nilai numerik 0-9. Ini agak menyederhanakan cara mengkonversi antara nilai ASCII dan nilai numerik sebenarnya. Mari kita mulai pemrograman?

Menggores

Materi tambahan perkuliahan CS50 : Minggu 0 (perkuliahan 1 dan 2) - 5Jadi, Gores. Anda telah diberitahu tentang bahasa pemrograman visual ini dan perintah dasarnya dalam kuliah. Untuk mencoba Scratch sendiri, ikuti tautannya dan klik “Gabung”. Setelah terdaftar, Anda dapat memulai pemrograman online. Ya, omong-omong, hari ini Scratch sebagian sudah di-Russifikasi. Namun bantuannya masih dalam bahasa Inggris. Jika mau, Anda dapat memutar dan juga melihat kode proyek mahasiswa yang didemonstrasikan dalam perkuliahan. Inilah Tangkapan Kue Pikachu . Atau proyek dengan memilah sampah ke dalam wadah yang berbeda: https://scratch.mit.edu/projects/71161586/ David dan perusahaan meminta Anda untuk tidak khawatir jika Anda merasa tidak dapat melakukan proyek rumit seperti itu: level ini sudah memerlukan beberapa keterampilan .

Latihan

  1. Untuk lebih memahami proses yang terjadi di Scratch, Anda dapat mengunduh kode sumber untuk beberapa proyek dari sini . Bermain-main dan lihat. Mempelajari kode orang lain sangat berguna. Ini adalah salah satu cara terbaik untuk mengetahui apa yang ada di dalam program-program yang Anda sendiri belum matang. Setelah Anda mulai memahami cara kerja aplikasi ini, Anda dapat melanjutkan dengan percaya diri.

  2. Sekarang saatnya melakukan sesuatu sendiri. Tantangannya adalah bersenang-senang sambil melaksanakan proyek kecil dari awal. Bisa berupa animasi, permainan, aksi interaktif.

Persyaratan proyek:
  • Program harus berisi setidaknya dua sprite (karakter, gambar), dan salah satunya pasti bukan kucing =).
  • Setidaknya harus ada tiga skrip (tindakan).
  • Setidaknya satu kondisi, satu loop, dan satu variabel harus dijalankan.
  • Setidaknya satu suara harus disertakan dalam program.
Artinya, pada intinya, proyek Anda akan lebih kompleks daripada yang tertulis di kuliah, tetapi lebih sederhana dari mainan yang diperlihatkan tentang Pikachu dan pengumpulan sampah. Jadi proyek Anda mungkin akan menggunakan beberapa lusin teka-teki yang membentuk kode Scratch. Jika sesuatu tidak berhasil, Anda mungkin perlu mengubah pendekatan Anda dalam menyelesaikan masalah. Hal utama adalah pergi tanpa rasa takut! Kami mengundang Anda untuk mengajukan pertanyaan dan membagikan proyek Anda di komentar.

Scratch: panduan cepat untuk bertindak

Sprite adalah objek utama proyek. Karakter apa pun - kucing, pesawat, bola - adalah sprite. Jika Anda menambahkan dua kucing berbeda, ini adalah dua sprite berbeda. Materi tambahan perkuliahan CS50 : Minggu 0 (perkuliahan 1 dan 2) - 6Setiap sprite memiliki skrip yang menggambarkan perilakunya. Ini adalah blok tindakan. Kostum adalah objek yang terlihat. Sprite itu sendiri pada dasarnya hanyalah gambar. Setiap sprite dapat memiliki banyak kostum. Untuk membuat sprite, Anda harus memilih kostum aslinya dari perpustakaan Scratch, menggambar sendiri di editor bawaan, mengunggah gambar apa pun, atau bahkan mengambil foto menggunakan webcam dan mengunggahnya. Semua sprite ditempatkan pada apa yang disebut panggung. Panggung pada dasarnya adalah kanvas kita, setting untuk program tersebut. Anda juga dapat melampirkan suara dari perpustakaan ke sprite atau adegan, atau Anda dapat memuatnya atau merekamnya sendiri menggunakan mikrofon. Untuk mulai menjalankan program, Anda perlu mengklik bendera hijau di sudut kanan atas jendela adegan. Namun sebelum melakukan ini, Anda perlu menempatkan blok berikut dalam program: Materi tambahan perkuliahan CS50 : Minggu 0 (perkuliahan 1 dan 2) - 7Dan lampirkan beberapa blok ke dalamnya, sebagai bagian desainer. Misalnya: Materi tambahan perkuliahan CS50 : Minggu 0 (perkuliahan 1 dan 2) - 8Dalam hal ini, ketika Anda mengklik bendera, sprite yang dilampirkan tindakan tersebut mengambil 50 langkah dan mengeong. Kami memiliki banyak blok. Mereka dibagi menjadi tiga tab: skrip, kostum, dan suara. Mari kita membuat program sederhana dengan syarat. Jika terpenuhi maka kucing akan mengeong, jika tidak terpenuhi maka ia akan diam. Operator ditandai dengan warna hijau. Alat yang menguji apakah suatu kondisi benar atau salah memiliki sudut tajam di sisinya. Struktur dan loop pengujian kondisi ditampilkan dalam warna oranye. Mereka memiliki lubang khusus di mana Anda dapat menempatkan balok lainnya.

Siklus:

Ulangi dalam jumlah tak terhingga: Materi tambahan perkuliahan CS50 : Minggu 0 (perkuliahan 1 dan 2) - 9Ulangi sesuatu beberapa kali: Materi tambahan perkuliahan CS50 : Minggu 0 (perkuliahan 1 dan 2) - 10Ulangi suatu tindakan jika kondisinya terpenuhi: Materi tambahan perkuliahan CS50 : Minggu 0 (perkuliahan 1 dan 2) - 11Anda dapat membuat variabel di blok Data. Pada contoh di bawah, kita membuat variabel x, dan segera ada tindakan yang bisa dilakukan dengannya. Anda dapat mengatur cakupan variabel: untuk semua sprite atau untuk satu sprite. Materi tambahan perkuliahan CS50 : Minggu 0 (perkuliahan 1 dan 2) - 12Bendera hijau bukanlah satu-satunya tindakan. Juga di bagian Peristiwa Anda dapat menemukan sejumlah kondisi kontrol lainnya. Misalnya, Anda dapat memilih apa yang harus dilakukan ketika Anda mengklik tombol atau pada sprite itu sendiri dengan mouse. Jika Anda memerlukan informasi tambahan, Anda dapat menemukannya, misalnya di sini .

Apa lagi

Jika akses Internet Anda buruk, kami sarankan mengunduh editor Scratch offline di https://scratch.mit.edu/scratch2download/ . Lalu jangan lupa untuk mengirimkan proyek Anda ke http://scratch.mit.edu/ menggunakan File > Upload from Computer.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION