JavaRush /Blog Jawa /Random-JV /Materi tambahan kanggo ceramah CS50: Minggu 0 (Kuliah 1 l...
Bender
tingkat
Маунтин-Вью

Materi tambahan kanggo ceramah CS50: Minggu 0 (Kuliah 1 lan 2)

Diterbitake ing grup
Sing durung nonton kuliah Harvard babagan dhasar pemrograman, bukak kene: https://javarush.com/quests/QUEST_HARVARD_CS50 =)

Pambuka. Struktur Kursus CS50

Materi tambahan kanggo ceramah CS50: Minggu 0 (kuliah 1 lan 2) - 1Kanca-kanca! Ing pitepangan, kita bakal ngelingake sampeyan (utawa ngandhani sapa wae) babagan struktur CS50. Kursus kasebut suwene 12 minggu. Saben minggu ana rong ceramah, uga macem-macem seminar lan penjelasan. Kita bakal nerbitaké artikel kaya iki sanalika ceramah wis siyap. Bakal ngemot katrangan singkat babagan ceramah, cathetan babagan "celana pendek" lan informasi tambahan, uga terjemahan tugas praktis. Kuliah minggu nol nyakup masalah ing ngisor iki:
  • Sistem bilangan biner.
  • ASCII
  • Algoritma lan pamikiran algoritma
  • Penyusun
  • Basa ngeruk
  • Ekspresi Boolean
  • kahanan
  • Siklus
  • Variabel
  • Fungsi
  • Arrays
  • Aliran
  • Acara
Tujuan minggu 0:
  • Ngerti carane informasi bisa diwakili kanthi digital.
  • Sinau konstruksi lan konsep piranti lunak dhasar.
  • Nggawe animasi, game utawa aktivitas interaktif dhewe nggunakake Scratch.
  • Kesengsem kanca =).

CS50 Minggu 0 (Kuliah 1-2): cathetan

Algoritma

Materi tambahan kanggo ceramah CS50: Minggu 0 (kuliah 1 lan 2) - 2Muga-muga sampeyan wis nonton ceramah lan ngerti yen algoritma ngilangi solusi masalah (macem-macem masalah, matematika utawa "carane menyang stasiun metro N") dadi langkah-langkah. Kajaba iku, saben langkah kudu rampung ing wektu sing winates, lan kudu ana sawetara langkah dhewe. Uga, langkah sabanjure gumantung saka sing sadurunge. Sampeyan bisa maca liyane babagan algoritma, contone, kene . Yen sampeyan ngerti basa Inggris, iki animasi TED sing apik banget dening David Malan: https://youtu.be/6hfOvs8pY1k Senajan umume informasi ing video mbaleni ing kuliah =).

Sistem bilangan biner

