[MÜZİK] Bu CS50-- Harvard Üniversitenin tanıtımı entelektüel için Bilgisayar biliminin işletmeler ve programlama sanatı. Ve benim adım David Malan, ve Ben sadece bu sabah düşünüyordum, o inanılmaz 20 yıl bugün oldu Son oturdu beri siz şimdi nerede. O 1996 idi. Ben ikinci sınıf öğrencisi iken, ve ben alıyordu ilk defa CS50. Ve ben bile sinir kadar kazanılmış vardı birinci sınıf kendimi almak, kısmen zaman. Bana Bilgisayar bilimi meh, tür gibi oldu. Ben bir geek biraz büyüyen oldu yukarı, ama gerçekten etmedi herhangi bir fikri var görünenden ilgi Sadece bir sürü olmak her zaman programlama insanlar. Ve dürüst olmak korktum. kurs ve bilgisayar bilimleri daha Genellikle vardı ve bir dereceye kadar, Hala bir alanın bu üne sahiptir Bize sadece çünkü o kadar çok olursa, dikkat onunla yabancı ve bunun emin. Ben alışveriş kadar ve gerçekten değildi Bu sınıf bu ikinci fall-- ve o zaman bile, ben sadece kayıtlı professor-- nedeniyle Benim ilk rehberlere biri, Brian Şimdi Princeton-- at Kernighan Bana sınıf geçme başarısız almaya izin verdi. Ve gerçekten, bu yüzden bugün izin ve teşvik Bu sınıf almak için öğrencilerin unsat / oturdu. Ve ancak o zaman, tarafından dönem sonunda Ben bu, vay, gibi fark etmedi Böyle bir yabancı alan değildi. Gerçekten de, bu bir çok, alan güçlendirici daha heyecan verici, Özellikle daha sonra, Ben dersleri aldı Dram Sanatları 101 ve Latin A ve sonra sonunda grad okul arkeoloji, Ben gerçekten görmek başladınız bu alan, bilgisayar kavşaklar bilim, beşeri ile, doğa bilimleri, sanat, tıp, ve benzerleri. Ve böylece sadece bu yüzden ne var bilgisayar bilimleri ile ilgili derli toplu sonuçta, biz size olacak umut see-- uygulanabilmesidir bu alanlarda ve nasıl yapabilirsiniz için Bugünün ve dönem en kısmını almak fikirler ve pratik beceriler yeniden kendi etki, ve aslında bu kavşağa keşfetmek liberal sanat ve bilim. Seninle çok% 73, son eğer yıl herhangi bir gösterge olup, önce CS ders almış hiç. Benim gibi, sen, eğer öyleyse biraz duygu korkmuş, ya da açıkçası değilsin Hatta neden burada olduğunu gerçekten emin. Belki sadece izledi bazı Şu anda Sanders üzerinde arkadaş. Bu tamamen iyi. Burada amaç kanca etmektir sen ve sizi temin Eğer bakmak yoksa o Sol ve sağ, Eğer birlikte sınıf arkadaşları görmeye gidiyoruz az ya da çok deneyim olarak Sen misin kendinizi olabilir. Ve gerçekten de, biz paylaşacağız Bazı istatistikler sonra bugün ne demografik olarak sınıf tipik benziyor. Ve reassurance-- ve bu biz ekledi Ben tabii devraldı beri demek Bazı yıllar önce-- içinde dersin müfredat Bu bu-- ne sonuçta Bu derste konular çok sen burada sona değil sınıf arkadaşlarına nazaran kadar, ama nereye haftada 11, sonu yarıyıl, kendinize göreceli sonuna kadar Hafta 0, ki bu Burada bugün nerede. Ve bu fark ne onca yıl önce. Ve ben çok şey biliyorum sınıflar bu demek, ama bu bilgisayar bilimi özellikle doğrudur. Günün sonunda, bu alan Benim için olduğu gibi yabancı ve sizin için olabilir, gerçekten sadece problem çözme konusunda. Ve gibi, bu var mı uygulanabilirliği diğer alanları almak için. Ve aslında, eğer biz denedik Bunun ne anlama geldiğini damıtmak için, Bu problem çözme olduğunu özünde, ben daresay. bu yüzden ne olursa olsun input-- var o çözmeye çalışıyoruz olmasıdır. Çıktı ki umarım olduğunu var Bu sorunun çözümü. Ve sonra, biz olur , Bilgisayar bilimi demek Bu kara kutu içinde var Orta mutlaka bilmediğimiz nasıl çalıştığını hakkında bakım gerekir. Kendinizi sonunda belki Bu kutunun içinde ne uygulamak. Ama bugünün amaçlar ve daha fazlası için genellikle hayatta, tüm umurumda Bu sorunlar çözüldü olsun olmasıdır. Ve bu ders nedir sonuçta yaklaşık araştırmaktadır kesişim Bu girişler ve çıkışlar, ve bu sözde algoritmalar, yakında göreceğimiz gibi, bu ne uygulamak altında orada, davlumbaz. Fakat bu girişler ve bunlar outputs-- aslında ne anlama geliyor? Eh, günün sonunda, ihtiyacımız bilgileri temsil eden bazı yolu. Bu, bir bilgisayarda, özellikle doğrudur hangi o kadar süslü ve karmaşık olarak görünebilir, oldukça aptal bir cihazdır. Bu da olsa electricity-- alır Bir kablo veya input-- olarak bir pil ve daha sonra bazı üretir Ekranda preprogramed tepkiler. Ama nasıl alırım Orada baştan sona? Eh, bir sorun ne çözülecek değil mi? Eh, belki de, belki Herhangi bir yarıyılın başlangıcı, yoklama almaya çalışın Böyle bir odada. Yani bir, iki, üç gibi yapabilir. Ya da belki, ben yaptım eğer sıralama takip etmek için myself-- bir seyleri takip etmek için Ben hızlı parmaklar tükendi olabilir. Yani sadece karma marks-- biri yapmak olabilir kişi, iki, üç, dört, beş, altı, yedi sekiz. Ve hepimiz muhtemelen ister ellerinize, bu yapılır ya da bir kağıt parçası üzerinde. Ve bu sadece aslında bir şey birli olarak göstermek denilen nerede sadece bir harf varsa senin alfabe, bir veya karma işareti bu durumda, her için saymak istediğiniz girişi, Eğer bunlardan birini bastırmak gerekir bu işaretlerden birini harflerinden. Pekala. Hepsi güzel ve iyi ve tüm bu karmaşık değil. Ama bilgisayarlar hepsi değil çok daha karmaşık. Gerçekten de, senin muhtemelen Eğer gerçekten var olsa bile bilmek Bu demektir ki, neye dikkat bilgisayarlar yalnızca sıfırları anlıyorum ve sözde ikili sistem ones--. İnsanların, aksine, bu nedenle çok daha sofistike sürece Biz dokuzlu aracılığıyla sıfır anlamak. Ancak ikili ilk başta bile tanıdık bakışta, hepsi değil, o sadece sistemleri gibi çıkıyor ve fikirler zaten biliyoruz. Yani örneğin, bu düşünün. Bu sembollerden bir dizisidir. Ve hepiniz, zaman muhtemelen, ona bakarak 123-- hiçbir şey düşünmek Orada gerçekten ilginç. Ama neden bu sayı, 123 mi? Bunlar sadece üzerinde gliflerini vardır screen-- sadece desenleri Birisi çizilmiş veya daktilo olabileceğini. Ama benim gibi iseniz, Muhtemelen ilkokul hatırlıyorum tür olduğunu Burada sütun veya yerler. Kişinin yeri ve var TEN yeri ve yüz yeri. Ve bu nedenidir 123 ve Üç semboller sadece bir desen olduğu, çünkü tabii ki, biz eğer Yüz yerine bir tane Eğer 100 kez biri matematik ve daha sonra iki TEN yerinde. Böylece 10 kat 2, ve daha sonra üç öyle Kişinin yeri ve 1 kez 3 var. Ve Eğer, tüm bu kadar eklediğinizde Tabii ki, 100 artı 20 artı 3 olsun. Yani biz sadece bir desen ile başladı bir alphabet-- symbols-- ama sonra biz üzerine anlamını eşlenen bu sütunların yoluyla. Eh, o çıkıyor bilgisayarlar gerçekten değil Senin ve benim o kadar da farklı. Ama bunun yerine 10 yetkilerini kullanarak, bu nedenle speak-- 1, 10, 100, 1000, 10.000 yeri ve böylece Aslında onlar forth-- Sadece yetkilerini kullanmak 2-- böylece bir, 2, 4, ve daha sonra Biz daha fazla basamak koyarsanız, 8, 16, 32, 64, 128, ve benzeri. Ve böylece bu nasıl bir bilgisayar 0 sayısını temsil eder, Sadece biz insanlar gibi. 0, 0, 0-- ve muhtemelen tahmin sıfırlar ve olanları ne desen, Bir bilgisayar can yalnızca 0 konuşmak ya da 1-- Ne desen temsil edecek numara biz insanlar 1 olarak biliyor musunuz? 0, 0, 1 Evet--. Pekala. Yani 0, 0, 1 biz temsil nasıl 1, böylece daha sonra eğimli olabilir Eğer varsa, sayı 2 temsil etmek Four yeri ve ikinin yeri bir yer olarak, sen de diyebilirsiniz Biz kişinin yerinde bir 1 olsaydı, ve şimdi istiyoruz 2 saymak, öldürürsün Bunu yapmak ve sıfır olmak için bu bırakın. Ama tabii bu değil nasıl ondalık sistem ya çalışır. Bir rakamı koyarsanız Bu sütunların her ikisi de, Eğer aritmetik yapmak lazım. Peki numarası yaptım ben yanlışlıkla sadece temsil? Yani, 3 var 2 kez 1 artı 1, çünkü Zaman 1, elbette, bize üç veriyor. Yani bu ikisini olacaktır. bit tür 0 olarak, tabiri caizse, çevirir çok üzerinde bir 9 rolleri gibi, bir biri haline gelir Eğer 1 taşırken ve 0 olur. Bu daha sonra elbette üç olacaktır. Başka ilginç bir şey Four-- olanlar üzerinde rulo nerede olur, ve tabiri caizse, 1 taşırlar. Yani bu, tabii ki, 4'tür. Ama hızlı ileri şimdi ise, gidiş en büyük sayı nedir Bir bilgisayar temsil edebilir var olmak için? Yani bu durumda sadece yedi, değil mi? Eğer dört bir tane var, çünkü iki tek, bir hastada bir. Yani 4 artı 2 artı 1 var. Yani yedi verir. Ve gerçekten, it would ilk bakışta göründüğü bilgisayarların güvenebilirsiniz Bu daha yüksek. Ama tabii bu doğru değildir. istediğimiz zaman biz insanlar ne yapacağız 999 gibi daha yüksek saymak? Sadece birini taşıyan ve sadece sola dördüncü basamağı ekleyin. Ve böylece gerçekten biz olabilir. Biz sekiz 's olabilir Ve 16. en ver ve bir 32'lik yeri, 64, 128-- ve sadece sonsuza kadar devam devam edebilirsiniz. Yani bu sıfırlar ve ones-- Sözde ikili sistemde ne bir bilgisayar bilimcisi olur vardır genellikle biraz, veya ikili rakam arayın. Ama şimdi, nasıl elde do kavram ya da bu şeylerin grafik gerçek bir bilgisayara? Biz burada bir adımı atlamak gibi görünüyor. sonunda Eh, sadece girdi Günün, burada benim laptop bu elektrik akışıdır. uzun oldu bile Eğer düşündüm çünkü zaman veya düşünmemiştim nasıl elektrik işleri, akan elektronlar var ya dışarı ve o girdi, benim gibi. Yani biz olduğumuzu tüm buysa Burada girdi olarak alıyorum, biz bu bilgilerle ne yapabilirim? Eh, biz bir sıfır olarak düşünebiliriz elektrik sadece yokluğu. Hiçbir şey flowinw, hiçbir şey değildir hareketli, hiçbir şey oluyor. Bu sadece bu varsayılan sıfır eyalet--. varsa ancak elektrik, neden akan Biz sadece keyfi değil, ama küresel sürekli bir biri olduğunu diyoruz. Yani sadece hiçbir güç alarak, Biz sıfır, evet güce sahip Biz hiçbir güç Şehre, evet güç var. Ve bu şekilde, bir şey kullanarak daha fazla fiziksel veya elektronik biz bu kavramı uygulamaya başlar bir şey ya bir ya da bir sıfır olması. Gerçekten de, biz sadece burada üzerinde yapabilirdi. Yani burada, ben yok, üç ama Sekiz ampuller, her biri Kendi anahtarı vardır. Ve bu yüzden temsil etmek istedim Yedi numaralı burada, Ben bu üç ampul açmak olabilir. Gerçekten de, iç Bilgisayarım, milyonlarca Sadece şeylere milyarlarca daha küçük, adı transistörler, anahtarlar, sadece açmak ve kapatmak olduğunu. Yani bunlar nispeten big-- vardır Benim laptop-- içinde big-- anahtarları çok, çok, çok, çok daha fazla geçer. Ama mutlaka tüm tam olarak ki- bir şey kapatın, bir şey açın. Ve bu nedenle bir bilgisayar temsil edebilir bu milyonlarca ya da milyarlarca transistörler, partilerin ve sıfırlar ve olanları bir sürü. Ve diğer donanım hala var etmenizi sağlar, bilgi uzun vadeli saklamak Böylece çektiğinizde Eğer bunu kaybetmek istemiyorum, takın. Ama bu başka bir gün için bir hikaye. Bu yüzden bu bit ile ne yapabilirim? Biz sadece almak olabilir Benim, kapalı basınç Birisi gelip isteyebilirsiniz Burada bir demo sunuyoruz? Ben ilk bu eli gördü. Adınız ne? Maday: Maday. DAVID MALAN: Maday, yukarı gel. Tanıştığıma memnun oldum. Maday: Tanıştığımıza sevindim. DAVID MALAN: Bu şekilde gel. Seni dudak zorunda kalmazsınız. Pekala. Yani burada, biz, biri notice--, ikiniz Biz out-- o düzenlemek edeceğiz bir, iki, dört, Sekiz, 16, 32, 64, 128. Bu kasıtlı olduğunu. Sekiz bit var burada-- digits-- sıfırlar ve olanları ikili. Ve biraz measure-- yararlı bir birimdir ölçü olup olarak yararlı bir birim kendi üzerine. Genellikle en az istediğiniz Bunlardan sekiz, diğer adıyla Bir bayt. Bu yüzden burada bir bit byte var. Size ile meydan istedim Yani, Örneğin, ikili, yazım, Bu değer 42 Doğuların. Bu bir bıçak almak ister misiniz? Maday: [duyulamaz]. DAVID MALAN: Evet, sadece itme önünde küçük beyaz geçer. Ve büyü istiyorum 42 üzerinden ve kapmak için Bu CS50 stres top bunu alırsanız. Pekala. Yani 32 var. Biz 42 ihtiyacımız olacak. Yani bir sekiz, bu yüzden bu 40 var. Ve excellent-- çok güzel yapılır. Teşekkür ederim. [ALKIŞ] Pekala. Bu yüzden bir daha stres topu var. Biz izin verirseniz Şimdi bu bir kez daha yapalım. Bir diğer gönüllü? Ücretsiz stres topu, ücretsiz stres topu. TAMAM. Buraya ortasında, Aşağı gelmek ister misin? Pekala. Biliyorum. Oraya gidiyoruz. Yani sayılar burada-- aşağı gel. Adın ne? DAVEY: Davey. DAVID MALAN: Davey. TAMAM. Yukarı Davey gel. Tanıştığıma memnun oldum. Ve ne gidiyoruz olman spell-- orada dinlenmeye eğer Sadece bir moment-- numarası 50'dir. Ancak, ama, ama ancak ancak, bunlar Bir nedenden dolayı ilkokul mıknatıslar. Sadece tamam, biraz daha var mı? Sekiz hala var. Pekala. Peki biz orada var? Biz 32 var. Güzel. 32 artı 16 bize verir 48-- çok yakın. Ve harika. Davey Tebrikler de. [ALKIŞ] Pekala. Bu yüzden gün boyu bunu ve yapabilirsiniz tüm bu çok daha fazla almaz ilginç ve daha zorlu. Ama bu gerçekten point-- var nasıl nispeten basit Günün sonunda, ne de, bir bilgisayar bilgilerini saklamak için yapar, giriş depolamak ve sonuçta hiç saklamak ya da bu çıkışları temsil etmektedir. Ama yalnız sayılar değildir Tüm bu ilginç. İnsanlarda bu yüzden, birkaç yıl önce, karar, biliyor musun? Bu güzel olurdu bilgisayarlar sadece değildi aritmetik hesap operasyonlar, ama aslında olabilir kelime işlemci gibi şeyler, ya da E-posta veya daha modern enkarnasyonları teknolojilerin bu tür. Ve böylece dünya karar keyfi, ama evrensel, Bu size sermaye saklamak istiyorsanız Bir bilgisayarda A harfi, biliyor musun? Sadece saklamak için anlaşalım sıfır ve ones-- bazı desen bits-- sonuçta ondalık sayı 65 eder. Biz sadece tüm bu konuda kabul edeceğiz. 66 B temsil eder, 67 C temsil eder, ve diğer kalıpları demet var sıfır ve olanları, ya da altta yatan sayılar, Bu temsil edecek Hala diğer harfler. Eğer tür zihinsel Yani Bir an için bu emmek, Ben kasten aracılığıyla A koymak H 72 ve 73 I. Eğer bağlamında daha sonra bir bilgisayar, Bir kelime işlem programı veya bir e-posta, için kaputun altında ortaya bits-- desen bu desenleri temsil bit 72, daha sonra 73, daha sonra 33-- bu o programda ne büyü olabilir? Yani selam ve sonra bir şey. Biz ille gerçekten bilmiyorum, ama yok 33-- değil grafik üzerinde earlier-- sadece bir ünlem işareti oldu. Yani 72 33 olur, 73 I, H oldu Hala bir ünlem işareti olması. Ama bu, tüm ince ve iyi ve aslında günümüzde yerine Sadece kullanmak yedi ya da sekiz bir şey için bit, teşekkürler aksine Unicode olarak adlandırılan Günün geri Ascii, biz aslında daha fazla temsil edebilir sadece daha ilginç karakterler Bu orijinal İngilizce harfler önyargılı. Ama biz de bile temsil edebilir renkleri gibi kıvrımlara şeyler. Hiç kısaltma duydum eğer Kırmızı, yeşil, mavi RGB, o sadece bir bilgisayar anlamına gelir tipik bits-- üç set kullanır temsil eden bit bir sayı İstediğiniz ne kadar kırmızı bir sayı, bit başka bir dizi için Ne kadar yeşil istediğiniz, ve başka bir dizi numara için Ne kadar mavi istediğiniz. Yani büyük bir sayı çok anlamı kırmızı, az sayıda hayır kırmızı anlamına gelir. Ve bu yüzden bu tür Burada orta değerleri. Bu yüzden bana biraz kırmızı ver, bana da ver yeşil ve bana mavi biraz ver. Ve o üç tonları karıştırırsanız birlikte renk, bu durumda, Bu karanlık gölge olsun sarı veya kahverengi. Ama sekiz o desen artı Sekiz artı çok 24 bits-- sekiz-- Soldan sağa kadar bir bilgisayar Belirli bir rengi temsil edecekti. Şimdi bu ekranda sadece bir nokta olduğunu. Eğer TV'nizde gerçekten yakın bakarsak senin bilgisayar, sen noktalar veya piksel göreceksiniz. Ve bütün bir ızgara varsa piksel, yatay ve dikey olarak, Eğer görüntüleri var. Ve sonra alırsan bir görüntü ve daha sonra yıkama Kendine başka bir resim göstermek, başka görüntü, başka bir görüntü, başka bir görüntü, gerçekten çok hızlı, tabii ki film var. Başladığımız yere Ve böylece dikkat edin. Biz bu birler ve sıfırlar ile başladı. Biz ondalık oradan çalıştı sayılar, biz bunları nasıl temsil etmektedir. Şimdi alfabenin harflerini var. Ama diğer bağlamlarda beklemek de, biz kullanabilirsiniz daha fazla bit ve temsil renkleri bir kaç. En kısa sürede olduğu gibi renkleri temsil yeteneği, Temsil yeteneğine sahip fotoğraf ve hareketli GIF Ekranda ve benzeri karakterler. Ve bir sürü varken görüntüler, bir defada insan tarafından uçan o, Sinemada gibi görünüyor ve böylece de videoları. Yani kullanarak bu çok Basit ilkel biz yapmak temsil yolu var sonuçta tüm medyanın bu formları. Ve yine abstracted ettik ve tekrar ve tekrar, biz gelene kadar düşük seviyede olsun Bu en üst seviyeye. Yani bu bize veriyor soyutlama genel bir fikir. Ama biz burada başladı. İşte şimdi, biz olabilir Bir bilgisayarda temsil birler ve sıfırlar ile giriş, birler ve sıfırlar bizim çıkışları, ama ne kutu içinde gider? Bu nerede bilgisayar var bilim ilginç olur. aslında getirmek orasıdır senin Kendi kafasında sorunları çözmek için ayı. Biz şimdi, şart olabilir dönem geri kalanı, evet. Ben nasıl ikili çalıştığını biliyorum. Ben nasıl Ascii veya Unicode-- hatırlıyorum haritalama çalışmaları harflerinden için. Ve kesinlikle duruyor Bu biz mantığa kırmızı ve yeşil temsil edebilecek ve Mavi ve de multimedya temsil etmektedir. Ama bu ilginç şeyler. Bu birisi ne yapar sorun çözme yeteneğine sahip. Ve böyle bir sorun Biz, gerçekten, yapmak ister yoklama almak, ya da algoritmik bunu. Ve yine, bunu olabilir. Ben dört tane, iki, üç yapabilir beş, altı, yedi, sekiz, dokuz. Ve bunu yazabilirim aşağı onu takip etmek. Ama bu sadece bu nasıl olur bilgi temsil. Ya ben bu faster-- yapabileceğini iki, dört, altı, sekiz, on, 12, 14, 16, 18, 20, 22-- iki kez gibi hissediyor hızlı ama yine de var zaman bir sürü alacak. Henüz kaldıraç Ama eğer, çıkıyor Başka bir resource-- ve gerçekten de bilgisayarlar bu gün birden fazla CPU veya beyni vardır. It can bilgisayarları çıkıyor Aynı anda çok şeyler, ve gerçekten biz, bu odada, tam da bu temsil edebilir. Bu yüzden sosyal biraz var Eğer mizah beni olur eğer garip, ama Sadece üç aşamalı bir işlem için, izin Beni oraya sadece bir yerde herkesi sormak Bir an için ayağa. Ayağa kalk. Yani kendinize düşünmek, sayı Şehre bu nedenle bu odadaki herkes, vermedi kişiler hariç mecbur, bir numara düşünüyor. Demek sayı şu anda. Bu bir ilk adımdır, ya da bilgisayar bilimcisi ya da bir programcı bunu genellikle ederim, biz gidiyoruz sıfırdan saymaya başlayın. küçük sayı eğer biz Bu ampuller ile temsil sadece onları bırakarak, sıfır Tüm kapalı, ben belki de sadece saymaya başlayın Sıfır bir yerine olduğunu. Ve böylece ne var bilgisayar bilimcileri yok. Yani, sıfır adım ayağa kalk ve bir numara düşünüyorum. Bir sonraki adım bu-- çifti Birisi ayakta kapalı ve birlikte sayıları toplayın. Harika. zaman içinde şu anda, bu yüzden kelimenin tam anlamıyla herkesin katılan dışında, sayı 2 düşünüyor bir garip kişi için biz varsa odada kişi bir tek sayı. Ve şimdi burada üçüncü adım gidiyor oturup gerektiğini size paha biri olmak. sen otur gerektiğini biri, ve hala ayakta ediyorsanız, bir adım geri gidin. Pekala. Pekala. Yani daha fazla insan gerekir oturarak. Bu uyarılmış olduğunu fark bir döngü tür loop--. Bazılarınız, beceriksizce sıkışmış olmalı Birinci aşamada arasında ileri ve geri gidiyor ve iki, bir ve iki, bir ve iki. Bu iyi. Bizim ilk hata. Biz bununla uğraşmak gerekir. Pekala. Bana bir şeyler boyunca teşvik etmek deneyelim. Teorik olarak, sadece bir kişi ayakta Herkes kapalı çifti devam ettikçe. Ama bana hızlandırmak izin insanlar hala ayakta. Ne numarası düşünüyorsun? 46. TAMAM. Devam edin ve otur. Siz hala ayaktadır. Eyvah Düşüyorum Ne numarası düşünüyorsun? TAMAM. Bu yüzden sana geri geleceğiz. Arkada? O nedir? 22. Tamam birileri yukarı başka evet iyi--? 34. TAMAM. Burada benim tam-- kadar Over? 132, çok güzel. 22? TAMAM. Ve Eyvah Düşüyorum Burada? 46, çok güzel. 72. Ben çok daha uzun durak olamaz. Evet? 30 güzel. Burada? 23? 23. Ve ben herkesin olduğunu düşünüyorum Eğer çocuklar, herhangi bir baskı hariç. Bekle. 28? Sadece sekiz. TAMAM. Sadece sekiz. Buraya kadar mı? 30. 23. 24. 18. Bu kötü uygulamasıdır Hiç bu algoritma. TAMAM. Yani başkasının? Başkasının? TAMAM. Bir tane daha. 16? TAMAM. 16. Pekala. Kimse cevapsız değil, eğer öyleyse Burada parlama, ben Enter vurduğunuzda, Biz algoritmik, göreceksiniz Sanders insanların toplam sayısı. Yine, çünkü herkes sanki bulunuyor Eğer oturdu, numaranızı kapalı geçti başkasına, bir başkasına, başkasına, teoride, böylece Sonunda, tek bir garip kişi ayakta bırakılmalıdır. Ama bu sorun değil. Biz el işleri hızlandırdı. Onu görmek için özellikle zor Bu belirli bir alan içinde. Ve toplam kişi sayısı Biz orada burada 546 olduğunu düşünüyorum. toplam sayısı I teslim oldu öğretim arkadaşlarının tarafından, kim bu eski yaptım Okul yavaş bir şekilde, 820 oldu. [KAHKAHA] [ALKIŞ] Bu iyi. Yani mutlaka o, bu hatalar vardır. Ve bu iyi. Ve böylece bu geri düşünmek İlk kez bir şey mutlaka çalışmıyor yazın. Bu da burada bana bir şey oldu. Ama şimdi nasıl olabilir düşünelim bir şey bu aynı fikri uygulamak Eğer, daha önce gördük olabilir Bu eski okul teknoloji var-- olduğunu Gerçekten büyük bir telefon rehberi. Ve diyelim ki bu telefon defterine o 1000 sayfa ve 1000 ismi vardır ve numaralar alfabetik bunun içinde. Eh, biz tür benzer bir uygulayabilirler Bu çok fiziksel soruna fikri, sadece beni kullanıyor. Ben sadece biraz hile Hepiniz yararlanarak çok ve farklı CPU dolu veya beyin bazı algoritma yürütülmesi. Ama sadece küçük ise Eski ben, ben yine de bir fikrin aynı özünü kaldıraç bölünmesi ve sorunu fetih Tekrar ve tekrar, bu sayede sizin yarısı, Size yarısı senin yarısı sizin yarısı, teorik olarak, oturarak tuttu biz kalmıştı kadar teorik olarak, sadece bir kişi ile. Bu eski okul Yani technology-- biz değil bu map-- mi eski okul teknolojisi, biz birini arıyorduk başlayabilir Mike Smith, bir kerede bir sayfa gibi. Ve ben hayır, Mike burada olmadığını görüyoruz. Ben bir bölümünde hala yaşıyorum. Sonunda, ben bulmak Kendimi B bölümünde. Bu, bir algorithm-- olan adım-adım talimat. başlangıç ​​ve bir sayfa başlayın Bir seferde, Mike Smith arayın. bu correct-- mi algoritma veya yaklaşım? Evet, bu doğru. Mike burada, sonunda Ona alırsınız. Ama bu verimli değil. Açıkçası çok yavaş. Yani kaldıraç Aynı twosies yaklaşım. Ben, iki çeşit yapabilir dört, altı, sekiz, 10, 12. Bu hızlı olarak iki kat. Mike almak için gidiyorum O varsa daha hızlı. Doğru mu? Evet, ama ben bir küçük-- hayır duydum. Şimdi bir hayır duydum. Evet. potansiyel bir hata var. Belki Mike sadece kazara girerse iki sayfa arasında sıkışmış, Ben içinden uçuyorum çünkü Aynı anda, bu iki tane. en azından bazı ihtiyacımız Yani koşullu düzeltmenin tür. Ben, hey, söylemeye gerek Kimin birini vurmak isim, bir T yerine bir S ile başlar Dönsem iyi en az bir sayfa çift. ilk, ama tamir edilebilir Yani adamcağız. Ama hiçbirimiz aramaya gidiyoruz 1.000 sayfa telefon üzerinden Mike Smith Bir defada bir sayfa kitap. yapacak normal bir insan nedir? S yıllardan gitmek için gidiyoruz, nerede S 's bilseydi. Ortada kabaca gidebilir ya da biraz sonuna doğru çarpık. Ve ben burada aşağı bakmak ve Ben M bölümünde değilim. Ama ne biliyor musunuz Şimdi bu sorun hakkında, biz mutlaka önce bilmediğini hepimiz sadece kendimizi sayma eşdeğer? Eh, Mike açıkça gidiyor Kitabın Bu devre olmasını o hiç burada eğer sıralanmış çünkü. Ve böylece çok dramatically-- yapabilirsiniz [Soluyarak] Biliyorum. [ALKIŞ] Aslında eğer gerçekten kolay Orada omurga aşağı yapmak. Ama sonra atabilir uzakta sorunun yarısı. Şimdi, aynı problem-- sol ediyorum bir telefon Mike Smith bulmak book-- ama şimdi telefon rehberi M başlar ve Z gider, ama büyük olarak yarısı. Ama bu etkileyici budur. Sadece teoride, sen çocuklar gibi Tüm, bir seferde sadece yarısı oturdu Sorun, büyük yarısı var Yarım tekrar tekrar, gibi büyük. Yani bu sorun haline gelmiştir büyük aynı sorun ama yarım. Şimdi 250 sayfa problem. En kısa sürede farkında olarak, oh, ben yanlışlıkla T bölümünde. Ben çok ileri gittin. Ben yarısı atabilir uzak telefon rehberi. Şimdi, ben bir aşağı değilim Sorunun çeyrek. Ve tekrar, tekrar edebilirsiniz teoride, sen kadar tekrarlayın Sadece bir sayfa ayrıldı. Ve Mike bu sayfada ise, Ben şimdi bu sorunu çözebilir. Ama bunu ne kadar çabuk çözdünüz? İlk durumda, bu gibi götürdü belki 1000 adım Mike Smith bulmak için. Benim, almış olabilir Ben telefon rehberi aldı ve ben aramaya başladılar Bir seferde bir sayfa, ve Mike 1.000 sayfa sonra olabilir. İkinci yaklaşım belki 500 adım beni alır, Uçuyorum çünkü Bir seferde iki aracılığıyla. Ve olsa üçüncü bir yaklaşım, özellikle güçlü. Ama gerçekte ne düşünelim Bu üçüncü yaklaşım ile yaptı. Ben sadece bu dediğimiz olacak ifadeleri burada, bir anda. Bir telefon rehberi Pick up. Telefon defterinde ortasına açın. isimleri bak. Ve sonra işler biraz olsun daha entelektüel ilginç, Basit hala eğer. Smith biriyse O Geçerli sayfada isimler, Daha sonra şartlı bir şey yapmak. Bu yol ayrımında gibi. Mike arayın. Mike isimler arasında ise bu sayfada, Mike çağırdı. Ama sadece çizgi halinde hattı dört do eğer sen ağaç, doğrudur. Bu sorunun cevabı evet. Smith book-- içinde önceki else if Diğer bir deyişle, M bölümünde şeyler halinde ve ben birini arıyorum Sol, o zaman ne yapması gerektiğini çok benzer bir şeydir. Sonra orta açılmalıdır Kitabın sol yarısının. O zaman sola gidin ve iki adım geri gidin. Orada isimleri bak. Yani başka bir deyişle, aynı şeyi yapmak ama bir sorun üzerinde yarıya olmuş o. Sen başka ne biliyor musun? Smith, kitabın ilerleyen bölümlerinde ise Ben bakıyorum sayfada göre, ortasında açık Kitabın sağ yarısı ve sonra tekrar geri dönmek ikinci adıma, else-- Burada dördüncü olasılık var. Mike burada ya sola ya sağa ya da değil oraya. Ve burada daha iyi düşünün. Ve aslında, şimdiye kadar yaşadığınız takdirde Bilgisayarınız sadece size çökmesine bazen, ancak her zaman değil, Sadece insan programcı sonucu değil gerçekleştirilmesi, ah var, sürgün aslında bu dördüncü senaryo. Ve kod yazmak yoksa bu senaryoyu ele, Bazen bilmiyorum bilgisayar ne yapacağını. Ve gerçekten bir program çökebilir. Ancak bu durumda, diye düşündüm Bu konuda, ve dedim, başka çıkın dördüncü çünkü mantıksal olası bir senaryodur. Şimdi, sadece ekleyelim biz bu yüzden bazı kelimeler terimleri etrafında atmak başlayabilirsiniz Aksi takdirde oldukça kolay anlaşılır. şeylerin hepsi Birkaç gün önce sadece Burada sarı renkle vurgulanmış, Ben sadece gidiyorum fonksiyon veya prosedür. Onlar eylemlerin sadece naziksiniz. Yani, bakmak için açık, pick up de açık, açık, çağrı, Bunlar sadece eylemlerdir quit-- veya yaparız Daha resmen işlevleri diyoruz. Bu arada, şimdi sarı, Bazı şeyleri vurguladık ki- Sadece arayarak başlayalım Onları koşullar veya dalları. Bu karar noktalarının nerede Bu şekilde gidebilir, bu şekilde, ya da başka bir yönü hala. Yani bu koşullar olacaktır. Ve şimdi bu biraz meraklısı var. Şimdi bu soruları çağıralım Boole ifadeleri, Bir soyadı Bool olan biri sonra. Ve bir Boole ifadesi sadece bir şeydir Bu doğru veya yanlış olduğunu, evet ya da hayır. Bu yüzden kimin bir cevap soru böylece bir durumda olarak, umurumda bir cevap geri almak Bir karar yapmak, ve ardından sol veya sağ ya da bir şey gitmek tamamen başka. Ve son olarak, bu çizgiler burada-- geri dönmek iki adım geri gitmek biz olabilir iki-- adım farklı şekillerde bu fikri uygulamak. Ve sonra o sizin ile programlama deneyimi yapmış olabilir ya da farklı bunu hayal edebiliyorum. Ama bugünün amaçlar için, bu kadar Önemli olan sadece bir fikir. Bu indükleyici ne genellikle arayalım Bir, döngü tür loop-- bana tekrar bir şeyler yapmak yapıyor. Yani şimdi, hadi bakalım ne kadar iyi bu algoritma. Bu doğru. Ahmet'in kitabında ise, biri Bu dört tekrar scenarios-- ve yine, biz onu bulacaksınız. Ama ne kadar iyi? Eh, biz yok burada da resmi olması. Ama sadece arsa olsun şey, X ve Y, elde etmek için Bu sorunun şekli bir anlamda. x-ekseni üzerinde burada Benim sorunun boyutu. Burada ve bir y-ekseni çözmek için zaman olacaktır. Yani belki bu sayfaların sayısıdır. Belki de bu saniye ya da ne olursa olsun turns-- sayfa. saymak istediğiniz Ancak bir Bu resim temsil ne. Ve bu ilk algoritma, ben gidiyorum sadece düz bir çizgi olarak tarif etmek. n sayfalar varsa telefon rehberi, o zaman Birçok beni alabilir n adımlar olarak Mike bulmak için. Eğer Verizon ya da telefon şirketi , Bir daha sayfa gelecek yıl ekler bana alabilir bir daha step-- zaman bir daha ünite Mike bulmak için. Yani bir oranı sadece bu var. Bu düz bir çizgi eğim. Bu arada, ikinci algorithm-- ben eğer Bir seferinde-- ikide iki gidiş, dört, altı, sekiz veya double-- İki kez sayfalarda geçiyor Aynı anda, aynı anda iki, hala düz bir çizgi var. iki bir şimdi var oran, ama sadece biraz daha düşüktür. Bu kaç sayfa varsa Yani Sarı Burada grafik üzerinde, Bu bana bu sürebilir birçok adımlar veya saniye, aksi takdirde beni almaya gidiyor kırmızı çizgi iki katı kadar. Ama yeşil hat gerçek paket olduğunu. Bu ne genellikle Bir logorithm-- günlük çağrı n, sayfa sayısı N,. Ama önemli olan şekil var Bugün, biz yok çünkü Hatta noktaları komplo düşünmek. aşırı senaryo düşünün. Verizon yarın iki katına varsayalım O telefon defterinde sayfa sayısı, 1.000 den 2.000'e. İlk algoritmada, ben fazladan 1.000 atık olabilir adımlar, sırf Mike arıyor Verizon kitabın boyutunu iki katına çıktı. Bunun algorithm-- ikinci olabilir Bana fazladan 500 adımlar. 1.000 'den fazla sayfalar, ben de iki go Mike bulmak için 500 adım daha seferinde--. Ama bu üçüncü algoritma Biraz büyülü. Verizon sayısını iki katına 1,000 ila 2,000 sayfalık, ama daha kaç adım yok o Mike bakmak için beni? Çünkü ben sadece can, sadece biri telefon rehberini bir kez daha gözyaşı Bir bir 2000 sayfa sorunu 1.000 sayfa problemi, ve işte. Ben bunun dışında büyük bir ısırık aldım. Ve gerçekten aşırı gitmek, Telefon rehberinden varsayalım şirket gibi çılgınca bir şey vardı 4 milyar sayfa telefon rehberi. Peki kaç adım sürebilir Bir 4 milyar Mike Smith bulmak için sayfa telefon rehberi? Bu büyük bir sayı, ama sadece 4 milyar 500 milyon 2000000000-1000000000, Hala 250 million-- , Büyük sayılar gibi sesler ama ben çok hızlı değilim küçük değerler alıyorum. Ve aslında, ben yaparsam matematik Tamam, ben sadece bölebilirsiniz 4 milyar kabaca 32 kez önce Ben sadece bir aşağı olsun. Bu telefon rehberi 4 olsaydı Yani milyar sayfa uzunluğunda, hayır büyük dağıtmak. Birkaç saniye içinde, belki 32 saniye, ben ikiye bölmek olabilir ve sonunda Mike ya da bulmak O orada değil sonucuna varmışlardır. Ve bu bir özü var iyi bir algoritma algorithm--. Ve bu biri Böyle bir sınıfın amaçları, Ben nasıl anlamaya çalışıyor sadece doğru değil sorunu çözmek, gibi hep o birini nasıl biliyordu Bir olan Zamanın bir sayfa ama doğru ve iyi. Nasıl iyi tasarım yapmak sorunlara çözüm? Yani burada bir an atalım ve şimdi sana bir fikir verir CS50 tabii itself-- tanıtmak Bir kaç dersin personeli. Sadece 2:00 önce, yaparız Kısa bir mola böylece o sizin kim olabilir alışveriş ördek dışarı ve almak Bazı diğer sınıf bakmak ve bu çevrimiçi geri kalanını izlemek. Ama şimdi, beni tanıştırayım CS50, sınıfın kendisi, ve özellikle yeni şeydir. Yani son bahar, biz olan Zamanın harcanan biraz dersin personeli ve ben- düşünme ne dersiniz CS50 olmak istiyorum, ve ilk geri dönüyor ilkeleri, tabiri caizse, biz istiyoruz ne düşünün Bu kurs gibi bakmak ve olmak öğrenciler için gibi. Ve böylece sorun göreceksiniz Yanı sıra davetiye sıfır set Şuna bir göz atın özetler URL arkasında motivasyonları bazı sonbaharda 2016 özellikleri aşağıdaki. Eğer panoda olabilir gibi Yani TL dan: DR sadaka, müfredat bugün yanı itibaren Tabii katalog, CS50 bu yıl, Sadece katılması bekleniyor konum iyi yani işi today-- done-- ve 21 Kasım son ders. Ve hoş geldiniz ama beklenen değiliz Ortada bu konferenslarını, biz ne yapıyoruz, çünkü Bu yıl, çekiyor Gerçek zamanlı dersin malzemenin. Yani her şey kalacak Mevcut ve dahil olarak en iyi biz güncel olayları can-- ve konuşmaları bu millet olabilir sanayide sahip olmak Dünya, ancak bu malzeme yapmak Mevcut Bunun bir sonucu olarak, daha earlier-- tam metin transkript ile komple ve aranabilirliğini ve diğer kaynaklara bağlantılar. Ve gerçekten de, biz oldum bir süre iddia ve biz şimdi, bu inanıyorum Biz yaratabilir, dijital, Bir daha zorlayıcı, daha sürükleyici aksine eğitim deneyimi, Burada yaklaşık 23 kez bir araya için bizzat, işitme birisi benim gibi sadece bilgisayar bilimleri hakkında konuşmak, daha aktif ilgi çekici aksine. Yani dersin müfredat içinde göreceksiniz Burada dönem bir kroki, zaman ders olacak birlikte hangi sen için, filme hoş ama beklenen değil, ve ne zaman olacak dersin web sitesinde yayınlanacak. Ve biz burada ne yapacağız Gelecek haftadan itibaren çarşamba Bir sürü sadece, daha yakından bir katılmak isteyen millet, sözde yürüyüş, geçer nerede ve dersin kafaları Aslında şeyler yapacaktır Biraz daha samimi Burada orkestra bölüm, hala bazı teknolojiye sahip ve yürümek Geçerli haftanın sorunu seti, ve arasında ise particularly-- teklif Bu daha az comfortable-- daha Eğer isteyebilirsiniz rehberlik veya hafta Challenge gerekir. Ve benzer şekilde, bu kimin için olamaz bizzat o, hiçbir büyük anlaşma katılmak. Benzer orada idare edilecek dersin kıdemli personel biri, Zamalya, aynı fırsat gömülü sorunu kendini ayarlar. Sorun, bu yıl setleri Cuma günleri çıkacak ve artık, yedi gün sonra yapmak ancak 10 gün later-- kasıtlı Her sorun üst üste daha uygun hale getirmek üzere, set, Umarız, gel-git ve akış Öğrenci programlarında, özellikle ara sınav veya atletizm veya akademisyenler veya Ders dışı gelip gitmek eğilimindedir Özellikle orta-dönem. Bu biraz daha vermelidir Size ister ön olarak takdiri CS50 ya da arka yük ile hafta yük bunun yerine aşağıdaki hafta sonu. Yani dersin müfredat bakmak Burada bunların zamanlama için. Ve sen de arasında fark edeceksiniz değişiklikler bu yıl, daha aşina olanlar için Geçmişte programlama, biz dönem başlayacağız Biz Scratch bugün olacak dil, özellikle odaklanmak C denilen ve daha sonra değil, geçiş PHP, ama denilen bir dil Dönem sonuna doğru Python web programlama bağlamında, SQL ve JavaScript ile birlikte, HTML, CSS ve henüz daha. Ve bir SSS cevap olarak, gerçekten durum CS kez I kadar korkutucu olmadığını bunu düşündüm, ama o kadar çok iş olduğunu Ben duymuş gibi olabilir. Ama bu burada bazı söylüyorlar olduğunu Sonbahar 2015 öğrenci vücuttan istatistikler, bu sayede yatay mavi çizgiler saat ortalama sayısını temsil bildirilmiştir. Ve ortalama görürsünüz 10 altı belki 16 12-- için ya da ve benzeri, fakat yüksek varyans açık olmak. Ve bu yüzden sadece orada olduğunu fark öğrencilerin daha rahat ve daha az Tabii rahat, ama karşılık gelen bir destek yapı, bu öğrencilerin elde etmek için başarıyla dönem boyunca. Gerçekten de, bir SSS cevap olarak, gerektiği Eğer ilk yıl olarak CS50 alır? Kesinlikle. Ve aslında, ben pişman yolumu buldum sahip değil ya da yeni bir alan bulundu hem de o ilk yıl. Ve birlikte CS50 almalı kesinlikle eee gibi diğer dersler, ve genel tavsiyeler biz olabilir Bu CS50 muhtemelen öğrencilere vermek sınıf veya intro sınıfın değil tür Eğer üç ile alması gerektiği Diğer ya da diğer dört p-set sınıfları. Ama diğer iki p-set alıyorsun sınıflar, başka bir şey, ve CS50, kesinlikle yönetilebilir. Ben birçok öğrenci yaşadım Geçmiş oldukça başarılı böylece bitti. Ve bu doğru almak için Başarıyla satırı bitirmek, Elbette var sections-- öğrenciler için farklı izler daha rahat, daha az konforlu, ve bir yerde arasında, bu sayede ders en içinde İlk problem seti, Kendini tarif istenir. Ve o daha az arasında ise rahat, bu tür bir şey var Sadece yerine biliyorum. Ve gerçekten de, o oldu CS50 içinde demografik büyüyen Oldukça birkaç yıldır. için geçen sonbaharda itibariyle örnek, sınıfın% 58 olarak tanımlıyorlardı daha az rahat olanlar arasında, Bu daha arasında% 9 ile konforlu ve daha sonra Orada diğer öğrenciler de kendilerini tanıtırken kırmızı gibi bir yerde arasında. Ve genel olarak burada konu göreceksiniz ve zamanlama bölümleri, her biri içinde kişi sunulmaktadır Tabii en gerçek zamanlı, öğretim arkadaşlarının inanılmaz personel ve bazı kişiler ders yardımcıları, Eğer sadece bir an buluşacağız. Bölümler kendilerini, sizin de göreceğiniz gibi, olacak Pazartesi ve Salı ve Çarşamba günleri olmak, böylece dalış için izin vermek size eğer öyleyse, takıldıktan sonra Elbette en içinde, seçim bu hafta başında ders. Ve sonra çalışma saatleri, hangi kesinlikle, her geçen yıl, Bir az olmayan olmuştur ders için meydan. Ve bu yıl, biz planlıyoruz sadece ofis tane hours-- tutmak için için yardım bir fırsatlara Çarşamba Perşembe günleri öğrenciler ve Pazar günleri, o son tasarımı ile öğleden sonra olmak stres, bazı azaltmak için kaçınılmaz gece geç ortaya çıkar Bir süre p-settting looming-- ancak çalışma saatleri de sunulacak Pazartesi ve Salı ve üzerinde Çarşamba, ve cuma ve cumartesi günleri, HSA dostlarımıza teşekkür ederiz. CS50 artık kendi alanı vardır öğrenci ve CS50 personel için, 67 Dağı Auburn Caddesi üstünde, Orada Harvard Square. vizyonu olduğu CS50 en olduğunu hafta boyunca TFs ve CA, En boyunca hemen hemen gün, destek için orada olacak. Eğer var ise bu nedenle bazı p-sette soru ya da biraz hissediyorsun Engellenen veya biraz karıştı, ve halt, bir saatimiz var ya sınıflar arasındaki yarım saat, Özellikle yapabilirsiniz square-- içinde pop ve bu soruya cevap var bu karışıklık var clarified-- ruhu içinde çok, Eğer matematik, tanıdık Bölümün kendi matematik soruları merkezi, ancak saat başına yaklaşık hemen hemen [? Gcal?] Online yayınlayacağız söyledi. Ders aynı zamanda bu kullanılabilir serbestçe Tabii en öğrencileri, Kendi personel eğer isterseniz daha teke tek samimi, ya da iki ya da üç sınıf arkadaşları, sadece çalışma dersin personeli biriyle. Ve gerçekten, burada bunlar sadece vardır dersin personeli bazı Birkaç sen olacak Bir an buluşuyor. Aslında, CS50 kendi Baş öğretim adam, ve baş kursu asistan ve hoca, yukarı gelebilir, izin Onları merhaba demek için. [ALKIŞ] KONUŞMACI 1: [duyulamaz]. [ALKIŞ] HOPARLÖR 2: [duyulamaz]. [ALKIŞ] KONUŞMACI 3: [duyulamaz]. [ALKIŞ] DAVID MALAN: Ve bize izin CS50 en kurulunda iki getirmek en üst düzey personel, hem de Rob ve Zamayla. [ALKIŞ] Gerçekten de, hem de Rob Zamayla bizimle olmuştur Çok uzun zamandır, ben mümkün olduğunu CS50 arşivlerinde gitmek ve bu çok SD bulmak katılan Bunların görüntüleri birkaç yıl önce sahnede kendilerini. ROB: [duyulamaz]. [ALKIŞ] ZAMAYLA: [Duyulmaz] [ALKIŞ] DAVID MALAN: Teşekkür ederim. Yani bunlara ek olarak Burada ekip üyeleri, CS50 yaklaşık 100 bir ekibe sahiptir kime tüm personeli, bölümler için geçerli olacak ve çalışma saatleri ve çok daha fazlası. Rob da söylediği gibi, bu En önemli revizyon 10 yıl içinde CS50 bu Ben [duyulamaz] oldum. [Duyulamaz] özellikle duruldu Bir destek yapısı sağlayan, Bir sürü uzak kırparak oldu toplu 10 yıl içinde biriken yinelenen gelişmeler dersin sorun setleri. Yani bu yıl, sadece sınıfta değil Ayrıca dersin problem şeklinde setleri, sen bir şeyler bulmak gerekir daha etkin hale, düzeltici, çok daha yönetilebilir yıl geçmiş, biz olarak var bagaj bazı döken gelişen yılın doğa tarafından geliştirilen yıl ve iterating sonra. Yani yeni ve geliştirilmiş bugün başlıyor. Sen biraz daha buluşacağız [Inaudible] olarak dersin sokaga Hizmet verdiğimiz 2:30, at, Bir gelenek, kek gibi. Biraz daha pasta var Bunun dışında, ama olacak karşılamak Erin ve Tobias ve yine diğerleri. Ve sana vereyim Bir tur duymak önce diğer personel bazı yanı sıra bekliyor ne sınıfında. Aslında, biz her zaman CS50 özellik var dönem bu, Cumartesi geliyor CS50 Bulmaca Günü denir ne. Bu ile ilgisi yoktur bilgisayar bilimleri başına, ama yaklaşık sorun daha genel çözümü. Ve bunu paylaşmak isterseniz, Davetiyelerin bazı başına Kapıyı görmüş olabilir , Düştü ya da burada sahneye o takımlarda bir fırsat iki ya da üç ya da dört, bulmacalar ve pizza için katılmak ve ödül ve more-- bu Cumartesi, Daha fazla bilgi için bizi izlemeye devam edin. Bunu her de bulabilirsiniz Cuma, Fire and Ice, CS50 bir getiriyor Öğrencilerin sürü öğle, büyük bir hale getirmek için sınıf, daha samimi hissediyorum ve genellikle bir araya getirmek mezunlar ve sanayi arkadaşları onlar var hakkında konuşmak için Mezun beri kadar olmuştur. Benzer şekilde, bu yıl, biz olacak açılışını ilk CS50 50 orta dönem contest-- kodlama herkes izin vermek için bir fırsat temelinde bir opt bir olması sınıf arkadaşlarına karşı fikir meydan okuma, Tekrar iki ya da üç veya ekipler halinde Sadece bu programlama ile dört, anlayışlı sonra altında olması sadece altı ya da yedi sonra kemer sınıf hafta ve katılımcı rekabet bu tür online-- kendi bilemek istiyorsanız Bu meydan okuma becerileri daha. Dönem sonunda ise Sözde CS50 Hackathon-- 7:00 başlar bir fırsat PM 7:00 AM biter, ve yol boyunca dalmak 12 akşam saatleri dersin nihai project-- içine bir fırsat tasarımı ve ilgi bir çok şey uygulamak senin öğretim ile size arkadaşının rehberlik. 9:00 AM etrafında genellikle biz yapmak Pizza, 01:00 AM hizmet Philippe'nın ve azımız 05:00 am hala uyanık kim, olan mekik aşağı taşımalı Kahvaltıda IHOP yol. Ve sonra bir kaç gün sonra Sözde CS50 olan fare-- dönem serginin bir son olarak sadece ne kadar çok kutlama CS50 öğrencileri gelmiş hafta sıfır haftaya tüm yol, ve bunların% 73 olduğu göz önünde tutarak sınıf arkadaşları ve sizin bu yıl var önce CS sınıfı alınan hiç. Aslında burada, her ne kadar bir kez daha vurgulamak CS50 personelinden birkaç yüzler. KONUŞMACI 4: [duyulamaz]. KONUŞMACI 5: [duyulamaz]. KONUŞMACI 6: [duyulamaz]. KONUŞMACI 7: [duyulamaz]. KONUŞMACI 8: [Duyulmaz] KONUŞMACI 9: [duyulamaz]. KONUŞMACI 4: [duyulamaz]. KONUŞMACI 10: [duyulamaz]. KONUŞMACI 11: [duyulamaz]. KONUŞMACI 12: [duyulamaz]. KONUŞMACI 13: [Duyulmaz] KONUŞMACI 14: [duyulamaz]. KONUŞMACI 13: [duyulamaz]. KONUŞMACI 15: [Duyulmaz] KONUŞMACI 16: [duyulamaz]. KONUŞMACI 11: [Duyulmaz] KONUŞMACI 5: [duyulamaz]. DAVID MALAN: takımın bazı kendilerini sınıfları alışveriş vardır. Ama o üyeler ise CS50 personel burada, Sadece bir an için yukarı gelebilir. CS50 en TFs ve CA ve [? personel ?] üyeleri bu sadece bir kaçıdır burada-- ve faces-- birinin sadece gördü ve birkaç other-- ve birkaç diğerleri Hala. Neden devam edip izin vermez Siz beş dakika mola. Eğer dışarı ördek gerekiyorsa mağaza sınıfları, bu iyi. Ve beş dakika içinde, biz, devam edeceğiz Scratch-- ilk bir göz alarak Bizim programlama dili, bir araya dersin personel burada biraz daha, ve nihai olarak odak sorun üzerinde sıfır olarak ayarlayın. Bu yüzden geri beş dakika olacak. [ALKIŞ] Pekala. Bu yüzden geri döndü. Ve de bizim kalan Zaman bugün, gol oyun alanı düzeyinde olduğu Bazı terminoloji açısından, bazı fikirler açısından. Gerçekten Çünkü, başına Daha önce çizelgeleri bazı bir dizi olarak orada olacak sınıfta deneyim düzeyleri, Bazı kimin öğrencilerin var önce bazı programlama almış, bazı kişiler yok. Ve böylece bu ilk sorun ayarlamak ve bu ilk dil ile biz başlatmak için bir fırsat var bugünden sonra verilen almaya Bazı ortak kelime ve fikir. Ve biz yoluyla yapacağım sahasının ilk languages-- C ve Python ve ek olarak, JavaScript ve SQL ve HTML ve CSS, Biz başlangıçta odaklama olacak ve problem sıfır set için sadece Bu grafik dil, adı MIT Media Lab'S tarafından geliştirilen Scratch, yolda, yardım etmek öğrenciler ve çocuklar özellikle kendilerini algorithmically-- ifade Ne ile daha tutarlı bir şekilde Biz hesaplamalı düşünce diyebilirsiniz. Ve yararlı bir dil çünkü var çok hızlı bir şekilde haftada bir sonraki hafta, Biz daha geçiş yapmak denilen geleneksel ve gizli dil tamamen metinsel C. Yalnızca sizin klavyeyi kullanın talimatları yazmak için Ekranda bu gibi. Ama sen hiç görmedim bile daha önce bir programlama dili, Sadece bakarak içinde Bu, tüm bu şifreli olabilir, muhtemelen tahmin edebilirsiniz Muhtemelen Merhaba Dünya yazdırır. Ama bir çok şey var Orada sözdizimsel havai. garip karma var kontör sembol veya hash etiketi. açılı ayraçlar var, bazı Parantez, kaşlı, yarı colon-- Görsel sadece çok şey var şekilde alır sözdizimi. Biz kursu ile başlayan Çizilmeye almak üzere tüm bu geçmiş entelektüel çekmeyen dikkat dağıtıcı, ve fikirler yerine odaklanmak. Aslında, daha önce olabilir. Bu, bunun için, hafta sonra olacaktır. Bu, bu grafik dil Scratch, Eğer aynı uygulamak nasıl Çalıştırmak bir program program-- sadece merhaba dünya diyor. Scratch ilgili ve güzel ne Bu grafiksel programlama olduğunu puzzle parçaları veya kullanan çevre bloklar, ancak birlikte kilitlenebilir olduğunu mantıklı mantıklı bunu. Ve Scratch ile geliştirmek için animasyonlar ve interaktif oyunlar sanat ve şeylerin herhangi bir sayıda ve Eğer kendi zihninde hayal olabilir ve sadece bunları uygulamak sürükleyip puzzle parçaları bırakarak. Ve gerçekten de, biz yeteneğine sahip olacaksınız Aynı bazı fikirleri ifade etmek Ben sadece bir an söz olduğunu önce Mike Smith bağlamında ve bir telefon book-- şeyler arıyor fonksiyonlar gibi, sadece eylemler, do döngüler gibi şeyler tekrar tekrar işler, olan değişkenler, biz tanıtacağız şey, ama belki de tanıdık var yer tutucu algebra-- sadece bazı tür öldürürsün bazı değeri depolamak için later-- Boole ifadeleri gerek, nerede o evet hayır ya da gerçek daha önce sahte sorular. Koşullar bu çatal vardır road-- bu dalları tabiri caizse. Ve sonra bazı meraklısı vardır biz bugün bile görürsünüz özellikleri, denilen diziler ve lifler ve olaylar, biz o zaman üzerinde tekrar edeceğiz Farklı dillerde zaman. Ama Scratch bize izin verir Bunların hepsi keşfetmek için. Yani burada Scratch olarak, bu mor blok işlevi genellikle budur benzeyecek. Bazı olan bu mor bulmaca parçası eylem kelime söylemek gibi, ve sonra bir olabilir bir yol argüman veya bir parameter-- özelleştirme tür ne anlama blok yapar böylece tarafından önceden belirlenmiş değil MİT bu mor renkli blok ne diyor. Aslında, bir göreceksiniz Ben yazmanız mümkün kulüpler an Merhaba dünya gibi kelimeler, ya da merhaba David veya merhaba Zamayla, ya da her neyse ben argüman, istediğiniz Bu bulmacanın beyaz kutu piece-- Orada. Ben bir döngü istiyorsanız Bu arada, yaparız puzzle parçaları var olduğunu görmek Bu gibi küçük bir turuncu bak. Ve onların şekil tür önerir bir şey tekrar tekrar olur bir döngü içinde. Ben söylemek Merhaba Dünya blok sarın Yani sonsuza kadar Scratch engellemek bir ile, Sadece merhaba diyerek devam edecek Dünya sonsuza dek, tam anlamıyla. Bu arada, başka var Sıfırdan döngü tipi Biz tekrarı see-- edeceğiz block-- nerede, eğer kaç kez önceden bilmek Eğer döngü yürütmek istediğiniz Seni fact-- kez sonlu sayıda bir sayı yazarak belirtebilirsiniz hatta, bir değişken tanıttığım göreceğiz olarak x veya y gibi. Aslında, değişkenler gibi Bu durumda, hangi ortak bir isim bir içindir tamsayı değişken olduğu Sadece bir number-- saklar bir tamsayıdır olabilir burada bu turuncu bloğu kullanmak için Ben sıfıra gibi bir değişken ayarlayın. Burada yeşil bir örnek Scratch Boole ifadesi. Bu bir matematik gibi görünüyor olsa da Böyle bir formül, matematik eşitsizlikler Gerçekten Boole ifadeleri vardır. Bu doğru veya yanlış olduğunu. Ben az 50'dir. Bir evet ya da hayır cevabı ya var ya da doğru veya yanlış cevap. Ve genellikle arayalım O Boole ifadeleri. Ve 50 olmak zorunda değildir. Bu, y den az X olabilir Y- için y büyükse, eşit Diğer herhangi bir sayıda sorular istenebilir. Şimdi, ilk bakışta, bu görünebilir aniden oldukça cesur burada ve burada. Ama kavram bilge, öyle daha önce gelen oldukça tanıdık. x, y den az ise, çok demek, daha. x büyükse başka y daha sonra da birçok şey söylüyor. Başka x, y eşittir söylüyorlar. Bu yüzden bir örnek var Orada üçüncü scenario-- bölgesinin sadece üçüncü possibility-- X, ya olduğu daha az büyüktür, veya eşittir. Bu yüzden yolda bir üç yollu çatal var. Ve serin burada-- Scratch ne fark o görünmek sadece bir bulmaca vardır ediyorum parçası, bu durumda, eğer başka bir blokta. Ve yine size ima edebilir gibi görünüyor Sadece yol iki yönlü bir çatal var. Sen sola veya sağa, ama gitmek olabilir Ne üçüncü senaryo hakkında? x y ne eşitse? Hayır büyük dağıtmak. bir bulmaca parçası alın, koymak bunu diğer bir bir iç semantik eşdeğer oluşturmak için Şimdi sen, eğer başka else-- ve eğer Yolun içinde üç yönlü çatal var. Ve biz göreceğimiz gibi, Çizilmeye puzzle parçaları , Gergin ve büyümek böylece Bunlardan daha fazla şeyler tıkmak için. Sen sığdırmak zorunda değilsiniz varsayılan boyutunda her şeyi. Bu yaparız şeydir yakında bir dizi denir bkz. Bir list-- bir yol ve gibi çok sayıda bilgi parçalarını saklamak bir değişken değil, sadece bir sayı. Bunlar bir temsilci göreceksiniz bir şey multi-threading çağırdı. Aslında, tüm Yazın Mac'ler ve PC'ler bu gün multi-threading destek hangi kelimenin tam anlamıyla can demektir Bir seferde birden fazla şeyler yapmak. Sen, Microsoft Word kadar olabilir ön plan, bazı kompozisyon üzerinde çalışıyor. Bir tarayıcı olabilir Arka plan açıklığında G-posta veya Facebook ya da benzeri. Bilgisayarınız birden şeyler yapabilirsiniz o çünkü bugün çok iş parçacıklı, ve programlar onlar konum Özellikle de çok dişli vardır. şeyler olarak adlandırılan olaylar olarak var iyi Scratch dünyasında, ve daha sonra bir şekilde yapmak için, orada çok Kendi özel puzzle parçaları şeyler varsa aslında önceden yoktur. Yani aşağıdaki gibi Şimdi bu motive edelim. Birkaç yıl önce, ne zaman Birincisi, Scratch keşfetti Ben aslında zaman MIT'de grad öğrenci, biz Kendimizi ödevlerini yapmak için görevlendirilmişlerdi. Ve ben implemented-- hangi geçmişe bakıldığında, o çünkü çok kötü bir karar oldu dünyanın en çıldırtan şarkı Sekiz saat boyunca dinlemek için senin homework-- üzerinde çalışırken ama bir şey Oscar Zaman aramıştı, hangi belki tanıdık bir şarkı. CS50s, bir Ürdün Hayashi kendi Bizim daha kıdemli personeli, 2015 için yükseltti ve Şimdi 2016 geri gün beri, Ben sadece gidiş her şey vardı Oscar'ın çöp tenekesine içine. Şimdi geri dönüşüm ve kompostlama destekler. Ama resmi boyamak biz burada ne yapabilirim ve bazı motive etmek Alt düzey örnekleri, biz diğerini alabilir Gönüllü sadece yukarı gelmeye ve benim ilk oynamak Hiç ev ödevi? Yukarı gel. Adınız ne? HENRY: Henry. DAVID MALAN: Henry, yukarı gel. Yukarı gel. Her iki şekilde kafa ve Eğer, bir an göreceksiniz Ben önde gidecek ve vuruldum üst sağ elinde yeşil bayrak gitmek anlamına köşe. küçük Dur işareti simgesi Dur diyecek, başlattığınızda ve o ve programı durdurmak. Tanıştığıma memnun oldum. Pekala. Bu yüzden talimatları görmek için gidiyoruz sadece bir an ekranda. Ve sadece bu oyunu oynarken bana güven seconds-- birkaç, Biz oynamak istiyorum etmeyeceğiz olacak end-- tüm yol Program ne bir anlamda olsun. Ve sadece Henry odaklanmak daha Bu oyun, odak noktasında iyi ya da kötü olmak ve nasıl bana tarafından hayata geçirildi başlangıçta ve sonra Ürdün. Başka bir deyişle, burada değişkenler? Nerede döngüler vardır? Nerede fonksiyonları nelerdir? Gördüğümüz yoksa ve göreceğiz Kaputun altında olanlar. Sadece tıklayın ve çöp sürükleyin Uygun bölmeye. [MÜZİK] Pekala. Çok iyi. Neden orada bitmiyor. Teşekkür ederim. Henry tebrik ediyoruz. Teşekkür ederim. [ALKIŞ] Sadece bu programı hata ayıklama düşünün. Bir sorun, iki varsa song-- ama çok dakikasında Burada gerçekten ne oluyor? gibi karmaşık might zamanla almak gibi başlar, Gerçekten de daha fazla şeyler düşen başladı, Ne hakkında ilginç sonra, örneğin, bu tür bir ve biz birkaç göreceksiniz uzadıya olduğunu eğer karmaşıklık Geçmişe bakmak veya Oyunun sofistike, çok basit bir yapı var bunların tümü play-- blokları, O bunları biçimlendirebilir eğer yapı taşları, çok erişilebilir ve kendileri Allah'a uygulanabilir. Örneğin, bu Bazı zaman oldu, ama ben Başlangıçta ne yaptıklarını oldukça emin İlk defa bu oyun yapma Ben Cloud tamamen gibiydi. Ben hiç odaklanmak vermedi mantık veya puzzle parçaları, Ben grafik ve bulgu üzerinde duruldu Sokak sonrası ve çöp kutusu ve bütün. Ama bu gerekli idi ilk önce bileşenler. Ve ben procrastinating bitmiş kez çerçevesinin dışarı atarken, Beni sadece bir yapalım, karar Gökten çöp düşme parçası. Ve biz Scratch göreceksiniz denilen şeyler destekler Bu can sprites-- karakterler böylece onlar farklı kostümler var farklı görünebilir. Ve bu yüzden bir çöp koymak Bu tür bir hareketli grafik kostüm. Ve ben sadece gerekli gökten düşmeye. Ve böylece çıkıyor, Kazı Kazan, çoğu programlama dilleri gibi, destekler rasgele sayılar veya teknik pseudocode rasgele sayılar, Bu sürükleyerek ve böylece Belirli puzzle parçaları bırakarak, Ben çöp var başardı İlk başta soldan geliyor. Ve sonra bir dahaki sefere ondan düştü ortasından sağ ve sonra. Ve tüm oyun sadece did was çöp gökten düşen var. Sen ona işaret veya üzerine tıklayın olamazdı. Sen çöp tenekesi açamadı. Sen bir şey yapamadık. Ama bir bebek bir adım oldu Benim nihai vizyon doğrultusunda. Ve bundan sonra, ben aslında bir çeşit hayata Eğer tıklayın eğer ki algılama ve çöp parçası üzerinde sürükleyin Çöp kutusunun Oscar bitti kapak açmak ve kapatmak istiyorum. Hiçbir çöp olur, ama olur en azından kapak açmak ve kapatmak istiyorum. Öyleyse, kontrol iki iki adım. Ve bu olacak ne Her iki sorun anahtar sıfır set ve daha genel olarak programlama, etmektir Bu çok kasıtlı bebek adımları. çünkü sadece size izin vermez hissediyorum dürüst çok daha başarılı quickly-- öyle Dünyadaki en kötü şey Oscar Time tüm uygulamaya çalışın, Daha sonra saat sonra yeşil bayrak vurdu ve hiçbir şey beklendiği gibi çalışır nerede bile sen çünkü debug veya başlamak bu programı giderilir? Sadece bunaltıcı. Ve böylece gerçekten bu fikri kucaklayan tekrar steps-- bebek adımlar atıyor ve vasıtasıyla yine kadar bina sonunda, var bir şey, gerçekten etkileyici ve karmaşık, ama İlk başta değil neredeyse kadar böyledir. Aslında, hadi yapalım. Beni devam ve- kendisini Scratch edelim , Scratch.MIT.edu adresindeki web var ve siz anlattı olacak sorun yine çok sıfır, şartname için belirlenen hangi CS50 web sitesinde zaten. Ama bu kendisi Scratch budur. Ve sadece gerçekten var üç temel alanları. Üst orada solda Sözde aşamasıdır. Bu Çizilmeye olduğunu. Varsayılan kostüm bir kedi. Ve bu dikdörtgen dünyada olduğu yukarı move-- hangi aşağı, sola Sağ ve diğer bazı şeyler. Ortada burada kategoriler veya puzzle parçaları bizim paletler, ve farklı renklerde farklı anlamlara gelir. etrafında kurcalamak Ve eğer, göreceksiniz döngüler ve koşullar gibi şeyler ve değişkenler ve diğer katkı maddeleri. Ve sonra buraya komut dosyaları alandır. Ben sürükleyip bırakabilirsiniz bu nerede Bu puzzle parçaları şeyler yapmak. Yani böyle bir şey yapalım. Beni devam edelim ve- Nerede olduğunu ve biliyorum. Yani hemen tıklayın gidiyorum Biliyorum nerede şeyler olmaya hazırız ancak işaret ve tıklayıp kurcalama kaçınılmazdır. Yani yeşil bayrak tıklandığında, ne yapmak istiyorsun? Bunu yapmak için gidiyorum. Ben bu mor bulmaca sürüklemek için gidiyorum parça, iki saniye merhaba deyin, ve bana yakınlaştırmak izin verin. Ve ben bunu değiştirmek için gidiyorum Ben şey olmak istediğini olmak merhaba iki saniye dünya gayet iyi. Şimdi, ben tıklayın gidiyorum Yeşil bayrak, ya da ben gerçekten istiyorsanız, Ben tam o ekran ve daha sonra geri dönebilirsiniz. Sadece tutacak tek bir pencerede her şeyi. Yeşil flag-- merhaba dünya. Pekala. Tüm bu ilginç değil. Bu yüzden bana devam edip bu yapalım. Bana bir tane deneyeyim. yeşil bayrak haydi clicked-- zaman Bir ses gibi bir şey yapmak. Ve dışarı fark olsun ücretsiz kutu Bir kedi sesi, varsayılan sprite olduğunu. Yani şimdi beni önde gidelim ve Şimdi yeşil bayrak çarptı. [Meowing] Aw. Bu harika. Ben programlama ediyorum. Peki ne yaptım? Bu program eşdeğerdir. Belli ki süper basit. Gerçekten bu kadar sürmedi çaba ve MİT, işlerin çoğunu yaptım ama ben bir işlev çağrısında bulundu. Ben bir fonksiyon kullandık. Ben sadece kullanarak, bazı eylem yaptık bir mor bulmaca parçası olduğunu. Eh, ben yapmak istiyorum Arka arkaya üç meows? Beni devam edin ve iki ve üç yapalım. Ve fark ettiğinizde sizi o Yakın bir puzzle parçası hover, Biraz beyaz çizgi belirir çeşit manyetik, ve yapışır Birlikte gitmene izin zaman. burada ne olduğunu görelim. [Meowing] bir hata var. Ben sadece bir miyav duymak. Neden olabilir? Evet? Evet. Biz gerçekten duymadıysanız, ama bu iyi sezgi. Hepsi aynı anda oynuyoruz. Niye ya? Eh, bilgisayar sadece gidiyor yapmak için yapmanız onu ne diyeceğim. Yani derseniz, oyun ses, Sesi çalmak ses çalma, ama kadar oynamak için söyleme Eğer bitirdiniz kadar oynamak, bitti içinden patlayacak Program gerçekten çok hızlı ve yapmanız bunu söylemek yok ne sadece. Yani aslında düzeltmek gerekir yollarla bir çift bu. Ben sadece, bunu bu kurtulmak olabilir. Bana bu diğer bulmaca deneyelim bitene kadar piece--, ses miyav oynamak ve daha sonra üç sürükleyin Bu ve Çal tıklayın. [Meowing] Gerçekten very-- değil Çok doğal sen-- teşekkür ederiz. Peki neden izin ben- yok Beni burada kontrol etmek için gidin. Güzel. Bir saniye bekleyin ve şimdi geri dönelim sesler ve oyun ses bitene kadar, ve sonra bana bir saniye bekleyin alalım. Ve sonra bana gidip birini seçelim Ses daha fazla ve işte başlıyoruz. [Meowing] Biraz daha doğal, ama Bu çok etkili değildir. Ben sıkılmadan gibi, hepsi bu kısaca, ileri geri tıklayarak ve gerçekten benim work-- çoğaltarak hemen hemen kopyalama ve yapıştırma. Nitekim, ben kontrol eğer Tıklandığında veya tıklandığında sağ Ben sadece kopyalanıp yapıştırılan olabilirdi. Daha iyi bir kullanmak için inşa ne olurdu? daha önce ne gibi bir fikir mi? Evet, bu yüzden bir döngü. Ve aslında, biz, dürttü eğer Biz tam olarak bunu bulabilirsiniz. Bana Olaylar veya Kontrol doğrusu gidelim. Yani repeat-- I do not 10 kat olmak istiyorum. Bu hızla sinir bozucu almak için gidiyor. Ama üç kez tekrar edecektir. bana ses geri dönelim ve bitti kadar ses çalmak. bana Kontrol geri dönelim ve sadece bir saniye bekleyin. Ve ihbar, öldürürsün o uymuyor düşünüyorum ama yine manyetik eğer buna izin ek yerinde, o dolduracak şekilde büyüyecektir. Şimdi ne oynayacak? [Meowing] TAMAM. Güzel. Ve bu ne diyeceği ise Ayrıca doğru bir programdır. Bu üç kez oldukça meowed doğal, ama daha iyi tasarlanmıştır. Ben daha az fazlalığı kullanıyorum. Ben kopyalayıp yapıştırın şey yoktu. Ben sadece iyi bir fikir kullanılır. Şimdi, bu hala tüm olmadığını Scratch yapmıyorum ilginç şey. Yani başka bir yerine bir şey yapalım. en sonsuza bir şey yapalım. Ve biliyor musun? Hareket ilginç görünüyor. Onu 10 hareket en atalım basamaklar ve şimdi oynattı. TAMAM. Peki biz sürükle tür Onu geri, o hala Sonsuza dek bu yapıyor çünkü koşuyor. Yani döngü yapıyor bunu yapmak için ne dediğini, ama bu o kadar ilginç değil. Bunu yapalım. Bana bir kontrol bloğu ekleyelim ve birini kullanın ilk kez bu koşulların. Yüzden 10 steps-- taşımak için gidiyor 10 nokta, screen-- 10 piksel o zaman bu soruyu sormak için gidiyor. bir şey doğruysa, o zaman yapmak Bu bloğu içinde bir şey. Bu yüzden çıkıyor algılama bir bütün var Boole expressions-- demet evet soruları hiç ya da gerçek yanlış bunu yapmama izin ver form--. touching-- ise ve sonra var açılan menüden bu küçük damla. Bunu parameterize olabilir. dokunmadan Eğer haydi edge-- böyle bir şey. Yani eğer edge-- dokunmadan Beni harekete geri dönelim. Ve neden biz sadece 180 derece etrafında çevirmek? Pekala. Yani sonsuza kadar, 10 adım taşıyın. Eğer dokunmadan yapıyorsanız Kenar, 180 derece döndürün. Ve bu programın sonu değil Eğer bir konum çünkü sonsuza kadar bloke, bu yüzden tekrar gidecek ve Tekrar ve tekrar ve tekrar. Yani ne olduğunu görelim. TAMAM. Biraz buggy, ama serin tür. Ve biz bu biraz saçma şeyler ekleyebilir değil tüm bu entelektüel vardır ilginç. Ama biz bu küçük vurmak Mikrofon button-- ah. Bana bu kadar temiz olsun. Beni bu geliştirmek edelim Televizyonda söyleyebilirim. Temizlik o kadar Kaydet ve Şimdi komut dosyaları kadar gidin. Ve şimdi, beni ses gidelim. Bana bir isim vereyim. Bu ouch arayacağım. Ve şimdi ses ouch oynarlar. o görünür fark açılan menüden küçük bir damla. Bakalım. [OUCH] [KAHKAHA] Ama biz anında onun t değiştirebilirsiniz. Biz iki kat can sıkıcı olabilir. [OUCH] Ya da bizim gibi yaparsanız Bir olan Zamanın 1.000 adımlar TAMAM. Bu yüzden yalnız birini bırakmak için gidiyoruz. Yani yine, blocks-- I bina süper basit bir şey ile başladı ve sonra bir özellik ekledi, bir özellik eklendi, bir özellik ekledi. Ve ben artık dert etmenize gerek nasıl bu özelliklerin ilk Ben devam ettikçe uygulanmıştır üstüne bir şeyler katman. Yani aslında, beni burada diğeri yapalım. Beni devam edin ve bir dosyayı açmak edelim ki Ben, önceden getirilen Koyun denir. Bu yüzden biraz daha farklı vardır Bu gibi görünüyor karakter. Ve görmeme izin ver eğer yapamam bir sayaç kullanarak bir şeyler yapmak bu sözde değişkeni yani mevcut. Ben önde ve etkinliği var altında gitmek için gidiyorum Bana bir yeşil bayrak tıklandığında alalım. Sonra bana biliyorum Veri, gidelim önce uğraşırken sadece gelen, değişkenler yerdir. Ve ben devam edin ve bu sürüklemek için gidiyorum. Yani bir değişken sayaç olarak adlandırılan ve Ben sıfıra başlatmak için gidiyorum. Ben herhangibirşey x onu arayabilir veya y ya da z-- ama programlama, Bir anlam şey çağıran kullanışlı bir yoldur, sayaç gibi, o bir var, ne açıklar kolay lot kodu daha sonra okumak için. Beni go ahead ve alalım Bir Sonsuza dek burada engeller. Ve beni görünüyor gidelim ve sayfa Say blok yapmak. Ama ne değişkenlere ilişkin cool I sadece bir şey yazmanız gerekmez biz zaten var gibi merhaba dünya, yapılan, ben yerine Veri gidebilir ve benim değişken sürükleyin ve hatta şekil yok ama oldukça o uygun olmalıdır benziyor, o dolduracak şekilde büyüyecektir. Ve sadece biri için sayaç söyleyeceğim saniyedir-- spoiler-- o saymak gidiyor. Biz bir saniye söylerim. Sonra gideceğim ve Onu bir saniye bekleyin var, bu yüzden çok hızlı sayılmaz. Ve sonra son olarak, sayaç değiştirme diğer bir deyişle bölgesi varış ile tek sayacı artırmak ek değer sonsuza bunu ve. Yani koyun da, böyle bir programcı, 0'dan sayar. Ve biz yeterince uzun beklerseniz, O sonsuza dek yapacağız. Ama bu, çünkü tam olarak doğru değil Aslında, biz haftada bir de keşfedeceksiniz, daha genel tamsayılar ve bilgisayarlar, teknik olarak sadece finite-- de vardır, bilgisayar yerine bunlar tam sayıları temsil eder, Sadece bir bit sınırlı sayıda vardır. Oradaki ampuller sadece bu kadar yüksek güvenebilirsiniz Eğer ampulleri bitti önce. Ve bir bilgisayar da, Sadece bu kadar belleğe sahip, sadece bu kadar çok transistör bulunuyor, bu yüzden sadece bu kadar yüksek güvenebilirsiniz. Bu yüzden, koyun çıkıyor Ben 2 milyar güvenebilirsiniz, düşünmek ya da oldukça büyük bir şey. Yani biz gitmiyoruz Bunun için bekleyin. Ama sonunda bazı böcek olur Bazı çok gerçek dünya olabilir yansımaları. Fakat koyundaki ötesinde, sadece bir değişken tanıtır. en go ahead ve açalım bir şey önceden yapılmış Burada Cat-- Pet denilen Burada kedi pet. Ve birkaç var Burada dikkat bloklar, ama ne zaman yeşil bayrak Tıklandığında sonsuza dek aşağıdaki yapıyor. Fareyi dokunmadan ediyorsanız pointer-- böylece ekranda imleç, arrow-- oyun ses miyav ve daha sonra iki saniye bekleyin. Ve sadece sonsuza kadar bunu. Sadece sürekli bekle pointer-- görmek için Kedi işaretçisi temas ediyorsa. Yani oynattı. Hiçbir şey oluyor. Ama kedi üzerinde imleci olarak, [Meowing] Ve ben, o uzakta değil taşırsanız Artık kedi sevişme. Bu yüzden bazı koşullu mantık Bir döngü iç içe. Bu nasıl örnek hakkında, kasten Cat Pet etmeyin aradı? Bu ne yapacak? [Meowing] Neden değil kedi pet gerekir? [Meowing] TAMAM. Yani bu bir else if bir örnektir. Bu bir karar noktası ve bu döngü içinde oturuyor, çünkü ikisi de işaretli alıyorum konum. Bu doğru mu? Bu doğru mu? Bu doğru mu? Bu doğru mu? ve sonunda, bir Bu uygulamak için gidiyor ve böylece miyav veya iki duymak Bu durumda aslan kükremesi. Peki, biraz daha süslü bir yapalım Ben parçacığı too-- önceden yapılan. Yani bir iş parçacığı yalnızca biridir Bir bilgisayar yapabileceği bir şey. Yani çok dişli bir program bir program Bu seferde birden fazla şeyler yapabilirsiniz. Ve bu örneklerde bütün şimdiye kadar vardı Sadece bir senaryo, bu yüzden speak-- için Bir program burada böyle. Ama bu program vardır fark İki sprite, iki karakter. Bir kuş olduğunu. Biri kedi. Ben bu aşağı tıkladığımda ve fark Sol, her biri kendi komut var veya programlar onlarla ilişkili. Ve her ikisi de bu programları, haber, başlangıç yeşil bayrak clicked-- ile en cat-- bakalım Yeşil bayrak tıklandığında. Ve böylece gerçekten, şimdi oyun vurduğunuzda, iki şey aynı anda gerçekleşmesi için gidiyoruz. kedi ve kuş hem de aynı anda çalıştırmak için gidiyor Bu etkiyi yaratmak için. Ve sen neler hayal olabilir. bir döngü ve kuş var ve kedi bir döngü içindedir. kuş gibi zıplatma Ben ah dediğinde önce oldu. Ama kedi açıkça bir avantaja sahiptir. Başka bir algılama bloğu var Bu kasten kediyi işaret Burada bu durumda kuşa. Bu yüzden bakarak, ayrı kızdırmak olabilir Bu bloklar sayesinde ne oluyor. Ama burada önemli bir madde biridir. kuş, bu oyun değil ki tamamen boring-- veya bu animation-- rasgele bir yönde başlar. Ve bilgisayar çekme 90 ile 180 arasında bir sayı böylece esas olarak, bir hafif var: Farklı animasyon her zaman. Ve sonra, eğer burada dikkat kedi, daha sonra kuş dokunuyor kükreme sound-- aslan dört oynarlar. Fakat bu arada kuş içinde palet, biz bu var. Her zaman, kedi dokunmadan değilse, sadece üç adım hareketli tutmak. Ve sonra burada başka bir bulmaca parçası. Eğer kenarında iseniz, sıçrama. Yani kuş sadece tür bir kendi halinde, sadece etrafında uçan ve zıplayan ve gerçekten var koşullu mantığı vardı kedi o kuş çekmişti olmadığını belirlemek için. Pekala. Yani burada diğeri yapalım, Bu bir Hi Hi Hi çağrıldığını. Ve bu burada sadece yapar Bir döngü içinde sonsuza dek bu. Ama nasıl notice-- biz durduracağız Bu çok sinir bozucu bir program? boşluk tuşuna basın. Bunu Çünkü eğer, sol program-- sürekli olduğunu fark listening-- anahtar alan basın olduğunu. boşluk basarsa, ve eğer öyleyse, ne işe yarar? Bu çok yaygın bir teknik yok. Bazı değerine eşit bir değişken ayarlar. Ama bu değeri değiştirir. [? Yani görünüş?] shape-- I göre bir değişken var ben Önceden denilen yazdı sadece evet veya hayır diyor, sessiz. Ses kapatılacaktır ya da değil mi? Doğru ya da yanlış? Ve ihbar, ben eğer bu-- söylüyorum kapatılır sonra birine değiştirmek sıfır, Başka sıfıra o dilsiz ayarlayın. Yani sadece sıfırdan birine değer çevirin. Bunu değiştirmek done-- olabilir iki ila üç, iki ve üç arasından ya da dört, beş ya da altı dört. Ama önemli değil ne kullanmak sayılar, çok uzun zaman tutmak gibi o tam tersini değişiyor. Ve en herhangi bir programcı sadece olur sıfır ve Şehre yanlış ve gerçek seçin, kapalı ve Firefox veya bu temsil etmek. Ve bu hala çalışıyor. Yine boşluk vurursanız [SEAL SESLERİ] Program hala çalışıyor. Bu diğer komut var çünkü sonsuza kadar aşağıdaki işlemleri yapın diyor. sessiz değişken eşitse zero-- yüzden sessiz değilseniz false ise logic-- olduğunu ya da hayır, sonra sesi çalmak, Eğer sessiz değil çünkü. Daha sonra ses çalma ve gerektiği iki saniye hi hi hi düşünüyorum ve daha sonra bekleyin ve bunu Tekrar ve tekrar ve tekrar. Ve böylece bu şekilde bir yol için var programlar etkileşim için insanlar aşağıdaki amaçlara yönelik. Ve onlar gerekmez başkaları olarak tarihli. Aslında, etrafta alay hayır cinas intended-- Birisi büyük miktarda geçirdi uygulama internet üzerinde zaman Scratch içinde PokemonGo. Hatta sizi geolocates Burada Cambridge veya Allston. Çok insanlara ne görmek istiyorsanız Yani bu-- çok süslü menü yapabilirsiniz olduğunu. Burada tıklayın. Bu artık benim ok tuşları ile ben. Bundan sonra gidiyorum. Tıklayın. Ve şimdi Pokeball tıklayın. Demek istediğim, sen sanıyorsun Pokeball tıklayın gerekiyordu. Pekala. Yani ben yaptım. Buraya gidebilirsiniz. Ve bu kişinin biraz daha uygulamaya burada-- üç PokeBalls üzerinde PokeBalls. Biz bu bir bağlantı sonrası edeceğiz Online yüzden oynayabilirsiniz. Ama haber sadece orada var Bazı temel yapı taşlarıdır. Bu çok meraklısı görünüyor ve öyle. Bu etkileyici ve daha biz genellikle olduğundan daha bekliyoruz, kesinlikle sorun için sıfır olarak ayarlayın. Ben ne kadar uzun bir fikrim yok Bu kişinin çevrimiçi geçirdi. Ama bunların hepsi sadece bir döngü var. Bir ses oynama var. döngü çeşit var Ben olsun için dinleme yukarı ok veya aşağı vurmak ok veya sol ve sağ, ve o zaman, eğer hareket ediyor o piksel bir sayı. Ve sonra ben tıklarsanız Başka bir sprite, var Orada eğer durumun bir çeşit. Evet, bu çok yoğun oluyor. Biz durdurmak için gidiyoruz. Tüm bu temel yapı taşlarını var. Diğer başka hiçbir maddeler vardır olanlardan daha biz zaten baktım. Ve yine burada, beni yapalım örneklerinden biri son seti bu da bir resim çiziyor Burada neler yapabileceğini. Burada çok basit bir program olduğunu Sadece paha öksürük, öksürük, öksürük yapar. Ve sadece dayalı neler Biz bugüne kadar baktım burada açıktır iyileştirilmesi için bir fırsat. Bu program doğrudur. Bu, üç kez öksürükler hangi ı amaçlanan budur. Ama kötü uygulandığı. O kötü tasarlanmıştır. Niye ya? Evet. Bu bir döngü değil. Ve o kadar çok değil Bir döngü olmadığını, bu fazlalık bir şey var bu. Orada kopyalanır ve Yapıştırılan kod, tabiri caizse. Ve çözüm muhtemelen gerçekten bir döngü. Bu yüzden bana devam edelim ve geliştirmek. Ve ben buraya bu sürüklemek için gidiyorum. Beni devam edin ve tekrarlanmasını alalım blok, üç değiştirebilirsiniz. Ben atmak için gidiyorum Bu blokların bazıları. Ve oldukça sezgisel fark edeceksiniz. Sen sürükle ve bırak ve işler görünür ve sonunda kaybolur. Ve sadece burada bu sürükleyin ve yapabilirsiniz Şimdi ben hala bir temizleyici sürümü var. Ama ne biliyor musunuz? Bu fırsat var abstraction-- için şimdi yeni kelimeleri tanımlamak başlamak için MİT tahmin etmediğini. bekleyin ve tekrar var ve sonsuza kadar ve eğer, ama ne isterseniz tanıtmak Bir blok olarak kelime öksürük? Ne bir puzzle parçası istiyorsanız Hayatta kimin amacı öksürük nedir? Peki, bu sürümü bakalım Burada, burada aşağıdaki gibi yapılmıştır. Sihirli, ben yarattık Burada bu puzzle parçası, hangi Scratch yapmanızı sağlar. Ve gerçekten C Python ve JavaScript vardır siz de bunu yapmasına izin olacak. Kendi özel oluşturabilirsiniz Ne istediğinizi diyoruz adettir. Bu durumda, öksürük hisseder makul bir tanım gibi. Ve sonra aşağı bu taşlarla Burada bunun ne anlama geldiğini tanımlayabilirsiniz. Ben sürükledi ve düştü Bu paleti burada-- daha Bu büyük mor blocks-- Ben öksürük yazdığınız blok, Yeni bulmaca parçasının adı olarak. Ve sonra bir kullanıcı her zaman söylüyorum Bu yeni öksürük bulmaca parçası çağırır, söz ve bekleme yapmak. Ve böylece buraya benim tekrar bloğunda, Ben sadece üç kez öksürük olabilir. Ve ben özellikle iddia ediyorum Şimdi eğer bu ayrıntıyı gizlemek. Kim öksürük nasıl uygulanacağını umurunda? Ben bir şekilde umurumda Tüm Ben öksürük olabilir programcı. Ben uygulanmaktadır demek nasıl umurumda değil. Ben sadece bakım Kedi şey söyleyebiliriz. I can uzak soyut olduğunu detay ve Sadece burada ekranda ne odaklanmak. Ama daha bu bir adım atabilirsiniz. Ben, burada dikkat döngü üç kez uyguladı. Ama ne olursa onun yerine bu sürümü kapmak? Peki yerine eğer Burada bu sürümde, Ben sadece almak benim puzzle parçası değiştirmek kendisi şöyle bir argüman ve giriş? Ve bu girilebilir Üç gibi bir sayı. Yani şimdi, ben bir program yazıyorum eğer ve ben kedi öksürük istiyorum, Aslında bulmaca söyleyebilirim öksürmeye kaç kez piece, Burada altta, bir meraklısı çünkü Bu özel puzzle parçaları sürümü Bana belirtmek sağlar öksürük gerçekte alır Bir input-- böyle bir argüman alır. Ve biliyor musun? Belki farkında, bir dakika bekleyin. Öksürük same-- olduğunu temelde var hapşırma ile aynı fikir. Bu sadece bir farklı Ekranda bir kelime. Ben soyut uzakta can ileri ve uygulamaya Bir bu son sürümü Öksürük, ilk bakışta hangi seyir yolu daha karmaşıktır. Ama ne yaptık dikkat edin. Ben şimdi var genericized generalized-- Bu puzzle parçası gerçekten-- çağrılacak kelime n defa söylüyorlar. Ve şimdi iki yeni puzzle parçaları var Buraya öksürük n kez tanımlar. Ve öksürük fonksiyonu ne yapıyor? benim özel bulmaca parçası ne işe yarar? Sadece demek bloğu çağırır, Söylemek istediğiniz sözcüğü geçen sayısında geçen kez şunu söylemek istiyorum. şimdi uygulamak Çünkü sadece achoo diyerek hapşırma, Bu durumda, birkaç kez bir sayı. Ve bu yüzden katman ve katman var. Ve yine, burada anahtar değil, Bunu hayata, ama aslında nasıl eğer ben sadece gerçekten Ekranın kapalı bu hareket, bak ne kadar kolay değilse Oldukça benim program şimdi görünüyor. bunu yapar çünkü Ben abstracted ettik, diyor uzakta o kara kutu içinde ne olduğunu. Burada bir mor kutu olur, İçinde ne ama uzakta engel oldum Ben nasıl çalıştığını umrumda değil çünkü. Ben şimdi bunun işe yaradığını önemsiyorum. Ve gerçekten de, sorun Bu tam olarak sıfır set fikirlerin tabakaların tür olacak keşfetmek için fırsat var. Bu tam olarak bir fırsat problem çözme tekniklerini uygulamak, Muhtemelen bir ne kadar yabancı bir ortam. Ve programlanmış değil olsanız önce veya daha önce programlanmış, Eğer var olduğunu göreceksiniz küçük bir şey Herkes için bu ortamda. Ve sorun set Bir hafta süre içinde bir, Biz odaklama geçişi olacak denilen bir üst düzey dil daha düşük bir çok C- veya düzey dil olarak adlandırılan C- bu daha var: öyle olsa bile, güçlü İlk bakışta daha şifreli biraz. Ve bugünün TL başına fark edeceksiniz: DR, alan bu sorun daha kısa olduğu Gelecekteki olanlardan daha zaman penceresi, sadece Bunu oldukça bulmak gerekir çünkü erişilebilir. Ve eğer endişe etmeyin sınıf Geç ekleyin. Biz daha önce bu kadar uzun süre ele alacağız. Biz pasta için ertelemek önce, diyelim Sadece iki dakikalık bir görünüm ile bitirmek CS50 burada sizi bekliyor ne. [MÜZİK] Pekala. Bu CS50 için var. Sizi yakında göreceğiz. Kek şimdi servis edilir. [MÜZİK] KONUŞMACI 17: duydun ücretli izinde, Şef? KONUŞMACI 18: Belki var kaputun altında daha fazla.