>> [MÜZİK OYUN]
>> -Alright!
>> -Bu CS50 olduğunu.
[MÜZİK - Iggy Azalea, "FANTAZİ"]
>> CS50 gelen -Benim favori bellek Ben Günü Puzzle gittiğimde oldu.
>> -Muhtemelen Sadece zaman Sorun setleri üzerinde çalışmaya harcanan
bozkır arkadaşlarımla ve insanlarla birlikte sonunda benim blockmates olur.
Dan >> -Benim en iyi bellek CS50 hackathon olduğunu.
-The CS50 hackathon.
>> -Hackathon.
-Hackathon.
-The Hackathon
Bowden -Rob.
Onun hakkında sadece her şey.
>> [MÜZİK - Iggy Azalea, "FANTAZİ"]
Ben on yaşındayken >> -Benim favori bellek evre ve ben prestijli bir rol oynadı
Bir düğüm [mi? Bağlantılı olarak?] [? Listesi. ?]
>> -Ne Zaman hepimiz özgür Dropbox alanı var ve David gibi oldu senin koltuk altına bakın.
Ve herkes için uzay gibi oldu!
>> [MÜZİK - Iggy Azalea, "FANTAZİ"]
>> Herhangi -My öneriler Gelen öğrenci olur
Gerçekten üzerinde çalışmak olacak Arkadaşlarınızla P-setleri.
>> -Ofis Saat çok arkadaşınız.
>> Deneyiminizi en Ayrıntılar Mümkün ve birçok insanlarla tanışmak.
>> Yardım istemek için korkuyor olma.
Hafta erken P-setleri -start.
-Ben Büyük şey olduğunu düşünüyorum Tüm kaynakların yararlanmak
Bu CS50 sahiptir.
>> Hafta erken ofis saat git.
>> -Kesinlikle Şort izle.
>> K-setleri ertelemek etme.
Eğer büyük bir grup emin bulmak Ayrıntılar insanların P-setleri üzerinde çalışmak için.
Sen çok eğlenceli olabilir ve iş bir arada halletmek.
>> Kendinizi zorlamaya korkuyor olma.
Bazen korsan baskısı için gidin.
Kağıt üzerinde >> -Write şeyler önce Hiç bilgisayarınızı dokunun.
>> -CS50 Gerçekten harika yardım almak için yollar sağlar.
>> Tavsiye -Benim tek parça uyku.
Herkes söyledi?
Emin uyku.
Bu, yapmak kolay değil ama bunu yapmak zorundasın, sanırım.
>> -Ben Gerçekten zihinsel hazırlanacak söyleyebilirim Bunu seveceksiniz çünkü.
[MÜZİK - Iggy Azalea, "FANTAZİ"]
>> -Bu CS50 olduğunu.
[MÜZİK - Iggy Azalea, "FANTAZİ"]
>> -Bu CS50 olduğunu.
>> [Alkış]
>> DAVID J. MALAN: Yani bu CS50 olduğunu ve bu Hafta 0 sonudur.
Ve bu sadece bazı oldu CS50 personelinin kim
Eğer sadece bölümlerde bekliyor ve ofis saatleri, ancak,
Ayrıca, bu önümüzdeki hafta sonu CS50 Bulmaca Day at.
Hangi yine değil, Tüm programlama hakkında.
Gerçekten, sizin bu beklenir bir şey programlamak zorunda kalmazsınız,
aksine kullanarak sorunları çözmek Senin yanında fikir ve arkadaşlar.
>> Bazı katılacak Facebook-- bizim arkadaşlar
Eğer ötürü-- kayıt varsa kim Son birkaç yıldır,
Aslında yazıyor var Bizimle bu zorluklar.
Ve böylece, onlar olanları olacak sonuçta Bulmaca Günü çalışıyor.
Ve böylece, sen meydan olacak şeyler tam türlü
ve sorunlar bu millet de Facebook düşünmek istiyorum.
Yani yarın.
Cs50.harvard.edu/register kayıt.
>> Bir çift Şimdi bir kelime Özellikle personel.
Bu burada, Ansel Duff ise kim aslında biridir
Bu ikili eş-yazarlar Çarşamba günü gördüğümüz ampuller,
CS50 kendi Dan Bradley ek olarak.
Ansel Duff da eski oldu benim birinci danışana 3 yıl önce
ve o aslında bu bile kürsü inşa.
O ne için gitti mühendislik bilimleri ve daha fazlası.
Şimdi, burada yaptığı resmi aslında CS50 hackathon 3 yıl önce Ansel
O birini ödünç zaman bizim balonlar, onun laptop sıkışmış
ve 12 sonraki bazı garip için saat, onun son projesi üzerinde duruldu
alarak kaçtığı sadece açmak için hackathon de şeker torbaları.
>> Ama daha yakın zamanda gitti Bizimle bu geçmiş yaz geçirmek,
kendi personeli için CS50 ve o zamandan beri Şimdi öğrenciler, bu dönem,
kendi 3D yazıcı vardır.
Ve özetle 3D yazıcılar ise oldukça bu gibi görünen bir cihaz.
Sen bir plastik makara ile doldurun Bu cihaz tarafından aşağı eritilir
ve bir şeyler inşa kelimenin tam anlamıyla yoktan.
Çok mürekkep püskürtmeli bir yazıcı gibi, başlatmak Plastik küçük noktalar tükürme
Bu formu araya için Bütün nesneleri oluşturur.
Ve örneğin yüzden Ansel, önceki Bu yaz, bir iPhone 5 sahip
ve o gerçekten istediği karar verdi masanın üzerinde desteklemek için.
Ama o istemedi dışarı çıkmak ve bir şey satın almak
Apple mağaza veya benzeri, o gelen oturdu ve bir şeyler çizmeye başladık.
O bir kaç ölçümler aldı olarak ne kadar kalın
ve onun iPhone ne kadar geniş olduğunu, O, burada bu görüntü çizdi
o istediği karar 75 derecelik eğim var
o bakıyordu gibi Orada masanın üstünde onu.
Daha sonra kullanarak, bu döndü 3D CAD modeli içine yazılım,
bu biraz baktım böyle bir şey.
Ve sonra devam, sonuçta, aslında onu oluşturmak için.
Yani aslında, burada size varsa, belki de Ben var, atmak olduğunu bir satırda
an-- orada biz iPhone ile millet var 5, ve burada iki tane daha var.
>> Şimdi değil CS50 kendi, altta Cheng Gong de bu yaz yola
epeyce şeyler ve inşa etmek, aslında, hala nedenlerle
açık yavaş yavaş olmuştur filler bir ordu baskı
dile kolları ve gövdeleri ile.
Birkaç burada eğer aslında Herkes artık bir fili da-- olur.
Tamam,. ama Cheng ayrıca ne biziz için o çok nazik bir kamera kurmak
bu fil, çünkü İster inanın ister inanmayın,
alan yaklaşık iki ve bir Yarım saat yazdırmak için.
Hatta iPhone standı aldı bir saat ve bir buçuk yazdırmak için.
Ve Cheng önde gitti ve ne yaptığını önünde güzel bir kamera kuruldu
3D yazıcı, bir saat için filme ve Ansel tasarımı gibi bir buçuk basılmış.
Biz biraz seksi üste buna müzik amacıyla
bakmak için sana bunu vermek için 3D baskı nasıl çalıştığına.
Ve hatta bu olsa Aslında plastik olan
fark bu bir alandır eğer akademik sizi ilgilendiren,
millet arasında bulunmaktadır Burada onları Jennifer Lewis
Okulu'nda Aslında Mühendislik,
3D baskı üzerinde çalışıyor plastik nesneler.
Ama bile, giderek, Biyolojik malzemeler çözmek için
insanlar için fizyolojik sorunlar.
Ama burada biraz CS50 gelen bir şey.
>> [LOUD mekanik sesler]
DAVID J. MALAN: Bu ses değil gerçekte böyle bir şey,
ama bunu izlemek için çok serin var o hızda ve bu ses.
>> Şimdi, Çarşamba günü, nasıl Biz burada ilk aldın?
Biz bilgisayar hakkında konuşmaya başladı Bilim ve biz ne olduğunu sordu.
Ve bu, bir kaç şey hakkında ve çok farklı yönleri var
hangi baş edebilirsiniz CS50 gibi bir ders sonra.
Aslında, sen aldı eğer bir Bu gayri resmi kılavuzları
CS dışarıdan, kitapçık ki biz olsanız, temin ettik
Sadece CS50 almayı düşünüyordum, ya da belki, bir ikincil yapıyor
ya da belki de konsantre CS, bu gezinin yoktur.
Ve sen bir diyagram görürsünüz ucuna doğru olduğu
Size birçok farklı yönlere gösterir CS Eğer kapalı gidebilirsiniz.
>> Ama bugün için, biz, yine, odak edeceğiz Gerçekten temel manzaralarından birini,
belki de, nerede var sorunlarına girişleri,
Eğer gelen çıkışları vardır sorunlar ve var
oluşturmak için birlikte algoritmaları Bu girişlerden bu çıkışlar.
Ve böyle bir örnek, oldu Tabii ki, burada bu telefon defteri.
Ve biz gitmek için bir örnek olarak kullanılır doğru bir algoritma sayesinde.
Ve sonra başka biriydi Doğru, ama biraz daha hızlı.
Ve sonra biraz başka biriydi daha dramatik, ama temelde
daha hızlı.
>> Sağ, bu telefon defteri biz iddia yaklaşık 1.000 sayfa vardı.
Ve kaç kere var mı yarısında telefon rehberini gözyaşı
Mike Smith gibi birini bulmak, maksimum 1.000 sayfalık kitapta?
Yani, 10 vermek veya almak.
Ve böylece bir kez ben bu şeyi parçaladı yarım, ya da sadece, daha olgun,
ikiye bölünmüş, sadece var: 1000 üzerinden 10 sayfa.
Ve sen, biraz tahmin eğer gerçek olamayacak bir telefon rehberi,
ama bu telefon defteri bazı 4 olsaydı İçinde milyar sayfa, böylece tamamen
hantal fiziksel, kaç kez bir 4 milyar bölmek yok
yarısında sayfa telefon rehberi?
Yani vermek veya almak, aslında 32 değil.
Ve böylece 32 kez, sadece dışarı 4 milyar sayfalık, can
Mike Smith gibi birini bulmak.
Ve bu etkinlik var.
Daresay, iyi bir algoritma var.
>> Ama sonra biz taşındı Bunu resmileştirmek için denemek için.
Ve ben bu pseudocode kodunu önerdi.
Pseudocode kod resmi bir şey değildir.
Bu ezberlemek bir şey değil.
Bu ifade sadece bir şey var oldukça sezgisel, İngilizce kullanarak
veya herhangi bir dil gerçekten o kısaca fikirlerinizi aktarıyor.
Ama hakkında önemli ne pseudocode kodu size olduğunu
tüm tahmin deneyin gerçekleşebilir olası vakalar.
Ve gerçekten de, bu pseudocode Kod, gerçekten üç olgu vardı
Her zaman telefon rehberi bölünmüş.
Mike sola olabilir.
Mike sağa olabilir.
Ya da ben değilim sayfada doğru olabilir.
Ya da dördüncü köşe durumda, tabiri caizse.
Kötü senaryo biri olabilir hususların neler oluyor?
Mike sadece değil Telefon rehberi tüm.
>> Ve programlar crash-- ne zaman Mac Siz çalıştırmak ve PC yazılımı
bilgisayarlarınıza bazen , asılı veya beklenmedik biçimde sonlandırılıyor
Bu genellikle bazı anlamına gelir programcı, yakında sizin gibi bazı insan,
sadece berbat ve bazı hata yaptı.
Belki, belki orada olduğunu tahmin etmedi Telefon defterinde herhangi Mike Smith.
Ve aslında yazmak yok Kod böyle durumlarla başa çıkmak için,
genellikle öngörülemeyen şeyler olabilir.
Makineniz dondurabilir.
Bu yeniden doğmuş olabilir.
Program çıkabilirsiniz.
Ve böylece tüm bu saçmalıklar ki sen olabilir
Gerçek karşılaştığım hayat sadece, bilgisayar kullanarak
giderek sadece olacak Bu sezgi ile açıklanamayacak
ve ne bu anlayış Aslında başlık altında oluyor.
>> Şimdi bir göz atın deneyelim Daha genel bir sorun olarak.
Almak yerine Bir yerde devam gibi
Bu, oldukça yavaş olacağını bir, iki, üç, dört yapmak.
Ya da belki iki, dört, altı, sekiz.
En üstünde, bunun yerine, odaklanalım Biz resmileştirmek nasıl
işlemin algoritması tarafından hangi biz katılım sürebilir.
Ve yol boyunca, en başlayalım Bazı terminolojiyi uygulamak için
zaman aslında biz bugün kullanmak edeceğiz Bir dilde programlama başlar.
Yani, şimdi dört dakikalık bir video size bizim arkadaş ile birlikte koymak
TED, örgütten.
Biz senaryoyu verilen sayede ve onlar, ayı kendi animatörler getirdi
ve aslında bir 2D yarattı bir algoritma nedir animasyonu.
Biz ışıkları loş olsaydı.
>> [MÜZİK OYUN]
ANLATICI: Bir algoritma nedir?
Bilgisayar bilimi, Bir algoritma bir dizi
Talimatların çözme Bazı sorun adım adım.
Tipik haliyle, algoritmalar bilgisayarlar tarafından yürütülen,
ama biz insanlar de algoritmalar var.
Örneğin, nasıl olur Eğer sayma hakkında gitmek
Bir odadaki kişi sayısı?
Eğer benim gibi iseniz Eh, muhtemelen ediyorum Bir anda her kişi bir işaret
ve sıfırdan saymak.
Bir, iki, üç, dört, ve benzeri yer alır.
Peki, bu bir algoritma var.
Aslında, o da bir ifade deneyelim pseudocode kodu daha resmen ısırdı.
İngilizce-benzeri sözdizimi ki Bir programlama dili benzer.
>> Let n 0 eşit.
Odada her kişi için, 1 n-plus n eşittir ayarlayın.
Nasıl pseudocode yorumlamak?
Hat bir beyan Peki, yani, bir değişken konuşmak
adı, n ve başlangıç ​​durumuna 0 Bu onun değerini sadece
anlamına gelir de Bizim algoritma başlayan,
Biz konum hangi şey sayma 0 bir değere sahiptir.
Başlamadan önce Sonuçta, sayma Henüz bir şey sayılmaz var.
Bu değişkeni çağırmak n sadece bir kuralıdır.
Ben en çok şey denir olabilirdi.
Şimdi iki demarks hattı Bir döngünün başlangıcı,
adımların sırası olacak kez bazı dizi tekrarlayın.
Bizim örneğimizde Yani, adım biz konum alma odada kişi sayıyor.
Satırın altında iki çizgi açıklar, üç
tam olarak sayma konusunda gidersiniz nasıl.
girinti ima o tekrar eder hattı üç var.
Pseudocode kodu ile yüzden deyişi sonra 0'dan başlayıp olduğunu
Her kişi için Oda biz 1 ile n artırılması edeceğiz
Şimdi bu algoritma doğru?
Peki en Üzerinde biraz patlama verelim.
Varsa >> çalışır mı Odada iki kişi?
Görelim.
Hat bir biz 0 n başlatılamıyor.
Bu iki kişi her biri için, biz o 1 ile n artırmak.
Ile ilk gezi Yani döngü, biz 0 ile 1 n güncellemek.
Bu kadar ikinci gezi Aynı döngü, biz 1 ila 2 n güncellemek.
Ve böylece, bu algoritma en uç n, 2 olduğu
Gerçekten numarayı maçları odada kişi.
Şimdiye kadar, çok iyi.
>> Nasıl olsa bir köşe dava hakkında?
0 kişi olduğunu varsayalım Benden başka ODASI içinde, kim
Saymayı yapıyor.
Satırda bir, biz yine 0'a için n başlatılamadı.
Ama bu sefer, hat Üç hiç yürütmek değil
Odada bir kişi olmadığından.
Ve böylece n gerçekten eşleşir, 0 kalır odada kişi sayısı.
Oldukça basit, değil mi?
Ama bir seferde insanları bir sayma hayır, çok güzel verimsiz?
Şüphesiz biz daha iyisini yapabilirsiniz.
Neden anda iki kişiyi sayılmaz, yerine sayma, bir, iki, üç,
Dört, beş, altı, yedi, Sekiz ve benzeri yer alır.
Neden sayılmaz iki, dört, altı, sekiz ve benzeri?
Hatta hızlı geliyor.
Ve bu kesinlikle olduğunu.
>> Şimdi bu optimizasyon ifade edelim pseudocode kodu.
Let n 0 eşit.
Insanların her çift için Oda, n, set n artı 2 eşittir.
Oldukça basit bir değişiklik, değil mi?
Bir seferde insanlara tek saymak yerine, yerine bir seferde onları iki saymak.
Bu algoritma en, böylece, son iki kat daha hızlı.
Ama doğru?
Görelim.
Varsa o çalışır mı Odada iki kişi?
Satırda bir, biz 0 n başlatılamıyor.
Insan bu bir çift, biz o 2 ile n artırmak.
Ve böylece bu algoritma en tarafından uç n'nin 2, olduğu
Gerçekten numarayı maçları odada kişi.
>> Olduğu aşağıdaki varsayalım Odada sıfır insanlar.
Hat bir biz 0 n başlatılamıyor.
Daha önce olduğu gibi, hat, üç tüm çalıştırmak değil
insanların herhangi çiftleri yoktur çünkü Odaya ve böylece N 0 olarak kalır.
Hangi gerçekten maçları odada kişi sayısı.
Ama ne varsa Odada üç kişi?
Nasıl bu algoritma ücreti nedir?
, Hattı bir de, görelim Biz 0 n başlatılamıyor.
Bu insanların bir çift için, biz o 2 ile n artırmak.
Ama sonra ne oldu?
Başka bir tam yok odada kişi çifti,
böylece hat iki artık geçerlidir.
Ve böylece bu algoritmanın sonunda, n doğru olmadığı hala 2.
Aslında bu algoritma en dedi Bir hata var, çünkü adamcağız olacak.
>> Bazı Yapalım tazminat Yeni pseudocode kodu.
Let n 0 eşit.
Insanların her çift için Oda, N set n artı 2 eşittir.
Bir kişi eşleşmemiş kalırsa, 1 n-plus N eşit ayarlayın.
Bu sorunu çözmek için, var hat dört bir durumdur tanıtıldı,
aksi takdirde bir şekilde bilinmektedir şube, sadece yürütür
bir kişi varsa biz Başka eşleştirmek olamazdı.
Ve şimdi, ister bir veya üç var,
veya odada kişi herhangi bir tek sayı, Bu algoritma şimdi onları sayacaktır.
Biz bile daha iyi yapabilirim?
Peki, biz üçerli güvenebileceğimi, veya ayak, hatta beşli ve onlarca,
ama bunun ötesinde, bu almak için gidiyor biraz zor işaret.
>> Günün sonunda, ister At bilgisayar ya da insanlar tarafından yürütülen,
algoritmalar sadece vardır talimatlar kümesi
hangi sorunları çözmek için.
Bunlar sadece üçü.
Ne sorun olur bir algoritma ile çözmek?
>> DAVID J. MALAN: Yani kasten, çok basit bir program,
Çok basit bir algoritma şey elde edilmesi için
çok basit, sayma odada kişi sayısı.
>> Ama ayrı kızdırmak edelim Temsilcinin bazı
aslında burada özellikleri bile yararlı olacak
En uygulama Yazılımın kompleksi.
Yani örneğin, bu ilk satırı, biz değişkeni dediğimiz var,
ve cebir, sen genel olarak iyi bilinen kullanılarak x ve y
ve z, bazen, ve benzeri.
Ama programlama, değişkenler günün sonunda, hala,
çok benzer.
Ama düşünmek belki basittir Sadece bir kap gibi bir değişkenin.
Ve, aslında, bu bitlerin bir sayı Sabit diskinizde bir şekilde hayata
veya bilgisayarınızın belleğinde, Gelecekte bu konuda ama daha.
Sadece bir kap var.
Ve bir şey söylemek durumunda gibi izin n 0 eşit,
iyi ki bu cam arayarak gibi kase burada n, sadece keyfi bir isim,
ve başlangıçta bir husus koyarak.
Bu değeri Yani kase şu anda sıfırdır.
Ve tabii ki algıladıkları eğer daha sonraki bir çizgi,
Aslında bazı çizgi artırmak için Kod, burada bu üçüncü satırda olduğu gibi,
1 ile, bu ne demek gibi n geçerli değeri, 0, artı 1,
benzer bir şey koymak ping pong topu burada.
Bu şimdi değeri Değişken oldukça basit 1.
Ve çok hızlı bir şekilde, tahmin olabilir ama şimdi artık o kadar 3 var, ve, 2 var.
Böylece tüm bir değişkendir var.
Bu depolama bir parçası aslında bazı verileri depolamak.
Şu an için bir ping pong topu var.
Orada bir numara.
Ama sözcükler olabilir yazım denetleyicisi gibi sözlük,
Ben Çarşamba günü değindiğim Geçen yılki problemi setleri biri.
>> Şimdi bir başka önemli fikir, benzer ki Ben iddia ediyorum oldukça sezgisel
bir ilmek olmasıdır.
Ve süreç içinde döngü sayma herkesin
Aynı yapıyor, elbette, Yine bir şey ve again-- bir ya
Bir seferde bir zaman ya da iki de.
Ve İngilizce Bu ifade, veya pseudocode kodu, yollardan herhangi sayıda,
ama "için" Bu edat kullanarak bunu yaparken çok yaygın bir yoldur.
Odada her kişi için, bunu.
Tekrar ve tekrar.
Ve aslında bu olduğunu girintili, satır, üç,
Sadece ne demektir Yapmanız zannediyorsunuz
girintili var şeyler hat iki kendisini altında.
Sadece bir insan kongre, ancak ortak bir
Biz gerçek Yükseköğretim göreceğiniz gibi seviye programlama dilleri.
>> Şimdi biraz daha ilginç Bir köşe durumda olsun.
Örneğin, bir köşe olduğu zaman orada
üç kişi, ya da beş, ya da yedi idi veya odada kişi herhangi bir tek sayı,
ikişer ikişer frenler tarafından bunu yaparken çünkü Sonunda senin gidiş nedeniyle
En Ya, birini kaçırmak başından ya da çok uç
bunu nasıl bağlı.
Ve böylece, şimdi, ben bu şube var, ya da durum bir kişi kalır, eğer
Sonra devam edin ve bu bir kolu alamadım yalnız bir kişi
başkası ile eşleştirilmiş.
Yani biz dediğimiz bulunuyor Bir durum ya da bir dal.
>> Şimdi pseudocode kod daha genel olarak yetişkinler için
sorunların herhangi bir sayıda çözmek için yazılmıştır.
Ve ben düşündüm ne olur Burada yapılacak bir dakikanızı ayırın olduğunu
davet biz CS50 en diyelim Sahnede Rob Bowden kendi
İki gönüllüler tarafından birleştirilecek, kim ne bekliyor hiçbir fikrim yok.
Bunu söylediğim gibi bir el kısa sürede aşağı gitti.
Nasıl senin hakkında üzerinde yukarı gel, burada bitirmek.
Ve nasıl uzak mesafede uzakta, nasıl arka yol hakkında.
Arka Sıradakiler ellerinizi yukarı yukarı gel.
Tamam, ve senin adın ne?
>> ANİTA: Anita.
>> DAVID J. MALAN: Anita.
Tamam, seninle tanışmak güzel.
Bana Rob Bowden tanıştırayım.
Bu Anita olduğunu.
Ve senin adın ne?
>> Kiersten: Kiersten
>> DAVID J. MALAN: Kiersten.
Kiersten, yukarı gel ve Rob Bowden ve Anita karşılamak.
Tanıştığımıza memnun oldum.
Kiersten: Nice to meet you.
DAVID J. MALAN: Tamam, Rob.
ROB BOWDEN: Nice to meet you.
DAVID J. MALAN: Anita.
Kiersten: Merhaba Anita.
DAVID J. MALAN: Ve senin birkaç yüz sınıf arkadaşları.
Yani, şimdi beni go ahead ve çekin izin Burada sadece basit bir program kadar
Mac OS üzerinde bana izin vereceğim aslında bazı notlar zerre.
Siz her isterseniz Ve almak Oradaki okullarından birinde konumu,
Beni önde gidelim ve bir liste başlar Pseudocode kod, eğer olacak.
Ve ben burada ne yapmak istediğinizi, sonuçta sizin için türüdür
Bazı talimatlar ki bizim, seyirciler aslında
Bizim için ezberden gidiyor.
Bana önde ve sadece gidelim Bir numaralı listeye değiştirebilirsiniz
Oraya ne yaptıklarını eşleşecek.
Ve ben yapacağım ne Yardımlarınız, bir program yazmak olduğunu
pseudocode, hangi Bu adamlar gidiyor
Bir fıstık uygulamak için tereyağı ve jöle sandviç.
Bu yüzden belki de gelmişken var Size bazı şeyler göstermek
internette görmüş olabilir Sadece kısa bir can sıkıcı bir an için.
>> [MÜZİK BUCKEWHEAT BOYS, "Fıstık ezmesi JELLY ZAMAN "]
DAVID J. MALAN: Tamam.
Bu yeterli değil.
Yani burada bu arada, ben bir Google Gözlük çifti hangi
Biz CS50 kendi Rob Bowden koymak gerekir Onun gözünden dünyayı görmek için.
Ve biz sonrası elimizden geleni yapacağız Üretim aslında örmeye
ne Rob görüntüleri görüyor Şimdi, bu fiili ders içine
Bizim iki video Yanında gönüllüler.
Peki ne yapacağım , ben daktilo olacağım.
Biz burada hedefi var aslında bir program yazma
hangi olmak için, sonuç olarak bir fıstık ezmesi ve jöle sandviç,
ancak bu üç davranmaya gidiyoruz sanki onlar bilgisayarlardır.
Ve günün sonunda bilgisayarlar, aslında oldukça aptal cihazlardır.
Onlar süper hızlı, ama onlar sadece can yapmak, kelimenin tam anlamıyla, ne anlattıklarını.
Sen sadece bir fıstık yapmak diyemeyiz tereyağı ve jöle sandviç.
Bunu yapmak için onları programlamak zorunda.
Sen bunları söylemek zorundayım hassasiyetle ne yapacağını,
daha az işler korkunç gitmek ve, umarım, eğlenceli ters.
Dedi So >> ihtiyacımız Dinleyicilerden gelen bir çağrı-out
ne adım olmalıdır için biri olmak Burada amaç ise
Fıstık yapmaktır tereyağı ve jöle sandviç.
Evet?
>> İZLEYİCİ: ekmek [duyulamaz] çanta.
DAVID J. MALAN: ekmek poşeti açın.
Üç yarışmacı olur Yani eğer kelimenin tam anlamıyla bunu devam etmek istiyorum.
Ekmek torbası açın.
>> [KİTLE gülüyor]
DAVID J. MALAN: Yani bunun üzerinde çalışalım.
Tamam.
Yani iki adım, how-- Şimdi bu daha da alalım.
Evet, ön.
>> İZLEYİCİ: [duyulamaz] ekmek.
>> DAVID J. MALAN: Bu nedir?
>> İZLEYİCİ: ekmek çıkarın.
DAVID J. MALAN: ekmek çıkarın.
Benzer özlü.
Teşekkür ederim.
>> [Alkış]
DAVID J. MALAN: İşte bu?
Tamam, böylece iki gidiyor adım ekmek çıkarmak için.
Tamam, birileri istiyor Bize uzun bir cümle yazmak?
Başkası?
[Duyulamaz] Biraz daha.
Hayır, şimdi bir şey.
Evet?
>> İZLEYİCİ: İki birbirine dilimler.
>> DAVID J. MALAN: İki birbirine dilimler.
>> [KİTLE gülüyor]
>> DAVID J. MALAN: İki birbirine dilimler.
Dört adım.
Evet?
>> İZLEYİCİ: Take your el ve hafifçe ayarlayın
fıstık ezmesi kapağın üstüne.
>> [KİTLE gülüyor]
HEDEF KİTLE: [Duyulmaz] fıstık ezmesi yanında.
DAVID J. MALAN: Ne?
Tekrar söyle.
>> İZLEYİCİ: Kapağı sökün ve koyun fıstık ezmesi yanında yavaşça.
>> DAVID J. MALAN: yavaşça koyun fıstık ezmesi yanında.
Tamam, ilerleme.
Beşinci adım.
Mükemmel.
Evet?
>> Bıçağı Pick up.
DAVID J. MALAN: bıçak Pick up.
Tamam, altı adım.
Evet?
>> İZLEYİCİ: sap ile bıçak tutun.
DAVID J. MALAN: tutun sap ile bıçak.
Sap ile bıçak tutun.
Yedi adım.
Evet?
>> İZLEYİCİ: yerfıstığı [duyulamaz] bıçak tereyağı ve az dışarı [duyulamaz].
>> DAVID J. MALAN: I in-- bıçağı fıstık ezmesi duydum "koymak bıçak
ve mümkün olduğunca dışarı az almak. "
Bu arada, ilk kağıt çıkarın.
Pekala, dokuz adım.
Dokuz Adım.
Biz aslında henüz bir sandviç yapılmış değil.
Evet?
HEDEF KİTLE: fıstık ezmesi bıçak kullanarak, dedi ekmek fıstık ezmesi uygulayın.
>> DAVID J. MALAN: bıçak kullanma fıstık ezmesi, fıstık ezmesi uygulamak
ekmek dedi.
>> [KİTLE gülüyor]
DAVID J. MALAN: Pekala adım 10.
Adım 10.
Evet?
>> İZLEYİCİ: Tat fıstık tereyağı kalitesini sağlamak için.
>> [KİTLE gülüyor]
DAVID J. MALAN: Adım 11.
Adım 11.
Hadi.
Evet?
Sağ orada.
>> İZLEYİCİ: dikkatlice jöle pick up.
>> DAVID J. MALAN: dikkatlice jöle pick up.
Tamam, ve sonra başka bir el kadar oldu.
Sağ arkanda.
Evet, mavi.
>> İZLEYİCİ: Pekala, kaldırın evet, [inaudible] dan kapak,
jöle kapağını kaldırın.
>> [KİTLE gülüyor]
>> DAVID J. MALAN: jöle itibaren.
Ha ha.
>> [KİTLE gülüyor]
DAVID J. MALAN: Ve?
HEDEF KİTLE: Ve ancak Herhangi [duyulamaz] süpürün.
[KİTLE gülüyor]
HEDEF KİTLE: Tabii ki, [inaudible] önce, jöle kağıdı çıkarın.
DAVID J. MALAN: jöle kağıdı çıkarın.
Adım 14.
Biz neredeyse oradayız.
Evet?
>> İZLEYİCİ: İnvert jöle şişe önce her şey düşer.
>> DAVID J. MALAN: İnvert jöle jöle önce şişe düşer.
Adım 15.
>> İZLEYİCİ: kapağı değiştirin.
>> DAVID J. MALAN: kapağı değiştirin.
Adım 16.
Evet?
>> İZLEYİCİ: [Duyulmaz]
DAVID J. MALAN: tekrar söyle.
HEDEF KİTLE: senin jöle Kapağı çıkarın.
DAVID J. MALAN: senin jöle Kapalı.
Yani Üzgünüz gerçekten--.
Hadi.
Kapağı değiştirin.
Sen dedi cap-- koy jöle kapağını çıkarın.
Biz döngü biraz senin gibi hissedin.
Adım 17.
Evet?
>> İZLEYİCİ: [Duyulmaz]
DAVID J. MALAN: tekrar söyle.
HEDEF KİTLE: [Duyulmaz]
DAVID J. MALAN: step-- geri dön
HEDEF KİTLE: [Duyulmaz]
DAVID J. MALAN: Kaldır fıstık ezmesi gelen kap.
Evet?
>> İZLEYİCİ: Bırak bütün ekmek jöle.
>> DAVID J. MALAN: Tüm Bırak ekmek jöle.
DAVID J. MALAN: Neredeyse geldik.
Adım 19.
>> İZLEYİCİ: Fazla jöle çıkarın.
>> DAVID J. MALAN: Haha, jöle.
>> [Alkış]
DAVID J. MALAN: Neden biz-- yok bir adım daha bu eve götürmek için.
Bir adım daha ve sonra Biz sandviç hizmet edeceğiz.
Evet?
>> İZLEYİCİ: [Duyulmaz]
>> DAVID J. MALAN: Herhangi bir sandviç yaparken remains-- diyelim girinti yemek bu--.
>> [Kahkahalar]
>> DAVID J. MALAN: Pekala, teşekkür ederim Burada bizim gönüllülere.
>> [Alkış}
>> DAVID J. MALAN: Biz bazı güzel var Sizin her biri için hediyeler ayrılık.
Kendi fıstık ezmesi, jöle, ve ekmek eve geri getirmek için.
Teşekkür ederim.
>> Kiersten: Teşekkür ederim.
DAVID J. MALAN: [duyulamaz] hoş geldiniz.
[Alkış]
DAVID J. MALAN: Peki, bu, bir Elbette, bir saçma bir örnek.
Doğru?
Ama bu tür biz nasıl ortaya yok verilen insanlar sadece netlik almak.
Ve aslında ben oldum Başka bir insana konuşurken,
o sadece ne demek istediğini bilir.
>> Bilgisayar gitmiyor ne demek bilmek,
da olduğu gibi, kullanılarak biz bugün yapılacak üzereyiz
Scratch şey programlama, bir sürükle ve damla, bulmaca parçası tarzı dili.
Hatta genç için tasarlanmış çocuklar, var
böylece açık ve bu kadar edebi olmak üzere ne program yapmak istiyorum.
Şimdi sonuçta, biz konum programlama olacak
değil pseudocode kodu, Sözdizimi gibi İngilizce,
ancak kod veya daha düzgün, kaynak kodu.
Kaynak kodu sadece fantezi yoludur aslında kod tanımlamak için
bu bir klavye ile yazmak değil İngilizce başına içinde.
Bu C veya Java veya C ++ veya bir şey var böyle, yakında göreceğimiz gibi.
>> Ve aslında, sadece bir korkutmak için İlk bakışta, size birkaç,
Bu dilde yazılmış bir program C. Ama size birkaç un-korkutmak için çağırdı,
tamamen olacak ne olup bittiğini anlamak
gel sonraki pazartesi günü ne zaman böyle bir şey geliyor.
Açıkçası, bu eski bir dildir.
Bu, oldukça gizemli bulunuyor ama temsilcisi bulunuyor
Bugünlerde dilde bir çok bu parantez ve kıvırcık çok var
ayraçları ve tırnak işaretleri ve noktalı virgül.
Bu bir çok değil sözdizimsel şeyler
Tüm entelektüel ilginç bir.
Gerçekten de, mutlak bir oyalama var çok basit fikirlerden
O karşısında bize bakıyor.
Bu program, sadece tahmin edebileceğiniz gibi, Birinin bilgisayar ekranına yazdırır
kelimeler "Merhaba virgül dünya."
Işte bu.
Yani açıkça, orada var bir sürü şey
şekilde elde Orada bazı açıklık,
ama çok hızlı bir şekilde kayma oluyor uzaklıkta ve tamamen sezgisel.
>> Nitekim, biz yapacağız ne Bugün bu oldukça karmaşık distill edilir
Aradığınız program, hangi tekrar geleceğiz Hızlı anlıyorum, ama bir şey için
daha basit.
Sadece ne demek diyelim.
En ne demek resmini çizmek edelim, Burada bu puzzle parçaları yoluyla.
>> Yani bu bir programlama Sıfırdan olarak bilinen bir dil.
Bu MIT Media Lab tarafından geliştirilmiştir.
Ve sorunun göreceksiniz ne sıfır set hangi sonra bu gece çıkacak
biz bu gitmek gerekir Burada scratch.mit.edu URL.
Ve onlar bir web var göre arabirimi üzerinden
İlk program yazacağız.
Ya da önce size bu deneyim, sizin ikinci programlar,
ancak ortamda de bu muhtemelen biraz yabancı ve
bir şey yaratmak için size itecektir Bu çok görsel ortamını kullanarak.
>> Şimdi, ben burada yapacağım şey programın kendisi kadar açık olduğunu.
Bu, sadece bir web tarayıcısı olarak var ama aynı zamanda indirilebilir bir program olarak
böylece aslında kullanabilirsiniz Eğer internet erişimi yoksa.
Ve ben bunu yapacağım Burada, Sanders, sadece
durumda Wi-Fi yok süper iyi işbirliği.
Ve ne yapacağım noktasıdır Bu programın bir kaç özelliği dışında.
Yani, açık olmak gerekirse, ben sadece çift var benim masaüstünde simgesi tıklandığında
ya da eşit, scratch.mit.edu gitti ve bu pencereyi çekti var.
Bu bir programlama ortamıdır.
Bu yazılım bir parçası olduğunu MIT'de bazı arkadaşlarımız
en bize ve yazmak olduğunu yazdı Bir dilde programlar Scratch çağırdı.
>> Şimdi bu olur Ayrıca Scratch adlı oluyor kedi
ve bu yaşadığı onun dünya.
Bu da, tabiri caizse, aşamasıdır sol üst köşesinde dikdörtgen.
Ve o bir kedi gibi görünmek zorunda değildir.
Onu görünmesini sağlayabilirsiniz bir şey ve sizin gibi
gibi pek çok cinler olabilir, veya bir programda karakter.
Bu arada, buraya kadar üzerinde Doğru, bir boş büyük kayrak olduğunu.
Ve bu, bir anda, nerede Biz programlamaya başlamak için gidiyoruz
sürükleyip bırakarak Bu grafik bulmaca
doğru parçaları Burada ortada.
Ve daha onlardan yolu daha var Sınıfta burada vakit harcamak
Eğer bulacaksınız çünkü hepsi oldukça sezgisel konum.
Yine tasarlanmıştır çocuklar, ama biz için
Bunlardan bazıları dışında kızdırmak için kullanabilirsiniz döngüler değişkenlerin temel fikirler,
koşullar ve yakında şeyler fonksiyonlar ve etkinlikler gibi
ve ipler ve yaparız diğer fantezi şeyler Aslında oluşturmak için önce uzun olsun
Sıfırdan bir şey.
Cinas amaçlanan.
>> Şimdi, ben burada yapacağım ne değil hareketi, ancak kontrol tıklayın.
Ve bu sadece bir olduğunu ötürü-- sınıflandırılması
ve ben farklı bir bakın renk blokları ayarlayın.
Ama birkaç tanıdık kelime fark.
Ve "else if" "Eğer" ve "tekrar."
Ve muhtemelen tahmin edebilirsiniz Bu, şube anımsatan var
veya şartlar gördüğümüz, ve Hatta bir döngü yapısı.
Yani biz burada benzer bloklar var.
Ama en ilginç kimse burada bu biridir.
Bu yeşil bayrak tıklandığında, Bu, önceden programlama olanlara
deneyim, eşdeğer Bir ana fonksiyonu.
Ama bilmeyenler için, Bu bulmaca parçası
Bu bizim tüm programını başlatmak başlayacak.
Ben gittiğimde tam anlamıyla bu demektir Program ve yeşil flag-- tıklayın
sen buraya görebilirsiniz hangi UI sol üst köşesi,
kadar yeşil bayrağı görmek Kırmızı dur işareti yanında?
Bunu tıkladığınızda, benim Program çalıştırmak için gidiyor.
Şimdi, ben bir şey yapacağım Scratch ile süper basit.
Ben önde gitmek için gidiyorum ve görünüm paneline gidin
Burada, ben bir grup var burada mor bulmaca parçaları,
ve ben önde gitmek ve yapmak için gidiyorum bir şey süper basit gibi söylüyorlar.
Ve zaten-- haber bu beyaz kutu metin
Ben söylemek için gidiyorum editable-- olduğunu "Merhaba dünya" sadece biz gibi
Bu metinsel yaptım sürüm bir an önce.
Ve şimdi ben gidip bu tıklarsanız Yeşil bayrak, ben şimdi programlanmış var.
Bu özellikle değil ilginç bir program,
ama bilgisayar bir şey yaptı.
Ben bir program başladı ve o Ben bunu yapmak için söylediklerini yaptım.
Şimdi, ben sürükle ve bırak devam edebilirsiniz Daha fazla ve bu puzzle parçaları daha
ve onlar içiçe olacak, ama konum burada bazı terminoloji tokat izin
Biz yinelenen görürsünüz Kurs boyunca,
ve gerçekten bilgisayar bilimi boyunca ve daha genel programlama.
>> Bu blok, mor, diyelim "demek" Sadece bir açıklama aramaya başlayın.
Bu aslında bir açıklamada gibi.
Bu yapın.
Yani, bu bir kategori var talimatlar size o
parçası olarak bir bilgisayar beslemek olabilir Bir program veya bir algoritma.
Ve açık olmak, sen ettik Muhtemelen hafife alınan
Bu bilgisayarınıza programları var.
Ve onlar tür algoritmalar, ama bir program gerçekten algoritmalar bir demet
Bazı insanlar yazdı.
Onlar o kadar paketlenmiş ve Onlar, sana öyle sattı
ya da bir web sitesinde yayınlanan indirmek için.
Yani, bir program sadece bir olduğunu sıfır ve olanları sürü
Bu, her nasılsa, insanlar yarattı.
Ve sıfır olan desen ve olanlar, sonuçta, şeyleri temsil
"merhaba demek dünya" ya da "oyun gibi Bu müzik "ya da" Bu videoyu oynatmak "
ya da "bir e-posta gönderin."
Ama biz geri geleceğiz yol daha ayrıntılı ne
ne zaman bir program, Kendinizi, bunları yazmak.
>> Burada başka statement-- var "Bir saniye bekleyin."
Ben istiyorum ben henüz bu kullanmak, ancak vermedi Benim program, bir an için duraklatmak için
bir şeyler yapmak, bunu yapmak için bunu söyleyebilirim.
Bir saniye bekleyin.
Şimdi başka bir "ses çalmak." Olabilir
Yani, bu, bunu Scratch için benzersiz sesleri oynamak için yeteneği vardır.
Yani, bir açıklama ben olabilir kullanım "sesi çalmak.", burada, bir
Bu arada, Boole ifadesi, bu nedenle bu bir meraklısı kelime
Sayın Bool adında bir adam adını, ve bu tüm bir soru hakkında.
Doğru veya false-- fare aşağı?
Bir Boole ifadesi sadece bir İngilizce bir sentezleme
Bu doğru veya yanlış olduğunu.
Ya açık veya kapalı.
Ya bir ya da sıfır.
Bunu düşünebilirsiniz yollardan herhangi bir sayıda,
ama bu kadar da doğru ya da Bu yanlış, sonuçta.
Yani "Fare aşağı soru işareti," Bu bir Boole ifadesi olacaktır.
Ve belki, başkalarının düşünebilirsiniz.
Örneğin, "sol sayıdır Doğru sayısından daha az? "
Bu da, olurdu bir Boole ifadesi.
"Daha az" bir Boole ifadesidir.
>> Bu bir çok "dokunaklı fare işaretçisi."
Ben emin değilim neden onlar Fare işaretçisi çağırdı.
Bu sadece bir imleç olduğu anlamına gelir kedi dokunmadan ekranda ok,
örneğin.
Veya ekranın başka bir boyut.
Ve yine, bir soru ve bir Boole ifadesini gösterir.
Bir şey sizin olabilir Bir durumda kullanmak istiyorum.
Yani biz sadece bir an o geleceğiz.
Birlikte can "ve" şeyler.
Yani, sen bu olmadığını kontrol etmek istiyorsanız , durum VE bu durumda
Eğer böyle bir "ve" blok kullanabilirsiniz.
Ve burada bu koşul var.
Küçük açıklığın şekli dikkat Bu sarı puzzle parçası üst,
bu şekil anımsatan var biz sadece bir an önce gördüm.
Bu Boole ifadeleri her biri Bu işaret kenarları
sağ ve sol.
MİT millet karar çünkü Ve bu Bu görsel taşıma şekilleri ile,
ne tür insanlara yardım edebilirsiniz hem öğrenciler ve çocuklar,
tür anlamıyla boşlukları doldurmak için.
>> Şimdi bu puzzle-- Açılış, biraz küçük
ve biz programda göreceğimiz gibi, Scratch içinde, o sığacak şekilde büyüyecek.
Bu sonuçta, onun şeklini koruyacaktır.
Yani bir koşul karar edelim "Ben bir şey yapmak ya da değil ki?"
Bir Boole ifadesi Gerçek soru
Eğer ben gitmek karar kullandığınız Sol YA ben sağa gitmek
Ben bu karşılaştığınızda yol çatal denilen?
İki şube olabilir.
Doğru bir şey IF, do Bu, başka, bu şekilde gitmek
ya da sadece hiçbir şey yapabilirsiniz Tüm bu blok ima ettiği gibi.
Benzer şekilde, yuva bunları yapabilirsiniz.
Yani sen çatal üçlü istiyorsanız Yol, bu ya da şu ya da bu yapmak, ya
Eğer bunlar bir araya sadece yuva yapabilirsiniz.
Ve biraz olsun başlıyor çirkin, sonunda, emin,
ama mantık hala aynı.
Kelimenin tam anlamıyla okuyabilirsiniz alt Bu üst
ve o bu eğer means-- ne diyor doğrudur, bunu başka else if.
>> Bir döngü Scratch daha basit almaz.
Her zaman aşağıdakileri yapın.
Şimdi size düşünmek olmayabilir orada değil, çünkü çok yapabilirsiniz
Üst ve arasında çok boşluk Bu puzzle parçası açılış alt.
Ama Scratch gidiyor görürsünüz gibi birçok puzzle parçaları sığdırmak için büyümek
Orada tıkmak istediğiniz gibi.
Başka bir döngü olabilir tekrarlar ile dile getirdi.
Eğer önceden biliyorsanız, "Ben Something 10 kez yapmak istiyorum, "
Sadece Scratch söyleyebilirim Something 10 kez yapmak.
Ve, bu arada, biz değişkenleri olabilir.
Yani burada bir keyfi biri, Bu, bu durumda turuncu var:
ve bu bir kasırga tur.
Yine, bu çok erişilebilir bulabilirsiniz Size bir kez işaret ve tıklayarak başlatın.
Benim değişken n adında, ama ben oldum o ben istediğim her şeyi adında olabilirdi,
ve ben, burada ayarlıyorum Bu keyfi bir örnek, sıfıra.
>> Şimdi merhaba gibi bir program görmeye Dünya, bütün bu zorlayıcı değil
bu yüzden aslında bir şey açalım eski bir öğrencisi yapılan.
Beni go ahead ve açalım Örneğin, burada bu bir,
hangi isterdim Bir gönüllüye sahip.
Pekala, nasıl en uzağa gidelim about--.
Evet, yukarı gel.
Adınız ne?
>> ABBY: Abby.
DAVID J. MALAN: Abby, yukarı gel.
Yani bugüne kadar oynadığım önce bu oyun?
ABBY: Hayır
DAVID J. MALAN: Pekala.
David nice to meet you.
Buraya gel.
Ve programlama nedir arka plan, varsa.
>> ABBY: Bazı C ++ öğrendim.
DAVID J. MALAN: Bazı C ++ öğrendim.
Ve oyun ne arka plan oynuyor?
>> ABBY: Değil bir sürü.
DAVID J. MALAN: Tamam, bu yüzden biz götüreceğiz.
Yani burada oyun çalışmaya gidiyor nasıl.
Ben önde gitmek için gidiyorum ve Yeşil bayrak, tıklayın hangi
buraya sağ üst olduğunu.
Sınıfta Şimdi selefi Burada bazı talimatlar verdi.
Ve sadece bir an, onu "uzay başlayacak." diyor
Yani go ahead ve boşluk çarptı.
>> BİLGİSAYAR OYUN: Pikachu.
DAVID J. MALAN: Ve gol olduğunu Orada gösterildiği gibi, yiyecek yakalamak
Soldaki.
Ve [duyulamaz]
>> [OYUN MÜZİK OYUN]
>> DAVID J. MALAN: Aww, iyi, oynamak için teşekkür ederiz.
Biz burada biraz var Sizin için hediye ayrılık.
Biz, CS50 stres topu Eğer seçmek isterseniz.
İyi Pekala, seninle tanışmak.
Geliyor ve zorlu için teşekkür ederiz.
Yani biz çok daha fazla stres topları var en motive bir örnek daha yapalım.
Bir gönüllü?
Nasıl Pekala, Burada ön.
Adınız ne?
>> PHILLIP: Phillip.
>> DAVID J. MALAN: Phillip.
Yukarı Phillip gel.
Yani, Phillip olacak Başka bir oyun ile meydan
senin öncüllerinden biri olduğunu sorunun bir parçası sıfır set gibi yazdı
Ivy Zor Oyunu denir.
Ve biz sadece bir göreceğimiz Bu demek ne bir an.
Phillip nice to meet you.
Arka plan nedir?
PHILLIP: kodlama bir sürü Bitti.
Çok küçük bir oyun Bitti.
>> DAVID J. MALAN: Tamam.
Çok oyun bir sürü var.
Ve daha önce bu oyunu oynadı?
>> PHILLIP: Hayır
David J. MALAN: Tüm Doğru, işte gidiyoruz.
Ben önde gitmek için gidiyorum ve yeşil bayrağı tıklatın.
>> [OYUN MÜZİK]
>> [MÜZİK MC HAMMER, "U BU TOUCH CAN NOT"]
>> PHILLIP: [Duyulmaz]
DAVID J. MALAN: [Duyulmaz]
PHILLIP: [Duyulmaz]
[Gülüyor]
[MÜZİK MC HAMMER, "U BU TOUCH CAN NOT"]
DAVID J. MALAN: [Duyulmaz] Içinden pulluk.
PHILLIP: [Duyulmaz]
DAVID J. MALAN: Haydi.
[MÜZİK MC HAMMER, "U BU TOUCH CAN NOT"]
DAVID J. MALAN: Pekala.
Tebrikler.
>> [Alkış]
>> DAVID J. MALAN: Biz sonrası bu çevrimiçi sonra yani
Eğer ertelemek olabilir onunla aynı zamanda.
Princeton bundan sonra, bir sonraki gelir.
>> Peki şimdi en aslında devam edelim sıfırdan başlamak,
tabiri caizse, aslında kadar inşa bu fikirlerin bazıları dışında kızdırmak olabilir
ve bir şey bile olsun sonunda daha karmaşık.
Ben buraya gitmek için gidiyorum ve ben gidiyorum go ahead ve yeni bir dosya oluşturun.
Yani yine, sorun kümesi yürüyecek Bu adımlardan bazıları aracılığıyla.
Ama, ben yaptım tüm gitmek oldu Dosya menüsünden ve I
dedi, "yeni" Microsoft gibi pek çok Word veya böyle herhangi bir program.
>> Ve en şimdi-- önde gidelim ve biz Bir an önce "Merhaba dünya" hayata,
ama en bir şey biraz daha şirin yapalım.
Ben olaylara kadar gidiyorum.
Ve ben ne zaman "yapacağım Yeşil bayrak tıkladım. "
Ve sonra, kullanmak için gidiyorum Biz bir şube diyelim.
Yani bir "eğer" koşulunu kullanmak için gidiyorum.
Ve ne kadar yakında yakın olsun fark ona, birlikte snap istiyor.
Yani gidelim ve bir araya enstantane.
Ve şimdi ilginç bir şey yapabilirim.
Ben burada ilerlemek, ben gidiyorum bloklar bir sürü görmek için.
Ben gidersem "veri" - Beni in-- Büyütmek izin değişkenlere ilişkin bir şey var.
Ben giderseniz "hareket" yapabilirsiniz görünüşe göre işler.
Ben "operatörler" için giderseniz - oh, bu, ilginç
Ben rastgele bir sayı seçebilirsiniz.
Yani bana sadece bir şeyler yapalım Bazı olasılık, çünkü.
Ben önde gitmek için gidiyorum ve Bu puzzle parçası sürükleyin,
Bu daha daha az olan blok, bu sadece bu yüzden
"Bu bir daha bu sayı az?"
Ama zor bir kodu bir numara istemiyorum çünkü oldukça anlamsız.
Yani bu parça sürüklemek için gidiyorum Burada, ve oturana kadar fark,
ve şimdi beni go ahead ve eğer "diyelim rastgele seçilmiş oluyor sayısı
altı daha az, aşağıdakileri yapın edilmektedir. "
Şimdi neden az altı?
Bu etkili Ne olasılık Sadece sezgisel, bana verecek?
Yaklaşık% 50, sağ?
Eğer en rastgele tahmin sayısı 1 ile 10 arasında, en az altı olduğu
açıkça iki, biri, üç, dört, ya da beş.
Ve böylece bana vermek için gidiyor Oluyor ne% 50 olasılık?
>> Peki en gibi bir şey yapalım Bu, "ses miyav oynarlar."
Ve haber, yine, bulmaca parçası büyür
çok uzun şekiller maç gibi, uygun.
İşte önemli olan bu.
Beni Scratch üzerinde gidelim Burada ve "oyun." tıklayın
Hiçbir şey olmuyor.
Bu bir hata mı?
Hayır, gerekli değil.
Sadece bu olabilir büyük numara seçildi.
O yüzden tekrar yapalım.
Hiçbir şey.
>> [MEOW]
DAVID J. MALAN: Orada öyle.
[MİYAV]
DAVID J. MALAN: Yine.
Hayır.
>> [Meowing]
DAVID J. MALAN: Eğer ettik Yani eğer Hiç, elbette, bir oyun oynadı
nerede şeyler rastgele oluyor, Kötü adamlar gibi geliyor ya da değil
, ekrana geliyor ya şeyler düşme veya düşen değil,
bu sadece bir şey süper, çünkü Bu gibi basit oluyor.
Rastgele bir sayı seçin, ve eğer o, bazı değerden daha az var
Belki bunu ya da belki bunu.
Biz dahil edebilirsiniz bir koşulu haline söyledi.
Farklı bir şey yapalım.
>> Bana bunu atmak edelim.
Sen tarafından şeyler kurtulabilirsiniz Sadece sola kapalı sürükleyerek
ve gitmesine izin.
Beni go ahead ve sonsuza kadar blok yapalım ve çok hızlı bir şekilde rahatsız edici bir şey yapmak.
Bana devam edelim ve "Ses miyav oynarlar." demek
Ama bu çok olmak istemiyorum can sıkıcı, bu nedenle, bana bu bloğu kapmak izin
"Bir saniye bekle" ve ihbar Bunun için daha fazla yer var.
Ama yeterince yakın giderseniz, oraya gitmek istiyor.
Yani gidelim ve o olacak bloğunu doldurmak için büyür.
Yani şimdi, bu bir döngü.
[Meowing]
DAVID J. MALAN: Ben kelimenin tam anlamıyla sonsuza yapıyor.
Tekrar ve tekrar.
Bu sadece doğal sondaj değildir.
Beni go ahead ve bunu değiştirmek edelim değil bir saniye, iki saniye
ve Enter tuşuna basın.
Scratch ile ilgili ve güzel ne etkileşimli programlamak olabilir.
Bir değişiklik yapın, belki girin veya Play vurdu Yine, ve sadece devam edecektir.
Peki, şimdi biz neden yapmıyoruz bir şey biraz şirin?
Her şeyi en baştan yapmak yerine, Beni go ahead ve avans kadar açalım
Ben pişmiş önceden olduğu, bir yaptı "Pet Kedi" denir.
Ve biz tüm göndeririz Online bu dosyaları,
ve sorun set sıfır anlatacağım bunlara nasıl erişebilir ve onları açmak için.
Ve ihbar, bu oldukça basittir.
Ama önceden, ben yakaladı gibi görünüyor Bir "sonsuza kadar" blok, bu yüzden bir döngü var.
Ve sonra ben bir "eğer" şartı var.
Ben bir Boole ifadesini var.
>> Yani İngilizce, sadece bakarak Bu, asla ettik özellikle
Sadece sezgisel, daha önce programlanmış, bu ne, yapmak için bu programı gidiyor?
>> [İZLEYİCİ CHATTER]
>> DAVID J. MALAN: Eğer kedi pet olursa, Kedi doğru, miyav gidiyor?
Çünkü bir "sonsuza kadar unchecking" Fare işaretçisi kedi dokunmadan.
Yani açık olması, ve ben demedim Bu daha önce, bu bulmacanın tüm
adet ve script o Biz onları içine kombine
tabiri caizse, bir betik ile eşanlamlı Program, gerçekten, bu kediye aittir.
Ve neden bildirimi nedeniyle bu-- Burada aynı kedi vurgulanır nasıl,
Buraya bir oluşturabilirsiniz İkinci kedi veya köpek ya da gerçekten
bir şey grafiksel istiyorum.
Bir şey alabilirsiniz Photoshop ya da benzerinden,
ve eğer bir şey entegre Bir proje için bunu yapmak istiyorum.
Ve ne bulacaksınız, sonuçta, senin olduğunu
bulmaca ekleyin, komut ekleyebilirsiniz Bireysel karakter adet.
Yani bunların hepsi aittir Bu özel kat.
Yani şimdi ben go ahead ve oynarsak Bu programın, hiçbir şey oluyor.
Ama çalışıyor.
Program, bu sonsuza kadar döngü içinde tür ne olacağını bekliyor?
>> [İZLEYİCİ CHATTER]
>> DAVID J. MALAN: kedi pet için.
Yani ona-- doğru benim fareyi hareket halinde
>> [Meowing]
>> DAVID J. MALAN: Peki şimdi Ben kediyi okşuyor ediyorum.
Bu arada, biz bir çift şube olabilir.
Beni go ahead ve açalım yukarı kedi hayvan yok.
Biz de bu online göndeririz.
Bu biraz daha Karmaşık, ama demeden
belki tahmin edebilirsiniz ne ne olacak.
>> [Meowing]
>> DAVID J. MALAN: Kedi meowing, büyük eski zaman.
Ama bu program tabii ki sözde "Kedi Pet etmeyin,"
çok net bir şekilde, ben kedi pet istiyorum.
>> [ROARING]
>> DAVID J. MALAN: cat pet etmeyin.
Şimdi, Bir göz atalım Burada başka bir örnek de.
Bu bir adı verilecek "Merhaba, Merhaba, Merhaba," nedenlerle
çünkü, açık olacak en kısa sürede bu şey-- çalıştırmak gibi
>> [SEAL BARKING]
DAVID J. MALAN: Çok kolay can sıkıcı Scratch programları yazmak.
[SEAL BARKING]
DAVID J. MALAN: Şimdi gitmeyecek Bunların hepsi büyük detaya,
ama bir fark var Burada yeni özellikler çift.
Adında bir değişken, "sessiz" var ve daha sonra koşullar bir grup var.
Ve şimdi, bana izin Sadece söyleyerek sizi kızdırmak
Bu adam çok can sıkıcı olur eğer, Ben boşluk çarptı ve o durur.
Rol ile çalınan Çünkü aşağıdaki gibi bu iki komut olduğunu.
Bunlardan biri yapıyor birkaç saniyede havlıyor.
Diğeri sadece bekliyor Benim için boşluk çubuğuna vurmak.
Ve ben boşluk çarptı yaparsanız, bunu değiştirmek için gidiyor
Bu değişkenin durumu, değer Bu değişkenin, görünüşte var
sözde "sessiz," Ben çağırmadım n gibi sıkıcı bir şey,
Ben "sessiz.", O İngilizce bir kelime denir
1 1 0 veya 0'dan.
True true false veya false.
Ve böylece aslında can Şimdi bakın size o
iki komut olabilir, iki programları, aynı anda çalışan
ve her ikisi de oturuyor olabilir Bir döngü içinde bir şey yapıyor.
İnsan yapmak için bekliyorum Boşluk çubuğuna vurmak gibi bir şey.
[SEAL BARKING]
DAVID J. MALAN: Ve şimdi yine onun yolda.
[SEAL BARKING]
DAVID J. MALAN: Başka Peki bu örneklerle ne olabilir?
Peki, devam edin ve bir yapalım koyun sayma ile örnek.
Biz burada çizgisinde bu devam edeceğiz of-- koyun örneği yukarı açalım.
Ve ihbar, çok daha önce olduğu gibi, bu bir, Neyse ki, biraz daha az can sıkıcı bir durum.
Ben buraya oynamak vurmak kez Oh hayır, bu can sıkıcı bir durum.
O baa gidiyor Bazı olasılıkla.
Tekrar bu oynayalım.
>> [KOYUN BLEETING]
DAVID J. MALAN: tek fark biz tabiri caizse, kostüm değiştirdim
ve biz yarıya ve söylemek konum Bu gerçek sayı nedir.
Peki en önde gidelim ve bunu bir adım ileri götürmek.
Ve ben size kızdırmak izin Burada bir diğer özelliği.
En go ahead ve açalım Bir program konu çağırdı.
Eğer birine sahip olabilir Yani çok gibi cin, birden çok komut sahip olan,
iki sprite, bir kuş var olabilir Bir kedi, her biri kendi komut dosyası olan.
Ve bunların her biri can aynı anda çalışır.
Hiç duydum varsa Kelime "çoklu"
Bir bilgisayar "iş parçacıklı" yoludur o, aynı anda birden fazla şey yapabilirsiniz
ve, aslında, bu yüzden Scratch yapabilirsiniz.
>> Ve şimdi kuş tür aptal olduğunu fark.
Sadece rastgele şeyler yapıyor, ekran kapalı zıplatma.
Açıkça kedi programlanmış tür isteyen yeteneklere sahip
kuş nedeniyle evde te O zaman ona işaret ediyor.
Sonunda kadar, o Gerçek kuş yakalar.
Yani ayrıntıları üzerinde durmak olmaz Burada, ama sen yapabilirsin tür
Aynı şekil bakış bazı Koşulları "ise" bazı değişkenler,
belki bazı döngüler vardır sonuçta aynı şeyi yapıyor.
>> Şimdi beni go ahead ve açalım tamamen başka bir şey yukarı,
Özellikle, sizin bazı kızdırmak için daha rahat olan,
aslında bu ne yapabilirim.
Ben önde gitmek için gidiyorum ve burada Düğmesi açın.
Ve bu bir süper Basit gibi görünen bir program,
ama ne olur izle ben- İzle zaman ne
Ben bu sürümü açtığınızda olur, Burada tarayıcıda, scratch.mit.edu içinde.
Ve ben bu büyük kırmızı tıkladığınızda düğmesi, ne fark.
Peki burada neler oluyor?
Çok daha fazla karmaşıklık aslında var kaputun altında oluyor,
Hatta ben uyguladık olsa Bu, ya açıkçası, Dan Bradley
böylece sadece bu uygulamıştır.
O özel Scratch bulmaca tasarladı Bir Scratch uzantısı olarak bilinen parça,
O geçiş denir.
>> Peki Geçiş yapar gönderir olduğunu internet üzerinden bir mesaj.
Ve bu mesajın kendisi Biraz gizemli görünüyor.
Ama bu, çok, sen olacak dönem sonuna kadar anlamak.
o aslında gönderiyor mesajı Bu gibi küçük bir şey görünüyor.
Sadece metin var.
Cryptic.
Zaman bunu anlayacaksınız Biz sorunun yedi set olsun.
Bu sadece bir metin mesajı gönderiyor Bir sunucuya internet üzerinden.
Ve bu sunucu, sonuçta, bir Bu ampul, konuşurken hangi
Bu fantezi ampullerin birine sahiptir Bunun o, kendisi, konuşuyor
Burada ağa Wi-Fi, nerede bir yerel aygıt aşağı ötürü--
ve, sonuçta, aslında var açık ve kapalı o ışığı dönüm.
Ama biz daha fazlasını yapabilirsiniz Hala ilginç şeyler.
Dan da bizim için ne yaptığını dikkat edin.
O, her çoklu sprite yaptı hangi bir tıklama için bekleyen bir komut dosyası vardır.
Ben kırmızı tıklarsanız Ve, kırmızı gider.
Ben mavi alırsanız, o mavimsi gider.
Yeşil, sarı, turuncu.
Ve bu herkes tarafından oluyor internet üzerine çıkış yolu gidiyor,
burada geri adım ampul, açık ve kapalı.
>> Ve Durdur-- inanabilir ve bu ise en karmaşık Scratch belki biri
projeler birisi implemented-- vardır o bir gün, adalet, bunu yaptım.
Ve biz aşağı attı meydan oldu Dan biz, ikili ampuller var görünce
Biz Scratch var, nasıl Biz bunları birleştirebilirsiniz?
Ve, gerçekten de, bu kesinlikle Bu odada bir şey herkes
dönemlik end-- o mi tarafından yapabilirdi kullanılarak reimplemented ikili ampuller
oldu aynı arayüz Çarşamba günü bizim iPad üzerinde.
Şimdi, ben aslında Yani eğer Burada artı tıklayın
biz bir, iki, üç var.
Ben 16 hit ve o bir açabilirsiniz.
128, ve benzeri yer alır.
>> Tek başına sahip Şimdi ise ve zihninizi şişmiş,
Eğer işler çok daha erişilebilir yapabileceğini, kesinlikle herhangi bir donanım gerektirmeyen.
Ekranın kendisi Sadece şeyler.
Ve, gerçekten de, ne en öğrenci Oyunun bazı tür yapıyor sonunda,
sanatsal bazı iş parçası, ya da Etkileşimli animasyon çeşit.
Ve ben birini diyecekler bizim sık bu olmuştur.
Ve ben eğer düşünce biz ışıkları loş olabilir,
Bu son bir bakış alacağım Sonuç olarak Scratch projesi.
Ama siz, akılda ne tutmalı edeceğiz Ben, son bir detay sizi kızdırmak olabilir
kesit önümüzdeki hafta başlayacak.
Ofis saatleri önümüzdeki hafta başlayacak.
Sorun sıfır ilan edilecektir set CS50.harvard.edu sonra bugün.
Ve karşılaşacaksınız Sorun set sıfır
CS50 kendi Zamyla Chan, kim En Bizim izlenecek yollar yönlendirir.
Bunlar gömülü videolar Sorun setleri
bir sürü boyunca elini yapacak Birçok ile ilk kurulumun ve
olası tasarım kararlarının.
Eğer ettik Yani eğer hiç bu duyguyu vardı Bir ev ödevi toplayıp zaman
ve merak, nerede başlar?
O sizin için cevap olacaktır.
Ve şimdi, bir final program senin öncekilerden birinden
sorusuna cevap "Tilki ne diyor?"
[MÜZİK Ylvis, "FOX NE DİYOR?]
>> Ylvis: (SÖYLEME) Köpek atkı gider.
Kedi miyav gider.
Kuş tweet gider ve fare gıcırtı gider.
İnek moo gider.
Kurbağa croak gider.
Ve fil çalacak gider.
Ördekler vak ve balık blub gitmek söylüyorlar.
Ve mühür, ow ow ow gider ama hiç kimse bilmiyor bir ses var,
tilki ne diyor?
Ve
>> DAVID J. MALAN: Bu CS50 için var.
Biz sizi görecek Günlük ve Pazartesi günü Puzzle.
>> [Alkış]
>> [MÜZİK Ylvis, "NE YAPAR FOX SAY?"]
>> ANLATICI: Ve şimdi derin DAV Farnham tarafından düşünceler.
Ben çarptı Bugün Bir telefon rehberi ile karşı karşıya.
Ben de olduğum gibi, kafa karıştırıcı Ev Online izliyor.