Materi tambahan kanggo ceramah CS50: Minggu 0 (kuliah 1 lan 2) - 3Kita duwe 10 driji lan sistem kasebut desimal. Tegese, kita bisa makili nomer apa wae, ora ketompo carane gedhe, nggunakake angka 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Gumantung ing ngendi nomer kasebut ing nomer kasebut, bisa ditegesi. beda-beda: yen digit iki pungkasan, banjur dumunung ing panggonan Unit, penultimate ing panggonan puluhan, malah luwih ngiwa ing panggonan atusan, lan sateruse. Ateges, sembarang nomer bisa ditulis minangka jumlah saka digit, saben kang dikalikan dening sepuluh kanggo daya tartamtu. Ing kasus unit - nul. Contone, 1573 = 3*10 0 + 7*10 1 +5*10 2 +1*10 3 . Nomer sing dikalikake digit diarani basis sistem angka. Kanggo sistem desimal, basis logis sepuluh. Komputer ora duwe driji, nanging ana rong negara: kondisi "saiki mili" lan "saiki ora mili", nol lan siji. Mulane, kabeh nomer (lan informasi umume) ing memori komputer mung dumadi saka rong digit - 0 lan 1. Lokasi, kaya ing kasus sistem angka desimal, nuduhake digit. Saiki nomer kasebut bisa diurai dadi jumlah digit sing dikalikan ora karo kekuwatan sepuluh, nanging kanthi kekuwatan loro. 0 ing biner = 0 1 ing biner = 1 2 ing biner = 10 7 10 =111 2 Sinau ngowahi saka biner menyang desimal. Sampeyan mbokmenawa wis ngerti carane iki rampung - kita mung njupuk digit saka nomer wiwit saka paling tengen lan multiply dening basis kanggo daya sing cocog karo digit, lan nambah kabeh munggah karo saben digit. Tuladha: Ayo goleki analog desimal saka angka biner 101101 2 Sing paling tengen = 1*2 0 Nol sabanjure = 0*2 1 Sing nomer telu saka tengen = 1*2 2 Sing nomer papat = 1*2 3 .. .lan sakteruse 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 Bayangna wolung bolam lampu disusun kanthi baris. Saben wong duwe saklar dhewe. Saben bolam lampu minangka discharge. Apa sampeyan bisa mbayangno, elinga kuliah sing sepisanan (ana piranti kasebut ing kana) utawa ing kene ana widget kanggo sampeyan: http://cdn.cs50.net/2016/x/psets/0/pset0/bulbs.html Play karo, laku "koyo" iku sistem binar. Ngonversi saka desimal menyang binar. Ing kene uga kabeh gampang banget, yen sampeyan ngerti inti. Ing kene kita duwe nomer 57 10 . Kanggo ngowahi menyang sistem binar, sampeyan kudu nemtokake apa daya maksimum loro ora ngluwihi nomer iki. 2 6 = 64. Iki cetha banget. Nanging 2 5 = 32. Saiki kita wis nemtokake digit paling pinunjul. 32 10= 100000 2 . Saiki kita nggoleki digit sabanjure. 57-32 = 25. Saiki kanggo 25 kita nggoleki daya loro sing ora ngluwihi 25. 2 4 = 16. Tegese digit sabanjure uga padha karo 1. 32+16 = 48 10 = 110000 2 . 57 – 48 = 9. 2 3 = 8, iki kurang saka 9. Tegese digit sabanjure uga dadi siji. 32 + 16 + 8 = 56 10 = 111000 2 . 57-56 = 1, tegese mung kari siji, 2 0 . Dadi 57 10 = 111001 2 . Yen dumadakan ana sing ora jelas, sampeyan bisa maca liyane ing Wikibook, lan yen sampeyan kuwat ing basa Inggris, iki minangka tambahan cilik kanggo kuliah.

ASCII

Materi tambahan kanggo ceramah CS50: Minggu 0 (kuliah 1 lan 2) - 4Komputer mung mangertos nul lan siji, lan memori bisa dituduhake minangka senar dawa banget saka bolam lampu karo ngalih, sing ndeleng ndhuwur. Kita wis ngerti carane makili nomer ing komputer. Apa babagan informasi liyane? Surat, gambar? Contone, ana 26 huruf ing alfabet Inggris. Sing, sacara teoritis, kita bisa makili huruf kanthi angka saka 0 nganti 25, mung ing sistem binar. Pitakonan ing ngisor iki muncul: kepiye kita bisa ngerti manawa kita duwe huruf cilik utawa huruf gedhe? Apa bab tandha wacan? Tanda-tanda sing ora katon kaya spasi? Ing cendhak, kita butuh sistem coding, Cap! Ing taun 1960-an, ana macem-macem skema sing ngode karakter. Kurang keseragaman mbuktekaken dadi masalah, lan ing taun 1963, American Standards Institute, ANSI, ngembangake lan ngenalake skema enkoding ASCII (American Standard Code for Information Interchange). Saben karakter ASCII kasusun saka pitung bit, utawa pitung bit, saben kang bisa njupuk nilai 0 utawa 1. 7 bit bisa terus nomer saka 0 kanggo 127 ing binar, tegese kita duwe 128 nomer kanggo encode karakter. Iku bakal katon sing iki cukup kanggo encode wicara Inggris ditulis? Ayo ngetung: az - 26 opsi AZ - 26 liyane 0-9 - 10 ,;:~& lan tandha wacan liyane - 32 Lan spasi liyane. Total - 95 karakter. 33 opsi kosong sing isih digunakake kanggo sing diarani karakter kontrol, kayata feed line utawa carriage return: https://ru.wikipedia.org/wiki/ASCII#/media/File:ASCII_Code_Chart.svg Penting kanggo mbedakake antarane karakter 0-9 lan angka 0-9. Karakter 0-9 diwakili dening nilai ASCII 48-57. Iku menarik kanggo dicathet yen papat bit paling tengen saka nilai ASCII iki minangka perwakilan binar saka nilai numerik 0-9. Iki rada nyederhanakake cara kanggo ngowahi antarane nilai ASCII lan nilai numerik sing nyata. Ayo miwiti program?

