Sing durung nonton kuliah Harvard babagan dhasar pemrograman, bukak kene: https://javarush.com/quests/QUEST_HARVARD_CS50 =)
Pambuka. Struktur Kursus CS50
Kanca-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
- 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
Muga-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
Kita 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
Komputer 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
Dadi, 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
-
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.
-
Saiki wektu kanggo nindakake soko dhewe. Tantangan kanggo seneng-seneng nalika uga ngleksanakake proyek cilik saka awal. Bisa uga animasi, game, aksi interaktif.
- 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.
GO TO FULL VERSION