[ფონის ხმაურს] მუშაობს იგი? PATRICK REBESCHINI: ჩვენ შეგვიძლია დავიწყოთ. კარგი. დიდი. დავიწყოთ. ასე რომ, ეს არის ჩემი დიდი სიამოვნებით მოგესალმოთ ყველას, დღეს აქ პირველი ლექცია , ასევე, შესავალი to Computing და პროგრამირება. ასევე ცნობილია, როგორც CS50 ან კარგად, CPSC 100, ოფიციალურად აქ იელის. ასე რომ, ჩვენ არ შეიძლება უფრო აღელვებს მოგესალმოთ აქ. ჩემი სახელი არის პატრიკ Rebeschini. მე ვარ უფროსი ინსტრუქტორი კლასში. მე კი აქ ვარ, რომელიც წარმოადგენს დაახლოებით 60 თანამშრომლები რომელიც იმუშავებს თქვენთან ერთად მთელ სემესტრში. ეს რიცხვი თითქმის 60 ჩვენგანისთვის. მიუხედავად ამისა, გასწვრივ საგანგებო დონის ვალდებულებები რომ ჩვენ ამ კლასი, რაც CS50 კლასის იელის უნივერსიტეტში, რომელიც გთავაზობთ დიდი დონის მხარდაჭერა ყველა თქვენგანს. და ჩვენ ვერ საამაყო გთავაზობთ ამ კლასში აქ ერთხელ. სინამდვილეში, როგორც თქვენ მალე განიცდიან, CS50 გაცილებით მეტია, ვიდრე კლასი. ეს არის საზოგადოების. და თქვენ უნდა ნაწილი მალე ამ საზოგადოების. ეს არის მეორე წელია Yale სთავაზობს ამ კლასში. ჩვენ ვაშენებთ უკიდურეს წარმატება გასულ წელს, სადაც პირველად, აქ, ამ უნივერსიტეტში, ბაკალავრიატის სასწავლო თანაშემწე მიღებულ იქნა კლასებში. ეს ყველაფერი დაიწყო ამ კლასში შარშან. ასე რომ, როგორც თქვენ იცით, რომ კლასში ისწავლება ერთად ჰარვარდის უნივერსიტეტი. ასწავლოს ეს კურსი ჩვენ ვართ relying-- ჩვენ შეგვიძლია იმედი დიდი ექსპერტიზა დავით Malan და ჰარვარდის გუნდი. დავითმა უკვე სწავლების CS50 კარგად, 10 წელია. და ყოველ წელს იგი უკვე უბიძგებს საზღვრები და გაუმჯობესების კლასის გამოცდილება. კიდევ ერთხელ, ჩვენ არ შეიძლება უფრო ბედნიერი გააგრძელოს ამ მათთან თანამშრომლობა. ფაქტობრივად, ერთი ყველაზე საინტერესო ნაწილები, მინდა ვთქვა, გაშვებული ამ კლასში ახლა, როგორც ჰარვარდის და აქ Yale, არის მართლაც საოცარი ჯვარედინი განაყოფიერების იდეები, რომლებიც მიზნად ისახავს სწავლის გამოცდილება თქვენ ყველა. შედეგად, ამ ფართო თანამშრომლობის ორი უნივერსიტეტი, CS50 ამაყობს აცხადებს ახალი ვერსია ამ წელიწადში შესამჩნევი ცვლილებები. დავით ყველა მოგვითხრობს მათ ახლა. ასე რომ, please-- ეს არსება განაცხადა, შემომიერთდით და მივესალმებით, რათა დიდი რაუნდი ტაში მივესალმებით დავით და ჰარვარდის გუნდი აქ იელის. [ტაში] დავით Malan: დიდი მადლობა. მადლობა. ეს არის CS50, ჰარვარდის უნივერსიტეტის და იელის უნივერსიტეტის დანერგვა ინტელექტუალური საწარმოების კომპიუტერულ მეცნიერებათა და ხელოვნების პროგრამირების. ეს კი იმას ნიშნავს, რომ ეს, რა თქმა უნდა საბოლოო ჯამში, დაახლოებით პრობლემის გადაჭრის. მართლაც, ბევრ თქვენგანს შეიძლება არ გამოვა საშუალო სკოლა და გავატარე ბოლო რამდენიმე წლის განმავლობაში კითხვაზე, თუ რა ზოგიერთი თქვენი მეგობრები გასულ წელს და სხვა კლასებს. და მაინც, რეალობა არის, არ აქვს მნიშვნელობა, რაც ჩვენ დასასრულს დღის ამ კლასში, ეს იქნება დაახლოებით პრობლემის გადაჭრის. და როგორც ასეთი, შესაძლოა მიიღოს ზოგიერთი დარწმუნება იმაში, 73% სტუდენტებს, რომ მიიღოს ამ კლასში, როგორც აქ იელის ისევე, როგორც ჰარვარდის, არასდროს აღებული CS კლასის წინაშე. ასე რომ, თუ თქვენ იჯდა აქ მაყურებელს დღეს გაინტერესებთ რატომ სხედან აქ აუდიტორიას, დღეს, ან იქნებ უბრალოდ მოჰყვა ერთად მეგობრები, ან იქნებ უკვე პატარა აინტერესებს, თუ რა კომპიუტერული მეცნიერებისა და პროგრამირების, გააცნობიეროს, რომ ყველაზე თქვენი თანაკლასელები მარცხენა და მარჯვნივ თქვენ ძალიან ბევრი, რომ იგივე დემოგრაფიული. და მართლაც, თუ გადავხედავთ გასული წლის სტატისტიკური ფარგლებში სტუდენტი ორგანოს CS50, როგორც აქ და ჰარვარდის, 58% სტუდენტები აღწერს თავს ნაკლებად კომფორტული. 9% უფრო კომფორტული. და შემდეგ 33% სადღაც შორის. და არ არსებობს ფორმალური განმარტება ის, რაც ამ თაიგულების ნიშნავს. თქვენ ერთგვარი ვიცით, რომ თქვენ ნაკლებად კომფორტული, თუ თქვენ ხართ. თქვენ შეგრძნება ცოტა მძიმე იქნებ უკვე კლასში. თქვენ არ დანამდვილებით თუ კომპიუტერი მეცნიერების კლასის, საბოლოო ჯამში, თქვენ, და გააცნობიეროს, რომ თქვენ ძალიან კარგი კომპანია. და მართლაც შეფასების, და შეფასების, და კავშირი, და ყველა, რომ მხარდაჭერა სტრუქტურა კლასში საბოლოო ჯამში, ძალიან ინდივიდუალურია. უფრო მეტი, ვიდრე ყველაზე ნებისმიერი სხვა კლასის მიერ დიზაინი. და მართლაც, რაც საბოლოო საკითხები ამ კლასში არ არის იმდენად სადაც თქვენ დასრულდება მდე ნათესავი სხვები, მაგრამ სადაც თქვენ, კვირაში 11 ან ბოლო, და შედარებით თავს კვირაში 0 აქ ჩვენი პირველი. ასე რომ, რას ნიშნავს ეს? ეს იმას ნიშნავს, იმ 73% სტუდენტები, გასულ წელს, არასდროს გადაიყვანეს CS კლასის წინაშე, მიერ დაიწყოს სემესტრის ისინი იყო მოსინჯვასთან ენაზე მოუწოდა Scratch, რომელიც ჩვენ თვითონ ნახავთ დღეს აქ. და ბოლოს სემესტრის რომ ისინი წავიდა მეშვეობით მთელი სია გამოწვევებს. დაწყებული ენის მოუწოდა გ. განხორციელების, რა არის ერთი შეხედვით, აპირებს იყოს ცოტა გამოწვევა ზოგიერთი, მაგრამ საკმაოდ სასიამოვნოა, როდესაც თქვენ მიიღეთ Super Mario bouncing და ქვემოთ პირამიდის განხორციელდა, თუმცა, მხოლოდ რაღაც მოუწოდა ASCII art. ახორციელებს ბოლო წლამდე, რაც სტუდენტებს გასული წლის შემდეგ არ შემდეგაც განახორციელონ თავიანთი საკუთარი კეისრის და vigenere cipher. ასე რომ, შიფრირების ალგორითმები ერთად, რომელიც შეიძლება scramble ინფორმაცია და შემდეგ unscramble ინფორმაციის გაგზავნის საიდუმლო შეტყობინებები. თამაში იყო 15 წლის. თუ გახსოვთ, ბავშვობაში ან რამდენიმე პარტიის სასარგებლოდ, რომ პატარა პლასტმასის თამაში, სადაც თქვენ გადატანა ნომრები up, down, მარცხენა და მარჯვენა ცდილობენ მიიღონ მათ, რათა, რეალურად ახორციელებს, რომ თამაში და გადაჭრის ლოგიკა საჭირო არ არსებობს. და მაშინ ჩვენ dabbled წელს სასამართლო ექსპერტიზის შარშან. ასე რომ, შუა სემესტრში, სტუდენტები, რომლებიც არასდროს გამოიყენება კლავიატურები ამ მიზნით ადრე, წერილობით პროგრამული უზრუნველყოფა ფეხზე, ასე ვთქვათ, JPEGs ან ფოტოებზე რომ ჩვენ გვქონდა შემთხვევით წაიშლება ციფრული მეხსიერების ბარათი კამერით. აღმოფხვრას საიდუმლო შეტყობინებები შიგნიდან bitmap გამოსახულება, და სხვა მსგავსი ტიპის გრაფიკა, ასევე. ჩვენ მაშინ გადავიდა მიცემა მთელი კლასის ლექსიკონი. უბრალოდ ძალიან დიდი ტექსტური ფაილი ერთად 150,000 ინგლისური სიტყვა. და ყველას დაუპირისპირდა როგორმე წავიკითხე, ასე ვთქვათ, ეს სიტყვები მეხსიერებაში. შევიდა კომპიუტერის მეხსიერებაში. და შემდეგ კითხვებზე პასუხის გაცემა ფორმა, არის თუ არა ეს სიტყვა? არის თუ არა ეს სიტყვა? არის თუ არა ეს სიტყვა? უბრალოდ ახორციელებს მართლწერის შემოწმება. და შემდეგ რთული ყოველ სხვა დიდი board-- ლიდერი board ნახოთ ვინ შეიძლება გამოიყენოთ მაინც ოდენობით მეხსიერება, მაინც დროის რეალურად მართლწერის შემოწმება დიდი დოკუმენტები. ჩვენ transitioned დან შემდეგ, განხორციელების პირობა საკუთარ სერვერზე. ასე რომ, არ მიღების ვებ გვერდები ენებზე როგორც HTML და CSS, თუ თქვენ იცნობს. მაგრამ რეალურად ახორციელებს სერვერზე, უსმენს ინტერნეტ მოთხოვნის ბრაუზერები და შემდეგ რეაგირების იმ მოითხოვს. მაშინ ახორციელებს ჩვენი საკუთარი ელექტრონული ვაჭრობის, როგორც ნახვა, სადაც სტუდენტები ვერ იყიდოს და გაყიდოს აქციები. ვხატავთ თითქმის რეალურ დროში საფონდო შეთავაზებებს Yahoo Finance. და რომელიც სტუდენტებს საშუალებას, რომ როგორ მათი პორტფელის ვითარდება. და ბოლოს ბადაგი up of Google News და Google Maps, რომლის დროსაც სტუდენტები საპრეზიდენტო ვადის ვადით ბოლოს ჰქონდა უნარი დააჭირეთ და მრგვალი და ძებნის Google რუკა. და მერე ვნახოთ ყველა სტატიების რომ არიან პროქსიმალური იმ კონკრეტულ სფეროებში. ასე რომ, ნამდვილად აპირებს ნულიდან 60. და გზაზე, რაც ჩვენ გვქონდა გასულ წელს სახელწოდებით, hacker დამატებები. რომ დააყენებს ბარი უფრო იმ თქვენ, რომელიც შეიძლება ძალიან კარგად აქვს კარგი თანხის გამოცდილება მყოფი, რომ 9% უფრო კომფორტული. ასე რომ, გააცნობიეროს, რომ არსებობს ძალიან მაღალი ჭერი კიდევ შიგნით იმ გამოწვევები სტუდენტები მოდის სხვადასხვა ფონზე. იმის გამო, რომ ბოლოს დღეს, ჩვენ საბოლოოდ ორიენტირებული უბრალოდ ამ. მაგრამ რას ნიშნავს, პრობლემის გადაჭრის? მოდით შესთავაზოს, რომ ჩვენ distill მოსწონს ეს. ასე რომ, პრობლემის გადაჭრის მართლაც მხოლოდ ამ სახის სურათს. ასე რომ თქვენ მოხვდით საშუალებებით რამდენიმე პრობლემა, რაღაც, რომ თქვენ ნამდვილად გსურთ მოგვარებას. მიზანი არის ის, რომ შედეგები, გამოსავალი, რომ პრობლემა. და შემდეგ შუა არის რაც ჩვენ მოვუწოდებთ შავი ყუთი. აუცილებელი არ არის, ვიცით, ან თუნდაც მაინტერესებს, რა არის შიგნით, რომ შავი ყუთი. თქვენ იცით, რომ როდესაც თქვენ შესანახი შეტანის შევიდა, თქვენ იმედია გამომავალი ან გამოსავალი იგი. ხოლო დღეს ჩვენ შევხედოთ როგორც საშუალებებით და შედეგები, ჩვენ გამოგიგზავნით გრძელვადიანი, და მეტი რა თქმა უნდა, მთელი სემესტრის ფოკუსირება, თუ რა არის შიგნით, რომ ყუთში. და მასში დაეკისრება რაღაც მოუწოდა ალგორითმები. ეტაპობრივად ინსტრუქციები რეალურად საქმე გარკვეული პრობლემები. მაგრამ რა არის მაგალითად ზოგიერთი საშუალებებით? ასე რომ, შესაძლოა მარტივი რამ ზე დაიწყოს ყოველ სასწავლო წელს, ვინმე დაგვჭირდება დასწრება. ასე რომ, ჩვენ შეიძლება გავაკეთოთ ერთი, ორი, სამი, ოთხი, ხუთი, ექვსი, და როგორ ვუზრუნველყო სიმღერა რომ ინფორმაცია. მე შეიძლება უბრალოდ წავიდეს ერთი, ორი, სამი, ოთხი, ხუთი, ექვსი. და ისარგებლეთ ერთგვარი ერთნიშნა. ან მე ვერ რეალურად ჩაწერა ამ ცოტა ხნის განმავლობაში. და როგორ შემიძლია წარმოადგენს ყველა ადამიანები ამ ოთახში? ისე, მე შეიძლება გავაკეთოთ რაღაც, OK. მე ვხედავ ერთ ადამიანს. კარგი. მე ვერ ვხედავ სხვა პირი, მესამე პირი, და სხვ. მაგრამ არავინ არ ითვლის ადამიანს მოსწონს ეს. ასე რომ, ფაქტიურად, ყველაზე მეტად ჩვენს, თუ ჩვენ კიდევ აპირებს მიაპყროს არაფერი ყველა, ალბათ აპირებს წასვლა ერთი ორი სამი ოთხი, შესაძლოა ცოტა ლამაზი, ხუთი, ექვსი, შვიდი, რვა, ცხრა, ათი და სხვ. და რომ რეალურად სისტემა სახელწოდებით unary. გაერო, როგორც გაერო, რაც გულისხმობს, ერთი, სადაც თქვენ მხოლოდ ერთი წერილი ანბანი. თქვენ უბრალოდ მიიღო ამ hash ნიშნის. და მე, ეფექტურობის, მიიპყრო ამ hash ნიშნები, საბოლოო ჯამში, როგორც სწორი ხაზები. მაგრამ მე ვერ შედგენილი მათ როგორც პატარა ჯოხი მოღვაწეები. სად წარმოადგენს ერთი კაცი, ერთი input, მე უბრალოდ მიაპყროს ჯოხი ფიგურა ან hash ნიშნის. მაგრამ ეს არ არის ყველა, რომ გამომხატველი. თუ ყველა მრჩება ამ hash ნიშნები, რომ აღარაფერი ვთქვათ ჯოხი მოღვაწეები, როგორ შეიძლება მე წარმოვადგენ რაღაც რაოდენობის 15? ან 15 ადამიანი ოთახში? მე ალბათ უნდა გავაკეთოთ რაღაც 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15. ეს უბრალოდ არ მასშტაბის ძალიან კარგად. როგორც საშუალებებით მიიღონ დიდი, ჩვენ უნდა უკეთესი სისტემა, ვიდრე ეს. და აღმოჩნდება, რომ სისტემა, რომელიც კომპიუტერების გამოყენება არ არის, რომ სხვადასხვა ის, რაც თქვენ და მე ვიცი. სინამდვილეში, ყველაზე ადამიანი ამ ოთახში, მაშინაც კი, თუ მათ შორის, ნაკლებად კომფორტული, არ არის აუცილებელი იცოდეს როგორ თქვენი Mac ან PC რეალურად მუშაობს, თქვენ ალბათ მაინც გაიგო, რომ ქვეშ hood არის 0 და 1 ს. ე.წ. ორობითი სისტემა. ასე რომ, მართლაც, კომპიუტერები მეტი გვაქვს მხოლოდ hash ნიშნები მათი ლექსიკა, მაგრამ არა როგორც დიდი ლექსიკა, როგორც ჩვენ ადამიანები. მართლაც, ჩვენ ადამიანები არ გამოიყენოთ ორობითი. Bi რაც იმას ნიშნავს, 2, 0 და 1. მაგრამ ათობითი, deca რაც იმას ნიშნავს, 10, 0 მეშვეობით 9. ასე რომ, ჩვენ ბევრად უფრო ექსპრესიული შესაძლებლობები ჩვენი ნორმალური ადამიანის სამყაროს. მაგრამ მე ამტკიცებენ, რომ ეს სისტემები, ორობითი და ათობითი, და ყველაფერი შორის და მის ფარგლებს გარეთ, რომლებიც პრაქტიკულად ყველა საკმაოდ ნაცნობი. მაგალითად, განვიხილოთ ამ მაგალითში, 123. ასე რომ, ეს ნამდვილად არ არის, რა თქმა უნდა, რიგი ჩვენ ვიცით, როგორც 123. მაგრამ ყველა მე უბრალოდ გაამახვილა მხოლოდ ეს ნიმუში სიმბოლოები, glyphs ასე ვთქვათ. Sort ფორმებს ფორუმში ცარცი. მაგრამ რატომ დაუყოვნებლივ და ინტუიციურად დაჯექი, როგორც 123? ისე, თუ იყო, როგორიც me კლასის სკოლა, თქვენ, ალბათ, ცნობილი გახდა, რომ ეს არის 1s სვეტი, ეს არის 10s სვეტი, ეს არის 100s სვეტი. და რატომ არის ეს სასარგებლო? ისე, ეს მარტივი არითმეტიკული თქვენ ახლა ამის მიიღონ ნიმუში სიმბოლოები მთელი რიგი ჩვენ გვესმის, ინტუიციურად. არის ის, რაც 100-ჯერ 1 და შემდეგ 10-ჯერ 2 და 1-ჯერ 3, რა თქმა უნდა, მხოლოდ 100 და ეს არის 20, და ეს არის სამი. ასე რომ, თუ დავუმატებთ იმ together-- ah. ასე რომ, მასში დევს ერთგვარი მსჯელობა უკან, ამიტომ ეს კომპლექტი სიმბოლოები იმას ნიშნავს, რაღაც რეალური და numeric. ისე, კომპიუტერები ზუსტად იგივე, მაგრამ ისინი მხოლოდ შეიძლება ითვლიან როგორც მაღალი, როგორც ერთი. ვინაიდან მე შეძლო ითვლიან როგორც მაღალი, როგორც სამი. და სინამდვილეში, თუ გავაგრძელე მე ვერ როგორც მაღალი, როგორც ცხრა ამ სისტემაში. კომპიუტერები მხოლოდ zeros და პირობა მათი ანბანი. ასე რომ, რას ნიშნავს ეს? ისე, ეს მხოლოდ იმას ნიშნავს, რომ, თუ კომპიუტერი სურს წარმოადგენს, ვთქვათ, ნომერი 0, იქნებ გამოყენებით სამი გმირები სამი ასო ანბანი ასე ვთქვათ, ეს არის ის, თუ როგორ კომპიუტერი წარმოადგენს 0. ასე არ არის ყველა, რომ საშინელი ჯერჯერობით. ეს არის ზუსტად ის, რაც ჩვენ, ადამიანები ყველაფერს გააკეთებს. და სინამდვილეში, ყველაზე მეტად ჩვენს უბრალოდ იგნორირება ნულებით მაინც. კომპიუტერი, თუ მას სურს შესანახად ნომერი 1, გამოდის, რომ აპირებს ამის გაკეთება. და შესანახად ნომერი 2 არ არის აპირებს unary სისტემა, რომელიც მე გააკეთა მინიშნება ადრე. სინამდვილეში ის აპირებს ამის გაკეთებას. ეს, ალბათ, სადაც ნიმუში იწყება გახდეს ნაკლებად თვალსაჩინო ყველაზე დაკარგულია. ეს არის 2, ეს არის 3. საინტერესოა, რომ ეს არის 4. და ახლა ეს მართლაც როგორც ჩანს, ალბათ cryptic, მაგრამ ეს არ არის, თუ გავითვალისწინებთ, რაც ორობითი ნიშნავს. ეს იმას ნიშნავს, თქვენ გაქვთ ორი ასო თქვენი ანბანი. ასე რომ, ორი შესაძლო გმირები თითოეული placeholder. ასე რომ, ნამდვილად იმას ნიშნავს, რომ ჩვენ ვაპირებთ გვჭირდება 1s ადგილი, ან 2S ადგილი, შტატებში 4S ადგილი და შემდეგ 8, 16, 32, და 64. და რა არის განსხვავება არსებობს? ასეთი 1, 2, 4, 8, 16, 32, 64. და ადრე გვქონდა 110, 100,000, 10,000. რა არის მსგავსება არსებობს? და რა არის ნიმუში? ჰო. სტუდენტი: Powers 2 ნაცვლად უფლებამოსილების 10. დავით Malan: ჰო. უფლებამოსილების 2 ნაცვლად უფლებამოსილების 10. ასე რომ, თუ მინდოდა, რომ შევინარჩუნოთ აპირებს, 8, 16s და ასე forth-- მაგრამ ახლა, თუ თქვენ გაქვთ ამ სახის გასაღებისებრი, ახლა ორობითი სისტემა რეალურად საკმაოდ მარტივია. რატომ არის ეს ნიმუში 0 მსოფლიოში კომპიუტერების 0? ისე, რადგან ეს არის 4-ჯერ 0, 2 ჯერ 0, 1-ჯერ 0 და თქვენ 0. რატომ არის ეს ნომერი 1? იგივე მიზეზის, მაგრამ ახლა ჩვენ აქვს 1 1 სვეტი. რატომ არის ეს 2? ჩვენ გვყავს 1 2s სვეტი. და როგორ მაშინ ნუ მე წარმოვადგენ ამბობენ, რომ ნომერი 7 ორობითი? ამბობენ, რომ ხმამაღალი. სტუდენტი: სამი 1s. დავით Malan: სამი 1s. ასე რომ, 1, 1, 1 იმიტომ, რომ ჩვენ უბრალოდ უნდა 4 პლუს 2 პლუს 1 მაძლევს 7. კარგი. ასე რომ, იქ როგორ უნდა წარმოადგენს 8 3 placeholders? ჰო. სტუდენტი: 1, 0, 0, 0. დავით Malan: ჰო, 1, 0, 0, 0. და მაინც, შესაძლოა, I ტიპის ტექნიკურად უნდა დაამატოთ კიდევ ერთი placeholder ფორუმში. თუ მინდა, რომ ჯდება, რომ მე მართლაც უნდა გავაკეთოთ რაღაც მსგავსი. ასე რომ რეალურად უნდა გამოვიყენოთ ახლა the 8s სვეტი, და რომ ჯარიმა. მაგრამ საინტერესო რამ Computing არის , რომ აპირებს ეღირება რაღაც. გჭირდებათ მეტი RAM თქვენს კომპიუტერში არის. გჭირდებათ მეტი მეხსიერება იმიტომ, რომ თქვენ უნდა რაღაც ფიზიკური შესანახად, რომ დამატებითი bit, ასე ვთქვათ. ორობითი ციფრი. და მართლაც ყველა, რაც მოხდა აქ, ისევე როგორც ათობითი სისტემა, თუ ჩვენ შევინარჩუნოთ დასძინა ნომრები მდე და და, ჩვენ წასვლა 5 6 7 8 ეს იგივეა, ტარების 1, ფაქტიურად. შემდეგ კი ყველაფერი მიდის უკან ქვემოთ ნულოვანი. მაგრამ, თუ ჩვენ რეალურად წარმოადგენს ასეთი რამ ფიზიკურად კომპიუტერი? ისე, ბოლოს დღეს, მხოლოდ ფიზიკური შეყვანის შესვლის ჩემი კომპიუტერი აქ არის ამ დენის კაბელი, ასე რომ, ელექტროენერგიის ან ელექტრონები საწყისი კედელი. ასე რომ, როგორ მივიღო რაღაც ფიზიკური, როგორც, რომ, ფაქტობრივად, წარმოადგენს იდეა მოსწონს ნაცვლად. ისე, რა შეიძლება გავაკეთოთ? ჩვენ შეიძლება მივიჩნიოთ, რომ, ყველა უფლება, შესაძლოა, თუ ელექტროენერგიის მიედინება მე ვერ შესანახად და ჩატარება მას. და თუ მე ჩატარების შესახებ ზოგიერთი ელექტროენერგიის, რომ უბრალოდ აპირებს თვითნებურად წარმოადგენს 1. და თუ მე გაიყვანოს დანამატის და იქ არაფერი არ არსებობს, თქვენ იცით, რომ უბრალოდ აპირებს თვითნებურად წარმოადგენს 0. ასე რომ, თუ რაღაც არ არსებობს, 1. თუ არაფერი არ არსებობს, 0. ან შეგიძლიათ ამ ცოტა უფრო ვიზუალური. აქ არის 0. არაფერია საინტერესო ხდება შესახებ უკან ჩემი ტელეფონი. მაგრამ თუ მე საშუალებას პატარა ცოტა ელექტროენერგია შემოვა, მიუხედავად იმისა, რომ ცოტა ნათელი აქ, ჩემი flashlight წავიდა. ასე რომ, მე შენახვის ბრალდებით და ამიტომ, ეს ტელეფონი არის წარმოადგენს 1. ასე რომ 0 1. ასე რომ, 1 iPhone რამდენად მაღალი შემიძლია იმედი გამოყენებით ამ სახის მიდგომა? ვგულისხმობ 1. ეს არ არის ყველა, რომ მყარი. რა უფრო უნდა გვექნა? ისე ვნახოთ, ვინმეს მათი ტელეფონის ახლა, რომ მე ვერ სესხება? ყველას, ვისაც აქვს ტელეფონი ერთად ფანარი აგებული? შეიძლება მე სესხება? მე არ უნდა, რომ გახსნილია. კარგი. გმადლობთ. ნება მომეცით სესხება ეს. კარგი. ასე რომ, თუ მე ახლა გადახვევა და აქ, რა ვარ მე წარმოადგენს ახლა? ჰო. ასე რომ, ეს სამი იმიტომ, რომ ეს არის 1s სვეტი, ეს არის 2s სვეტი. ასე რომ, 1 + 2 = 3. და მაშინ, თუ ჩვენ ვცდილობთ მივიღოთ ნამდვილად creative-- oh, მადლობა. ძალიან წინმსწრები. კარგი. მე ახლა აქვს სამი iPhones. კარგი. და ახლა ამას მე არ ამის რაიმე, ვიდრე ეს. რა ვარ მე წარმოადგენს ახლა? უბრალოდ შვიდკაცა. მაგრამ საჭიროა ფიზიკურად მეტი მეხსიერების ამ შემთხვევაში. მაგრამ ეს ყველაფერი არ არის. შეგიძლიათ წარმოიდგინოთ, რა ხდება on-- მადლობა you-- შიგნით თქვენი ტელეფონი როგორც უბრალოდ მყოფი შეცვლა, რომ მიმდინარეობს აღმოჩნდა on და off. და თუ თქვენ ოდესმე მსმენია სიტყვა ტრანზისტორი. ან თუ ოდესმე მსმენია მარკეტინგი საუბარი Intel შიგნით, რომელიც საუბრისას სახის ტექნიკური რომ შიგნით თქვენი კომპიუტერი. Intel ხდის პროცესორები, ცენტრალური გადამამუშავებელი ერთეული, რომლებიც მოსწონს ტვინი შიგნით თქვენი კომპიუტერი. და ეს პროცესორები და რამ ისინი უკავშირდება აქვს უამრავი და უამრავი პატარა კონცენტრატორები. მილიონობით, მილიარდობით კონცენტრატორები რომელიც შეიძლება იყოს ან გამოსართავად. ასე რომ, კომპიუტერი, საბედნიეროდ, როგორც ჩვენი Macs და კომპიუტერით, შეგიძლიათ იმედი გზა უფრო მაღალია, ვიდრე 7 ან 8 იმიტომ, რომ მათ უფრო მეტი, ვიდრე სამი ან ოთხი ბიტი. უფრო მეტი, ვიდრე ეკვივალენტს სამი ფანრები რომ ჩვენ უბრალოდ ჰქონდა. მაგრამ ახლა ამ იწყებს საკმაოდ უინტერესო სწრაფად. თუ მე ახლა მინდა, რომ რეალურად შეძლებს რაღაც უფრო საინტერესო, მე მინდა, რომ შეუძლია ხტომა მსგავსი რამ. ასე რომ, ASCII, ეს ნამდვილად არ არის სასარგებლო აკრონიმი, მაგრამ ამერიკული სტანდარტის კოდი ინფორმაციის ცვლა. ეს მხოლოდ იმას ნიშნავს, რამდენიმე წლის წინ ჩვენ, ადამიანები, გადაწყვიტა, თქვენ იცით, რა, ჩვენ გვინდა, რომ გამოუვა უფრო კომპიუტერებით, ვიდრე უბრალოდ ნომრები. ჩვენ არ გვინდა, რომ მათ მხოლოდ იყოს ძვირი კალკულატორები, ჩვენ გვინდა, რომ შეძლებს გავაკეთოთ რამ, როგორიცაა სიტყვა დამუშავება, თუმცა ძალიან მარტივად. შემდეგ ჩვენ გვქონდა ელ და სხვა ამგვარი მედია. ასე რომ, მსოფლიოს გადაწყვიტა რამდენიმე წლის წინ რომელიც ამ სისტემის მიხედვით ASCII, იცი რაა? გარკვეული ტიპის პროგრამები ნებისმიერ დროს იხილეთ ეკვივალენტს ნომერი 65, როგორც ნიმუში ბიტი. და ჩვენ შეგვიძლია გავაკეთოთ მათემატიკა აქ ფორუმში. ნიმუში ბიტი, რომ წარმოადგენს 65. არ ვფიქრობ, რომ ეს 65 ათობითი. ვფიქრობ, რომ ეს თვითნებურად, მაგრამ გლობალურად, თანმიმდევრულად, როგორც დედაქალაქში ა და შემდეგ მსოფლიოს გადაწყვიტა, იცით, რა? ავიღოთ ერთი ნიმუში ბიტი. და თუ ჩვენ ოდესმე ვხედავ 66, მოდით უბრალოდ ვივარაუდოთ, რომ არის დედაქალაქში B. სწრაფი ველით H და მე, თუ ხედავთ, 72 ან 73, რომელიც უნდა იყოს H და მე, შესაბამისად. და ისე, როგორც მთელი მსოფლიოში ათანხმებს ამ. ასე რომ, როდესაც თქვენ მიიღებთ ელ, ან თქვენ მიიღებთ ფაილი USB Stick, ან რამე მაგდაგვარს, როდესაც თქვენ ხედავთ, რომ ნიმუში ბიტი, თქვენ იცით, რომ ეს უნდა იყოს ამ წერილი ან სხვა წერილი. მაგრამ ეს კონტექსტში კონკრეტული, მარჯვნივ. ფოსტის პროგრამა შეიძლება ინტერპრეტაცია ეს ყველაფერი, როგორც პერსონაჟი, მაგრამ გრაფიკული კალკულატორი ან კალკულატორი, შესაძლოა, წარმოადგენს და ინტერპრეტაცია ეს ყველაფერი, რა თქმა უნდა, წერილები. ასე, რომ განაცხადა, სწრაფი პატარა მიმოხილვა. ეს არის იქნებ სამი ხასიათი e-mail, რომელიც გაიგზავნა ჩემთვის. ქვეშ hood ეს ყველაფერი 0S და 1s, მაგრამ ჩვენ არ მაინტერესებს. ჩვენ ვაპირებთ, რომ დაიწყოს აბსტრაქტული ზემოთ 0S და 1s წერილები. და თუ მე ვერ ვხედავ ნიმუში 0S და 1s, ნამდვილად წარმოადგენს 72, მინიშნება, მინიშნება, 73, და შემდეგ 33, რა გზავნილი? სტუდენტი: [INAUDIBLE] დავით Malan: ასე რომ, თუ თქვენ ფიქრობთ უკან მხოლოდ ერთი წუთით წინ, HI იყო გზავნილი, რომ მე ვცდილობდი კომუნიკაცია აქ იმიტომ H 72 მე 73 და ახლა 33-- თქვენ არ აუცილებელი იცოდეს ამ წინასწარ, მაგრამ აღმოჩნდება, თუ რეალურად უფრო მეტი სქემა და სისტემა რომ კაცობრიობის შეთანხმებული წლის წინ, უბრალოდ ძახილის წერტილი. და მართლაც, იქ არის ნიმუში სიმბოლოები და ციფრები ყოველ სიმბოლოს რომ თქვენ ალბათ თქვენს კლავიატურაზე. კარგი. მოდით აბსტრაქტული შემდგომი. თუ ჩვენ არ გვინდა, რომ უბრალოდ უნდა რამ, როგორიცაა ნომრები და წერილები, ჩვენ რეალურად გვინდა განხორციელება გრაფიკა. ისე, თუ თქვენ ოდესმე მსმენია აბრევიატურა RGB. ეს არის სახის დათარიღებული არის, მაგრამ ეს ჯერ კიდევ სახის არსებობს. RGB წითელი, მწვანე, ლურჯი. და ეს მხოლოდ სისტემა ამბობდა, იცით, რა, მოდით გამოვიყენოთ სამი კომპლექტი ბიტი. კომპლექტი 8 ბიტი, კიდევ ერთი კომპლექტი 8 ბიტი, და კიდევ ერთი კომპლექტი 8 ბიტი. და მოდით გამოვიყენოთ იმ ბიტი შესანახად რამდენად წითელი ჩვენ მინდა ჩვენი ეკრანზე, თუ რამდენად მწვანე გვინდა, ჩვენს ეკრანზე, და რამდენად ლურჯი ჩვენ გვინდა ჩვენს ეკრანზე. და ეს მხოლოდ იმას ნიშნავს, რომ თუ აქვს lot-- დიდი რაოდენობით წითელი, რაც იმას ნიშნავს, მომეცი ბევრი წითელი. თუ თქვენ გაქვთ დიდი რაოდენობით მწვანე, მომეცი ბევრი მწვანე. და თუ თქვენ გაქვთ ცოტა ლურჯი ან მცირე რაოდენობით, როგორიცაა 33, მომეცი ცოტა ლურჯი. და თუ მოხდება დააკავშიროთ იმ სამი მნიშვნელობები, ასე ვთქვათ, თქვენ ამას თქვენ ძლივს ვხედავ პროექტორი აქ, მაგრამ ეს ბნელი აჩრდილმა ყვითელი ან ყავისფერი. მაგრამ ეს არ არის იმის თქმა, გამოყენებით, რომ ნიმუში 8 + 8 პლუს პლუს 8- რომ ნიმუში 24 ბიტი არის, თუ როგორ კომპიუტერი შესანახად, რომ აჩრდილმა ყვითელი ერთ პატარა dot პიქსელის ეკრანზე. ასე რომ, ჩვენ წავიდა 0S და 1s ათობითზე რიცხვს წერილები ანბანი. და უფრო საინტერესო, ფერადი წერტილები. ისე, რა თქმა უნდა, მაშინ მოდის შემდეგი? ისე, რა არის სურათი, რომელიც თქვენ ნახე Facebook ან მიიღონ ელ? და ასე შემდეგ? რა არის განსაზღვრება ტექნიკურად იმიჯი? ჰო. რა არის გამოსახულება შედგება თუ მართლაც ახლოს თქვენს ეკრანზე? ჰო. ეს მხოლოდ მთელი bunch of პიქსელი. სინამდვილეში, თუ თქვენი ლეპტოპი იქნებ მოგვიანებით, და გამოიყურება ნამდვილად მჭიდროდ at it-- დამოკიდებულია on რამდენად ძვირი ლეპტოპი არის და როგორ მაღალი ხარისხის ეკრანზე, თქვენ შეიძლება ძალიან კარგად ვხედავთ ყველა პატარა წერტილები ეკრანზე. და იმ წერტილების ან pixels, რაც იმას ნიშნავს, რომ იქ 24 ბიტი წარმოადგენს ყველა pixel რომ ფოტოს რომ ხედავთ Facebook, ან, რომ თქვენ უბრალოდ აიღო თქვენი iPhone ცოტა ხნის წინ. ასე რომ, როგორ მივიღებთ რამ, როგორიცაა გრაფიკა. ისე, რა ვიდეო? ვიდეო არის მხოლოდ კომპლექტი გრაფიკა საფრენი ეკრანზე ისევ და ისევ და ისევ. ასე რომ, videos ნამდვილად, უბრალოდ ნიმუშები ბიტი წარმოადგენს ბადეები, რიგები და სვეტები წერტილები, საფრენი ეკრანზე გამოსახულება, შემდეგ იმიჯი, მას შემდეგ, სურათი, a.k.a. Motion სურათები. ასე რომ, ეს არის ის, პორტები და შედეგები. ყველა ჩვენ ახლა არის ვარაუდი, რომ თქვენ იცით, რა, თუ ჩვენ გვინდა, კომპიუტერი წარმოადგენს ინფორმაციას, გვაქვს სისტემა ვაკეთებთ. ჩვენ შეგვიძლია ამის გაკეთება 0S და 1s დასასრულს დღეში. მაგრამ ჩვენ შეგვიძლია აბსტრაქტული, ისე ვთქვათ, თავზე რომ ისე, რომ წარმოადგენს უფრო საინტერესო რამ. და აქ out CS50, და კომპიუტერული მეცნიერების, უფრო ზოგადად, ჩვენ ახლა მხრებზე ყველა იმ ადამიანს, რომელიც მოვიდა ჩვენს წინაშე, ვინც figured რომ. და ახლა მხოლოდ ვივარაუდოთ, რომ კომპიუტერები შეგიძლიათ წარმოადგენს საშუალებებით და შედეგები. მაგრამ ახლა მოდით რეალურად რამე ერთად მათ. ასე რომ, ალგორითმი არის მხოლოდ კომპლექტი ინსტრუქციები, ეტაპობრივად, გადაჭრის ზოგიერთი პრობლემა. და რა შეიძლება ერთ-ერთი ასეთი პრობლემა იყოს. ასე რომ, ეს არის ძველი სკოლა ტექნოლოგია, სატელეფონო წიგნი. და შიგნით სატელეფონო წიგნი არის მთელი bunch of სახელები და ნომრები. და იმ სახელები ზოგადად დალაგებულია ალფავიტის. ასე რომ, თუ მინდოდა, ვინმეს ამ სატელეფონო წიგნი როგორც მაიკ სმიტი, რა არის ტიპიური ადამიანის აპირებს? ასევე, შეგიძლიათ უბრალოდ გახსნა ის, შევხედოთ პირველ გვერდზე. მე ვერ ვხედავ, მაიკ სმიტი. მივმართოთ მეორე გვერდზე, მე ვერ ვხედავ, მაიკ სმიტი. და მხოლოდ შენარჩუნებას აპირებს და აპირებს. არის თუ არა ეს ეტაპობრივი მიდგომა სწორი? ჰო. ეს არის ერთგვარი სულელური, მარჯვნივ. ეს არის არაეფექტური, მარჯვნივ. იმიტომ, რომ ის აპირებს სამუდამოდ მისაღებად Mike, მაგრამ ეს არის სწორი. იმიტომ, რომ თუ Mike აქ მე მართლაც იპოვოს იგი. ასე რომ, რა არის ოდნავ მეტი გონივრული პირი აპირებს? კიდევ შეიძლება გახსნას წინ, და შესაძლოა ფრენა მეშვეობით სატელეფონო წიგნი ორ გვერდს დროს. ორი, ოთხი, ექვსი, რვა. მე არ შემიძლია რეალურად ფიზიკურად ძალიან კარგად. თუმცა თეორიულად, ეს უნდა იყოს ორჯერ სწრაფად, ორ გვერდს დროს. არის ეს ალგორითმი სწორი? სტუდენტი: [INAUDIBLE] დავით Malan: არ არის აუცილებელი. კარგი. რატომ, რომ გაფრთხილება? სტუდენტი: იმის გამო, რომ ის შეიძლება იყოს ერთი გვერდები, რომ თქვენ skipping. დავით Malan: ჰო. ასე რომ, თუ მე კიდევ უფრო და უფრო ახლოს. რა მოხდება, თუ ის უბრალოდ შემთხვევით, ცუდი გისურვებთ, მოქცეული ორ გვერდს რომ მე დაფრინავენ? ასე რომ, ჩვენ უნდა გადავწყვიტოთ ეს. ჩვენ რეალურად უნდა მაშინ ამბობენ, დაველოდოთ წუთში, შესაძლოა თუ ჩვენ შორს, შესაძლოა, თუ ჩვენ მოხვდა T განყოფილებიანი, ტ შემდეგ მოდის Smith, მაშინ ჩვენ უნდა მინიმუმ გაორმაგებას უკან მინიმუმ ერთ გვერდზე. ასე რომ, fixable, მაგრამ არ არის პირობითი საკითხში. ასე რომ, ეს ორჯერ სწრაფად, მაგრამ თქვენ ალბათ უნდა გაორმაგდეს უკან მხოლოდ ცოტა. მაგრამ არავინ თავის ოთახში, მაშინაც კი, თუ ნამდვილად არ გამოიყენოთ სატელეფონო წიგნი აღარ, აპირებს დაიწყოს დასაწყისში. რის გაკეთებას აპირებ ეძებს მაიკ სმიტი? თქვენ ვაპირებთ წავიდეთ უხეშად რომ S ს. ან თუ თქვენ ნამდვილად არ აქვს მოტყუებას ფურცელი ქაღალდი, თქვენ აპირებს წასვლა მინიმუმ დაახლოებით შუა. და რა თქმა უნდა, არ წინა წიგნი. თქვენ აპირებს გამოიყურება ქვემოთ. და მათემატიკურად თქვენ ალბათ ვაპირებთ, რომ ნახოთ M მონაკვეთზე, რომელიც დაახლოებით შუა. და მაშინ თქვენ აპირებს გააცნობიეროს, რა არის ჭეშმარიტი? სად არის Mike? სტუდენტი: [INAUDIBLE] დავით Malan: ჰო. ასე რომ, ის მთელ ამ მხარეს. ასე რომ, რა შეიძლება გავაკეთოთ? ისე, როგორც ფიგურალურად და სიტყვასიტყვით შეგიძლიათ გაანადგურეს პრობლემა ნახევარი ერთხელ? და მაშინ იცოდეთ, რომ თქვენ შეგიძლიათ გადააგდოთ ამ ნახევარში პრობლემა დაშორებით. და ახლა ჩვენ დაგვრჩა ფუნდამენტურად იგივე პრობლემა, მაგრამ ეს ნახევარი, როგორც დიდი. ასე რომ, ახლა რა არის კომპლექტი ინსტრუქციები? რა არის ალგორითმი დამდგენი მაიკ სმიტი? ეს არის ზუსტად იგივე. ახლა ეს ხდება, რომ M განყოფილება და ეს არის Z განყოფილებიანი, მაგრამ ფუნდამენტური ფორმულა იგივეა. ტურიზმი დაახლოებით შუა, გამოიყურება ქვემოთ, ო, darn იგი. ახლა მე T განყოფილებიანი, მე ძალიან შორს წავიდა. მაგრამ აქაც შეგიძლიათ ვრცელდება, რომ იგივე ლოგიკით. განშლის ნახევარი პრობლემა მოშორებით და ახლა ჩვენ მარცხენა პრობლემა, რომელიც მეოთხედი ზომა. და ჩვენ შეგვიძლია გავიმეოროთ, და ჩვენ შეგვიძლია გავიმეოროთ, და ჩვენ შეგვიძლია ვიმეორებ, სანამ თეორიულად არსებობს მხოლოდ ერთი გვერდი დატოვა რომელშიც მაიკ ან არის ან არ არის. რა არის იმდენად ძლიერი ამ იდეას? ვგულისხმობ შემდეგ, ეს საკმაოდ ინტუიციური. არავინ აპირებს დაიწყოს დაწყებული სატელეფონო წიგნი და Flip 1,000 გვერდებზე, რათა მაიკ სმიტი. ყველაზე ყველას ამ ოთახში აპირებს უნდა გავაკეთოთ უხეშად რომ სახის ალგორითმი გარდა tearing. ასე რომ, რატომ ამის გაკეთება? განვიხილოთ ეფექტურობა. განიხილოს, თუ რამდენად ბევრად უკეთესი ალგორითმი იყო ჩაამტვრია იგი ქვემოთ მისი შემადგენელი ნაწილები. ასე რომ, რა მე პირველად გავაკეთოთ? მე აიყვანეს სატელეფონო წიგნი. და კომპიუტერის მეცნიერი, და პროგრამისტი, უფრო ზოგადად, გამოდის, რომ აპირებს დაიწყოს დათვლის ყველაფერი 0. რატომ? ისე, ეს ცოტა არ იყოს უცნაურია რომ ჩვენ, ადამიანები ითვლიან, ზოგადად, დაწყებული ერთი. იმის გამო, რომ რა არის ყველაზე პატარა ნომერი ჩვენ ნათლად წარმოადგენს დაფუძნებული კი ჩვენი ძველი კლასის სკოლის მათემატიკის? ისე, ეს იყო 0, თუ არა ეს ათობითი ან ორობითი. და ასე რომ თქვენ ნახავთ მსოფლიოში კომპიუტერული და პროგრამირების, კონკრეტულად, ჩვენ ვიწყებთ იმედი ყველაფერი 0-დან. ასე რომ, მე აიყვანეს სატელეფონო წიგნი ნაბიჯი 0. მე ვაპირებ გაიხსნება შუა სატელეფონო წიგნი. და ეს მართლაც გამოხატულება, რაც გავაკეთე. და შემდეგ ნაბიჯი ორი იყო შევხედოთ სახელები. ნაბიჯი სამი არის პატარა სხვადასხვა კონცეპტუალურად. მე გეკითხებით თავს კითხვა. თუ Smith შორის არის სახელები, მე ვაპირებ მიიღოს გადაწყვეტილება. თუ ის შორის სახელები, მაშინ მე ვაპირებ მოვუწოდო მაიკ. და მე ვაპირებ, რომ მიიღოს გადაწყვეტილება საფუძველზე, რომ ინფორმაცია. თუმცა, თუ არა, თუ სმიტი ადრე წიგნი მარცხენა, მე ვაპირებ გახსნას შუა მარცხენა ნახევარში წიგნი. და მერე აქ ჭკუასა, მე ვაპირებ დაბრუნდეს დახევას ორი. მე ვაპირებ დასალაგებლად დავდგეთ ჩემს shoulders და უბრალოდ ვიმეორებ ბოლო სამუშაო გავაკეთე. მაგრამ მუშაობა მე არ დაუტოვებიათ არის ნაკლები და ნაკლები, და ნაკლები. მაგრამ ის მაინც იმუშავებს. მაგრამ თუ Mike, ნაცვლად, მოგვიანებით წიგნში უფლება, მე ვაპირებ გახსნას შუა მარჯვენა ნახევარში წიგნი, მერე უკან დახევას ორი. მაგრამ რეალურად მეოთხე სცენარი. მაიკ ან აქ, ან აქ, ან აქ, or-- STUDENT: არ არსებობს. დავით Malan: არ არსებობს. და მართლაც, თუ ჩვენ არ გეგმავს ეს მეოთხე და საბოლოო სცენარი ჩვენი პროგრამა შეიძლება იყოს buggy ან გაყალბდა რამდენიმე გზა. სხვა დატოვა იმ შემთხვევაში, ჩვენ ვერ Mike ყველა. და მართლაც, თუ თქვენ ოდესმე შენიშნა თქვენს კომპიუტერში დაკიდებული, ან ყველა უეცრად სიტყვა ან სხვა პროგრამა უბრალოდ ტოვებს მოულოდნელად, და ზოგჯერ შენ შეცდომა გაგზავნა არის სიტყვა, რომ. ეს პროგრამა დატოვა მოულოდნელად. ეს შეიძლება იყოს ნებისმიერი რიგი მიზეზების გამო. მაგრამ ზოგჯერ ეს რაღაც მარტივია, როგორც ეს. ადამიანის პროგრამისტი რომელმაც დაწერა, რომ პროგრამული უზრუნველყოფის არ ესმოდეს, რომ, oh, არსებობს მეოთხე, რაც შეიძლება რეალურად არ მომხდარა. და თუ თქვენ არ წერენ კოდი ხელში რომ მეოთხე სცენარი, ეს მართლაც მოულოდნელი ზოგჯერ რა კომპიუტერი შეიძლება რეალურად გააკეთოს. ახლა მოდით მოვუწოდებთ out რამდენიმე რამ. ასე რომ, ყვითელი აქ, მე ხაზგასმით თვალსაზრისით რომ ამიერიდან ჩვენ უბრალოდ ვაპირებ მოვუწოდო ფუნქციები. ფუნქციები მსოფლიოში პროგრამირების, ისევე, როგორც ქმედებები, განცხადებები ქმედებები. ასე გააშუქა, ღია, გამოიყურება at, მოვუწოდებთ, ღია, ღია დატოვა. ეს არის ფუნქცია, პროცედურა, აქცია, ნებისმიერი რაოდენობის სინონიმები მუშაობენ, ასევე. ახლა რა ეს ყველაფერი ახლა ყვითელი? თუ სხვაგან, თუ სხვაგან, თუ სხვაგან, ეს არის ის, რაც ჩვენ ვაპირებთ, რომ მოვუწოდო პირობები პროგრამირებაში, ან ფილიალი, გადაწყვეტილება მიუთითებს, თუ გნებავთ. მაგრამ როგორ იცით, რომელიც ჩანგალი საგზაო მიიღოს, ასე ვთქვათ? ჩვენ უნდა ითვალისწინებდეს პირობების მარჯვნივ არსებობს, რომლებიც ამ დიახ, არსებობს კითხვები. ეს ნამდვილი ყალბი კითხვები. Smith შორის სახელები? Smith ადრე წიგნი? Smith მოგვიანებით წიგნი? ეს არის კითხვები რომელშიც არის დიახ, ან არა, ან ექვივალენტური ჭეშმარიტი, ან ყალბი, ან equivalently, ერთი ან ნულოვანი პასუხი. და იმავდროულად არსებობს მხოლოდ ერთი ცალი. ეს აქ რა სახის ეფექტი? თუ არა პროგრამა ადრე, როგორ დაახასიათებდით აღწერს რა ნაბიჯი შვიდი და 10 ვაკეთებთ? რა თქვი? სტუდენტი: რეკურსიული ნაბიჯი. დავით Malan: რეკურსიული ნაბიჯი. დიახ, არსებითად. ეს ტექნიკურად განმეორებითი აქ თუ თქვენ იცნობს. მაგრამ ჩვენ დავბრუნდებით რომ. მაგრამ ის აკეთებს რაღაც აშკარად. კიდევ ერთხელ, ეს inducing ციკლი, მარყუჟის, არა. თქვენ ფაქტიურად აპირებს უკან ზოგიერთი ადრე ნაბიჯი. ასე რომ, რა თქმა უნდა, ეს იქნება განახორციელოს რაიმე სახის ციკლი. მაგრამ თქვენ არ აპირებს მიიღოს მოხდა ამ უსასრულოდ, მარჯვნივ. იმის გამო, რომ, თუ თქვენ მუდმივად შემოწმების არის Mike აქ, ან მარცხნივ, თუ არა აქ, საბოლოოდ ის არ აპირებს იყოს იქ. და თქვენ შეგიძლიათ უბრალოდ დატოვა საერთოდ როგორც პოსტი რომ ბოლო ხაზი. ასე რომ, ეს ლექსიკა. და ეს იყო ის, რაც ჩვენ გვინდა ზოგადად მოვუწოდებთ pseudocode კოდი. ეს არ არის ფაქტობრივი ენაზე. უბრალოდ ძალიან მოკლე ინგლისური, მაგრამ ეს ურთიერთობა წერტილი. არ არსებობს ფორმალური სტრუქტურის აქ. უბრალოდ გამოიყენოთ ეს რამდენიმე სიტყვა, მაგრამ, როგორც წმინდა სიტყვა როგორც თქვენ შეგიძლიათ დაუკავშირდეს თქვენი იდეა. ახლა, თუ რამდენად კარგი ის არის, რომ ალგორითმი და რამდენად უკეთესი არის ეს? ასევე, ჩვენ არ უნდა მოხვდნენ სპეციფიკა ნომრები ან არაფერი ეგრე. მაგრამ ჩვენ შეგვიძლია შევხედოთ განსაზღვრავენ ამ გადაწყვეტა. ასე რომ, თუ ჩვენ უბრალოდ გავამახვილო რამდენიმე xy ნაკვეთი აქ ჰორიზონტალური ღერძი აქ. მოდით უბრალოდ ეძახით ზომის პრობლემა. და კომპიუტერის მეცნიერი იქნებოდა როგორც წესი, გამოიყენოთ ო როგორც ცვლადი აქ. ასე რომ, ო გვერდებზე, ან N ადამიანი ოთახში, ან რაც არ არის, რომ თქვენ ცდილობთ ითვლიან. და მერე ვერტიკალური ღერძი წლის დარჩა, იქნება დრო უნდა გადაწყვიტოს. ასე რომ, თუ რამდენი წამი აკეთებს ამას დასჭირდა ჩემთვის მოძიების მაიკ სმიტი? ან რამდენი ნაბიჯები სჭირდება? რამდენი გვერდი მონაცვლეობით სჭირდება? ასე რომ, თუ რამდენად ღირს მე დრო პრობლემის გადაჭრას. ჩვენ შეიძლება შევაჩერო პირველი ალგორითმები ფერდობზე, თუ გნებავთ, როგორც მხოლოდ ამ სწორი ხაზი წითელი. და მე ეძახით n. რატომ n? რატომ არის მხოლოდ ერთი ერთი ურთიერთობა? ისე, თუ Verizon ან რასაც სატელეფონო კომპანია დასძენს კიდევ ერთი გვერდი სატელეფონო წიგნი მომავალ წელს, რომ შესაძლოა დააყენებს Mike ერთი უფრო ნაბიჯით მიუახლოვდება დასასრულს, დამოკიდებულია სადაც ეს გვერდი. ასე რომ, ეფექტი შეიძლება მხოლოდ იქნება კიდევ ერთი მეორე. ან კიდევ ერთი გვერდი მხრივ. ერთ ერთ რაციონი. პირიქით, მეორე ალგორითმი. რამდენად სწრაფად იყო, რომ ინტუიციურად? სადაც მივედი ორ გვერდს დროს? ჰო. სტუდენტი: [INAUDIBLE] დავით Malan: ჰო. ასე რომ, ეს იქნება ორჯერ უფრო სწრაფად. და ჩვენ მიაპყროს, რომ აქ დამოკიდებულია მასშტაბით. ეს ერთ-ერთი სწორი ხაზი, მაგრამ დაბალია, ვიდრე წითელი ხაზი. იმის გამო, რომ გარკვეული რაოდენობის გვერდები, თუ იგი იღებს თქვენ ამ ბევრი ნაბიჯები პირველი ალგორითმი, ის აპირებს თქვენ ნახევარი როგორც ბევრი ნაბიჯები მეორე. და ამიტომ ყვითელი ხაზი აღწერილია მეორე ალგორითმი ეს იქნება ქვემოთ. მაგრამ რა არის ნამდვილად ძლიერი არის ვიფიქროთ მესამე და საბოლოო, და საოცრად ყველაზე ინტუიციური ალგორითმი, რომ ეს ფორმა. ტექნიკურად ჩვენ მოვუწოდებთ ამ ლოგარითმული მრუდი. შესვლა ბაზა -2 n ამ შემთხვევაში. მაგრამ ეს ნამდვილად არ აქვს. რა მნიშვნელობა აქვს, ნამდვილად არის ფუნდამენტურად სხვადასხვა ფორმის, რომ მას აქვს. და თქვენ შეგიძლიათ განიხილოს, თუ რამდენად ბევრად უფრო მოკლეა ეს ხაზი ნამდვილად გრძელვადიან პერსპექტივაში. ის მუდმივად იზრდება. ეს არ flatten იდეალურად. მაგრამ ეს იზრდება ოდესმე ასე ბევრად უფრო ნელა, როგორც პრობლემა უფრო დიდი და უფრო დიდი. და თქვენ შეგიძლიათ ვფიქრობ, რომ ამ way-- თუ Verizon არ მხოლოდ რჩეულებში ერთ გვერდზე მომავალ წელს, მაგრამ წყვილთა გვერდების რაოდენობის სატელეფონო წიგნი, პირველი ალგორითმი შეიძლება მიიღოს ორჯერ ბევრი ნაბიჯები. თუ ეს 1000 გვერდების ამ წელს, 2,000 გვერდებზე მომავალ წელს, Mike შეიძლება იყოს, რომ ბევრად უფრო შორს. ასე რომ, ეს 1000 დამატებითი ნაბიჯები, რათა იპოვოს იგი. მეორე ალგორითმი შეიძლება მხოლოდ 500 ნაბიჯები, რათა იპოვოს იგი, რადგან, კიდევ ერთხელ, მე საფრენი მეშვეობით ორი დროს. მაგრამ რაც შეეხება მესამე ალგორითმი? თუ Verizon აორმაგებს ზომა სატელეფონო წიგნი მომავალ წელს 1000-დან 2000 გვერდები, კიდევ რამდენი ნაბიჯები ჩემი მესამე ალგორითმი აპირებს? ჰო, ეს მხოლოდ ერთი. და ეს არის ძლიერი იდეა. თქვენ შეგიძლიათ მიიღოს 1000 გვერდი bite გარეთ რომ პრობლემა ერთდროულად. და ახლა თუ გავითვალისწინებთ, სულელური სცენარი, მაგრამ ეს სახის საუბრობს ძალა ამ სახის intuition-- თუ სატელეფონო წიგნი მქონდა, ისევე, ოთხი მილიარდი გვერდები, იგრძნობა ნამდვილად დიდი პრობლემა. და მართლაც, ეს შეიძლება წამიყვანე ოთხი მილიარდი გვერდი გამოდის, რომ იპოვოს მაიკ სმიტი, რომ საქმე პირველი ალგორითმი. მაგრამ რამდენი ნაბიჯები ეს მიიღოს მესამე ალგორითმი იპოვოს Mike შორის ოთხი მილიარდი ცალი ქაღალდის? ასე რომ, ოთხი მილიარდი თქვენ გაანადგურეს ნახევარი. თქვენ ორი მილიარდი. მაშინ ერთი მილიარდი, მაშინ 500 მილიონი, 250 მილიონი, 125 million-- მაგრამ ეს იგრძნობა ეს არის აპირებს ხნით. მე შეიძლება უნდა 32 თითების ითვლიან, რომ მაღალი. მაგრამ ეს მართლაც, როგორც რამდენიმე როგორც 32 გვერდი ცრემლები. თქვენ შეგიძლიათ გადასვლა ოთხი მილიარდი ერთ გვერდზე გამყოფი ორიგინალური ნომერი გვერდების ნახევარი 32-ჯერ სანამ თქვენ დარჩა მხოლოდ ის, რომ ერთ გვერდზე. ახლა, რა თქმა უნდა, მე ღალატი აქ. ეს არ არის, რომ ჩვენ მხოლოდ კონკრეტდება სახის სულელური მთლიანად პირველი ორი ალგორითმები. მე ღალატი გარკვეული, ან მართლაც მე ოპერაციული ვარაუდია. რა იყო ნამდვილი შესახებ სატელეფონო წიგნი თავდაპირველი სახით, რომელიც დაშვებულია ჩემთვის კი გამოიყენოს, რომ მესამე ალგორითმი? ჰო? აუდიტორია: ეს იყო alphabetized. დავით Malan: ეს იყო alphabetized, უფლება? თუ ეს იყო უბრალოდ შემთხვევითი იმისათვის, ეს არის ნარჩენები დრო, მთელი ეს საუბარი. მე უნდა შევხედოთ ყველა გვერდზე, თუ ის შემთხვევითი მიზნით იპოვოს მაიკ სმიტი, სანამ მე შეიძლება დავასკვნათ, რომ ის იქ თუ არა. ასე რომ, კუთხეში ჩვენ არ გაჭრა, რომ მე ვივარაუდოთ, რომ ვინმე ამ შემთხვევაში მათ მუშაობა ჩემთვის. და ისე, რომ საბოლოო ჯამში იწვევს კითხვაზე, ასევე, დაველოდოთ წუთში. როგორ დასალაგებლად 1,000 გვერდების სახელები და ნომრები? რომ რეალურად სხვადასხვა პრობლემა, რაც ჩვენ დავბრუნდებით მომავალში. მაგრამ, როცა ფიქრობთ, ვებ როგორიცაა Facebook და Google Gmail და რამ, როგორიცაა Google- ის საძიებო ინდექსები, როდესაც თქვენ გაქვთ მილიონობით და მილიარდობით ცალი მონაცემები ინახება ამ დღეებში, searching-- და რომ აღარაფერი ვთქვათ დახარისხება იმ problems-- საბოლოოდ გამოწვევა თავზე. და მართლაც, ეს მაშინ არის მხოლოდ ერთი იმ გამოწვევებს რომ ჩვენ უნდა ეძებს. ახლა მოდით მიიღოს მომენტში და შევხედოთ CS50 თავად და მოგცემთ გრძნობა რა არის ამ მაღაზიის ამ სემესტრში. მართლაც, თუ არა გაქვთ უკვე, არ შევხედოთ ამ URL. და როგორც პატრიკ მიანიშნა , ამ წელს ჩვენ მიღების მნიშვნელოვანი საინვესტიციო ყველა უფრო, რა თქმა უნდა მხარდაჭერა სტრუქტურა თვალსაზრისით TAs და CAS, საათებში, განყოფილებები ხელმისაწვდომობა და ციფრული მასალების ონლაინ, ასევე. მართლაც, იმ თვალსაზრისით, რა თქმა უნდა, ლექცია, ჩვენ დღეს აქ. და მოლოდინი ამ წელს ოფიციალურად, რა თქმა უნდა არიან დაესწრება დღეს, რა თქმა უნდა, ბოლო ლექცია და რა თქმა უნდა, დაახლოებით შუა სემესტრში ყველა ლექცია შორის ხელმისაწვდომი ზოგადად პარასკევს დღის მეორე ნახევარში ამჟამად, როგორც იელის სტუდენტები და ჰარვარდის სტუდენტი წელს. მართლაც, ერთი ფუნდამენტური ცვლილებები რომ ჩვენ მიღების დროს ჰარვარდის პარადიგმა ძალიან როგორც ჩვენ გავაკეთეთ აქ ბოლო და ახლა ამ წელს, ისე, რომ ანალოგიურად, ჩვენ ჯერ კიდევ ფილმი საუკეთესო კურსის ლექციები Cambridge მაგრამ, რათა მათ ხელთ ადრე ვიდრე ჩვენ წარსულში ასე რომ, იმ თქვენ, თუ თქვენ მინდა, მაგალითად, გაეცანით მასალები წლის პირველ შაბათ-კვირას საკმაოდ ვიდრე მეორე კვირას, თქვენ უნდა ხელმისაწვდომობის ამ სახის მასალების, საძიებო, ჩაშენებული, hyperlinkable მასთან დაკავშირებული რესურსებს ყველა ადრე. თვალსაზრისით თემა, გადმოგცეთ გრძნობა, რა თქმა უნდა trajectory-- და ზოგიერთი ეს შეიძლება იყოს jargon for ახლა, მაგრამ არა ხანგრძლივი, დანარჩენი დავრწმუნდი. ჩვენ დავიწყებთ დღეს, საბოლოო ჯამში, ერთად ეძებს ერთი პროგრამირების ენის მოუწოდა Scratch. ჩვენ გადასვლას შემდეგ მომავალ კვირას რაღაც მოუწოდა C და მერე შევხედავთ სხვა სამშენებლო ბლოკის პრობლემების გადაჭრას, ყველაფერი მოუწოდა მასივები და ალგორითმები, როგორ ვიყენებთ მეხსიერების ჩვენი უპირატესობა და მინუსი, და რამ, როგორიცაა მონაცემთა სტრუქტურები, და მაშინ მიმართ კუდი ბოლომდე კლასის ეძებს მანქანა სწავლის და შევხედავთ სხვა ენის მოუწოდა Python, როგორ ვებგვერდი მუშაობს, როგორ ინტერნეტში უფრო ზოგადად მუშაობს, ოქმები, როგორიცაა HTTP, ენების მონაცემთა ბაზები, როგორიცაა SQL, JavaScript ვებგვერდი, და საბოლოო ჯამში ჩვევების ყველა იმ ერთად. ასე რომ, მართლაც, დღის ბოლოს, თქვენ ვერ სწავლობენ ამ კლასში Scratch ან C ან Python ან SQL და JavaScript. თქვენ ნაცვლად, უფრო მეტი ვისწავლოთ კომპიუტერულ მეცნიერებათა და ფონდების მისი, და თქვენ ისწავლონ პროგრამა ნებისმიერი რაოდენობის ამ ენების გზაზე. ასე რომ, მართლაც, ერთი მიზანი რა თქმა უნდა, საბოლოოდ მიიღოს off ყველა რა თქმა უნდა, სასწავლო დისკები იმ საბოლოო კვირის ისე, რომ ამის შემდეგ, თქვენ შეგიძლიათ დაბრუნდეს საკუთარ სფეროებში თუ არა, რომ არის ან არ კომპიუტერულ მეცნიერებათა და საინჟინრო, ბუნებრივი მეცნიერებები, ხელოვნება, ჰუმანიტარულ და beyond-- და მოტანაზე ამ რა თქმა უნდა, იდეები და ამ სფეროში ის იდეები და პრაქტიკული უნარი თქვენი საკუთარი დომენის იმისათვის, რომ პრობლემების მოსაგვარებლად მასში. ის, რაც ჩვენ უნდა აკეთებს აქ ამასობაში ყველაზე ხუთშაბათს შემდეგ დღეს არის რა თქმა უნდა ხელმძღვანელები წამყვანი რაც ჩვენ მოვუწოდებთ walkthroughs რა თქმა უნდა, პრობლემა კომპლექტი. ასე რომ, ყოველ კვირას, როდესაც ჩვენ არ არის პრობლემა შეიქმნა, ჩვენ ფეხით მეშვეობით ადგილმდებარეობა როგორც ეს, რა თქმა უნდა გამოწვევები, გთავაზობთ რამდენიმე რჩევა და tricks და დიზაინის ტექნიკას. მაგრამ თუ თქვენ არ შეუძლია იმისათვის, რომ იმ პირს, გააცნობიეროს, იმავე რესურსი იქნება ჩართული ერთ-ერთი, რა თქმა უნდა ასისტენტების პრობლემა ადგენს თავს, ისევე. პრობლემა კომპლექტი წელს, განსხვავებით გასულ წელს, დაფუძნებული კავშირი, მაინც გათავისუფლდება პარასკევს. მაგრამ ვიდრე გამო მომდევნო პარასკევს, რითაც თქვენ მხოლოდ შვიდი დღის განმავლობაში, ეფექტურად იყოს გამო 10 დღის შემდეგ. და მართლაც, ეს ნიშნავს, რომ ისინი გადაეფაროს კვირის ბოლოს. მაგრამ ჩვენ იმედი გვაქვს, ეს წელი განსაკუთრებით ეს იქნება მისცემს სტუდენტებს უკეთ დაბინავება ცვალებადი მათი გრაფიკების, არის თუ არა ეს მეცნიერები და extracurriculars ან მძლეოსნობის ან შუალედური სეზონი. თქვენ შეგიძლიათ ან წინა დატვირთვის ან უკან დატვირთვის თქვენი კვირის აქცენტი CS50 დაფუძნებული საკუთარი კვირის ფაქტობრივი რა თქმა უნდა, დატვირთვა. პრობლემა ადგენს თავად დაფარავს სხვადასხვა ენაზე, მიუხედავად იმისა, რომ ჩვენ ფოკუსირება უპირატესად დილით on C სანამ ჩვენ ფოკუსირება შემდეგ უმაღლესი დონეზე, მეტი ვებ-centric ენებზე. და შემდეგ რამდენიმე ხშირად დასმული კითხვები აქ უნდა მიიღოს კლასის მოსწონს CS50 როგორც პირველი წლის განმავლობაში? ასე რომ, აბსოლუტურად. და მართლაც, ეს არ არის აუცილებლად რაღაც თქვენ უნდა გადადოს სანამ თქვენ გაჭრა თქვენი კბილები სხვა სახის კლასები. არამედ, განიხილოს რომ ბევრი სტუდენტები, მათ შორის მეც უკან დღეს, ეს არის ძალიან უცნობ სფეროში, მით უმეტეს, თუ არასოდეს არ მიიღოს AP CSA ან რამე მაგდაგვარს საშუალო სკოლა. მაგრამ გვესმის, რომ დასაწყისში, არის თუ არა ეს ეს, რა თქმა ან სხვა გაცნობითი კურსი, ახლა არის მართლაც საუკეთესო დრო, მე ვფიქრობ, რომ იპოვოს ახალი გზა ან ზოგიერთი ახალი სასწავლო ინტერესი, ისევე. და შემდეგ იღებენ სხვა კურსები ასე რომ, ერთ-ერთი ძირითადი განსხვავებები აქ წინააღმდეგ ჰარვარდის, რომ ჩვენ მხოლოდ ოთხი კურსები სემესტრში ჰარვარდის რატომღაც. და შენ რეალურად გაიყვანოს off ზოგიერთი 36 კურსები სულ მეტი რა თქმა უნდა თქვენი ოთხი წლის განმავლობაში, რაც იმას ნიშნავს, ზოგადად, ოთხი ან ხუთი კლასი. და მე ვფიქრობ, რომ ეს საკმაოდ სამართლიანი ვთქვა, და განაცხადს CS50, დიზაინი, არის ალბათ, არ ტიპის კლასი რომ თქვენ უნდა, როგორც წესი, მიიღოს ოთხი სხვა კურსების ხუთ რადგან psets არიან დიზაინი საკმაოდ ინტენსიურია. მართლაც, მეც გავიგე, ამ უკან დღეში. მე არ აღწერს CS50 და კომპიუტერულ მეცნიერებათა, პროგრამირების როგორც იმდენად მძიმე, როგორც მხოლოდ შრომატევადი. ეს არ არის ასეთი რამ, სადაც სადილის შემდეგ, თქვენ შეგიძლიათ დაბრუნება თქვენი dorm ოთახი, დასხდნენ, და დაიწყოს აქცენტი pset ფიქრი, ყველა უფლება, მე კარგად bang გარეთ დღეს და შემდეგ ნაბიჯი ჩემს შემდეგი სათაური მომდევნო დღეს. ზოგჯერ უბრალოდ მოხვდა კედელზე. თქვენ უნდა შეცდომები თქვენს კოდი. აუცილებელი არ არის, ვიცი, როგორ უნდა გადაწყვიტოს ზოგიერთი პრობლემა. და ერთ-ერთი ძირითადი თვისებები პროგრამირების თავს, რომ ამ დღეს არის უბრალოდ სახის უნდა მიიღოს უკან გადადგმული ნაბიჯია ზოგჯერ, ძილის შესახებ და ვფიქრობ მასზე მეტი კურსი ერთი Jog ან სხვა საქმიანობა, და შემდეგ დაუბრუნდეს მას სუფთა. თქვენ უბრალოდ უნდა ეს ფანჯარა დრო. და მართლაც, ამიტომ ჩვენ სიგრძივი დროის ხელმისაწვდომია პრობლემა კომპლექტი ამ წელიწადში და ასევე, ერთ, რომ URL მე დაფასოებული ადრე, როგორც რა არის ახალი ამ სემესტრში, გათლილი პრობლემა ადგენს ისე, რომ ისინი ფუნდამენტურად არანაკლებ მკაცრი, და takeaways არანაკლებ, მაგრამ არ არის ბევრი ნაკლებად წინა საკითხზე, ბევრი ნაკლებად legwork, რომ თქვენ უნდა გავაკეთოთ წინაშე ყველა პრობლემა კომპლექტი, როგორც დაინახავთ, სანამ რეალურად ჩაყვინთვის შევიდა ხორცი იგი. ასე, რომ ამ და სხვა ცვლილებები ჰორიზონტზე უკეთ დაბინავება სტუდენტები, მაგრამ საბოლოო ჯამში, რათა დავრწმუნდეთ, რომ takeaways ხართ მართლაც, როგორც მაღალი, რაც შეიძლება. ასე რომ, როდესაც უფრო მეტი მუშაობა, ვიდრე ეს შეიძლება იყოს ტიპიური კლასი, იმედი გვაქვს, რომ ბრუნდება თქვენ და takeaways თქვენთვის და ცოდნა და იდეები რომელიც თქვენ გასვლა კიდევ უფრო მყარი შედეგად. და მისაღებად თქვენ იქ და ეს არის ერთ-ერთი ძირითადი takeaways, როგორც პატრიკ გააკეთა მინიშნება ადრე არის რა თქმა უნდა, მხარდაჭერა სტრუქტურა. ასე რომ, არა მარტო CS50 აქვს ერთი უდიდესი რა თქმა უნდა, უფროსების კამპუსში. მას ასევე აქვს ერთი ყველაზე ბაკალავრიატის. მართლაც, CS50 გასულ წელს იყო პირველი კლასის აქვს ბაკალავრის აკადემიური პერსონალი. და აღთქმა, რომ წარმატება გავაკეთოთ ახლა ბევრი სხვა კურსები ფარგლებში Yale CS აქვს, რომ, ისევე. სტუდენტებისთვის, კერძოდ, იქნება ეს TAs და რა თქმა უნდა, თანაშემწეები მხარში მთელი ქსელის მხარდაჭერა რესურსების, მათ შორის სექციები ან recitations, ყოველკვირეული შესაძლებლობები აქვს უფრო ინტიმური დისკუსიები და მიმოხილვა მატერიალური მიზნობრივი სხვადასხვა სიმღერები, სტუდენტებისთვის ნაკლებად კომფორტული, უფრო კომფორტული, ან სადღაც შორის. ეს მოჰყვება ხელმისაწვდომობა ლექციების რამდენიმე დღის განმავლობაში ყოველ კვირას ორშაბათს და სამშაბათს. და მერე ოფისში საათთან ერთ-ერთი შესაძლებლობები დახმარება, რა თქმა უნდა CAS და TAs იქნება ოთხშაბათს და ხუთშაბათს და კვირას სხვადასხვა ჯერ, რაც დაიდება კურსის ნახვა, უფრო მეტი, ვიდრე გასულ წელს, ისევე. მაგრამ რა არის CS50, თუ არა მართლაც ცოტა უჩვეულო, არის რა თქმა უნდა, კულტურის, ჩვენ შევეცადეთ, ამუშავებენ, როგორც კემბრიჯის მრავალი წლის განმავლობაში და ახლა ყველაზე ცოტა ხნის წინ New Haven. და სინამდვილეში, ახლოვდება ამ შაბათი, თუ არ გამიგია, არის CS50 Puzzle დღე, რომელსაც აქვს არაფერ შუაშია კომპიუტერულ მეცნიერებათა მაგრამ მთლიანად შექმნილია გაგზავნის გზავნილი, რომ კომპიუტერული მეცნიერების შესახებ პრობლემის გადაჭრის. და მართლაც, თუ გსურთ პარტნიორი ერთი ან ორი ან სამი მეგობარი და შექმნას გუნდი CS50 თავსატეხი Day, შევხედოთ იმ სარეკლამო, რომლებიც გამოსავალს. და სამი საათის პიცა და გამოცანები და პრიზები დაელოდება. და მართლაც, წელს პირველად, ეს არ გაიმართება ერთად ჰარვარდის. ეს იქნება აქ დამოუკიდებლად იელის. ასე რომ, თვალი გარეთ იმ შემთხვევაში, თუ არ გვაქვს. ყველაზე ყოველ პარასკევს სემესტრის ჩვენ ვცდილობთ, რომ დიდი კლასი გრძნობს, მცირე და მოტანაზე 50- ლანჩი კურსი თანამშრომლებისათვის, კურსდამთავრებულებს, მეგობრები ინდუსტრიის გაიგო რა ცხოვრება ჰგავს შემდეგ კლასის მოსწონს CS50 და მეტი ზაფხული და დამთავრების შემდეგ. ასე რომ, თვალი გარეთ მოსაწვევები, რომ. პირველად ოდესმე ამ წელს ჩვენ გამართავს პირველი CS50 კოდირება კონკურსი, სურვილისამებრ დამ- in საშუალება შუა რიცხვებში სემესტრის შემდეგ, რაც ყველა ჩვენგანს არ ჰქონდა დაახლოებით ექვსი ან შვიდი კვირის პროგრამირების in C ქვეშ მათი ქამრები კონკურენციას, თუ ასე choose-- ერთხელ on teams-- ცდილობს მოგვარებას როგორც ბევრი გამოწვევები როგორც თქვენ შეგიძლიათ პროგრამირების მეგობრები თქვენი სხვების მიმართ. მიმართ და კუდი სემესტრის იქნება ჩვენ წესდების ზოგიერთი ავტობუსები, რეალურად გარკვეული დრო გაატაროს კემბრიჯის, თუ მინდა მინდა შემოგვიერთდნენ, რომ ე.წ. CS50 hackathon. საღამოს 7 საათზე, ჩვენ დავიწყებთ. დაახლოებით საღამოს 9 საათზე, ჩვენ გვექნება პიცა. დაახლოებით 1:00 AM, ჩვენ გვექნება burritos. და ყველას, ჯერ კიდევ მეძინა შესახებ ავტობუსი ride სახლში დაახლოებით 5:00 AM, ჩვენ შეწყვიტოს off ბლინები at IHOP გზაზე home-- 12 საათიანი შესაძლებლობა immerse თავს თანაკლასელები და პერსონალი რა თქმა უნდა, საბოლოო პროექტი, რაც შესაძლებლობას აძლევს წასვლა კარგად მიღმა რა თქმა უნდა, პრობლემა კომპლექტი და დიზაინის და განახორციელოს ყველაზე არაფერი საინტერესო, რომ თქვენ, რომელიც საბოლოოდ გამორჩეულ აქ Commons. პირველი CS50 სამართლიანი იყო ბოლო წელს, ბოლოს სემესტრის გამოფენა ან დღესასწაული, რაც ყველას კლასში დაასრულა, განსაკუთრებით მათ, კიდევ ერთხელ, რომელმაც საწყისი არაფერი რაღაც, ნულიდან 60, არმქონე საწყისი ფონზე და exhibiting, საბოლოო ჯამში, რაღაც მთელი კამპუსში და, თუ ონლაინ, რომ მსოფლიომ დაინახოს, ისევე. ახლა, ეს აქ მხოლოდ რამდენიმე TAs და CAS, რომელიც იღებს CS50 შესაძლებელი. ნება მიბოძეთ მოიწვიოს ნებისმიერი იმ თანამშრომლები რომლებიც აქ ამუშავება სცენაზე, ისევე, როგორც კურსის ხელმძღვანელები, გთავაზობთ რამდენიმე სიტყვა შთაგონების, ისევე. Andi: Hi, ბიჭები. შეგიძლიათ ბიჭები მესმის მე? მადლობა მობრძანებისათვის ამ lovely, წვიმიანი ხუთშაბათი დღის მეორე ნახევარში. ჩემი სახელი არის Andi. მე უმცროსი Berkeley. და ერთად Stelios და საზაფხულო, ჩვენ ვიქნებით თქვენი სამი ხელმძღვანელი სწავლების თანაშემწეები ამ მომავალ წელს. ასე რომ, ვფიქრობ, შოუ hands--, თუ რამდენი არ გვაქვს განზრახვა რომ CS ძირითადი არც ნამდვილად diving ღრმად შევიდა კომპიუტერული მეცნიერების, როგორც ძირითადი აქ? გასაოცარია. ეს არის ბრწყინვალე. ასე რომ, მე რეალურად გლობალურ საკითხებში და შემეცნებითი მეცნიერება ძირითადი. მე ფაქტიურად მოვიდა Yale ერთად აპირებს არასოდეს მქონე შევხედოთ ნომერი ოდესმე ისევ ჩემს ცხოვრებაში. გონზე რომ მოვედი, Yale, ეს იყო ის, რაც არასდროს ყოფილა ჩემს რადარი. მინდოდა, გაეცნობიან პოეზიას. მინდოდა გაეცნობიან საერთაშორისო ურთიერთობები. მინდოდა გაეცნობიან აკვარელი ნახატი. დიახ, ჩვენ ვთავაზობთ კლასის on აკვარელი ნახატი. მაგრამ მე არასოდეს ნამდვილად იყო დაინტერესებული არაფერი ღეროვანი დაკავშირებული. მაგრამ შემდეგ უფრო ძველი, მე მიიღო, უფრო მივხვდი, რომ ყველა სფეროში მართლაც ზოგიერთ გრძნობა დასაქმებულია კომპიუტერული მეცნიერების, ან თუ არა კომპიუტერული მეცნიერების, გამოთვლები. ფაქტობრივად, ჩემი გლობალური საქმეთა სპეციალობის პროექტი, ჩვენ გამოყენებით მონაცემების ანალიტიკა ანალიზი ტერაქტების for Boko Haram ნიგერიის. ასე რომ, როგორც ხედავთ, მიუხედავად იმისა, რა ძირითადი თქვენ დასრულდება up ანხორციელებს ან რა თქვენი ინტერესების იელის არიან, პროგრამირების და ფონდების რასაც უნარები სუპერ სასარგებლო. და CS50 ნამდვილად კარგად არის აღჭურვილი სახის სარგებლის ბევრი მისი რესურსები თქვენ, მიუხედავად იმისა, რამდენად კომფორტული ხართ ან როგორ დაინტერესებული ხართ გატარებით კლასში. ზაფხულის აპირებს გაიგო ცოტა ცოტა იმაზე, თუ რა ბიჭები არიან ისწავლით ამ წელს. SUMMER: Hi, ყველას. ვარ საზაფხულო Wu. მე უმცროსი Morse. და მე რეალურად დაიწყო როგორც CS50 სტუდენტი თავს. ასე რომ, სამი წლის წინ, მე უფსკრული წელს. მე არასოდეს მიღებული CS კლასის საშუალო სკოლა, მაგრამ ვფიქრობდი, რომ ჩემი თავისუფალი დრო, ეს მინდა იყოს მაგარი, რომ ისწავლონ კოდი. ასე რომ, მე სწრაფი Google ძებნა, ჩანდა, თუ რა იყო ხელმისაწვდომი, და დაინახა, ეს ვიდეო Muppets და დიჯეები და მაგარი საიტებზე. მე მინდა, მე მინდა, რომ ვისწავლოთ თუ როგორ უნდა გავაკეთოთ, რომ. ასე რომ, მე რა თქმა უნდა, და მე უბრალოდ შემიყვარდა იგი. მაგრამ მახსოვს, რომ ასე ეჭვიანი ბავშვები, რომლებიც ვერ დაესწრება hackathon, დაესწრება Puzzle Day, დაესწრება ოფისი საათი, დახმარების მისაღებად TAs პირი. ასე რომ, მე წარმოვიდგენდი რომ მე მიიღოს შანსი უნდა აქ ჩართული რა თქმა უნდა, რომ პირველად მიიღო მე დაინტერესებული კომპიუტერული მეცნიერება და არის მიზეზი, რის გამოც ვარ კომპიუტერულ მეცნიერებათა ძირითადი დღეს. ასე რომ, მე გაფრთხილებთ, ამ კლასში აპირებს მონაკვეთი თქვენ. ის აპირებს გამოწვევას თქვენ. მაგრამ ის ასევე აპირებს გასწავლით თუ როგორ უნდა გავაკეთოთ რამ, რომ თქვენ ვერასოდეს წარმოვიდგენდი, თუ შესაძლებელი იქნებოდა. Stelios: Hi, ყველას. ჩემი სახელი არის Stelios. მე ვარ უმცროსი Branford კოლეჯი და CS ძირითადი. მე ასევე ათენში, საბერძნეთი. მე ნამდვილად მოუთმენლად შეხვედრის ყველა თქვენ, მშვენიერი თქვენ განყოფილებიანი, at საოფისე საათზე, პარასკევი სადილების. მე ნამდვილად აღფრთოვანებული, რადგან ჩვენ ძალისხმევა არ დაიშურა შევიდა შექმნის უნიკალური მხარდაჭერა სტრუქტურა ყველა თქვენგანს იმისათვის, რომ თქვენი გამოცდილება რა თქმა უნდა, მაქსიმალურად. იმედი მაქვს, რომ მიუხედავად იმისა, თქვენ ალბათ არ მიუღიათ CS რა თქმა უნდა, ადრე, იმედი მაქვს, რომ CS50 თქვენთვის არის ის, რაც sparks ინტერესი რათა პასუხი გაეცეს კომპიუტერული მეცნიერება მომავალში, როგორც ეს გააკეთა ასე ბევრი ადამიანი წარსულში. ასე რომ მადლობა გადაგიხადოთ, რომ აქ, აღფრთოვანებული, რომ თქვენ. Jason Hirschhorn. JASON HIRSCHHORN: Hi, ყველას. ჩემი სახელია ჯეისონ Hirschhorn. ვცხოვრობ SILLIMAN. და მივედი ჰარვარდის როგორც undergrad და majored სოციალური კვლევები და minored კომპიუტერულ მეცნიერებათა. ჩემი ერთ-ერთი ძირითადი როლები აქ ხელი შეუწყოს ამ მშვენიერი პერსონალი როგორც ისინი მხარს უჭერენ თუ არა ყველა. ფაქტობრივად, ეს არ არის ყველა მათგანი. არსებობს 55 სტუდენტებს და კურსდამთავრებულებს აქ მხარდაჭერა ყველა. მე და daresay ერთ-ერთი საუკეთესო ნაწილები, რა თქმა უნდა თქვენთვის ყველა დღითიდღე მუშაობა მათ, მიღების, უნდა იცოდნენ მიღების, რომ მათ, როგორც CS50 და გარეთ CS50 ამ სემესტრში და მრავალი სემესტრი მოვა. ასე რომ, იმედია თქვენ მიიღოს რა თქმა უნდა, იმიტომ, რომ იმედია მიიღეთ ურთიერთქმედება მშვენიერი პერსონალი ჩვენ სცენაზე. დინამიკები: ისე, დამასრულებინეთ განაცხადა, რომ ეს იქნება სახალისო. დავით Malan: ისე, მადლობა ჩვენი მთელი გუნდი. ნება მიბოძეთ Dim განათება და მისცემს კიდევ რამდენიმე, ჩვენი გუნდის როგორც კემბრიჯის და New Haven, მიესალმები ამ ბიჭებს შეიტანოს off. და ამის შემდეგ ჩვენ გადასვლას პირველი ჩვენი პროგრამირების ღონისძიებები ამ ენის მოუწოდა Scratch. ასე რომ, მადლობა გუნდს. მოდით Dim განათება და მოვისმინოთ რამდენიმე სხვები. [ტაში] [ვიდეო აღწარმოების] -The მისია CS50, რათა თქვენ უფრო კომფორტულად სრულიად ახალი გზა აზროვნება, ამ კომპიუტერული აზროვნების. -ეს გააკეთა კომპიუტერულ მეცნიერებათა საინტერესო, რომელიც არის რაღაც მე ნამდვილად არ ესმოდეს შესაძლებელი იყო, სანამ მე მივიღე კლასში. მე კი, როგორიცაა, Whoa. მე ნამდვილად თარგმნის ჩემი აზრები კომპუტერში ახლავე. მონარქისადმი თუ არ აქვს არც ფონზე კომპიუტერულ მეცნიერებათა ან რაიმე გამოცდილება, ეს არის რეალურად კლასი თქვენთვის. ანუ მე ნამდვილად მინდა ჩემი სტუდენტებს მხოლოდ კიდევ მახარებს კომპიუტერულ მეცნიერებაში. არა მხოლოდ პროგრამირების, მაგრამ ფიქრი მოსწონს კომპიუტერის მეცნიერი მართლაც, რა მინდა ცდილობენ ასწავლონ ჩემს freshman. -CS50 რთულია და დაჯილდოება. -გამოცდილება. -Extravaganza. -ეს შემოტანა ჩვენთვის დონეზე. [მუსიკის დაკვრა] -The TFs, მე ვფიქრობ, რომ სასიცოცხლო, რა თქმა უნდა. -I'm აღელვებს ჩემს სტუდენტებს მე ეხმარება აქვს, რომ aha მომენტში გააცნობიეროს რა ისინი რეალურად ცდილობს უნდა გავაკეთოთ, გაერკვნენ, თუ როგორ უნდა გავაკეთოთ pset. -CS50 ნამდვილად მძიმე კურსი. მაგრამ განსხვავებით სხვა ნებისმიერი რა თქმა უნდა ნამდვილად იელის, მას აქვს ასეთი დიდი, დამხმარე თანამეგობრობას. -თქვენ აბსოლუტურად არ უნდა იცოდეთ რამე შესახებ კოდირების შეძლებს მიიღოს, რა თქმა უნდა. -ეს საოცარი უყურებს, თუ რამდენად შორს ადამიანი მოდის ერთი სემესტრით. -თქვენ არ იყო მარტო იჯდა ოთახი სწავლის კოდი, მაგრამ ეს უფრო მეტია, ვიდრე უბრალოდ კლასი. ეს იყო გამოცდილება. -The საუკეთესო გზა ვისწავლოთ ცნებები და გადაამუშავებს მათ მიერ სწავლების სხვები. რა არის სატელეფონო გაყოფილი? [მუსიკის დაკვრა] და თუკი ეს არის CS50. [მუსიკის დაკვრა] -ეს არის CS50. -Got პრობლემა? გაანადგურეს ის ნახევარი. [მუსიკის დაკვრა] ჩააგდოს ის დაშორებით. დავით Malan ყველა უფლება. მოდით tackle-- პატარა ცოტა, სხვათა შორის, ეს ყოფილა ამ ტრადიციის რატომღაც 10 წლის განმავლობაში ემსახურება ტორტი დაიწყება და ბოლოს CS50. ასე რომ გელოდებით ბოლოს დღეს, გარდა ამისა, სილაბუსები, იქნება გარკვეული ტორტი ისევე, და რა თქმა უნდა პერსონალი მიესალმები. მაგრამ ახლა, მოდით გადასვლის პირველი ჩვენი ენებზე, სადაც ჩვენ გაატაროთ მართლაც მხოლოდ ერთი კვირის და ერთი პრობლემა მითითებული ამ დომენზე, Scratch. და თქვენ იპოვით, თუ თქვენ დაპროგრამებულია ადრე, ბევრი იდეების და შესაძლებლობები არის ნაცნობი თქვენ. მაგრამ თქვენ ნახავთ, რომ ეს არის სახალისო გზაზე გაერკვნენ, თუ რამდენად თარგმნა ზოგიერთი იდეები თქვენ უკვე იცით, ამ კონკრეტულ გარემოში ნამდვილად შთაბეჭდილების თქვენი ოჯახის და მეგობრებს თქვენი სამუშაო, რომელსაც შეუძლია ამჟამად, თუ ისე აირჩიოს, შემდეგ. და თუ არ გვაქვს წინასწარი გამოცდილება და შორის უმრავლესობა სტუდენტები ნაკლებად კომფორტული, ხვდები, რომ ბევრი იდეები ჩვენ მხოლოდ შესწავლილი reality-- რამ როგორიცაა სატელეფონო წიგნი და დასწრება და ასე forth-- თარგმნა საკმაოდ ლამაზად კომპიუტერი, მაგრამ თუ თქვენ იყენებთ, თავდაპირველად, ენის მოსწონს ეს. ასე რომ, ეს არის პროგრამა დაწერილი ენის მოუწოდა C. და ჩვენ დახარჯავს საკმაოდ ცოტა დრო C, საბოლოოდ. მაგრამ შანსები, ეს გამოიყურება ცოტა cryptic თქვენ ერთი შეხედვით. ფაქტობრივად, არ არის ბევრი უცნაური სინტაქსი, ფრჩხილებში, კუთხე ფრჩხილებში, Curly braces, შეთავაზებები და semicolons. და მართლაც, თუ თქვენ ჩაყვინთვის შევიდა პროგრამირების პირველად ეძებს და ცდილობს შექმნას პერსონალი როგორც ეს, პატიოსნად, თქვენ ასე გაეხვია ასე ხშირად უბრალოდ სულელური minutia რომ არაფერი აქვს ინტელექტუალურად საინტერესო შესახებ. მაგრამ წარმოიდგინეთ, თუ შეიძლება შეიქმნას ამავე პროგრამაში, რომელიც, როგორც თქვენ შეიძლება სახის infer, ალბათ, ნამუშევარი "Hello, world" რატომღაც ან სხვა. ჩვენ შეგვიძლია გამოიხადოს რომ იგივე იდეა შევიდა მხოლოდ ორი თავსატეხი ცალი, თუ გნებავთ. მართლაც, Scratch საინტერესოა რადგან ეს არის გრაფიკული ენაზე. თქვენ შეგიძლიათ გადააადგილება ამ თავსატეხი ცალი, რომ მხოლოდ interlock თუ ეს ქმნის ლოგიკურ აზრი ამის გაკეთება. ასე რომ, Scratch, ჩვენ მალე, ეს არის , თუ როგორ განახორციელოს იმავე პროგრამა, მხოლოდ ორი თავსატეხი ცალი რომ საკმაოდ ბევრი, რას ამბობენ. მაგრამ ჩვენ ვხედავთ, რაღაც მომენტში, რომ ზოგიერთი შენობა ბლოკად, რომ ჩვენ მიანიშნა ადრე და კიდევ რამდენიმე არის ყველა, რომ საბოლოოდ ვაპირებთ წარმოადგენს ზოგიერთი ჩვენი ადრეული პროგრამები. ჩვენ ვაპირებთ, რომ აქვს რამ მოსწონს ფუნქცია მხოლოდ ქმედებები, რომ რამე, მინდა ვთქვა, hello, world. ჩვენ ვაპირებთ, რომ მარყუჟების, რამ, რომ გამოიწვიოს ციკლის ისევ და ისევ, ისევე, როგორც ჩვენ ერთი წუთით წინ სამძებრო მაიკ სმიტი. ცვლადები, როგორიცაა ალგებრა, თუ გვაქვს x და y, რომ შეგიძლიათ შეინახოთ ნომერი. ასევე, პროგრამა, შეგიძლიათ რეალურად შესანახად მეტი, ვიდრე უბრალოდ ნომრები. თქვენ შეგიძლიათ ჩაწეროთ სიტყვა და სასჯელი და გრაფიკული და სხვა რამ მაინც. ლოგიკური გამონათქვამები, ისევე, questions-- დიახ ან არა, ჭეშმარიტი ან მცდარი. პირობები, გადაწყვეტილების მიღების ეფუძნება იმ კი / არა პასუხი. და მაშინ fancier რამ, როგორიცაა array და თემა და მოვლენები და ნებისმიერი რაოდენობის სხვა თვისებები, მაგრამ ყველაფერი, რაც რუკაზე ძალიან ლამაზად ძალიან მეგობრული ბლოკების მოსწონს ეს. ეს იქნება ფუნქცია, purple თავსატეხი ცალი რომ ამბობს რა მისი სახელი is-- ამ შემთხვევაში, ამბობენ. და შემდეგ ხშირად, იქ თეთრი ყუთი, რომ თქვენ შეგიძლიათ აკრიფოთ ან გადაიტანეთ გარკვეული მნიშვნელობა შევიდა. და ის, რაც ზოგადად მოუწოდა არგუმენტი ან პარამეტრი. ეს არის გზა შეცვლის ეგ საქციელი თავსატეხი ნაჭერი ან ფუნქცია, ასე, რომ ეს ასეა რაღაც საბაჟო გსურთ განაცხადა, hello, world ან hello, ენდი და hello, Jason ან სხვა სასჯელის ნაცვლად. თუ გსურთ ვთქვა, რომ lot-- ფაქტიურად forever-- შეგიძლიათ მიიღოს სხვა თავსატეხი ცალი ე.წ. სამუდამოდ და მხოლოდ მოქცეული ორი ერთად მოსწონს ეს. და რომ loop, როგორც სურათზე ვარაუდობს, ნიშნავს, რომ უბრალოდ მიესალმები, მსოფლიოში სამუდამოდ, ისევ და ისევ და ისევ. ან, თუ გსურთ ამის გაკეთება სასრული რაოდენობის ჯერ, როგორც 50-ჯერ არ იქნება კიდევ ერთი თავსატეხი ცალი that-- ვიმეორებ 50 ჯერ. ამასობაში, თუ გსურთ აქვს ცვლადი ამ ენაზე ჩვენ შესახებ თამაში, თქვენ შეგიძლიათ გამოიყენოთ ფორთოხალი ბლოკი მოსწონს ეს. და ამ ცვლადის მე თვითნებურად მოუწოდა i for რიცხვი. და მე უბრალოდ დააყენეთ ტოლია 0. ასე რომ, იქნებ მე, ამ case-- ეს ცვლადი წარმოადგენს ვინმეს ანგარიში თამაში. თქვენ იწყება ნულოვანი, და ყოველ ჯერზე თქვენ მიზანს ან რამე მაგდაგვარს, თქვენ დამატებით ერთი წერტილი. შეგიძლიათ კითხვები ნულიდან. თუ ჩვენ გადააადგილება თავსატეხი ცალი ამ მომენტში, როგორც ეს, თქვენ შეგიძლიათ შეკითხვები, როგორიცაა, ასევე, არის მე 50-ზე ნაკლები? იქნებ უნდა 50 რაოდენობა გაიმარჯვებს. ასე რომ, ეს იქნება კითხვა მინდა ვთხოვო. ან, უფრო ზოგადად, თქვენ შეიძლება ითქვას, არის x ნაკლებია ვიდრე Y, იქ, სადაც ორი ცვლადის ჩართული? ახლა, ამ ერთი არის ბევრი უფრო დიდი ერთი შეხედვით, მაგრამ ნამდვილად არ არის, რომ უფრო რთული. ეს არის მხოლოდ მოედანზე პირობები და ცვლადები და ლოგიკური გამონათქვამები ითხოვენ სამი questions-- არის x ნაკლებია, ვიდრე y? თუ ასეა, ვთქვათ ასე. ვთქვათ, x არის ნაკლები ვიდრე y. სხვაგან, თუ x მეტია y, სხვაგან x ტოლი უნდა იყოს y. და იმის გამო, მაიკ სმიტი, ოთხი სცენარი, აქ მსოფლიოში ნომრები, x ან ნაკლებია, ვიდრე მეტია, ან ტოლია. ყველა ჩვენ სამი ჩანგლები საგზაო. და შემდეგ იქ fancier თავსატეხი ცალი მოსწონს ეს რამ მასივები, სადაც ჩვენ ვართ აპირებს შეძლებს ინფორმაციის შესანახად. ჩვენ ვაპირებთ, რომ ბლოკავს, რომელიც საშუალებას განახორციელოს მრავალი თემა, კიდევ ერთი თვისება ჩვენ ვიყენებთ, და მაშინ ასევე რაღაც მოუწოდა მოვლენები. მაგრამ სანამ არ მივიღებთ, რომ წერტილი და შექმნა კი, საბოლოო ჯამში, ჩვენი საკუთარი თავსატეხი ცალი, მოდით რეალურად გახსნა პროგრამა თავისთავად. ასე რომ, ეს არის Scratch. ეს შესაძლებელია scratch.mit.edu. და თქვენ მივესალმებით ითამაშოს ადრე თუ გვიან, ასევე. ეს ხდება, რომ გასულია ვერსია. მათთვის, ვისაც არ აუცილებლად უნდა დიდი ინტერნეტით, შეგიძლიათ ჩამოტვირთოთ იგივე პროგრამული უზრუნველყოფა, ისევე. და იქ ნამდვილად მხოლოდ სამი კომპონენტების ამ პროგრამული უზრუნველყოფა. ზედა მარცხენა კუთხეში ეკრანზე არის ერთგვარი ეტაპზე რომ Scratch, რომელიც ძირითადად ჰგავს კატა, ცხოვრობს. მას შეუძლია გადაადგილება up, down, მარცხენა და მარჯვენა და ნუ ნებისმიერი რაოდენობის სხვა რამ, და შეიძლება ნებისმიერი რაოდენობის გზები დაფუძნებული კოსტიუმები, რომ თქვენ მივანიჭოთ მას. მაგრამ ეს არის ის, რაც ჩვენ მოვუწოდებთ Sprite, ერთგვარი ხასიათი. და თქვენ შეიძლება მქონდეს გმირები, ჩვენ მალე. შუა ახლა ყველა ამ თავსატეხი ცალი და ეს კატეგორიები და pallets შესახებ. ასე რომ, ახლა, მე დაწკაპავთ Motion. ასე რომ, მე ხედავს ყველა მოძრაობის დაკავშირებული თავსატეხი ცალი ან ბლოკები, ასე რომ, ფუნქციები, რომელიც უნდა უნდა გავაკეთოთ ერთად იზრდებოდა, ქვემოთ, მარცხნივ, ან მარჯვნივ ან სხვა ოპერაცია. მაგრამ თუ მე დაწკაპავთ ჩანს, თქვენ ვერ ვხედავ რამ, როგორიცაა ვთქვათ ბლოკი რომ დავინახეთ მხოლოდ ერთი წუთით წინ. და თუ მე დააწკაპუნეთ Control, დაინახავთ, რამ, როგორიცაა განმეორებითი და სამუდამოდ და თუ ბლოკი, რომელიც ჩვენ ვნახეთ მომენტში წინ. და ასე რომ თქვენ იპოვით რომ ჩვენ უბრალოდ ნულიდან ზედაპირზე ზოგიერთი თავსატეხი ცალი ერთად, მაგრამ ეს ყველაფერი საკმაოდ ინტუიციური და წერტილი და დააჭირეთ. მართლაც, Scratch შეიქმნა უმცროსი სტუდენტები რათა დაეხმაროს მათ outlet შემოქმედებითი აზროვნება. და მაინც შესანიშნავად, ეს მშვენიერი სტეპინგზე ქვის ზუსტად იდეები ჩვენ ვაპირებთ შეისწავლონ C და Python და JavaScript, როგორც. მარჯვენა მხარეს, და ბოლოს, აქ ეს, ე.წ. სკრიპტები ტერიტორიაზე. და ეს მხოლოდ ცარიელი ფურცლიდან ერთად რომელშიც თქვენ დაიწყოს დაწეროს პროგრამა. და მე ზუსტად რომ. ახლა, მე არ უნდა იცოდეს, სადაც ყველაფერი იმიტომ, რომ მე ვაკეთებ ამ რამდენჯერმე. მაგრამ მე ვიცი, რომ ღონისძიებები კატეგორიაში, არსებობს ამ ბლოკის აქ როდესაც მწვანე დროშის დაწკაპავთ. და შეამჩნია, თუ მე დააშორებს და უკან მეტი აქ სცენაზე, Scratch ცხოვრება ამ პატარა მართკუთხა მსოფლიოში, atop რომელიც მწვანე დროშა და წითელი გაჩერების ნიშანი. ასე რომ წავიდეთ და შეწყვიტოს, შესაბამისად. ასე რომ, რა არ მინდა ამის გაკეთება როდესაც რომ მწვანე დროშა დააწკაპებთ? ასევე, ნება მომეცით წასვლა რომ გამოიყურება კატეგორიაში. და ნება მომეცით წავიდეთ წინ და გადააადგილება ამ. და შენიშნავს, როგორც კი იგი იღებს ახლოს, ისინი ერთგვარი მაგნიტური. ასე რომ, თუ მე ახლა გაუშვებენ, ეს snaps ერთად ლამაზი და სუფთად. და მე ვაპირებ წავიდეთ წინ და ამბობენ რაღაც hello, world ორი წამი. ნება მომეცით დააშორებს და დააჭირეთ ახლა მწვანე დროშა, და ვთქვათ, hello, world. კარგი. ასე რომ, ყველა კარგი და კეთილი. არ არის, რომ საინტერესო. მოდით ეს ცოტა cuter. და მე ვიცი, რომ წინასწარ, Scratch ხდება მოვა რამდენიმე მიმზიდველი რამ მოსწონს ეს. ასე რომ, თამაში ხმის meow სანამ კეთდება. ასე რომ, მოდით ეს. [მიაუ] Aw, რომ adorable. და თუ მე დაწკაპეთ იგი ერთხელ [მიაუ] და ისევ. [მიაუ] მაგრამ მე შენარჩუნება, რომელსაც გაცოცხლებას Scratch. მაგრამ მე შემიძლია უკეთ, ვიდრე ეს. რატომ არ მე უბრალოდ გადაიტანეთ სამ. და ახლა ეს სამჯერ adorable. [Meowing] OK, რეალურად, ეს პატარა creepy. ამიტომ, ჩვენ უნდა რაღაც შორის არსებობს. თუ მივდივარ კონტროლის, როგორც ჩანს, იქ რეალურად დაველოდოთ ბლოკი. და ასე რომ შეამჩნია, თუ hover იქ და ნება მომეცით, რომ ეს ცოტა დიდია. თუ hover, ის აპირებს ვადამდელი შევიდა ადგილი. ასე რომ, დაველოდოთ ერთი მეორე, დაველოდოთ ერთი მეორე. მოდით მოხვდა მწვანე დროშის ერთხელ. [Meowing] OK, ცოტა უფრო ბუნებრივი, მაგრამ ძალიან ეფექტური. ასე რომ, ეს არის სწორი, თუ ჩემი პროგრამა მიზანი იყო meow სამჯერ. მაგრამ ეს არ არის ძალიან კარგად შემუშავებული. I ტიპის მოჭრილი ზოგიერთ კუთხეში. მე მივიღე ცოტა ზარმაცი. რა გრძნობს მოსწონს რა, როგორც ჩანს, უნდა გაკეთდეს ცუდად, იტყვით? ჰო? ჰო, შუა. აუდიტორია: მეორადი მეტი მეხსიერება, ვიდრე საჭიროა რადგან თქვენ იყენებთ ამდენი სხვადასხვა ონლაინ. დავით Malan: ჰო, ასე უფრო ხაზები. და ეს არ არის აუცილებელი იყოს მეხსიერება, მიუხედავად იმისა, რომ შეიძლება ჩაითვალოს, რომ გზა. მაგრამ ეს definitely-- არსებობს redundancy. და მე სიტყვასიტყვით სახის ისხდნენ და დაეცა იგივე რამ. და თუ სახის extrapolate-- თუ ეს არ არის აშკარა აქ კარგად, როგორ მე meow 30-ჯერ? მე გადააადგილება, ისევე, 30-ზე მეტი წყვილი თავსატეხი ცალი. და რა თქმა უნდა, არსებობს უკეთესი გზა. და ჩვენ ვნახეთ, უკეთესი გზა. რა ინტუიციურად გვინდა იყოს უკეთესი გზა? ჰო, უბრალოდ გამოიყენოთ loop. არ ასლი და პასტა. და მართლაც, ნებისმიერ დროს ამ სემესტრის თუ დაიწყება მოძიებაში თავს გადმოიყვანა და ჩაშვების, ან მართლაც გადაწერა და pasting, სახიფათო ჩვევა შეღწევას, რადგან ეს უბრალოდ არ არის ძალიან maintainable. მაგალითად, თუ მინდა, რომ შეიცვალოს ხმა რაღაც, მე უნდა შეიცვალოს, რომ ახლა სამ ადგილებში ნაცვლად მხოლოდ ერთი. იმის გამო, რომ მართლაც, თუ დაარღვიოს ეს away-- ვარ უბრალოდ აპირებს decouple ეს იგრძნობა. მიადევნე თვალი დაიბრუნოს განმეორებითი ბლოკი და შემდეგ დაწკაპეთ სამი ტიპის სამი, იმისათვის, რომ ზოგიერთი მოშორებით მხოლოდ გაუშვან. და მაშინ შეამჩნია ეს არ ჰგავს ეს შეესაბამება, მაგრამ მაგნიტურად, ის აპირებს არა მხოლოდ ვადამდელი ადგილი მაგრამ იზრდება, რათა შეწყობოდა ფორმა. ასე რომ, კარგი. და ახლა თუ მე დააჭირეთ play. [Meowing] ძალიან კარგი. კარგი. და ახლა ეს ძალიან ადვილია შეიცვლება, ძალიან, იმიტომ, რომ მე შემიძლია უბრალოდ შეცვალოს ერთი ნომერი ერთ ადგილას. მაგრამ ეს, ძალიან, არ არის ყველა, რომ საინტერესოა. მოდით რეალურად აქვს Scratch არ meow, მაგრამ გადაადგილება. ნება მომეცით წასვლა Motion და გადაადგილება 10 ნაბიჯები შიგნით of-- whoops, ნება მომეცით დაფიქსირება ამ. ნება მიბოძეთ, ეს გადაადგილება 10 ნაბიჯების რეალურად, მოდით არ არ გაიმეოროს. მიადევნე თვალი დაიბრუნოს მართვის ბლოკი, და ამის შემდეგ სამუდამოდ. Forever, გადაადგილება 10 ნაბიჯები. და დააჭირეთ Play. კარგი. ასე რომ, საბედნიეროდ, ის შეწყვეტს. წინააღმდეგ შემთხვევაში, ბავშვებს ძალიან დაარღვიოს როდესაც ისინი ერთგვარი კარგავენ კატა. მაგრამ მაინც შეგიძლიათ გადაიტანეთ მას ისევ ეკრანზე. მაგრამ ეს არ არის ყველა, რომ დიდი თამაში, ან ანიმაცია. კარგი იქნება, თუ შესაძლოა, იგი გავიდა პირას. ასე რომ, რა ვქნათ? რა შენება არ უნდა გვქონდეს Scratch გადაწყვიტოს ახსნას, როგორ ფიქრობთ, მაშინაც კი, თუ თქვენ არასდროს ჩანს Scratch ადრე? ჰო, უკან. აუდიტორია: თქვენ უნდა თუ ბლოკი თუ მაშინ. დავით Malan: ჰო, ასე რომ ზოგიერთი სახის, თუ ბლოკი თუ მაშინ. ასე რომ, რეალურად, ჩვენ გვაქვს ერთი ამ აქ. ასე რომ, თუ ნება მომეცით მიიღოს მოშორება მოძრაობა. ნება მომეცით zoom ამიტომ დიდია. ასე რომ, როგორ შესახებ. სამუდამოდ, თუ Sensing-- ჩვენ არ მინახავს ეს ადრე. მე უნდა ლოგიკური გამოხატულებაა. და აღმოჩნდება, თუ ეხება რა? თუ ეხება პირას, რა უნდა გავაკეთოთ? ისე, თუ მე დაბრუნდეს Motion, თურმე, რა, მე შეიძლება იქცეს გარშემო. მიადევნე თვალი გადაიტანეთ ეს აქ. რატომ არ წავიდეთ წინ და ჩართოთ გარშემო 180 გრადუსი? და ახლა, მოდით გადაადგილება ბოლოს. მე შეეძლო მოძრაობა დასაწყისში ან ბოლოს. მაგრამ ლოგიკურად, ყოველ ჯერზე მე გადაადგილება, მე გსურთ შეამოწმოთ, მე ეხება ზღვარზე? ვარ მე ეხება ზღვარზე? ვარ მე ეხება ზღვარზე? ასე რომ ლოგიკურად მე ჩართოთ გარშემო, თუ ასე. მოდით მოხვდა პიესა. კარგი. ასე რომ, ეს ოდნავ buggy, ასე ვთქვათ. და bug არის უბრალოდ შეცდომა კომპიუტერული პროგრამა. მაგრამ მაინც მუშაობს. და სინამდვილეში, მე შეიძლება აქ. და ნება მომეცით, რათა ის არ 10 ნაბიჯები ზე დროს, მაგრამ ეს არის ყველა ანიმაცია. ეს არის ყველა cartoon ან თუნდაც ფილმი. ნება მომეცით გადავიდეს 20 ნაბიჯები დროს. ასე რომ, 20-ჯერ ბევრი რამ ხდება ერთხელ, ან ორჯერ მეტი, ამ შემთხვევაში. და ის მოძრაობს სწრაფად. ნება მომეცით შეცვლის to 30. 100. 1,000. და ის აპირებს მართლაც სწრაფი. და ეს is-- yeah, OK. ასე რომ, ახლა ჩვენ უბრალოდ ძვირფასი იგი. OK, ასე რომ buggy. მაგრამ ჩვენ შეგვიძლია გადაიტანეთ მას out of გზა აქ. მაგრამ ჩვენ შეგვიძლია სიამოვნება, ძალიან. როგორ შესახებ ამას ის თავდაყირა. მაგრამ აღმოჩნდება, რომ ნულიდან და არ არის რეალურად, მე უნდა მოიხსნას, აკადემიური მნიშვნელობა, რაც მე უნდა გააკეთოს. მაგრამ თუ მე გახსენით მიკროფონი, მოდით აჩერებენ და რაღაც მოსწონს ეს. Ouch! [სიცილი] ეს იყო adorable. გმადლობთ. ახლა, ეს არის ის, რაც ჩემი ხმა ჰგავს, როდესაც მე დაწეროთ ouch. მე არ ვფიქრობ, რომ ჩვენ დაიჭირეს თქვენი სიცილი. არაუშავს. ნება მომეცით გადარჩენა, როგორც "ouch". გადავარჩინოთ ეს როგორც "ouch". და ახლა ჩვენ დაბრუნდეს სკრიპტები. და ახლა მე უნდა ვნახოთ, ხმა. Oh, თამაში ხმის ouch. ასე რომ, თუ მე ეხება პირას, ნება მომეცით პირველი სპექტაკლი ouch და შემდეგ აქციოს გარშემო. და ახლა მოდით ვთქვათ მას შუა. [ამბობდა "ოუჩ"] ორჯერ უფრო სწრაფად. კარგი. მაგრამ ეს ფაქტიურად რასაც მე ვამბობ. ასე რომ, ეს არის, ფაქტობრივად, სწორი, ეს უბრალოდ ცოტა შემაშფოთებელი სწრაფად. ასე რომ, მოდით დაამატოთ რაიმე უფრო საინტერესო ამ. მიადევნე თვალი რეალურად ქმნის ერთი, რომ მე წინასწარ, მართებულად ეწოდება ცხოველებისათვის კატა, რომელიც აკეთებს ამას. აი სკრიპტი აქ. რა არის ეს აპირებს ამის ინგლისურ თვალსაზრისით? რა არის ეს განკუთვნილია უნდა გააკეთოს? ჰო, მოდით წავიდეთ, რაღაც yeah? აუდიტორია: როცა pet კატა, ეს meows. დავით Malan: ჰო, ასე რომ, როდესაც თქვენ pet კატა, ის აპირებს meow. სხვა სიტყვებით, არ არის სამუდამოდ მარყუჟის მაინც, კომბინირებული პირობა კომბინირებული ერთად ლოგიკური გამოხატვის, ერთად რამდენიმე ფუნქციები, ეფექტი რომელიც, კიდევ ერთხელ ითამაშოს ეს პროგრამა, არაფერია ხდება, სანამ მე გადატანა კურსორი უფრო და უფრო და უფრო ახლოს and-- [მიაუ] შემდეგ ის მსგავსად ნებივრობს კატა. [მიაუ] მხოლოდ ერთხელ თქვენ რეალურად გადატანა კურსორი მეტი მას. ახლა, მე ასევე წააქეზა არ pet კატა, რომელიც აკეთებს ამ ნაცვლად. [Meowing] ასე რომ, ის უბრალოდ მუდმივად meowing. [Meowing] მაგრამ თუ მე ძალიან close-- [Meowing] [Roar] ასე რომ, როგორ აკეთებს ამას მუშაობა? ახლა მაქვს ორი გზა გზის გასაყარი. თუ ეხება მაუსის მაჩვენებელი, მაშინ ითამაშოს ლომის ხმა. დანარჩენი უბრალოდ ითამაშოს meow ხმა, და მაშინ დაველოდოთ სამი წამი, ასე რომ რომ ეს არის სახის აკეთებს ეს ძალიან მშვიდად. კარგი. ასე რომ, რომელიც აერთიანებს რაღაც უფრო იდეები მაინც. მოდით შევხედოთ ამ მაგალითს მე whipped მოუწოდა თემა. და ეს ერთი არის ფუნდამენტურად განსხვავდება, რომ ის ბერკეტები თვისება ბევრი პროგრამირების ენა ე.წ. თემა, უნარი პროგრამა ფაქტიურად ორი რამ ერთდროულად. მართლაც, ამ დღეებში თუ თქვენ იყენებთ Google Docs და Microsoft Word, და თქვენი დოკუმენტი მუდმივად მიმდინარეობს მართლწერის-შემოწმდება კი, როგორც თქვენ type-- ან თქვენ მოხვდა Command-P ან საკონტროლო-P და ბეჭდვითი რაღაც, ის დაბეჭდვის, ხოლო თუ გააგრძელებთ აკრეფით. პროგრამები დღეს შეიძლება მართლაც არ მრავალჯერადი რამ ერთბაშად, ისევე როგორც Scratch აქ. ასე რომ, აქ, მაქვს ორი sprites ახლა, ფრინველის და კატა. და თუ მე დააჭირეთ თითოეული იმ პერსონაჟების ერთ დროს, მე ვერ ვხედავ ახლა ჩიტის სკრიპტები ზედა მარჯვენა. ახლა ვხედავ, კატა. ჩიტის, კატა. ასე რომ, თითოეულ მათგანს აქვს საკუთარი დამწერლობის. მაგრამ შეამჩნია, რა თავსატეხი ცალი ისინი ორივე დავიწყოთ? როდესაც მწვანე დროშა დააწკაპებთ. და ფრინველი, როდესაც მწვანე დროშის დაწკაპავთ. ასე რომ, როდესაც მე დააჭირეთ მწვანე დროშა, ორივე სკრიპტები ან პროგრამების ვაპირებთ აწარმოებს პარალელურად. და თქვენ შეამჩნევთ, რომ ფრინველის მხოლოდ mindlessly bouncing off ზღვარზე. კატა აშკარად უკვე დაპროგრამებულია სტრატეგიული უპირატესობა. And-- [Roar] კარგი. ასე რომ კატა დაჭერილი ფრინველის ამ შემთხვევაში. რატომ არის, რომ? ისე, შეამჩნია პირველი, ჩვენ უბრალოდ უნდა ფრინველის მხოლოდ mindlessly აპირებს ამ საწყის ადგილას, და შემდეგ სამუდამოდ, თუ არ ეხება კატა, უბრალოდ გადაადგილება. და თუ თქვენ ზღვარზე, ახსნას. და უბრალოდ გადაადგილება. და თუ თქვენ ზღვარზე, ახსნას. მაგრამ კატა, იმავდროულად, აქვს დამატებითი ლოგიკა რომელიც ამბობს, ამას, პირველ რიგში, უბრალოდ, ასე რომ რომ ეს არ არის სრულიად არაობიექტური წინააღმდეგ ფრინველი, შეამჩნია, რომ მე გამოიყენება მწვანე თავსატეხი ცალი რომ რეალურად იღებს შემთხვევითი. თვისება მრავალ ენაზე, რათა თქვენ შემთხვევითი ან pseudorandom ნომრები. ასე რომ, ამ შემთხვევაში, კატა თავდაპირველად ირჩევს შემთხვევითი რიცხვი, ისევე, 90 გრადუსი და 180 ხარისხი, არსებითად, ასე რომ, რომ იქ ცოტა ეწინააღმდეგება. და შემდეგ სამუდამოდ, თუ ეხება ფრინველი, ითამაშოს ლომის ხმა. წინააღმდეგ შემთხვევაში, უბრალოდ აღვნიშნო მიმართ ფრინველი. აღვნიშნო მიმართ ფრინველი. წერტილი მიმართ ფრინველი, რომელიც არის თავსატეხი ცალი თავზე ამ შემთხვევაში. ისე, ჩვენ შეგვიძლია გავაკეთოთ ერთი რამ აქ. ნება მომეცით გახსენით მოვლენების პროგრამა აქ. და აქ ჩვენ კვლავ გვაქვს ორი sprites, რომელიც ჰგავს ეს ორი მარიონეტები აქ. და რა არის საინტერესო აქ არის ამ. ფორთოხლის ბიჭი ამ კომპლექტი თავსატეხი ცალი აქ. Forever გავაკეთოთ შემდეგი თუ სივრცეში ბარი დაპრესილი, მაშინ ამბობენ, Marco და მაშინ ეთერში ღონისძიება. და იმავდროულად, ლურჯი ბიჭი აქ ამას, როდესაც თქვენ მიიღებთ იმ შემთხვევაში, ამბობენ Polo. ასე რომ, გამოდის, Scratch და სხვა ენებზე, არსებობს გზები ორ პროგრამები ან ორი სკრიპტები, ამ შემთხვევაში, to intercommunicate, რომ როცა მოხვდა სივრცეში ბარი, ამბობს Marco. და მეორე ესმის, რომ, ასე საუბარი და ამბობს Polo საპასუხოდ. ასე რომ თქვენ შეგიძლიათ წერენ პროგრამებს, რეალურად ურთიერთქმედება ამ გზით. და თუ ამ ერთი ნაცვლად, მე კი რჩეულებში ცვლადები, მხოლოდ გამოყენებით ერთი Sprite ამ შემთხვევაში. ეს ერთი განსაკუთრებით შემაშფოთებელი. [SEAL BARKING] ახლა შეამჩნია, მარჯვენა ჩვენ მივიღეთ ზოგიერთი დამატებითი ლოგიკა აქ. როგორ შემიძლია შეწყვიტოს ამ ბეჭედი ყეფა? [SEAL BARKING] როგორც ჩანს, მარჯვენა მხრივ მხარე არის ის, რაც სათამაშო ხმა. მაგრამ ეს მხოლოდ სათამაშო გასწავლოთ თუ რა არის ჭეშმარიტი? თუ ცვლადი orange ბლოკი მდუმარე არის ნულოვანი. როგორ შევცვალო მდუმარე იყოს 1, რაც იმას ნიშნავს, ჭეშმარიტი, ეს მდუმარე? როგორც ჩანს, სხვა სკრიპტი, შემიძლია მოხვდა სივრცეში ბარი, და ახლა იგი შეწყვეტს. ასე, რომ შეგვიძლია ამ intercommunication მთელს სკრიპტები, ისევე, მხოლოდ გაზიარების ცვლადი მასშტაბით ორი მოსწონს ეს. ახლა, ეს არ არის ყველა, რომ საინტერესოა. მოდით წავიდეთ წინ და ამის გაკეთება და აერთიანებს ბევრი ეს იდეები ამ პროგრამის აქ. სანამ ჩვენ გავაკეთოთ, რომ, მიუხედავად იმისა, როგორ დაახლოებით ერთი მოხალისე? ნება მომეცით მიიღოს წნევის off ჩემთვის, რადგან მე არ ითამაშოს ამ თამაშში. მოდით ვინმე ჩვენ არ მინახავს ადრე. თქვენ უნდა იყოს კომფორტული მოდის სცენაზე აქ, კამერა. OK, მოდის up. ძალიან გაბედული. რა გქვია? იდრის: Idris. დავით Malan: უკაცრავად? იდრის: Idris. დავით Malan: Idris, ლამაზი შეგხვდებით. მოდის up. და ახლა, საკუთარი მობილური ტელეფონი, თქვენ ითამაშოს Pokemon GO? იდრის: No. დავით Malan: მართლა? იდრის: ჰო. დავით Malan: OK. კარგი. ისე, კარგია თქვენთან შეხვედრა. კარგით დასრულდა. მე არ ჰქონია. ასე რომ, ჩვენ გაერკვნენ, თუ როგორ უნდა ითამაშოს ამ, რომელიც ვინმე რეალურად წავიდა და განხორციელებული Scratch შეცვლით cat არსებითად სხვადასხვა სიმბოლოების ყველა ერთად. და თუ მე Fullscreen ეს აქ, ჩვენ ვაპირებთ რომ შემდეგ თამაში ერთად. ჯერ კიდევ იტვირთება, ჯერ კიდევ იტვირთება. მოდი. ნება მომეცით ამის გაკეთება. მოდი. ეს თამაში არის იმდენად დიდი, რომ დაეჯახა. ლოდინის. სცადეთ ამ ერთხელ. მოდი. კარგი. იქ ჩვენ წავიდეთ. კარგი. მწვანე დროშა. ასე რომ, აქ ჩვენ მივდივართ. [მუსიკის დაკვრა] არჩევა შუა დონეზე აქ. დააჭირეთ ლურჯი ბიჭი არსებობს. კარგი. თქვენ შეგიძლიათ გამოიყენოთ arrow keys-- up, down, მარცხნივ, მარჯვნივ. ახლა, მოდით განიხილავს, როგორც ჩვენ ამას და მერე შემდეგ ხასიათის იყო. Yep. და ახლა დააწკაპუნეთ მას მაუსის. Oh, yeah. გადატანა. სად არის ისარი? აქ თქვენ წავიდეთ. ასე რომ, დააწკაპუნეთ აქ. ჰო. კარგი. ასე რომ, ახლა მე განუცხადა თქვენ გაქვთ Poke ბურთი, იმ შემთხვევაში, თუ დააჭირეთ მას, ყველაფერს გააკეთებს, რომ. ძალიან კარგი. პრაქტიკოსი დღეს, მე ი ამ ვერსია თამაშში ფაქტობრივად, არ არის ძალიან რთული. ასე რომ, თუ გსურთ წასვლა კიდევ ერთხელ, ფეხით ქვემოთ ამ Poke დაადასტურა. და მერე მიიღოს უფლება. სცადეთ დაწკაპვით იგი. Oh, რეალურად, რომ მაღაზიაში, როგორც ჩანს. OK ისე ახლოს, რომ. არასოდეს კეთდება, რომ ადრე. იქნებ ახვიდეთ ეს რამ აქ. Oh, რომ თქვენ გადასვლა. დაველოდოთ, იქ ერთი იქ. Oh, არსებობს კიდევ ერთი. კარგი. Down. ჰო, დააჭირეთ. OK, რომ ძალიან მიმზიდველი. OK, ძალიან კარგად გაკეთდეს. ეს თამაში არ არის ძალიან რთული. კარგი. გილოცავთ. აქ, ჩვენ გვაქვს CS50 სტრესი ბურთი თქვენთვის. მაგრამ მიგვაჩნია, რომ მხოლოდ ერთი წუთით, რა ზოგიერთი takeaways არსებობს. უფრო ადვილია, ვიდრე რეალური თამაში, როგორც ჩანს. მაგრამ ყველა ჩვენ არ ვაპირებთ აქ არის ხასიათი რომ ალბათ რაღაც სახის მარყუჟის მასთან. ეს არ არის კატა. ეს არის ამ ხასიათის ნაცვლად. და რომ loop მხოლოდ მუდმივად ამბობდა, თუ ისარი დაჭერის, თუ ქვემოთ arrow დაპრესილი, თუ მარცხენა arrow დაპრესილი ან მარჯვნივ arrow დაპრესილი, გადატანა up ან ქვემოთ და მარცხნივ ან მარჯვნივ. ან თუ არსებობს კიდევ ერთი თავსატეხი ცალი რომელიც ამბობს, რომ როდესაც ეხება სხვა Sprite, როდესაც ეხება ერთი პერსონაჟი რომ Poke ბურთი, თუ ეხება, მაშინ ამის გაკეთება. ასე რომ, ყველა იდეები ჩვენ გამოყენებით დღემდე ნამდვილად შეიძლება მხოლოდ იყოს გამოყენებული ამ კონკრეტულ კონტექსტში უნდა ითამაშოს ამ თამაშში, ისევე. ნება მომეცით წავიდეთ წინ და გაიყვანოს ერთი სხვა აქ, ფაქტობრივად. ნება მომეცით წავიდეთ წინ და გაიყვანოს up, ვთქვათ, ამ. ეს არის რაღაც ჩვენ გაარემიქსა. დამზადებულია ჩვენი ერთ-ერთი სტუდენტები კემბრიჯში, და მერე გაიარა და შეიცვალა საკმაოდ ბევრი ყველა ინსტანციის ჰარვარდის იელის ამ დროს. რომ ვინმე მინდა კონკურენციას წინააღმდეგ Ivies აქ სხვა დაგროვების ყველა იდეები? კარგით ქვემოთ, დიახ. რა გქვია? DINA: Dina. დავით Malan: Adina? DINA: Dina. დავით Malan: დინა, მოდის ქვემოთ. ყველა უფლება, დინა. ასე რომ, ეს თამაში იღებს რთული და უფრო იმიტომ, რომ ამ თამაშში, იქ ცვლადები გამოიყენება აგრეთვე რომელიც მუდმივად შენახვა სიმღერა რა დონეზე ხართ თამაშში. ასე რომ, კარგია თქვენთან შეხვედრა. მოდის გარშემო აქ. ასე რომ, მიზანი აქ არის დასალაგებლად of გააკეთეთ თქვენი გზა მეშვეობით maze რომ ეს სტუდენტი განხორციელდა. და მხოლოდ მითითებული ეტაპზე, თითოეული ეს სურათები ეკრანზე არის საკუთარი Sprite, საკუთარი ხასიათი. ასე რომ, ეს იყო ძირითადად კატა, მაგრამ სტუდენტი შეიცვალა, მათ სხვადასხვა Ivies logos აქ. და მაშინ დაინახავთ, რომ მხოლოდ გამოყენებით პირობები და მარყუჟების ფუნქციები და მეტი, თქვენ ამ. [მუსიკის დაკვრა] [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] ჰო, OK. ჰო, შენარჩუნებას აპირებს. პირველი დონე ძალიან მარტივია. თქვენ უბრალოდ უნდა წავიდეს იქ. თუმცა ისევ და ისევ, მიიჩნევს, რომ ეს არის მხოლოდ loop უსმენს arrow keys-- up, down, მარცხნივ, მარჯვნივ. და ახლა იგრძნო ბლოკი. ძალიან კარგი. [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] ძალიან კარგი. [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] ძალიან კარგი. საკმაოდ მარტივია, Crimson. კარგი. Levels-- uh-oh. [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] ისევ და ისევ, ამ სამი ჰარვარდის crests, თქვენ უბრალოდ უნდა ლოგიკა ამბობდა, თუ ნერვიულობს, bounce. [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] OK, თუ რას ვაკეთებთ უფრო საინტერესოა, ვიდრე რატომ. ძალიან კარგი. ძალიან კარგი. უი. [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] მე ვფიქრობ, რომ თქვენ უნდა აიღონ საკუთარ თავს. [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] სწრაფი? [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] Nice. არაუშავს. თქვენ მიიღებთ მას. დიახ დიახ! ძალიან კარგი. [Cheering] [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] ლამაზი! [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] გავიგე. მოდი! მეორე ბოლო დონეზე. [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] კარგი. [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] დიახ. კარგი გამოყენება ცვლადები აქ. [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] დიახ. [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] Nice. [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] ყველაფერი კარგადაა. ჩვენ უნდა მიიღოს ბოლომდე. არსებობს. Oh! [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] შეიძლება აწარმოებს გვიან, მაგრამ ეს კარგად იქნება ღირს. [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] შენ შეგიძლია ამის გაკეთება! Yeah! [Cheering] [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] ეს ერთი ნამდვილად რთულია. [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] ჩვენ მოგცემთ კიდევ ორი ​​სიცოცხლე. შეგიძლიათ ამის გაკეთება? [მუსიკა - MC Hammer, "U ვერ შეეხოთ  ამ "] კარგი. როგორ შესახებ დიდი მრგვალი ტაში მაინც. თქვენ მიიღო მეორე ბოლო დონეზე. გმადლობთ. [ტაში] ასე რომ, ეს მხოლოდ იმის თქმა, თუ რამდენად შეუძლია გააკეთოს ასეთი რამ. და გააცნობიეროს, ძალიან, რომ როდესაც თავსატეხი ცალი არ exist-- და მართლაც, ეს იქნება ერთ-ერთი უფლებამოსილების პირველი პრობლემა კომპლექტი და beyond-- არის რეალურად შექმნათ თქვენი საკუთარი. და ეს არის მხოლოდ snippet ერთ-ერთი მაგალითები თქვენ გექნებათ ითამაშოს ონლაინ, სადაც თუ თქვენ არ ჩაშენებული Scratch რაღაც ხველა თავსატეხი ცალი, თქვენ შეგიძლიათ რეალურად იგი საკუთარ თავს. ასე რომ, ყველა ამ და სხვა გელით. და მხოლოდ ხატავს საბოლოო სურათი მართლაც რა არის წინ მაღაზიის კლასი თქვენთვის, საფუძველზე ზოგიერთი სურათები თანაკლასელები წარსულში, ნება მიბოძეთ dim განათება ერთი ბოლო დროს და გაჩვენებთ CS50. [მუსიკის დაკვრა] კარგი. სწორედ ეს CS50. ტორტი არის მსახურობდა. [მუსიკის დაკვრა]