ngeruk

Materi tambahan kanggo ceramah CS50: Minggu 0 (kuliah 1 lan 2) - 5Dadi, Scratch. Sampeyan dikandhani babagan basa pamrograman visual iki lan prentah dhasar ing kuliah. Kanggo nyoba Scratch dhewe, tindakake link lan klik "Gabung". Sawise ndhaptar, sampeyan bisa miwiti program online. Ya, omong-omong, dina iki Scratch sebagéyan Russified. Bantuan kasebut, nanging isih nganggo basa Inggris. Yen sampeyan pengin, sampeyan bisa muter lan uga ndeleng kode proyek mahasiswa sing dituduhake ing kuliah. Punika Pikachu Pastry Catch . Utawa proyek kanthi ngurutake sampah menyang wadhah sing beda-beda: https://scratch.mit.edu/projects/71161586/ David lan perusahaan njaluk supaya sampeyan ora kuwatir yen sampeyan mikir yen sampeyan ora bisa nindakake proyek rumit kasebut: level iki wis mbutuhake sawetara katrampilan. .

olah raga

  1. Kanggo luwih ngerti pangolahan sing njupuk Panggonan ing Scratch, sampeyan bisa ngundhuh kode sumber kanggo sawetara proyèk saka kene . Play watara lan ndeleng. Sinau kode wong liya migunani banget. Iki minangka salah sawijining cara sing paling apik kanggo ngerteni apa sing ana ing program kasebut sing sampeyan durung diwasa. Sawise sampeyan mulai ngerti cara kerja aplikasi kasebut, sampeyan bisa maju kanthi yakin.

  2. Saiki wektu kanggo nindakake soko dhewe. Tantangan kanggo seneng-seneng nalika uga ngleksanakake proyek cilik saka awal. Bisa uga animasi, game, aksi interaktif.

Persyaratan proyek:
  • Program kasebut kudu ngemot paling ora rong sprite (karakter, gambar), lan salah sijine kudu ora kucing =).
  • Paling ora ana telung naskah (tindakan).
  • Paling ora siji kondisi, siji loop, lan siji variabel kudu dieksekusi.
  • Paling ora siji swara kudu kalebu ing program.
Intine, proyek sampeyan bakal luwih rumit tinimbang sing ditulis ing kuliah, nanging luwih gampang tinimbang dolanan sing dituduhake babagan Pikachu lan koleksi sampah. Dadi proyek sampeyan bakal nggunakake sawetara rolas teka-teki sing nggawe kode Scratch. Yen ana sing ora bisa ditindakake, sampeyan bisa uga kudu ngganti pendekatan kanggo ngrampungake masalah kasebut. Sing utama yaiku lunga tanpa wedi! Sampeyan ngajak sampeyan takon lan nuduhake proyek sampeyan ing komentar.

Scratch: pandhuan cepet kanggo tumindak

Sprite minangka obyek utama proyek kasebut. Sembarang karakter - kucing, pesawat, bal - minangka sprite. Yen sampeyan nambahake rong kucing sing beda, iki rong sprite sing beda. Materi tambahan kanggo ceramah CS50: Minggu 0 (kuliah 1 lan 2) - 6Saben sprite duwe skrip sing nggambarake prilaku. Iki minangka blok tumindak. Kostum minangka obyek sing katon. Ing sprites piyambak ateges mung gambar. Saben sprite bisa duwe macem-macem kostum. Kanggo nggawe sprite, sampeyan kudu milih kostum asli saka perpustakaan Scratch, tarik dhewe ing editor sing dibangun, upload gambar apa wae, utawa malah njupuk foto nggunakake webcam lan upload. Kabeh sprite diselehake ing panggung sing diarani. Ing tataran ateges kita kanvas, setelan kanggo program. Sampeyan uga bisa masang swara saka perpustakaan menyang sprite utawa pemandangan, utawa sampeyan bisa mbukak utawa ngrekam dhewe nggunakake mikropon. Kanggo miwiti nglakokaké program, sampeyan kudu ngeklik gendera ijo ing pojok tengen ndhuwur jendhela pemandangan. Nanging sadurunge nindakake iki, sampeyan kudu nyeleh blok ing ngisor iki ing program: Materi tambahan kanggo ceramah CS50: Minggu 0 (kuliah 1 lan 2) - 7Lan masang sawetara pamblokiran kanggo iku, minangka kanggo bagean desainer. Contone: Materi tambahan kanggo ceramah CS50: Minggu 0 (kuliah 1 lan 2) - 8Ing kasus iki, nalika sampeyan ngeklik gendéra, sprite sing tumindak ditempelake njupuk 50 langkah lan meow. Kita duwe akeh blok. Dipérang dadi telung tab: skrip, kostum lan swara. Ayo nggawe program prasaja kanthi syarat. Yen wis rampung, kucing bakal ngeong, yen ora kawujud, dheweke bakal meneng. Operator dituduhake ing werna ijo. Sing nguji apa kahanan bener utawa salah duwe sudhut sing cetha ing sisih pinggir. Struktur tes kondisi lan puteran ditampilake ing oranye. Dheweke duwe bolongan khusus ing ngendi sampeyan bisa nyelehake blok liyane.

Siklus:

Baleni kaping tanpa wates: Materi tambahan kanggo ceramah CS50: Minggu 0 (kuliah 1 lan 2) - 9Baleni soko kaping pirang-pirang: Materi tambahan kanggo ceramah CS50: Minggu 0 (kuliah 1 lan 2) - 10Baleni tumindak yen kondisi wis ketemu: Materi tambahan kanggo ceramah CS50: Minggu 0 (kuliah 1 lan 2) - 11Sampeyan bisa nggawe variabel ing blok Data. Ing conto ing ngisor iki, kita nggawe variabel x, lan langsung ana tumindak sing bisa ditindakake. Sampeyan bisa nyetel ruang lingkup variabel: kanggo kabeh sprite utawa siji. Materi tambahan kanggo ceramah CS50: Minggu 0 (kuliah 1 lan 2) - 12Gendéra ijo ora mung tumindak. Uga ing bagean Acara sampeyan bisa nemokake sawetara kahanan kontrol liyane. Contone, sampeyan bisa milih apa sing kudu dilakoni nalika sampeyan ngeklik tombol utawa ing sprite dhewe nganggo mouse. Yen sampeyan mbutuhake informasi tambahan, sampeyan bisa nemokake iku, contone, kene .

Apa maneh

Yen akses Internet akeh sing dikarepake, disaranake ngundhuh editor Scratch offline ing https://scratch.mit.edu/scratch2download/ . Banjur aja lali ngirim proyek sampeyan menyang http://scratch.mit.edu/ nggunakake File > Unggah saka Komputer.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION