დავით Malan: კეთილი იყოს, ყველას. ასე რომ, გუშინ, თქვენ გავიხსენოთ, რომ ჩვენ ორიენტირებული ამ თემებზე აქ. ასე რომ, ჩვენ ოთხი ძირითადი topics-- კონფიდენციალურობის, უსაფრთხოებისა და საზოგადოებაში; ინტერნეტ ტექნოლოგიები; cloud computing; და საბოლოო ჯამში, ვებ განვითარება. ხომ არავის აქვს სიჩქარის ან დრო უყურებს პატარა იოანე Oliver ღამით? ეს რეალურად საკმაოდ სახალისო, თუ არა, ცოტა საშიში. ნებისმიერი კითხვები არაფერი ჩვენ გუშინ? განმარტებების? ნებისმიერი კითხვა, რომელიც თქვენ გინდათ დარწმუნებული ვარ, ჩვენ შევეხო დღეს გარკვეული ფორმით? ასე რომ სუფთა ფურცლიდან. ასე რომ, რა არის დღის წესრიგში დღეს? ასე მეგონა, ჩვენ მინდა იწყება შევხედოთ, თუ რა არის ზოგადად ცნობილია, როგორც კომპიუტერული thinking-- at რისკი oversimplifying, ფიქრი როგორიცაა კომპიუტერი, ალბათ ფიქრობს, როგორიცაა, ინჟინერი, და ცდილობს დაიწყოს ორგანიზება თქვენი აზრები და გადმოგცეთ უკეთესი გრძნობა რა ჩართული რეალურად კომანდორ კომპიუტერი, რომ რამე გზით პროგრამირების. და ჩვენ გავაგრძელებთ დროს საკმაოდ მაღალი დონის, საკმაოდ ბევრი ინგლისური, მაგრამ ეცდება გამოიყენოს ნაცნობი მაგალითები ოფიციალურად როგორ თქვენ წავიდოდა შესახებ პრობლემების გადაჭრაში. და ჩვენ დაუბრუნდეთ ზოგიერთი CS თემები, როგორიცაა აბსტრაქცია, რომელიც გამოვიდა რამდენიმე ჯერ გუშინ, ალგორითმები და შემდეგ წარმომადგენლობა. და რომ სადაც ჩვენ დავიწყებთ დღეს მხოლოდ ერთი წუთით. მაშინ ჩვენ შევხედოთ პროგრამირების. ჩვენ შევხედოთ ზოგიერთი ფუნდამენტური აშენებს რომელიც თქვენ შეიძლება იცნობს და შესაძლოა საკმაოდ ინტუიციური. ჩვენ შევხედოთ, ფაქტობრივად, დროს ნიმუში პროგრამირების გარემოს შესახებ, რომელიც ძალიან ხელმისაწვდომი, ძალიან playful, და მართლაც მიზნობრივი ასაკის 12 და ზემოთ. ჩვენ გაატაროთ რამდენიმე წუთში და მერე რამ ქვედა დონეზე და რეალურად ვისაუბროთ ზოგიერთი ალგორითმები და მონაცემთა სტრუქტურები, ასე ვთქვათ, რომ პროგრამისტები, როგორც წესი იყენებენ პრობლემების მოსაგვარებლად გაცილებით უფრო ეფექტურად, ვიდრე თქვენ შეიძლება შეძლებს მათ გარეშე საერთოდ. შემდეგ სადილის შემდეგ, ჩვენ შევხედოთ at ტექნოლოგია stacks, რომელიც მხოლოდ მიეცით გზა ამბობდა კოლექციების ტექნოლოგიები რომ თქვენ შეიძლება გამოიყენოთ გადაწყვიტოს ზოგიერთი პრობლემა. და ჩვენ ვსაუბრობთ ანბანი წვნიანი ენებზე, რომ არსებობს today-- Java და Python და C ++, PHP Ruby და ყველა სახის სხვა რამ. ჩვენ შევხედოთ მოკლედ დიზაინი ნიმუშები. პროგრამისტები, დროთა განმავლობაში, აქვს მიღებული მეთოდოლოგია რომელიც, როგორც წესი, რათა დაეხმაროს მათ პრობლემების უფრო ადვილად. როცა დაიწყება, საკუთარ თავს წერა იგივე სახის კოდი ისევ და ისევ, ადამიანი გააფორმოს იმ გამეორებას და იზიარებს სახელები მათ და შემდეგ მათი გამოყენება და ხელი შეუწყოს მათ, საბოლოო ჯამში. და ჩვენ გაიგო ცოტა შესახებ მობილური სტრატეგია, მსგავსი იმისა, რაც ნიშნავს, რომ რეალურად მიიღოს პორტალის app ან მობილური ვებგვერდზე. ნუ ამას Android? ნუ ამას iOS? ამის გაკეთება, როგორც იმ? და რა არის ვაჭრობის ღ? და ბოლოს, ჩვენ მიიღოს სახეს ვებ პროგრამირების, რომელიც არის კოლექტიური ვადა მართლაც, სადაც აღწერილია ნებისმიერ დროს წერთ პროგრამული უზრუნველყოფა, რომ იგულისხმება გასაშვებად ინტერნეტში, თუ არა ტელეფონების ან კომპიუტერები და ლაპტოპები. ჩვენ მიიღოს მოკლე შევხედოთ მონაცემთა ბაზები და დიზაინი მასში, თუ მხოლოდ იმიტომ, თითქმის ნებისმიერი საინტერესო ვებ დაფუძნებული პროგრამა ამ დღეებში აქვს გარკვეული მონაცემთა ბაზაში. წინააღმდეგ შემთხვევაში, უბრალოდ იყოს სტატიკური შიგთავსი. და მონაცემთა ბაზის საშუალებას გაძლევთ, რათა ცვლილებები დროთა განმავლობაში, თუ არა საკუთარ თავს და მომხმარებლებს. და ჩვენ განვიხილავთ, თუ როგორ წავიდოდა შესახებ შექმნასა რომ მონაცემთა ბაზაში და სახის jargon რომელიც შესაძლოა ამუშავება ინჟინერი დისკუსია თეთრ დაფაზე როდესაც რეალურად ახორციელებს ოთახი პირველად. ჩვენ გაიგო მოკლედ შესახებ APIs, სასარგებლო მომსახურების რომელიც შეგიძლიათ გამოიყენოთ, რათა დადგეს shoulders სხვები, თუ არა კომპანიები ან პირებს, და გადაჭრით საკუთარი პრობლემების უფრო სწრაფად. და მაშინ ჩვენ შეხება ალბათ ცოტა JavaScript, პროგრამირების ენა, რომელიც გამოიყენება როგორც ბრაუზერები ამ დღეებში, არამედ სერვერები. და ალბათ, ჩვენ დავუბრუნდეთ, დრო ნებართვების, ზოგიერთი პრაქტიკული ვებ პერსონალი გუშინ და ინტეგრირება ორ ერთად სანამ ჩვენ adjourn. ასე რომ, that-- რა არის ahead-- არის რამე აკლია, რომ თქვენ მინდა, რომ დარწმუნებული ვარ, ჩვენ ჩადეთ და შევეხო გარკვეულ ეტაპზე. თუ ეს წყლები იბადება, მოუტანს ეს ადრე ხანგრძლივი. მაგრამ, რატომ არ უნდა დაიწყოს შევხედოთ კომპიუტერული აზროვნება. და ნება მომეცით შესთავაზოს, რომ კომპიუტერული აზროვნება, კიდევ ერთხელ, სახის მაღალი დონის აღწერა რა კომპიუტერული მეცნიერი შეიძლება გავაკეთოთ. და მართლაც, მოდით დავიწყოთ სამი ინგრედიენტებს, რომ შესაძლოა წასვლას კომპიუტერული აზროვნება. ეს არის მხოლოდ ერთი გზა აღწერს იგი. ჩვენ ნამდვილად განსაზღვრავს ეს ნებისმიერი რაოდენობის გზები. მაგრამ ნება მიბოძეთ ინიციატივით, გულისთვის დღეს, რომ მსოფლიოს პრობლემები, ყველა მსოფლიოს პრობლემები, როდესაც მიუახლოვდა მიერ კომპიუტერული მეცნიერი იქნებოდა განიხილება, როგორც ის, რაც ჩვენ დარეკეთ საშუალებებით, რომლებიც უნდა მიიღოს ყელში შევიდა, რაც ჩვენ მოვუწოდებთ ალგორითმები, რომელიც შემდეგ გამოიღო შედეგები. სხვა სიტყვებით, მთელი მსოფლიო პრობლემების გადაჭრის მე პრეტენზია შეიძლება გამოხდილი ამ სამი ინგრედიენტები. ასე რომ, რას ვგულისხმობ საშუალებებით? პორტები მხოლოდ ის, რაც თქვენ გადასცა გადაჭრის მიზნით. მაგალითად, აქ არის ძველი სკოლა პრობლემა. თუ მე მაქვს სატელეფონო წიგნი აქ და მინდა გამოიყურება რაღაც ის, ეს არის ჩემი შეყვანა. მე მაქვს 1000 და ასე გვერდების სატელეფონო წიგნი. ეს არის input ჩემი პრობლემა. და მე მინდა, რომ იპოვოს რაღაც როგორც მაიკ სმიტი, ასე მეგობარს რომლის სახელი და ნომერი იმედია ამ მისამართი წიგნი. ეს არის ადრე დღის განმავლობაში საკანში ტელეფონები, ასე რომ მე არ შემიძლია უბრალოდ მოძებნოთ იგი. ასე რომ, მე უნდა გავაკეთოთ ძველი სკოლა და რეალურად ძიება ამ საშუალებებით გარკვეული პასუხი. და რომ პასუხი უბრალოდ აპირებს ეწოდოს გამომავალი. ასე რომ შეყვანის სატელეფონო წიგნი. ალგორითმი არის რასაც კომპლექტი ნაბიჯები მე გამოიყენოთ მოძიების მაიკ სმიტი. და გამომავალი არის, იმედია, მაიკ სმიტი ტელეფონის ნომერი. და ეს მაშინ იქნება მხოლოდ წარმომადგენელი ყველაზე არანაირი პრობლემა თქვენთან ერთად ვართ გადასცა საშუალებებით და მინდა, რომ შედეგები. ასე რომ, სანამ ჩვენ მიგვაჩნია, რომ პროცესი რომლითაც ჩვენ შეგვიძლია ამ პრობლემის გადაწყვეტა, მოძიებაში მაიკ სმიტი და რაღაც მაგდაგვარი, განვიხილოთ პირველი და last-- საშუალებებით და შედეგები. ფიზიკურად, რა თქმა უნდა, შეყვანის აქ არის მთელი bunch of ქაღალდი გაერთიანებულია სახით სატელეფონო წიგნი. მაგრამ კომპიუტერი, საქართველოს course-- ლაპტოპები და კომპიუტერები და კიდევ ტელეფონები ამ დღეებში, ეს არის ელექტრონული მოწყობილობა. და ბოლოს, დღეს, რა არის ერთადერთი შეტანის კომპიუტერი? ისე, ეს რაღაც ამ დენის კაბელი აქ. მე შეაერთედ შევიდა კედლის და მივიღებ ნაკადი ელექტრონები, რომელიც საშუალებას იძლევა ჩემთვის აწარმოებს მანქანა. ან იქნებ იმ ელექტრონები განთავსებულია გზით ჩემი ბატარეა. თუმცა, დღის ბოლოს, რომ ერთადერთი, რაც მიდის ჩემი ლეპტოპი. და იმდენად საინტერესო პერსონალის არის საბოლოო გამოდის, თუ არა გზით პრინტერი და ეკრანზე ან audially ან მოსწონს. ასე რომ, თუ ყველა ჩვენ, როგორც ჩვენი ძირითადი შეყვანის კომპიუტერი ელექტროენერგიის, ისე უბრალოდ ელექტრონები მიმდინარეობს და ან გარეთ, და ასე როგორ შეგვიძლია გამოვიყენოთ, რომ შეყვანის რეალურად წარმოადგენს ინფორმაციას? სხვა სიტყვებით, როგორ უნდა მიიღოს მარტივი ნაკადი ელექტროენერგიის რომ წარმოადგენს ფაქტობრივი ნომრები ან ფაქტობრივი წერილები ან ფაქტობრივი გამოსახულებები ეკრანზე ან ფაქტობრივი ფილმები ან ელექტრონული ფოსტის ან ნებისმიერი რაოდენობის ამ უმაღლესი დონის ცნებები, თუ თქვენ, რომ დღის ბოლოს რატომღაც არ უნდა ინახებოდეს ამ ელექტრონული მექანიკური მოწყობილობა გამოყენებით მხოლოდ იმ მარტივი ingredients-- ელექტრონები მოდის და გარეთ? ასე რომ, როგორც ჩანს, რომ, უმარტივესი ფორმა, მხოლოდ სახის შტატები მაქვს ჩემი მსოფლიოში, ასე რომ ვთქვათ პირობები ჩემი world-- ან მაქვს ელექტრონები მიედინება, ელექტროენერგიის მიედინება, და მე ამის not-- ასე შემდეგ, off. და მოდით ფორმალიზება და off, როგორც კომპიუტერის მეცნიერი, შესაძლოა, მხოლოდ 1 და 0. მოდით, უბრალოდ ზოგიერთი თვითნებური მაგრამ თანმიმდევრული ნომერი. 1 ნიშნავს, 0 ნიშნავს off. ან თქვენ შესაძლოა, ასევე ამ როგორც ნამდვილი საშუალებით და ცრუ საშუალებებით. თქვენ შეიძლება ასევე შავი და თეთრი ან წითელი და ლურჯი. თქვენ უბრალოდ უნდა ორი აღწერებს. და კომპიუტერი მეცნიერები, ზოგადად უბრალოდ გამოიყენოთ 0 და 1. ასე რომ, თუ ეს საქმე, ჩემი ერთადერთი ანბანი ეს შედგება 0 და 1 ს, თუ როგორ შეიძლება მე შესაძლოა მიიღოს თუნდაც ნომერი 2 კომპიუტერი, რომ აღარაფერი ვთქვათ ნომერი 3 ან წერილი ანბანი ან სურათი ან ფილმის? როგორ ჩვენ ერთგვარი ჩატვირთვის თავი ამ ძირითად პრინციპს, 0 და 1 ს და რეალურად წარმოადგენს რაღაც უფრო საინტერესო? ისე, მოდით ვთქვათ, რომ კითხვა სამფლობელო მხოლოდ ერთი წუთით და განიხილოს ის, იმედია იცნობს, მაშინაც კი, თუ თქვენ ნამდვილად არ მიფიქრია ის ნებისმიერ დეტალს, 10, 20, 30, 40, 50 მეტი წლის განმავლობაში. ეს არის ის, რაც? როგორ ფიქრობთ, შეხედულებებსა რომ? არ შეასრულა კითხვაზე. ნომერი, მაგრამ რა არის ეს? 1, 2, 3 ან 123. და მომეწონა, თუ როგორ განაცხადა 1, 2, 3, იმიტომ, რომ ის ერთ-ერთი გზა ათვალიერებენ მას. 1, 2, 3, ეს თანმიმდევრობა სამი სიმბოლოს. ეს სურათები რომ ჩვენ ახლა სიტყვა. და თუ ერთგვარი წაიკითხა მათ ყველა ერთად, ტიპიური ადამიანის ინგლისური ვიტყოდი, 123. და რომ ერთგვარი მაღალ დონეზე კონცეფცია, იგრძნობა გონივრულად დიდი რაოდენობით. მაგრამ როგორ მივაღწიოთ ამას? ისე, ეს შეიძლება იყოს, ხოლო მას შემდეგ, რაც თქვენ ფიქრობდა იგი, როგორც ეს, მაგრამ უკან ჩემს, მე სახის ისწავლა ამ როგორც 1 სვეტი, 10 ს სვეტი, და 100 სვეტი. ასე რომ, როგორც Lakisa ამბობს, რომ ეს არის 1, 2, 3, მაგრამ ეს ასევე არის 123. მაგრამ როგორ უნდა მიიღონ ყოფილი უკანასკნელს? ისე, თქვენ, როგორც წესი, ამის გაკეთება 100 სვეტი, მე მაქვს 1. ასე რომ, როგორც ამბობდა 100-ჯერ 1. და შემდეგ 10 სვეტი, მაქვს 2. ასე რომ, როგორც ამბობდა 10-ჯერ 2. იმ 1 სვეტი, მე მაქვს 3. ასე რომ, როგორც ამბობდა 1-ჯერ 3. და თუ მე დაამატოთ ეს ერთად, ეს, რა თქმა უნდა, 100 პლუს 10 + 3. და რა, ამიტომ მე ამ უმაღლესი დონის ცნება 123. ეს არის მხოლოდ ძირითადი მათემატიკის, რომლის დროსაც ამ სიმბოლოები წონით, თუ თქვენ იქნება, ჩანაცვლების ან სვეტი ღირებულებები. და კიდევ მე გავამრავლოთ ყველაფერს out, მივიღებ ამ ნომერზე. ასე რომ, რამდენი თქვენ იცით, თუ როგორ უნდა ისაუბროს ორობითი 0 და 1's-- როგორიცაა კომპიუტერი? OK, სრულყოფილი, არავინ, ან არცერთი ფიქრობთ. მაგრამ მე ამტკიცებენ, ნამდვილად ვიცი, ეს უკვე. ჩვენ უბრალოდ უნდა ერთგვარი tweak ჩვენი გონებრივი მოდელი ცოტა. მაგრამ პროცესი ზუსტად იგივე. ნება მომეცით ამ ერთი იქ და ნაცვლად გაიყვანოს ქვემოთ ერთი წუთით. მსოფლიოში კომპიუტერების, ჩვენ მხოლოდ 0 და 1 ს. ასე რომ, რაც არის აპირებს შეცვალოს რა არის? ისე, ჩემი ადამიანური მსოფლიოში, ათობითი სისტემა, dec მნიშვნელობა 10, მაქვს რამდენი ციფრები ჩემი განკარგულებაში? 10, არა? 0 მეშვეობით 9, რა თქმა უნდა. ამიტომაც არის, რომ ჩვენ გვაქვს 10 ადგილი და 100 ადგილი. სად არის რომ მოდის? ისე, ეს არის 10 ძალა 0. ეს არის 10 ძალა 1, 10 ძალა 2, და სხვ. თქვენ უბრალოდ შეინახოს გამრავლებით თქვენი სვეტები 10, დაწყებული off მხოლოდ 1 წელს rightmost აქ. ასე რომ, მსოფლიოში კომპიუტერები, თუ თქვენ მხოლოდ აქვს ორობითი bi მნიშვნელობა 2- ან 0 და 1 ს, ჩვენ უბრალოდ ნამდვილად უნდა შეიცვალოს ბაზაზე, რომელიც მათემატიკის. ასე რომ, სხვა სიტყვებით, ახლა ჩვენ უბრალოდ აქვს 1 სვეტი და the-- სად არის ეს going-- 2 სვეტი, 4 სვეტი, და შესაძლოა, მის ფარგლებს გარეთ. რატომ არის, რომ? ისე, ეს არის 2 0-ე ძალა. ეს არის 2 1. ეს არის 2 2, და ასე შემდეგ. ასე რომ, მაშინ აქ, ჩვენ გვაქვს 1, 10-ის, 100-ის, 1000-ის 10,000-ს, 100,000 ის, 1 მილიონობით, და ასე შემდეგ, აქ ჩვენ გვყავს 1, 2, 4, 8, 16, 32, 64. თქვენ უბრალოდ შეინახოს მრავლდება 2, ნაცვლად შევინარჩუნოთ გამრავლებით 10. ახლა, თუ მიზანი მხრივ, წარმოადგენს ნომრები გამოყენებით მხოლოდ 0 და 1 ს, მოდით განვიხილოთ, როგორ შეგვიძლია იქ. ეს, რა თქმა უნდა, არის ნიმუში 0 0 0, მაგრამ რა რაოდენობის კონცეპტუალურად იგი წარმოადგენს? ისე, 4-ჯერ 0 პლუს 2-ჯერ 0 plus 1-ჯერ 0, მოდით დაამატოთ იმ ერთად. 4-ჯერ 0 არის, რა თქმა უნდა, 0, პლუს 2 ჯერ 0 არის, რა თქმა უნდა, 0 + 1-ჯერ 0 არის, რა თქმა უნდა, 0. ასე რომ, ah, ეს წარმოადგენს ნომერი ჩვენ ადამიანები იცით, როგორც 0. ისე, ახლა, მოდით, ძალიან სწრაფად სწრაფი ნაბიჯია. თუ მე ნაცვლად არ წარმოადგენს 0 0 0, მაგრამ მოდით 1 0 1, რომ შეიძლება იყოს, თუ როგორ Lakisa, ადრე, უბრალოდ, შეხედულებებსა 1 0 1. მაგრამ ახლა, როგორ უნდა მიიღოს იგი ზემდგომ დონისრაოდენობის ჩვენ ადამიანები შეიძლება იცით? ასე რომ, რა არის ეს რიცხვი? ეს 5, ნომერი ვიცით, 5. ისე, რატომ არის, რომ? ასევე, ჩვენ ნამდვილად ერთგვარი გავლა მეთოდურად 4-ჯერ 1, 2-ჯერ 0, 1-ჯერ 1. დაამატეთ ერთად, ასე რომ ეს არის 4 + 0 + 1. და ეს, მართლაც, 5. ასე რომ, ის მიღების ცოტა tedious ახლა აკეთებს არითმეტიკული ისევ და ისევ. მაგრამ პროცესი ზუსტად იგივე. ერთადერთი, რაც აქვს შეიცვალა ჩვენი სამყარო ის არის, რომ ჩვენი სვეტების 1, 2, 4, 8, 16, და ა.შ., ნაცვლად 1, 10, 100, 1,000. და ეს მხოლოდ იმიტომ, რომ ჩვენი ანბანი აქვს მცირდება 0 მეშვეობით 9 უბრალოდ 0 1. ასე რომ, როგორც პატარა ვიქტორინა აქ, როგორ თქვენ წარმოადგენს რაოდენობა 7 ორობითი? 0? ისე, 0, თქვენ გულისხმობთ 0 0 0 | ამას კიდევ ერთხელ, კარინა. სრულყოფილი. რატომ არის, რომ? ის ეფექტურად 4 პლუს 2 პლუს 1. ისეთი კარგია. როგორ წარმოვადგენთ პატარა another-- როგორ შესახებ 2? ახლოს, მაგრამ უკან. ასე რომ, რა არის ეს? 4 + 1, ასე რომ 5 ერთხელ. ასე რომ, what's-- მე ვწუხვარ, Karina? 0 1 0. 0 1 0 იქნება 2, იმიტომ, რომ კიდევ ერთხელ, თუნდაც თუ ეს ერთგვარი არ გადმოხტა თქვენ, მხოლოდ მათემატიკის. 4-ჯერ 0, 0, 2-ჯერ 1, 2, 1-ჯერ 0 0. ასე რომ, ეს არის ნომერ ჩვენ ვიცით, როგორც 2. როგორ შესახებ 8? Hm? კარგი. ასე რომ, ჩვენ სახის გვჭირდება კიდევ ერთი placeholder. ჩვენ გვჭირდება 1 0 0 0. და ეს მართლაც ასეა ჩვენიანები ძველი სკოლა ათობითი სისტემა. როგორ ფიქრობთ, წარმოადგენს რაოდენობა 1000? ისე, თქვენ, როგორც ჩანს, სახის მკაცრი ადგილზე, თუ გთხოვოთ, რომ წარმოადგენს რაოდენობა 1000 იმიტომ, რომ მაშინაც კი, თუ თქვენ თავს, როგორც 9 ამ, 9 ამ, 0 ამ, რომელიც არის ყველაზე დიდი ნომერი გაქვთ, თქვენ არ საკმაოდ მისაღებად 1,000. ასე რომ, თუ 1000, თქვენ უბრალოდ უნდა სხვა პოზიცია, ასე რომ შეგიძლიათ გააკეთოთ 1 0 0 0, ergo რაოდენობა 1000. ასე რომ, ახლა, მოდით რუკა ეს ერთგვარი კონცეპტუალური განხილვა უკან ტექნიკა, სადაც კიდევ ერთხელ, შეყვანილი იყო მხოლოდ ამ პატარა დენის კაბელი, ელექტროენერგიის მოდის და მიედინება. და ასე რომ უნდა დატანილი აქ არსებობს, ასევე, რა ჩვენ ნამდვილად გვჭირდება? ასევე, შეგიძლიათ წარმოიდგინოთ, რომ შიგნით კომპიუტერში, მთელი bunch of ნათურებით, თუ გნებავთ. ისინი მართლაც მოუწოდა ტრანზისტორი. და ტრანზისტორების უბრალოდ ცვლის რომელიც შეიძლება იყოს ან გამოსართავად. ასე, რომ თქვენ შეიძლება ვიფიქროთ, ტრანზისტორი რომ ის შესახებ რომელიც საშუალებას ელექტროენერგია შემოვა და ტრანზისტორი, რომ off როგორც შეჩერების ელექტროენერგიის მიედინება. და ვიდრე მიიღოს მეტი განათება აქ, რატომ არ მე ეს ერთგვარი ახალი სკოლის სტილის. ასე რომ, ეს შეიძლება იყოს 1, ფანარი მიმდინარეობს, მხოლოდ ოდნავ, თუმცა. და ეს შეიძლება იყოს 0, და ახლა ეს off. ასე გამოყენებისას ფიზიკური მოწყობილობა, მე შეიძლება ახლა წარმოადგენს ორობითი სისტემა. მე უბრალოდ უნდა ორ ქვეყანას. არ აქვს მნიშვნელობა, რა ფერი, ეს არის ან რა არის. ყველა თემა, რომ მე ერთი სახელმწიფოს და სხვა სახელმწიფოს off. ასე გამოყენებით ჩემი ტელეფონი აქ, როგორ უნდა წარმოადგენს რაოდენობა ჩვენ ვიცით, როგორც 0? ან დააყენა equivalently, რა ნომერი ვარ წარმოადგენს ახლა? 0, რადგან მოწყობილობა off. და თუ ამის გაკეთება? და ახლა, როგორ შემიძლია წარმოადგენს 2? შემიძლია სესხის თქვენი ტელეფონი აქ, როგორც ჩვენ გავაკეთეთ გუშინ? მოდით ვნახოთ, თუ მინდა წარმოადგენენ ნომერი 2, ეს რიცხვი 2? No. რა რაოდენობის ვარ შემთხვევით წარმოადგენს აქ? ეს არის რეალურად ნომერი 3. ასე რომ, რომელიც ერთი არ მინდა გამორთვა? შავი ტელეფონი or-- კარგად, თუ they're-- შავი ტელეფონით ან თეთრი ტელეფონი? თეთრი ტელეფონში. ასე რომ, თუ მე, რომ ეს და ჩვენ ხაზის it up მეტი აქ, ჩვენ გვაქვს 1 წელს 2 ადგილი და 0 in 1 ადგილი. ასე რომ, მე ახლა წარმოადგენს ნომერი 2. და ეს, რა თქმა უნდა, იქნება ნომერი 3, რადგან ახლა ორივე განათება არიან. და მე შეწყვიტოს აქ, მაგრამ ეს ლოგიკურია, თუ მინდა წარმოადგენს ნომერი 4 ან 8 ან უფრო მაღალი, მე ვაპირებ უნდა ტელეფონები. მაგრამ ეს ყველაფერი, რომ ხდება. ასე რომ, თუ თქვენ ოდესმე მსმენია, რომ შიგნით a-- მადლობა you-- კომპიუტერული მილიონობით ტრანზისტორი, რომ უბრალოდ მილიონობით პატარა კონცენტრატორები. და ისინი არ სინათლის ნათურებით, რომ ჩართოთ და off, მაგრამ ისინი ან დაუშვას ელექტროენერგიის შემოვა სადღაც ან შეჩერება. და ასე რომ თქვენი ორი STATES-- ან გამოსართავად, ან გამოსართავად. ასე რომ, ჩვენ, როგორც ჩანს, ახლა აქვს ეს უნარი წარმოადგენს ამ კონცეფციას, რომ ჩვენ გვინდა, ფაქტობრივი ტექნიკა. მაგრამ ყველა ჩვენ ახლა არის უნარი წარმოადგენს ნომრები როგორც ჩანს. ასე რომ, თუ ჩვენ შესახებ წარმოადგენს ასო ანბანი, რომელიც იგრძნობა შემდეგი ერთგვარი ფუნქცია თქვენ გვინდა, რომ დაამატოთ თანამედროვე კომპიუტერული კიდევ გაქვთ ნომრები? და მართლაც, თუ ფიქრობთ, ის, ისტორიულად, კომპიუტერები გაეცნენ ნამდვილად ემსახურება როგორც კალკულატორების რიცხობრივი. რა თქმა უნდა, ამ დღის განმავლობაში, ისინი ბევრად უფრო. მაშინაც კი, როდესაც ისინი ჩატვირთვისას up, თქვენ როგორც წესი, ვხედავთ ერთი ან მეტი სიტყვა. ასე რომ, თუ თქვენ წარმოადგენს სიტყვა, თუ ყველა თქვენ, კიდევ ერთხელ, ელექტროენერგიის ბოლოს დღეს, ან ექვივალენტური 0 და 1 ს? ჰო. ჰო, მე ვგულისხმობ, ჩვენ სახის გააკეთა გუშინ ზოგიერთ ფორმას, სადაც რაღაც მომენტში, მე ვფიქრობ, რომ თვითნებურად განაცხადა, რომ, თუ გვინდა, რომ წარმოადგენს წერილი, ჩვენ შეგვიძლია მხოლოდ მოვუწოდებთ, რომ 1. ეს იყო კონტექსტში კრიპტოგრაფიის, სადაც ჩვენ უბრალოდ საჭიროა გარკვეული სახის კოდი, გარკვეული სახის რუკების. იქნებ წარმოდგენილი იქნება, როგორც 1 და B წარმოდგენილი იქნება, როგორც 2, და Z იქნება წარმოდგენილი როგორც 26, მაგალითად. და მაშინ მხოლოდ გაფრთხილება, რომ თუ მე ვარ აპირებს encode წერილები ჩემს წერილებს ან ჩემი ტექსტური შეტყობინებები ნომრები, თქვენ ყველა უნდა ეთანხმებით, რომ გამოიყენოთ იგივე კომპლექტი კონვენციები. და მართლაც, მსოფლიოში გააკეთა ზუსტად რომ. არსებობს სისტემა მსოფლიოში მოუწოდა ASCII, ამერიკული სტანდარტული კოდი ინფორმაციის ცვლა, რომელიც უბრალოდ გადაწყვეტილება რამდენიმე წლის წინ, რომ ადამიანები გააკეთა, რომ გადაწყდა, რომ აპირებს თანაბარი, არ 1, 2 და 26, და ა.შ. ეს არის პატარა სხვადასხვა, მაგრამ 65, 66, 67. და მე გაიყვანოს სქემა, რაღაც მომენტში. მაგრამ ეს თვითნებური. მაგრამ ამას მნიშვნელობა არ აქვს რომ ეს არის უკანონო. მსოფლიომ უნდა უბრალოდ იყოს თანმიმდევრული. ახლა, ცოტა ხნის წინ, იქ რაღაც fancier მოუწოდა Unicode, რადგან მსოფლიოს სახის მიხვდა, მას შემდეგ, რაც იგონებს კომპიუტერები, რომ იქ მეტი კარგად 256 სიმბოლიკა მსოფლიოში რომ ჩვენ დაგვჭირდება წარმოადგენს, განსაკუთრებით მაშინ, როდესაც თქვენ გააცნობს აზიური ენების და სხვა symbologies რომ საჭიროა უფრო გამომსახველობა, ვიდრე თქვენ ეტევა ადრეული ვერსია ეს კოდი, რომელსაც ASCII. ასე რომ, Unicode რეალურად საშუალებას გაძლევთ გამოიყენოთ 0 და 2. კერძოდ, თქვენ შენარჩუნება მოსმენის სიტყვა bytes საზოგადოებაში და თუნდაც მხოლოდ გუშინ. და byte არის, რაც კიდევ ერთხელ? რა არის byte? ეს არის მხოლოდ 8 ბიტი. ასე რომ, რას ნამდვილად ნიშნავს? ისე, ეს ნიშნავს, რომ, ადრე, როდესაც ჩვენ ვსაუბრობთ ორობითი და მე გამოყენებით თვითნებურად სამი ბიტი, როდესაც ჩვენ ვიყავით ვსაუბრობთ ორობითი 1 ადგილი, 2 ადგილი, და 4 მივალ სოფელში კარგად, ბაიტი მხოლოდ იმას ნიშნავს, რომ თქვენ ვსაუბრობთ არა ერთეული სამი, არამედ ოთხი, ხუთი, ექვსი, შვიდი, რვა, რაც საშუალებას გვაძლევს 8 ადგილი, 16-ს, 32 ს, 64 ს, და 128 ს. სხვა სიტყვებით, ცოტა არ არის რომ სასარგებლო ერთეული ზომის, იმიტომ, რომ ეს, ისევე, როგორც ერთი პატარა ინფორმაცია, ან გამოსართავად. ასე რომ, რამდენიმე წლის წინ, მსოფლიოში მხოლოდ გადაწყვიტა ეს ოდნავ უფრო მოსახერხებელი გაიგო თვალსაზრისით ბაიტი, რვა რამ დროს. ასე რომ, ამით დაიბადა ცნება byte. ასე რომ, ჩვენ გვაქვს რვა ბიტი აქ. და აღმოჩნდება, ძალიან, მსგავსი მიზეზის გამო, მსოფლიოს გადაწყვიტა ახალი წინ, რომ წარმოადგენს ASCII წერილი, თქვენ ვაპირებთ გამოვიყენოთ ერთეული 8 ბიტი. ასე რომ, თუ თქვენ არ უნდა, რომ ბევრი, თქვენ ყოველთვის აპირებს გამოიყენოს 8 ბიტი წარმოადგენს წერილი ანბანი. ეს არის მოსახერხებელი, იმიტომ, რომ მაშინ, თუ თქვენ მიიღოს გზავნილი, რომელსაც აქვს 0 0 0 1 1 1 1 0 მოჰყვა კიდევ 1 1 1 0 1 0 0 1, ასე რომ, თუ თქვენ მიიღებთ 16 ბიტი, მსოფლიოში შეგიძლიათ მხოლოდ ვივარაუდოთ, რომ პირველი 8 ერთ-ერთი წერილი და მეორე 8 კიდევ ერთი წერილი. არ აქვს მნიშვნელობა, რამდენი არსებობს. ეს მხოლოდ მნიშვნელოვანია, რომ ჩვენ ყველა თანმიმდევრული როდესაც ჩვენ წერით ბიტი. და ეს მხოლოდ შემთხვევითი. ეს ნიშნავს, რომ რაღაც, მაგრამ მე არ მართლაც ვიფიქროთ, რას ნიშნავს. ასე რომ, ეს პატარა თეთრი ტყუილი. თავდაპირველად, ASCII რეალურად გამოიყენება მხოლოდ 7 ბიტი. და მერვე ცოტა მოუწოდა გაფართოებული ASCII. მაგრამ საქმე ისაა, საბოლოოდ, იგივე. მსოფლიოში ზოგადად სტანდარტიზებული 8 ბიტი. ასე რომ, ეს, როგორც ჩანს, ცოტა ზღუდავს, რადგან მე შემიძლია მხოლოდ წარმოადგენს დედაქალაქში, კაპიტალური B მეშვეობით დედაქალაქში ზ მაგრამ ნამდვილად არ არის, თუ მე, რომელთა მიზანია აქ არის რამოდენიმე რესურსების ამჟამად, მაგალითად, asciitable.com, ეს იქნება ცოტა აბსოლუტური თავდაპირველად. მაგრამ მე აღვნიშნო, რა არის მნიშვნელოვანი აქ. ეს რაღაც რომ იყოს და მე walk-- ვნახოთ, თუ მე აქ. აქ არის, ათობითი სვეტი, ნომერი 65. და მარჯვენა სვეტი წერილი ხასიათი, Chr, წერილში ა და თქვენ შეგიძლიათ იგნორირება, ახლა, ყველაფერი შუა. ეს არის თექვსმეტობითი octal და HTML კოდი. ამ საიტზე არის უბრალოდ ცდილობს ჩააგდოს ბევრი ინფორმაცია თქვენ ერთდროულად. მაგრამ ყველა ჩვენ აინტერესებს ათობითი სვეტი და ხასიათი სვეტი. ასე რომ, ამ ლოგიკით, რა არის ნომერი, რომელიც მსოფლიოში გადაწყვიტა წარმოადგენს ამას? ჰო, 97. და მხოლოდ აღრეული პოტენციურად ოდნავ, რა რაოდენობის მსოფლიოს გადაწყვიტა წარმოადგენს ნომერი 1? უფლება, რადგან we-- 49, როგორც ჩანს, აქ, ქვემოთ ქვედა მარცხენა. ახლა, რა ნიშნავს, რომ? გამოდის, რომ კომპიუტერული სისტემების, არსებობს საერთოდ ფუნდამენტური განსხვავება შორის ნომერი და ხასიათი. ნომერი არის, რაც ჩვენ ცნობილი გახდა, იზრდებოდა, როდესაც ჩვენ super ახალგაზრდა grade სკოლა. ეს რამ ითვლიან. მაგრამ ხასიათი მხოლოდ ფორმის, glyph, ასე ვთქვათ, ეკრანზე. ახლა, ჩვენ, ადამიანები, ერთგვარი ვხედავთ რაღაც რომ ჰგავს ეს. და ვამბობთ, oh, რომ არის ნომერი 2. მაგრამ არა, ეს მხოლოდ სიმბოლოა, რომელიც გამოიყურება როგორც ის, რაც ჩვენ ვიცით, როგორც ნომერი 2. ასე რომ, აქ არის ფუნდამენტური განსხვავება შორის ფაქტობრივი ნომრები და სიმბოლო. ეს არის ნომერი. მაგრამ ზოგადად, კონტექსტში კომპიუტერი, თუ თქვენ ნაცვლად ვხედავ რაღაც მსგავსი quoted-- და თქვენ ყოველთვის არ უნდა ნახოთ ეს ციტირებული, მაგრამ გულისთვის discussion-- თუ ხედავთ შეთავაზებები გარშემო ნომერი, ეს არის გმირი. ასე რომ, ეს რიცხვი 2 ქვეშ the hood შიგნით კომპიუტერი იქნება წარმოდგენილი ნიმუში ბიტი, რომ წარმოადგენს რაოდენობა 50 მიხედვით ჩარტში ონლაინ რეჟიმში. თუმცა, თუ კომპიუტერი უბრალოდ ხედავს, ეს იქნება წარმოდგენილი ნიმუში bit 0 0 0 0 0 0 1 0. ვინაიდან, ამ ხასიათის იქნება რეალურად იქნება წარმოდგენილი as-- და ახლა, მე მივიღე ვიფიქროთ ცოტა harder-- ასე რომ, ეს ხასიათი იქნება წარმოდგენილი 0 0 1-- რა უნდა აქ? 0 0 1 1 0 0 1 0. როგორ გავაკეთო ეს? ისე ეს ნომერი 50, იმ შემთხვევაში, თუ გამრავლების ის გამოყენებით ამ სვეტების, ეს არის ნომერი 2, და ასე ამიტომაც არის ეს დიქოტომია. და ეს არის მხოლოდ teaser ახლა ფუნქციები რომ არსებობს პროგრამირების ენები რომ ჩვენ შევეხო მოკლედ დღესვე. პროგრამირების ენები, თქვენ გაქვთ ზოგადად, მაგრამ არა ყოველთვის, რამ მოვუწოდებთ სხვადასხვა მონაცემთა ტიპები. სხვა სიტყვებით, programmer-- როდესაც იგი წერს, პროგრამისტი იღებს გადაწყვეტს, თუ რა ფორმატში შესანახად მისი მონაცემები. თქვენ შეგიძლიათ ან მაღაზიაში მონაცემები, როგორც ნედლეული ნომრები, როგორც ნომერი 2. ან შეგიძლიათ შესანახად მათ, როგორც სიმები, ან sequences გმირები რომ თქვენ, რომ ზოგადად გამოხატავს იწვევენ თქვენს პროგრამირების ენაზე. თქვენ შეგიძლიათ რამ called-- მე oversimplify და მოვუწოდებთ მათ, რეალური ნომრებზე ასე ციფრები, რომ არ არის რიცხვებით მოსწონს რიცხვი 2, მაგრამ ნომრები მინდა 4.56. ასე რომ, რეალური ციფრები ასევე შეუძლია აქვს ათობითი ქულა, ასე რომ, სხვადასხვა ფუნდამენტური ნაჭერი მონაცემები კომპიუტერში. და მაშინ კი აქვს სხვა მონაცემთა ტიპები მაინც. ასე რომ, მხოლოდ teaser ნამდვილად of მარტივი დიზაინის გადაწყვეტილებები რომ პროგრამისტი შეიძლება რათა ქვეშ hood. ასე რომ რაიმე კითხვა უბრალოდ არ არის? მოდით ცდილობენ, რათა ეს ცოტა უფრო რეალური. ეს ტექნიკა არ არის იმდენად გამოყენება აღარ. მაგრამ ყველაზე ყველას ამ ოთახში ალბათ გაიზარდა და დღესაც იყენებს მყარი დისკები რამდენიმე გზა. მიუხედავად იმისა, რომ ყველაზე ჩვენი ლაპტოპები აღარ აქვს მოწყობილობა, რომელიც მოქმედებს, როგორც ეს, ნაცვლად ლაპტოპები დღეს ზოგადად აქვს მყარი სახელმწიფო დისკები არ მოძრავი ნაწილები. და რომ ტენდენცია, რომ უფრო ძვირი, სამწუხაროდ, მაგრამ ცოტა უფრო სწრაფად და a-- კარგად, ხშირად, ბევრი უფრო სწრაფად, რომელიც არის ერთ-ერთი მიზეზი. და ეს არ გენერირება იმდენი სითბო. ეს შეიძლება იყოს პატარა, ამიტომ ზოგადად net დადებითი. მაგრამ ეს საშუალებას გვაძლევს რუკაზე ცოტა უფრო კონკრეტულად რა ჩვენ ვსაუბრობთ 0 და 1 დონეზე ახლა ფიზიკური მოწყობილობა. ეს არის ერთი რამ ჩემთვის გაიგო შესახებ 0 და 1 ს თვალსაზრისით ჩემი ტელეფონი და აბსტრაქტულად თვალსაზრისით კონცენტრატორები მიმდინარეობს და off. მაგრამ რაც შეეხება მყარი დისკები? თქვენს ლაპტოპები, თუ თქვენ გაქვთ ძველი ერთ-ერთი, ან თქვენი კომპიუტერი, და რა თქმა უნდა, სერვერები დღეს, სადაც თქვენ უნდა მყარი დისკები, რომ აქვს terabyte სივრცეში, 4 terabytes სივრცე, კარგად, რას ნიშნავს? მყარ დისკზე: 1 terabyte სივრცეში საშუალება არსებობს 1 ტრილიონი bytes შიგნით მას რატომღაც, ან ექვივალენტური 8 ტრილიონი ბიტი შიგნით. 1 Terabyte იქნება 8 terabits ან 1 ტრილიონი ბიტი, რაც იმას ნიშნავს, თუ თქვენ გაქვთ მძიმე წამყვანი, თქვენ რატომღაც ან სხვა ტრილიონი 0 და 1 ს შიგნით მას. და თუ ჩვენ უბრალოდ შევხედოთ თვითნებური სურათი დისკის წარმომადგენელი, ეს არის ის, რაც მძიმე დისკზე შეიძლება, როგორც წესი, ჰგავს შიგნით. ეს, ძალიან, არის სახის მოსწონს ძველი ფონო მოთამაშე მაგრამ ზოგადად მრავალჯერადი ჩანაწერი შიგნით, ასე ვთქვათ სხვადასხვა platters, როგორც ისინი უწოდებენ, ლითონის წრიული დისკები, და მაშინ ცოტა მოსმენით ხელმძღვანელი, ჰგავს ძველი ჩანაწერი მოთამაშე. და რომ მოსმენით ხელმძღვანელი მოძრაობს უკან და მეოთხე და რატომღაც ნათქვამია ბიტი. და რა არის ამ platters, მაშინაც კი, მიუხედავად იმისა, რომ ჩვენ, ადამიანები, მათ ვერ ვხედავთ, არც რეალურად და ამ სურათს, იქ პატარა მაგნიტური ნაწილაკების. და მაშინაც კი, თუ თქვენ ხანგრძლივი დავიწყებული როგორ ელექტროენერგიის მუშაობს, მაგნიტური ნაწილაკების რომ ბრალი ზოგადად აქვს ჩრდილო ბოლოს და სამხრეთ end-- ასე ჩრდილოეთით და სამხრეთით. ასე რომ, მსოფლიოში მხოლოდ გადაწყვიტა ცოტა ხნის წინ რომ, თუ მაგნიტური ოქმი არსებითად შეესაბამება, როგორც ეს, ჩრდილოეთ-სამხრეთის, მოდით მოვუწოდებთ, რომ 1. თუ ეს ნაცვლად სამხრეთ ჩრდილოეთით, მოდით უბრალოდ მოვუწოდებთ, რომ 0. ასე რომ, თუ თქვენ გაქვთ თქვენს განკარგულებაშია ტრილიონი პატარა მაგნიტური particles-- და იმედია, ტექნიკის ingenuity in იმისათვის, რომ flip მათ გარშემო როგორც ხედავთ fit-- თუ გვინდა, რომ წარმოადგენს მთელი bunch of 0, თქვენ უბრალოდ უნდა 8 მაგნიტური ნაწილაკების ყველა მიუერთდა მოსწონს ეს. და თუ გვინდა, რომ წარმოადგენს რვა 1 ს, უბრალოდ გჭირდებათ 8 მაგნიტური ნაწილაკების მიუერთდა უკან დაბრუნება უკან მოსწონს ეს. რას ვგულისხმობ მიერ მაგნიტური ნაწილაკების? სიმართლე გითხრათ, ყველა ამ წლის შემდეგ, საქმე იმაშია, რომ ჯერ კიდევ მოდის, ჩემი აზრით არის ეს ბიჭი, თუ გაიზარდა ამ რამ. ეს არის little-- for იმ unfamiliar-- პატარა ბავშვობის სათამაშო, აქვს ამ hairless კაცი აქ რომ აქვს ყველა ეს პატარა შავი მაგნიტური ნაწილაკების, რომ მოვიდა ერთად იგი. და გამოყენების, რომ წითელი ჯოხი, რომელიც მხოლოდ magnet, თქვენ შეგიძლიათ ერთგვარი მისცეს მას ულვაში ან წარბების ან თმის ან არაფერი მას. ასე რომ, ფაქტობრივად, თუ ჩვენ zoom წელს, მაგალითად, ეს არის ერთგვარი თამაში თქვენ შეგიძლიათ ითამაშოთ Wooly Willy. და ეს არის მხოლოდ ითქვას, რომ ეს გაცილებით უფრო დიდი მაგნიტური ნაწილაკების ვიდრე რეალურად მყარ დისკზე, და გაცილებით ნაკლები მაგნიტური ნაწილაკების. მაგრამ მოდით რეალურად ვხედავ მაშინ, თუ თქვენ გაქვთ პატარა მაგნიტური ნაწილაკების მყარ დისკზე, როგორ შეიძლება რეალურად გამოიყენოს იმ წარმოადგენს მონაცემები. [ვიდეო აღწარმოების] -The მყარ დისკზე არის სადაც თქვენი PC ინახავს საუკეთესო მუდმივი მონაცემები. უნდა გავაკეთოთ, რომ მონაცემები მოგზაურობს ეხლა RAM ერთად პროგრამული სიგნალები, რომ გითხრათ, მყარ დისკზე როგორ უნდა შეინახოს, რომ მონაცემები. დისკის სქემები თარგმნა იმ სიგნალები შევიდა ძაბვის რყევების. ეს, თავის მხრივ, კონტროლის მყარ დისკზე ნახვა მოძრავი parts-- ზოგიერთი რამდენიმე მოძრავი ნაწილები დარჩა თანამედროვე კომპიუტერი. ზოგიერთი სიგნალები აკონტროლებენ საავტომობილო, რომელიც ტრიალებს რკინის დაფარული platters. თქვენი მონაცემები ფაქტობრივად შენახული ამ platters. სხვა სიგნალები გადაადგილება წაკითხვის / ჩაწერის ხელმძღვანელები წაკითხვის ან ჩაწერის მონაცემებს platters. ეს მანქანა იმდენად ზუსტი რომ ადამიანის თმის კი არ გაივლის შორის ხელმძღვანელები და spinning platters. თუმცა, ეს ყველაფერი მუშაობს შესანიშნავი სიჩქარით. [END აღწარმოების] და თქვენ შეგიძლიათ ნახოთ საათზე კუდი ბოლომდე ვიდეო, არსებობს ზოგადად მრავალი platters. და ისე, რომ კითხულობს უფროსი არ არის მხოლოდ კითხულობს დაბრუნება. ეს არის ერთგვარი, სამი ან ოთხი ან მეტი მოსმენით ხელმძღვანელები რომ ეს ნაბიჯი, როგორც ეს, კითხულობს მონაცემების ერთდროულად. ასე რომ, არსებობს უამრავი სირთულის და სახის დრო რომ არის ჩართული მყარ დისკზე. და ის არის დაწნული ნამდვილად darn სწრაფი, ასე რომ ბევრი სირთულის. მაგრამ მოდით მიუახლოვდით ცოტა უფრო ღრმა და ვხედავ, სადაც არის ეს მაგნიტური ნაწილაკების და როგორ ხდება, ჩვენ ვიღებთ მათ. [ვიდეო აღწარმოების] -მოდით შევხედოთ რაც ჩვენ მხოლოდ ვნახე ნელი მოძრაობით. როდესაც მოკლე პულსი ელექტროენერგიის ეგზავნება წაკითხვის / ჩაწერის ხელმძღვანელი, ეს შეიჭრება პატარა ელექტრომაგნიტური ფრაქცია მეორე. Magnet ქმნის სფეროში, რომელიც ცვლის პოლარობის პატარა, პატარა ნაწილი ლითონის ნაწილაკების რომელიც ქურთუკი ყოველ platter ზედაპირზე. ნიმუში სერია ეს პატარა ბრალი სფეროებში დისკზე წარმოადგენს ერთ ცოტა მონაცემების ორობითი რიცხვი სისტემის მიერ გამოყენებული კომპიუტერები. ახლა, თუ მიმდინარე იგზავნება ერთი გზა მეშვეობით წაკითხვის / ჩაწერის ხელმძღვანელი, ტერიტორია არის პოლარიზებული ერთი მიმართულებით. იმ შემთხვევაში, თუ მოქმედი იგზავნება საპირისპირო მიმართულებით, პოლარიზაცია აღდგება. როგორ იღებთ მონაცემები ხისტი? უბრალოდ გადახედოს პროცესში. ასე რომ, ეს ნაწილაკების დისკზე რომ მიიღოს მიმდინარე წაკითხვის / ჩაწერის ხელმძღვანელი მოძრაობს. ერთად მილიონობით ეს magnetized სეგმენტები, და თქვენ მოხვდით ფაილი. ახლა, ცალი ერთი ფაილი შეიძლება მიმოფანტული მთელს დისკზე ნახვა platters, სახის როგორც არეულობას ნაშრომების თქვენს მაგიდასთან. ასე რომ, სპეციალური დამატებითი ფაილი ინარჩუნებს სიმღერა, სადაც ყველაფერი. არ გისურვებთ ჰქონდა რაღაც მაგდაგვარი? [END აღწარმოების] ასე რომ, მიანიშნა, რომ იქ, ალბათ, ამ თემაზე გუშინ წაშლა. როდესაც თქვენ წაშალეთ ფაილი, გუშინ ჩვენ ვთქვით, რომ კომპიუტერი რეალურად აკეთებს რა, როცა გადაიტანეთ რაღაც რომ Recycle bin ან ნაგვის bin? ეს უბრალოდ ავიწყდება მას. მაგრამ 0 და 1 ს, მაგნიტური ნაწილაკების რომ ჰგავს წითელი და ლურჯი რამ აქ, და ჩემი მკლავი აქ, ჯერ კიდევ არსებობს მყარ დისკზე. ასე რომ, არსებობს software-- Norton Utilities და წარსულის და სხვა უფრო თანამედროვე software--, რომ მხოლოდ სკანირების მთელი მყარი დისკის ეძებს ყველა იმ 0 და 1 ს, რადგან ეს აღმოჩნდება, რომ ყველაზე ფაილი formats-- Word დოკუმენტების, Excel ფაილები, სურათები, ვიდეო ფაილები ყველას გვაქვს გარკვეული ნიმუშები, რომლებიც, გავრცელებული, მათ შორის. ყველა ვიდეო ფაილი შეიძლება იყოს განსხვავებული ვიდეო, მაგრამ პირველი რამდენიმე ბიტი, როგორც წესი, ერთი და იგივე. ან ბოლო რამდენიმე ბიტი როგორც წესი, ერთი და იგივე. ასე რომ, დიდი ალბათობით, შეგიძლიათ გამოიყურება იმ ნიმუშების. და მაშინაც კი, თუ ფაილი უკვე დაავიწყდათ, შეიძლება ითქვას, დიდი ალბათობით, მაგრამ ეს ჰგავს Word დოკუმენტის, საშუალებას ფეხზე იგი და გაეროს დაგვავიწყდეს, თუ გნებავთ. ასე რომ, ის, თუ როგორ შეიძლება ფეხზე მონაცემები რომ როგორც იქნა შემთხვევით წაშლილი ან წაშლილი ან განზრახ ამოღებულია სხვადსხვა მიზნებისათვის. პირიქით, უსაფრთხო წაშლა აკეთებს იმას, რასაც კონტექსტში სურათი, როგორც ეს? სწორედ, რაც მათ ყველა შემთხვევითი. ასე რომ, ეს ერთგვარი მოძრაობს ზოგიერთი მათ ქვემოთ, ზოგიერთი მათგანი up, ტოვებს ზოგიერთი მათგანი უცვლელი რჩება და ზოგადად ხდის შემთხვევითი ხმაური გარეთ, ან, შესაძლოა, უბრალოდ ხდის ყველა მათ 0 ან ყველა მათგანი 1 ს. და რომ ძალიან ზოგადად scrub თქვენი მონაცემები მოშორებით. მოდით დაბრუნდება ახლა საკითხი კომპიუტერული აზროვნება, რომლის ჩვენ ფორმულა საშუალებებით. და ალგორითმები აძლევს თქვენ შედეგები საბოლოოდ. ჩვენ ფოკუსირება ახლა საშუალებებით და შედეგები, რადგან ახლა, მე პრეტენზია გვაქვს გზა წარმოადგენს საშუალებებით და შედეგები. ჩვენ უბრალოდ ვაპირებთ გამოვიყენოთ ორობითი. და არ აქვს მნიშვნელობა, რაც ჩვენ გსურთ წარმოადგენს დღეს, თუ არა ის ნომერი ან წერილი და ათასობით მისი სატელეფონო წიგნი ან სურათები და ფილმები, ბოლოს დღეს, ეს ყველაფერი 0 და 1 ს. და მე კი აცხადებენ, რომ, მიუხედავად იმისა, რომ ეს არის სუპერ მარტივი მსოფლიოში მხოლოდ 0 და 1 ს, ჩვენ შეგვიძლია ავაშენოთ საკუთარ თავს. და ჩვენ ვნახეთ, ერთ-ერთი მაგალითია რომ წერილებს დღემდე. მოდით ახლა აქცენტი ამ შუა ნივთიერება, ალგორითმი. და მოდით დავუბრუნდეთ ამ მაგალითად მაიკ სმიტი. ასე რომ, ამ სატელეფონო წიგნი, რომელიც უნდა აღინიშნოს, ჩვენ არ ვიყენებთ იმდენად აღარ, არსებობს პრობლემა უნდა მოგვარდეს. ჩვენ გვინდა, რომ ვინმეს მოსწონს მაიკ სმიტი. და რა შეიძლება გავაკეთო, რომ იპოვოს Mike? ისე, მე შეიძლება უბრალოდ გახსენით ეს წიგნი, იწყება პირველი გვერდი, და ხვდები, რა, მე მონაკვეთზე. Mike არ არსებობს. მე უნდა S განყოფილებაში სმიტი. ასე რომ, უბრალოდ შეინახოს გარდამტეხი ერთ გვერდზე დროს. მინდა ვიტყვი, რომ ეს არის ყველა თეთრი გვერდები და არა ყვითელი გვერდები, იმიტომ, რომ ჩვენ არ ვაპირებთ, რათა იპოვოს მაიკ ყვითელი გვერდები მაინც. მაგრამ მე თეთრი გვერდები. და ახლა, მე ვარ B განყოფილება. მე მაინც არ მიაგნო. ასე რომ, მე შენარჩუნება გარდამტეხი ერთ გვერდზე დროს. ეს არის ალგორითმი. ეს კომპლექტი ინსტრუქციები გადაჭრის ზოგიერთი პრობლემა. სხვა სიტყვებით, შევხედოთ გვერდი, თუ მაიკ არ არის ის, აქციოს გვერდი და იმეორებს ისევ და ისევ და ისევ, იდეალურად ეძებს ქვემოთ, როგორც თქვენ ვაკეთებთ. ასე რომ, ეს ალგორითმი, ამ პროცესში, სწორი? ბოდიში. არა, მე მესმის ზოგიერთი nos. OK, მაგრამ ეს is-- yeah, ეს, რა თქმა tedious. ისევე, როგორც ჩვენ ვიქნებით აქ მთელი დღე, თუ მე შეინახოს ეძებს Mike ამ სიჩქარით. მაგრამ ნება მიბოძეთ აცხადებენ, რომ სწორი. ეს სულელური, მაგრამ ეს სწორი. ბოლოს დღეს, რადგან ეს შეიძლება მიიღოს, მე ნახავთ Mike, თუ ის არსებობს და მე გადამხდელი ყურადღებას. საბოლოოდ, მე და მიაღწიოს თავის გვერდზე. და თუ მე ძალიან შორს, თუ მივიღებ T განყოფილებიანი, მერე შეიძლება ოდნავ ოპტიმიზაცია და უბრალოდ ამბობენ, hm, ყველა გაკეთდეს. მე კი არ უნდა დახარჯონ დროს აპირებს Z ს. მაგრამ ეს არის ძალიან ხაზოვანი მიდგომა, თუ იქნება, ძალიან ერთგვარი მარცხნიდან-მარჯვნივ მიდგომა, ერთი სწორი ხაზი. და მისი სწორი, მაგრამ ნელი. ასე მახსოვს კლასის სკოლა, ერთგვარი საქართველოს ოპტიმიზაცია პირველი კლასის მოსწავლე, სადაც გავიგე, თუ როგორ ითვლიან არა მიერ პირობა, მაგრამ twos-- ასე რომ 2, 4, 6. ეს არის A, ბევრი რთული ამის გაკეთება, მაგრამ თეორიულად, ეს faster-- 8, 10, 12, 14, და სხვ. როგორ შესახებ, რომ ალგორითმი? ეს არის უფრო ეფექტური? არის ის უფრო სწრაფად? აუდიტორია: ეს არის ეფექტური. დავით Malan: ჰო, ასე რომ def-- ეს ფაქტიურად ორჯერ სწრაფად, თუ, რა თქმა არ მიიღებთ ეთამაშა ერთად ჩემი თითების. ეს ორჯერ სწრაფად, რადგან მე გარდამტეხი ორი გვერდები ერთდროულად ნაცვლად ერთი, მაგრამ ეს პოტენციურად სწორი, იმიტომ, რატომ? აუდიტორია: თქვენ skipping ზოგიერთი. დავით Malan: მარჯვენა, რა, თუ მაიკ ხდება უნდა sandwiched-- იქნებ, როდესაც მე შემდეგ სატელეფონო წიგნი, მაიკ ხდება უნდა იყოს მოქცეულია ამ ორი გვერდებზე, და მე უბრალოდ ბრმად გამოტოვოთ იგი. ასე რომ, ჩვენ უნდა ცოტა სარემონტო არსებობს. მას შემდეგ, რაც მე მოხვდა T განყოფილებიანი, I შეგიძლიათ არა მხოლოდ დარწმუნებით ვთქვა, ჩვენ ვერ მაიკ სმიტი. მე, ალბათ, უნდა გაორმაგდეს უკან. ან ფაქტობრივად, ერთხელ მე მიაღწიოს ვინმე დასახელდა S-N, ნაცვლად S-M for სმიტი, მაშინვე, მე შეიძლება გაორმაგდეს უკან, რადგან შესაძლოა, მან იყო წინა გვერდზე. მაგრამ მე არ უნდა გაორმაგდეს უკან დღემდე. თეორიულად, თუ მე მას უფლება დროს, მე უბრალოდ დაბრუნდეს ერთ გვერდზე. ასე რომ, ის და დასძინა, მხოლოდ ერთი დამატებითი ნაბიჯი. ასე, რომ წავიდნენ ორჯერ სწრაფად, მაგრამ ღირს ჩემთვის ერთი ზედმეტი გვერდზე. მაგრამ რომ იგრძნობა წმინდა მოგება. მაგრამ ეს არ არის, თუ როგორ ყველაზე ხალხი ამ ოთახში იქნებოდა ამ პრობლემის მოგვარებას. რა ტიპიური პირი, შესაძლოა, რამდენიმე წლის წინ გავაკეთოთ, რათა იპოვოს მაიკ სმიტი? ჰო, ვერ მაიკ. რას ვაკეთებ? ასე რომ ცოტა უფრო ახლოს, მაგრამ მე ვიცი რა არის ნამდვილი შესახებ სატელეფონო წიგნი? აუდიტორია: ეს არის თანმიმდევრული. დავით Malan: ეს არის თანმიმდევრული. ეს ანბანურ. ასე რომ, თუ მე ვარ M განყოფილებიანი, Mike აშკარად მარჯვნივ, შემიძლია სიტყვასიტყვით გაანადგურეს პრობლემა half-- ეს, როგორც წესი უფრო ადვილია, ვიდრე that-- ცრემლსადენი პრობლემა ნახევარი და გადააგდე, ასე რომ, ახლა, მე მაქვს პრობლემა, რომელიც აღარ 1000 pages--, რომ რთული იყო, იმიტომ, რომ ვფიქრობ, რეალურად დახიეს სატელეფონო წიგნი ამ time-- არა 1000 გვერდების, მაგრამ 500. ასე რომ, პრობლემა ის არის, ფაქტიურად ნახევარი, როგორც დიდი. და ეს არის საკმაოდ მყარი, რადგან ჩემს წინა ალგორითმები, მობილური 1 და 2, მე მხოლოდ მიღების პრობლემა ერთ გვერდზე პატარა, ორი გვერდებზე პატარა დროულად. ხოლო ახლა, მე მივიღე ეს 500 გვერდებზე პატარა ერთდროულად. OK, ასე რომ, ახლა, Karim სთავაზობს რომ მივდივარ მარჯვენა ნახევარში. ამიტომ, მე ვაპირებ წასვლა უხეშად შუა, მისცეს ან მიიღოს. და თუ მე ეს მათემატიკურად, მე ვერ გაგრძელდება უფლება შუა. და ახლა, ვხვდები, oh, მე T მონაკვეთზე. მე, ფაქტობრივად, ძალიან შორს. მაგრამ მე შემიძლია, კიდევ ერთხელ, გაანადგურეს პრობლემა ნახევარი, გადააგდე. და ჩემი bytes, როგორც დიდი. ეს მხოლოდ, რა, 256 გვერდებზე ან 250 გვერდები, მისცეს ან ახლავე. მაგრამ ეს ჯერ კიდევ უფრო მეტი ვიდრე ერთი ან ორი გვერდებზე. ასე რომ, ახლა, მე დაახლოებით შუა. ოჰ, მე არ წასვლა საკმაოდ შორს საკმარისი ახლა. ასე რომ, ვიმეორებ, ვიმეორებ, ვიმეორებ, ვიმეორებ, სანამ მე ვარ, იმედია დარჩა მხოლოდ ერთი გვერდი. ასე, რომ იწვევს კითხვაზე, თუ მე დაიწყო დაახლოებით 1000 გვერდს, რამდენი ნაბიჯები დასჭირდა me ერთად ვერსია 1 ჩემი ალგორითმი? ისე, თუ მაიკ არის S განყოფილებიანი, უარეს შემთხვევაში, რომ საკმაოდ ახლოს ბოლოს ანბანი. ასე რომ, თუ სატელეფონო წიგნი 1000 გვერდებზე, მე იპოვით Mike ფარგლებში 1000 გვერდების, გაეცი ან მიიღე. შესაძლოა, ეს იგივეა, 800 ან ასე, მაგრამ ეს არის საკმაოდ ახლოს 1,000. ამასთან, მეორე ალგორითმი, რამდენი გვერდზე მორიგეობით მაქსიმალურად შემიძლია მოითხოვს, რათა იპოვოს მაიკ სმიტი? არსებობს 1000 გვერდების, მაგრამ მე ამით მათ ორი დროს. მარჯვენა, ისე max როგორიცაა 500ish, რადგან თუ მე გაიაროს მთელი სატელეფონო წიგნი, სადაც წერტილი, მე ვერ შეაჩერებს. მაგრამ მე შემიძლია გაიპარსოს რამდენიმე by მხოლოდ შეჩერების დროს T მონაკვეთზე. მაგრამ ეს უარეს შემთხვევაში 500 გვერდები. რამდენჯერ შემიძლია გაყოფა 1,00o-გვერდზე სატელეფონო წიგნი ნახევარი ერთხელ და ისევ და ისევ ეხლა 1000 500 250 125? რამდენად დიდი ხნით ადრე მე მოხვდა ერთ გვერდზე? ჰო, ეს 10. დამოკიდებულია დამრგვალება და ასეთი, ის 10 გვერდებზე სულ უნდა იყოს ჩართული ან სატელეფონო წიგნი უნდა იყოს მოწყვეტილი. ასე რომ, საკმაოდ ძლიერი. ჩვენ დავიწყეთ 1000 გვერდი პრობლემა სამივე ეს ამბავი. მაგრამ პირველ ალგორითმი, წამიყვანეს, უარეს შემთხვევაში, 1000 გვერდი გამოდის, რომ იპოვოს მაიკ. მეორე ალგორითმი, 500 გვერდებზე, რათა მაიკ. მესამე ალგორითმი, 10 გვერდებზე, რათა მაიკ. და ეს კიდევ უფრო ძლიერი, როცა ფიქრობთ, შესახებ ერთგვარი საპირისპირო სიტუაცია. ვარაუდობენ, რომ სატელეფონო კომპანია შემდეგი წელს, შესაძლოა, უერთდება ორი ქალაქებში ერთად, და სატელეფონო წიგნი მოულოდნელად ამ სქელი, ამის ნაცვლად, რომ ასე რომ, 2000 გვერდების ნაცვლად 1000. ისე, ჩემი პირველი ალგორითმის ეძებს მაიკ სმიტი 2000-გვერდი სატელეფონო წიგნი, უარესი შემთხვევაში, ის აპირებს რამდენი გვერდი გამოდის მომავალ წელს? ტელეფონი წიგნი 2,000 გვერდებზე so-- კარგად, არა ერთი. იმ შემთხვევაში, თუ სატელეფონო წიგნი ორჯერ სქელი პირველი ალგორითმი, პირველი ალგორითმი, 2000, უფლება? უარეს შემთხვევაში, მაიკ არის ნამდვილად ახლოს ბოლოს წიგნი, ასე რომ, 2000 გვერდი მონაცვლეობით. მეორე ალგორითმი აპირებს twos, 1000 გვერდებზე. მაგრამ რა, ჩემი მესამე და უახლესი ალგორითმი? იმ შემთხვევაში, თუ სატელეფონო კომპანია აორმაგებს გვერდების რაოდენობა 1000-დან 2000-მდე, კიდევ რამდენი ჯერ უნდა მე გაანადგურეს ეს წიგნი ნახევარი იპოვოს Mike? აუდიტორია: მხოლოდ ერთი. დავით Malan: კიდევ ერთი, იმის გამო, რომ ერთ გვერდზე ცრემლსადენი, შემიძლია სიტყვასიტყვით გაყოფა და დაიპყროთ, თუ გნებავთ, რომ პრობლემა ნახევარი აყვანა მასიური bite გარეთ. ასე რომ, ეს არის მაგალითი იმისა, ეფექტურობა და სავარაუდოდ ალგორითმი რომელიც ყველა ჩვენგანი სახის ინტუიციურად იცნობს. მაგრამ ეს, როგორც სწორი როგორც ჩემი სხვა ალგორითმები რომ tweak for მეორე ალგორითმი, მაგრამ ეს ასე ბევრად უფრო ეფექტური. და სინამდვილეში, რა კომპიუტერი მეცნიერი, და, თავის მხრივ, პროგრამისტი, როგორც წესი, ამის გაკეთება, როდესაც წერა კოდი არის ცდილობენ გაერკვნენ, ყველა უფლება, მე არ მინდა ჩემი პროგრამა უბრალოდ უნდა იყოს სწორი, მე ასევე მინდა, რომ იყოს ეფექტური და გადაწყვიტოს პრობლემები. წარმოიდგინეთ, რეალურ სამყაროში, დღეს, როგორიცაა Google ინდექსები, ძიება როგორიცაა მილიარდობით გვერდები, წარმოიდგინეთ, თუ ისინი გამოიყენება პირველი ალგორითმი მოძიების cats შორის მილიარდი pages-- ეძებს პირველ გვერდზე მათ მონაცემთა ბაზაში, მეორე, მესამე, უბრალოდ ეძებს კატა, ეძებს კატა. ეს არის საკმაოდ darn ნელი როგორც ჩანს. ისინი შეიძლება ნაცვლად გამოიყენოთ რაღაც მოუწოდა ორობითი ძებნა, რომელიც არსებობს coincidence-- bi ნიშნავს, რომ ორი, ჩვენ შენარჩუნება გამყოფი რაღაც 2, half-- ისინი შეიძლება გამოიყენოთ ორობითი ძებნა და იქნებ იპოვოს კატა კიდევ უფრო სწრაფად, ან რასაც ეს თქვენ ეძებს. და გულწრფელად, არ კიდევ fancier ალგორითმები რომ უფრო მეტი, ვიდრე უბრალოდ გამყოფი რამ ნახევარი რათა ინფორმაციის სწრაფად. და ჩვენ გაიგო ცოტა დაახლოებით იმ სადილის შემდეგ დღეს. ნება მომეცით, უბრალოდ ცდილობენ წარმოადგენს ეს. ჩვენ არ უნდა წავიდეთ ნებისმიერი მათემატიკის ან ფაქტობრივი ნომრები. ჩვენ შეგვიძლია ვისაუბროთ ამ აბსტრაქტული. მაგრამ ნება მომეცით შესთავაზოს, თუ მქონე დისკუსია ახლა ინჟინრებთან ერთად სთავაზობდა ეს ალგორითმი და თქვენ ვცდილობთ, გათვლილი გადაწყვეტილება, იმიტომ, რომ, შესაძლოა, ინჟინერი ამბობს, თქვენ იცით რა, მე შეგიძლიათ განახორციელოს ხაზოვანი ძიება ორი წუთის განმავლობაში. ეს რომ ადვილი. ორობითი ძებნა არ არის, რომ ლამაზი, მაგრამ ის აპირებს ჩემთვის, როგორც 10-ე წუთზე, ასე რომ, 5-ჯერ, სანამ. არსებობს ვაჭრობის აქ, თუნდაც იმ თვალსაზრისით, გადამწყვეტი რა პროგრამული დაწერა. ნუ წერთ მარტივი ალგორითმი, რომელიც მხოლოდ მიიღოს ორი წუთი? თუ თქვენ უფრო მეტი დრო, 10 წუთი, წერილობით fancier ალგორითმი? როგორ უნდა გადაწყვიტოს, რომ ასეთი კითხვა? თუ თქვენ ვერ, რომ მას ცოტა უფრო რეალური. მე გეტყვით ჩემს boss ის აპირებს ჩემთვის არც ერთი კვირის ან 10 კვირის განახორციელოს პროგრამული უზრუნველყოფა ამ გზით, თუ როგორ თქვენ გადაწყვიტოს, რომელი ალგორითმი მწვანე შუქი? Karim? აუდიტორია: აუდიტორია, ვფიქრობ. დავით Malan: მაყურებელს. რას ნიშნავს მაყურებელს? აუდიტორია: თუ ის აპირებს გამოყენებული იქნას მომხმარებლები რომელიც [INAUDIBLE] მომხმარებლის მიერ [INAUDIBLE]. მაგრამ თუ ეს რაღაც თქვენ უბრალოდ აკეთებს თავს ხელი შეუწყოს პრობლემა, [INAUDIBLE] სწრაფია. დავით Malan: ჰო, ეს არის სწრაფი და ბინძური არის კარგი გზა აღწერს მას. სინამდვილეში, თუ თქვენ სადაც აღწერილია ბევრი ჩემი დრო გრადის სკოლა, რომლის დროსაც ხშირად, მე დავწერე ცუდი კოდი შეგნებულად so-- ყოველ შემთხვევაში, ასე, მე რაციონალურ it-- შეგნებულად ასე რომ, იმიტომ, რომ მიუხედავად იმისა, რომ ვწერდი კოდი რომ შედარებით ნელა შეასრულოს, მე შეძლო დაეწერა კოდი თავად საკმაოდ სწრაფად, ხარჯვის რამდენიმე წუთით ან საათის არა დღე. და აღმოჩნდა, მე ზოგჯერ საჭიროა ძილის. ასე რომ, თუ ჩემი კოდი საჭირო 8 საათი აწარმოებს, ისე, რომ ჯარიმა, მე უბრალოდ ძილის ხოლო ის გადის. ასე რომ, იმ დროს, ვფიქრობდი, ეს იყო ძალიან ჭკვიანი, მიუხედავად იმისა, რომ, როგორც ჩანს, მუშაობდა მეშვეობით ჩემი სადოქტორო ძალიან ნელა. მაგრამ ურთიერთობა რომ არის რომ, თუ მე წერდნენ პროგრამული უზრუნველყოფა სხვა ადამიანები, რომლებიც მნიშვნელოვანი უფრო, ვიდრე ჩემთვის, ისე, რომელსაც მათ დაველოდოთ 8 საათი დავუბრუნდეთ მათი ძიების შედეგები არ არის ყველა, რომ მყარი. ასე რომ, მეტი დრო დაუთმონ წინა დავწეროთ პროგრამა რომ არის უფრო ეფექტური, როგორც ჩვენი მესამე ალგორითმი, ალბათ სარგებელს მომხმარებლები დროთა განმავლობაში. ასე რომ ნამდვილად დამოკიდებულია მეტი დრო რამდენი იმ ხარჯების დაამატოთ მდე. თუ თქვენ აპირებთ უნდა წერა პროგრამული უზრუნველყოფის გამოყენება კიდევ ერთხელ, ალბათ, შეიძლება კარგად სწრაფი და ბინძური, როგორც ამბობენ. მხოლოდ იმისათვის, რომ ერთად. ეს კოდი, რომელიც არცხვენს თქვენ, ასე ცუდი, მაგრამ იგი იღებს სამუშაოს სწორად, მიუხედავად იმისა, რომ ეს არ არის ეფექტური. პირიქით, უფრო მეტი დრო რაღაც, მას მხოლოდ უფლება. და მაშინ ამორტიზირებულ დროს, რომ upfront ღირებულება დრო ალბათ იმასაც, თუ თქვენ შენარჩუნება ოპტიმიზაციის საერთო შემთხვევაში. და მართლაც, რომ თემა პროგრამირების, ან კომპიუტერულ მეცნიერებათა მეტი ზოგადად, ცდილობს ოპტიმიზაცია არა იშვიათია შემთხვევაში მაგრამ საერთო case-- რა ოპერაცია მოხდება ისევ და ისევ? თუ თქვენ აპირებთ უნდა მილიარდობით მომხმარებელთა ეძებს თქვენს ნახვა, ალბათ უნდა დახარჯოს ზედმეტი კვირის წინ წერილობით უკეთესი პროგრამული უზრუნველყოფა, ისე, რომ ყველა თქვენი მომხმარებლები ისარგებლებს. ახლა, მოდით ცდილობენ ხელში ეს პატარა pictorially, მაგრამ არა იმდენად, რიცხობრივი. ასე რომ, აქ მხოლოდ ძველი სკოლა სქემა. და მინდა ვთქვა, რომ ეს არის დრო. და არა აქვს მნიშვნელობა, what-- რეალურად, არა, დრო. მოდით ვთქვათ, რომ მეორე ღერძი. ვთქვათ, რომ ეს არის დრო, და ეს ზომა პრობლემა. და კომპიუტერის მეცნიერი შეიძლება მოვუწოდებთ ზოგადად ეს უბრალოდ n. n ჰგავს ჩვენი go-to ცვლადი, სადაც n არის ნომერი, n ნომერი, და ეს არის ნომერი რასაც საშუალებებით გაქვთ. ასე რომ, ამ შემთხვევაში, ო გვერდების რაოდენობა. ასე რომ, ეს შეიძლება იყოს 1000 იმ შემთხვევაში, ჩვენ უბრალოდ განუცხადა. ასე რომ, დრო შეიძლება იყოს ნებისმიერი ერთეული ზომის. შესაძლოა, ეს მეორე. შესაძლოა, ეს დღე. შესაძლოა, ეს იგივეა, გვერდი მონაცვლეობით. მნიშვნელობა არ აქვს. რაც გინდათ ითვლიან, რომელიც იქნება დრო, ან ღირს equivalently. ასე რომ პირველი ალგორითმი, თუ მე, მაგალითად, ჰქონდა 1000-გვერდი სატელეფონო წიგნი, მე ვაპირებ მიაპყროს dot იქ, იმიტომ, რომ თუ ის 1000 გვერდების დასჭირდა დაახლოებით 1000 გვერდი გამოდის, მისცეს ან მიიღოს. და მაშინ, თუ მქონდა 2000-გვერდი სატელეფონო წიგნი, და მე ვაპირებ მიაპყროს მეორე dot აქ, იმიტომ, 2,000 გვერდებზე ეს იგივეა 2,000 წამში ან გვერდზე მორიგეობით ან რასაც. ასე რომ, როდესაც მე ვთქვი ადრე, რომ ეს სახის ხაზოვანი ურთიერთობისათვის, ეს იყო მიზანმიმართული, იმიტომ, რომ მინდოდა მოგვიანებით on-- უფლება, ახლა დახაზოთ ხაზი. ეს არის სახის სწორი ხაზის ურთიერთობისათვის. ფერდობზე 1/1, თუ გნებავთ. ამასობაში მეორე ალგორითმი მიუხედავად ამისა, თუ თქვენ მოხვდით 1000 გვერდების და თქვენ გამოყენებით მეორე ალგორითმი, სადაც მე დათვლილი 2, გარდამტეხი ორი გვერდები დროს, უნდა შემუშავდეს dot ქვემოთ ან ზემოთ ჩემი ორიგინალური dot? აუდიტორია: ქვემოთ. დავით Malan: ქვემოთ, იმიტომ, რომ, როგორც ვნახეთ, იგი იღებს ნაკლები დრო, ნახევარი იმდენი დრო. ასე რომ dot უნდა იყოს ნახევარი როგორც მაღალი, როგორც სხვა. და იგივე გარიგება მეტი აქ, ამ dot ალბათ უნდა უხეშად არსებობს. ასე რომ, ჩემი მეორე ალგორითმი, ასევე, აქვს ხაზოვანი ურთიერთობის დროს. და შეგვიძლია, როგორც ასეთი. ახლა, მესამე და საბოლოო ალგორითმი ცოტა რთული მიაპყროს. მაგრამ ინტუიციურად, თუ მაქვს 1,000 გვერდები ჩემი მესამე ალგორითმი, უნდა მხოლოდ ჩემთვის, როგორც 10 ნაბიჯები. და თუ მაქვს 2,000 გვერდებზე ჩემი მესამე ალგორითმი, ეს უნდა მე არ 10 ნაბიჯები, მაგრამ 11, კიდევ ერთი. ასე რომ, ჩვენ მხოლოდ ძლივს აპირებს, რომ ეს. და აღმოჩნდება, თუ ზომით, მე ვარ აპირებს გადაჭარბებული ეფექტი, ფორმის, რომ ხაზი, საბოლოო ჯამში, არ არის სწორი ხაზი იმიტომ, რომ, მართლაც, თუ ეს იყო, იგი გამოიყურება უფრო others-- ეს არის რეალურად curved ონლაინ რომ, თუ ჩვენ მიუახლოვდით, აპირებს გამოიყურება ბევრად უფრო მოსწონს ეს. It-- ასევე, OK, იგნორირება ამ ნაწილში. ეს იყო ჩემი კალამი აპირებს კუთხე. ეს არის მოხრილი ხაზი, რომელიც ყოველთვის იზრდება, ყოველთვის, ყოველთვის, ყოველთვის იზრდება, მაგრამ მხოლოდ ცოტათი. ასე რომ, დროთა განმავლობაში, თქვენ გაქვთ ურთიერთობა, რომელიც უფრო მოსწონს ეს. იგი თითქმის გამოიყურება სწორი. მაგრამ ეს ოდესმე ისე ნელა იზრდება. მაგრამ თითქმის ყველა რაოდენობა გასწვრივ თქვენი x ღერძი, ჰორიზონტალური ღერძი, ეს დაბალია, ვიდრე სხვა ხაზები. ასე რომ, ეს შეიძლება იყოს ურთიერთობისათვის n, რომლის მიხედვითაც, თუ თქვენ გაქვთ n გვერდები, მოგაწვდით N წამში. ეს შეიძლება იყოს ურთიერთობისათვის n / 2. თქვენ გაქვთ n გვერდები, სჭირდება თქვენ n / 2 წამში, ნახევარი, როგორც ბევრი. და ეს არის ლოგარითმული ურთიერთობა, რომელიც თუ გავიხსენებთ, სისტემიდან ბაზა -2 n captures ამ სახის ზრდა, ასე ვთქვათ. ასე რომ, ეს არის ერთგვარი წმინდა გრაალი შორის სამ აქ, იმიტომ, რომ ეს უბრალოდ ასე უფრო მეტი ეფექტური, მაგრამ სავარაუდოდ უფრო რთული განახორციელოს. ნებისმიერი კითხვები? ისე ნება მომეცით გავაკეთო ეს, me გახსენით ტექსტური window მხოლოდ ასე შეგვიძლია ცდილობენ ფორმდება ის აქ. ნება მომეცით წავიდეთ წინ არის და განახორციელოს ეს ალგორითმი დამდგენი მაიკ სმიტი კოდი, თუ თქვენ, pseudocode კოდი. მე არ ვაპირებ გამოიყენოთ Java და C ++. მე უბრალოდ აპირებს გამოიყენოს ერთგვარი ინგლისურ მსგავსი სინტაქსი, რომელიც ჩვენ ზოგადად მოვუწოდებთ pseudocode კოდი. აი, მე მაქვს ცარიელი ფანჯარა. და მე რომ ნაბიჯი 1 ძალიან პირველი ალგორითმი შეარჩიო სატელეფონო წიგნი. ნაბიჯი 2 ღია წიგნის პირველ გვერდზე. ნაბიჯი 3 იქნება შევხედოთ გვერდზე მაიკ სმიტი. თუ გვერდზე, მიმართეთ მაიკ. სხვა მხრივ გვერდი და გადადით დაიხევს 3. კეთდება, ასე ვთქვათ. ასე რომ, ეს არ არის საკმაოდ სრულყოფილი, რომელიც ჩვენ დავინახავთ ამ მომენტში. მაგრამ მოდით განიხილავს, თუ რა ცნებები მე გააცნო აქ. ასე რომ ნაბიჯები 1 და 2 და 3 საკმაოდ ბევრი ზმნები. ისინი განცხადებებს, actions-- ამის გაკეთება. ასე რომ, პროგრამირების ენის, ჩვენ გვინდა ზოგადად მოვუწოდებთ მათ განცხადებებს ან ფუნქციები და პროცედურები, მოვუწოდებთ მათ ნებისმიერი რაოდენობის რამ. მაგრამ ისინი უბრალოდ actions-- ამის გაკეთება. ნაბიჯი 4 ძირეულად განსხვავებული, იმიტომ, რომ ეს ერთგვარი სვამს კითხვას. ის ამბობდა, ჩვენ სახის განთავსდება გზის გასაყარი. თუ მაიკ გვერდზე, დარეკეთ მას, ასე რომ აქციოს დაუტოვებიათ, თუ გნებავთ. და თუ არა, დაბრუნდეს ზოგიერთი სხვა page-- უფრო სწორად, ბოდიში, დაბრუნდეს სხვა ნაბიჯი, რომელიც იწვევს რაიმე სახის looping შენება. და ჩვენ ამას ისევ და ისევ და ისევ. და სინამდვილეში, იცით, რა? ჰო. სხვაგან, თუ ბოლოს წიგნაკი გაჩერება. ამიტომ, ჩვენ უნდა სახის მესამე მდგომარეობა, იმიტომ, რომ თქვენ ვერ შეინარჩუნოს გარდამტეხი გვერდი რეკლამა nauseum, რადგან საბოლოო ჯამში, მე მოხვდა ბოლოს წიგნი. და ხარვეზის პროგრამა შეიძლება იყოს არ ველით, რომ სცენარი. და მერე უბრალოდ მიხვდა, რა, დაველოდოთ ერთი წუთით, მე უნდა მესამე სცენარი. თუ მე ვარ გარეთ გვერდებზე, მე ნამდვილად უნდა უბრალოდ შეწყვიტოს. წინააღმდეგ შემთხვევაში, ეს გაურკვეველია. რა მოხდება, თუ მე შენარჩუნება განაცხადა, გახდეს გვერდზე და დაბრუნდეს, ეს არის, როდესაც კომპიუტერი გაყინვას ან მისაწოდებლად, როდესაც თქვენ მოხვდა ზოგიერთი მოულოდნელი სიტუაცია, რომ. ახლა, რაც შეეხება Mike Smith მესამე ალგორითმი შეარჩიო სატელეფონო წიგნი, ღია წიგნი, პირველი, რომ არა, პირველ გვერდზე ამ დროს, რომ ახლო oh, ისე, რომ მინდა მეორე ალგორითმი. მოდით უბრალოდ გამოტოვოთ მესამე. აუდიტორია: Oh, მე ბოდიში. დავით Malan: ეს ჯარიმა. მოდით უბრალოდ გამოტოვოთ third-- ღია საშუალო და ახლა ვეძებთ მაიკ სმიტი. თუ გვერდზე, მიმართეთ მაიკ. და მერე რა ჩვენ გვინდა ვთქვათ, აქ? სხვა რა? ჩვენ შეგვიძლია გამოვხატოთ ამ ნებისმიერი რაოდენობის გზები. იქ არ არის სწორი პასუხი. OK, თუ არა ისევ, მაგრამ ჩვენ უნდა be-- OK, ჩვენ გვინდა, რომ გაყოფა ორ, მაგრამ ჩვენ გვინდა წასვლა მარცხენა ან უფლება? როგორ გამოვთქვამთ, რომ ცნება? ისე, მაიკ შემთხვევაში, დიახ, ეს არის სამართლიანი. მაგრამ OK, ასე რომ, რეალურად კარგი წერტილი. არაუშავს. ჩვენ გავაგრძელებთ აპირებს ამ ლოგიკით. ისე-- აუდიტორია: ნახევარზე მეტი. დავით Malan: ჰო. ასე რომ, სხვა თუ გვერდი, ჩვენ ვთქვათ, ნაკლებად ვიდრე Smith, რომ მარცხნივ სმიტი, then-- ვნახოთ, არის ეს აპირებს გაართულებს? სხვაგან, თუ გვერდი მოდის ადრე სმიტი, ცრემლსადენი ნახევარი, გადაყარეთ რომელიც ნახევარი? აუდიტორია: ვფიქრობდი, რომ იყო [INAUDIBLE]. დავით Malan: მე მოსმენის ორივე პასუხი. აუდიტორია: მარცხენა. დავით Malan: კარგი, იმისათვის, მოშორებით მარცხენა ნახევარში, როგორც Lakisa ადრე, მარცხენა ნახევარი, მაშინ მე სახის მინდა, რომ უბრალოდ, რომელთა მიზანია მივდივარ უფლება. ან ექვივალენტური, და მე მივიღე პატარა ცოტა არეულობა დასაწყისში აქ, მე ეფექტურად მინდა, რომ წასვლა ნაბიჯი 2, კიდევ ერთხელ, სადაც ღია ახლო და open-- ჰო, მოდით უბრალოდ, ვამბობთ, გვერდების შუა. და ეს აფიქსირებს მას. ეს აღარ არის წიგნი. ეს მხოლოდ ნახევარი წიგნი, ისე ღია გვერდების შუა. else-- იყო თითქმის არ არსებობს. ნაბიჯი 6 სხვაგან, თუ გვერდი უძღოდა სმიტი, გაანადგურეს ნახევარი, გადაყარეთ მარჯვენა ნახევარში, მერე ნაბიჯი 2. სხვა დატოვა, მეოთხე სცენარი თუ ჩვენ არ გვაქვს გვერდებზე დარჩა გახდეს. ასე რომ ჩვენ შეგვიძლია გაწმენდა ამ მდე. და ჩვენ უნდა გაწმენდა ეს ყველაფერი. ეს არის ძალიან pseudocode კოდი, თუ იქნება, ძალიან მაღალი დონის აღწერილობა. მაგრამ ეს საერთოდ ხელში იდეა. და კიდევ ერთხელ, ამ სცენარის მიხედვით, აქვს ცნება მდგომარეობაში, ფილიალი, ჩანგალი გზაზე, მიღების decision--, თუ ეს, ამ გზით, სხვაგან, თუ ამ გზით, სხვაგან, თუ წავიდეთ რომ გზა. ეს არის ძალიან გავრცელებული პროგრამირების ტექნიკა გადაწყვიტოს, რომელი მიმართულებით უნდა წავიდეს, ასე ვთქვათ. და ჩვენ ასევე გარკვეული სახის looping სტრუქტურა, სადაც ვაკეთებთ რაღაც ისევ და ისევ. ახლა, თურმე, ბევრი როგორც, მაგალითად, მიმდინარეობს სუპერ ზუსტი მნიშვნელოვანია. მაგრამ ჩვენ ასევე ჩანს რაღაც რომ ჩვენ შევინარჩუნოთ მოუწოდებდა აბსტრაქცია. რას ნიშნავს ეს შეარჩიო სატელეფონო წიგნი? ჩვენ უბრალოდ სახის აღება თავისთავად ამ ოთახში რომ აქვს გარკვეული სემანტიკური მნიშვნელობა. ყველა ჩვენგანი უბრალოდ სახის იცით, რა, ასევე, შეარჩიო სატელეფონო წიგნი. რას ნამდვილად ნიშნავს? ისე, რომ ნამდვილად ნიშნავს ვრცელდება მხრივ, მჭლე მეტი, ვრცელდება თითების, pinch წიგნაკი თითებს შუა, აღუდგეს, გაიყვანოს მხრივ მიმართ. და ჩვენ შეიძლება მართლაც pedantic შესახებ, მართლაც, რომ სუპერ ზუსტი როგორც, რასაც მე ვაკეთებ. მაგრამ ყველა იმ ნაბიჯებს ერთობლივად რას ნიშნავს, რომ შეარჩიო სატელეფონო წიგნი. ასე რომ, ადრე, როცა აღნიშნა, რომ თითოეული ამ პირველი ორი განცხადებები შეიძლება ფიქრობდა, როგორც გაგრძელება ან ფუნქცია, ნამდვილად ის წარმოადგენს, რაც ჩვენ შენარჩუნება მოუწოდებდა აბსტრაქცია. ეს იგივეა, მაღალი დონის კონცეპტუალური აღწერა პრობლემა, რომელიც ფაქტობრივად, მოიცავს საკმაოდ რამდენიმე ნაბიჯი. ასე რომ, ეს, ძალიან, არის განმეორებადი თემა პროგრამირებაში, რომლის დროსაც მე შეიძლება დავწეროთ პროგრამა გამოყენებით სინტაქსი მოსწონს ეს pick_up_phone_book (). და მაშინ სინტაქსურად, მე აპირებს, რომ მოიპაროს რამე ყველაზე პროგრამირების ენები. ახლა, ნაბიჯი 1 გამოიყურება კი უფრო ჰგავს ფუნქცია, როგორც პროგრამისტი ეძახით. როგორც ჩანს, კოდი, რომ ვინმე მისცა სახელი და მიეცა ჩემთვის გამოიყენოთ როგორღაც სხვა სიტყვა, რაც ხაზს მე ხაზგასმით წარმოადგენს ფუნქცია, რომელიც, შესაძლოა, მე კი არ განახორციელოს თავს. ვინმე ძველი, ბრძენი, ვიდრე მე უკვე figured თუ როგორ გამოთქვას ცნება კრეფა up სატელეფონო წიგნი. და ეს, როგორც ხუთ ნაბიჯები მე უბრალოდ წავიდა, off დაბრუნება ჩემი უფროსი. მაგრამ იგი უკვე განხორციელდა ამ, მისცა იმ რამდენიმე ნაბიჯები სახელი, pick_up_phone_book. და ფრჩხილებში მხოლოდ ის, რაც ყველაზე პროგრამისტები დასასრულს განცხადებები მოსწონს ეს. მე ახლა შეიძლება დადგეს მისი ბეჭები და აღარასოდეს, ვფიქრობ, თუ რას ნიშნავს შეარჩიო სატელეფონო წიგნი. მე შემიძლია მხოლოდ ვთქვა, შეარჩიო სატელეფონო წიგნი. და სწორედ ის, რაც ყველა ჩვენგანი ადამიანები გააკეთეს აქ. როდესაც ჩვენ, ალბათ, 1 წლის, 2 წლის, ვინმე უნდა გვასწავლოს, თუ რა იგულისხმება, რომ შეარჩიო სატელეფონო წიგნი. და ოდესმე მას შემდეგ, ჩვენ ამოღებული დაშორებით იმ ძალიან უინტერესო მექანიკური ნაბიჯები. და ჩვენ უბრალოდ უნდა ინტუიციური გაგება რას ნიშნავს, რომ შეარჩიო სატელეფონო წიგნი. და თქვენ შეგიძლიათ განზოგადების ახლა უფრო რთული რამ ააშენოს შენობა. ისევე, როგორც ზოგიერთი ადამიანი, რომ რეალურად აქვს მნიშვნელობა. კონტრაქტორებს, არქიტექტორები, რომ აქვს გარკვეული მნიშვნელობა აქვს. და ისინი იცის რა უნდა გააკეთოს, თუ მე ვუთხარი, წავიდეთ ააშენოს შენობა. მაგრამ ყველაზე მეტად ჩვენს ოთახში ვერ გამკლავება, რომ დონეზე აბსტრაქცია. თქვენ უნდა გვითხრათ მომწონს მისაღებად შოველ და წავიდეთ მიიღოს კონკრეტული და ფრჩხილის ცალი ხის ერთად და რიცხვში არის ჩართული მშენებლობის შენობა. და ეს იმიტომ, რომ ჩვენ არ გვაქვს ამჟამად უკვე დაპროგრამებულია, რომ გავიგოთ, რას ნიშნავს, რომ ააშენოს შენობა. ჩვენ არ გვაქვს, რომ აბსტრაქცია. ჩვენ არ გვაქვს, რომ ფუნქცია. ასე რომ, რას დავინახავთ პროგრამირების ენები, ზოგადად, განსაკუთრებით უფრო თანამედროვე ენებზე, როგორიცაა Java, PHP, Ruby და Python, ისინი ბევრად უფრო mature ვიდრე ძველი ენებზე, როგორიცაა C და C ++ და კიდევ სხვები. და ამიტომ ისინი უფრო ფუნქციონირება აშენდა. სხვა კოდი უკვე დაწერილი ხალხის მიერ წარსულში რომ ჩვენ შეგვიძლია ახლა მოვუწოდებთ ან მოწვევა ან გამოიყენოთ, როგორც მე მან მიანიშნა at ამ ხაზი გაუსვა ხაზი აქ. ასე რომ, მიუხედავად იმისა, რომ ჩვენ არ ვსაუბრობთ პროგრამირების ენები per se, მხოლოდ pseudocode კოდი, ყველა იდეები ჯერ კიდევ, რომ დისკუსია. და აღმოჩნდება, რომ სიზუსტით არის სუპერ მნიშვნელოვანია, როგორც აბსტრაქცია. და მოდით ცდილობენ კომუნიკაცია, რომ ასეთია. მე შემთხვევით ალბათ გაფუჭებული ეს სასქესო ორგანოების დანახება სლაიდ ეკრანზე ნაადრევად. მაგრამ ნება მიბოძეთ ითხოვენ მამაცი მოხალისე, თუ არ იბადება ახლოვდება. ნეტავ წინ კამერა, თუ თქვენ კარგად, რომ. არავის მინდა ამუშავება და მისცეს მითითებები თქვენი კოლეგები აქ? უბრალოდ უნდა მოვიდეს აქ და დგანან აქ და რამდენიმე სიტყვა ვთქვათ. Victoria გაღიმებული ყველაზე და თავიდან ჩემს თვალში ყველაზე. თუ იქნება სურვილი, რომ მოდის up? კარგი. და თუ ყველას თქვენს რაოდენობა შეიძლება აიღოს ნაჭერი ჯართი ქაღალდი, თუ გნებავთ. გაფორმებულია ქაღალდი კარგად არის. მოდის გარშემო ამ გზით. ან რამდენიმე ქაღალდი, რომელიც თქვენ გადაეცათ გუშინ, მხოლოდ რაიმე ცარიელი ფურცელი ქაღალდი, თუ შეიძლება. და თუ არ აქვს რაიმე, უბრალოდ ვთხოვთ თქვენი მეზობელი, თუ შესაძლებელი იქნებოდა. ასე რომ, მომენტში, ამ მაგალითად, Victoria აპირებს როლი პროგრამისტი, ინჟინერი, რომელიც საჭიროებს პროგრამა თქვენ, როგორც კომპიუტერი, რომ რამე. და ჩვენ დავინახავთ, რა ვარაუდები თქვენ გადაწყვიტეთ. ჩვენ დავინახავთ, თუ ზუსტი იგი ირჩევს იყოს. და თუ ამ აქციის მიდის pedagogically კარგად, უამრავი შეცდომები გაკეთდება, რომ ჩვენ შემდეგ გამოიყენოთ რომელიც, როგორც საშუალება განსახილველად. მაგრამ გამოწვევა თქვენ უნდა იყოს, რათა თავიდან ავიცილოთ იმ შეცდომების, იყოს კარგი პროგრამისტი. ასე რომ, გამოწვევა მხრივ, თუ ნეტავ მომეწონა ფეხით მეტი აქ, თქვენს წინაშე Victoria ეკრანზე აქ და იმედია, არც ერთი თქვენგანი მახსოვს, როდესაც მე flashed ეკრანზე. და არ ჩართოთ გარშემო ყველა, იმიტომ, არსებობს კიდევ ერთი ეკრანზე ამ ოთახში რომ მე შეგიძლიათ გამორთოთ. ასე რომ, არ ჩართოთ გარშემო. თვალწინ Victoria არის, რომ იმავე scream. და მისი სამუშაო არის ის, რომ გითხრათ თქვენი ნაჭერი ქაღალდი რა უნდა მიაპყროს. და ჩვენ ვხედავთ, რომელიც ეფუძნება ზეპირი მითითებები მარტო, კომპიუტერული კოდი, თუ გნებავთ, რამდენად ზუსტია თქვენი ნახატების are-- თქვენი შესრულება. აზრი? აუდიტორია: Yeah. დავით Malan: კარგი, შეასრულოს. აუდიტორია: დახაზეთ მოედანზე. [სიცილის] დავით Malan: არ შეკითხვები შეიძლება სთხოვა. შეიძლება მხოლოდ ის, რაც თქვენ განუცხადა. ოჰ, და თუ თქვენ გაქვთ დღევანდელ სლაიდები გაიხსნება tab, არ შევხედოთ თქვენი tab. კარგი? აუდიტორია: OK, დავხატოთ წრე. Slope-- შემიძლია ვთქვა ფერდობზე? დავით Malan: Up თქვენ. აუდიტორია: ფერდობზე. და სამკუთხედის. დავით Malan ყველა უფლება. და აქ დარჩენა მხოლოდ ერთი წუთით. და მე ვაპირებ მოდის გარშემო რაღაც მომენტში. და არ უნდა დააყენოს თქვენი სახელები მასზე. მიადევნე თვალი მოდის გარშემო და შეგროვება თქვენი ნახატების, თუ არ იბადება tearing მათ. აქ არის ის, რაც მივიღეთ. მე პროექტის ეკრანზე. მე ვხედავ მოედანზე, წრე, ფერდობზე, და სამკუთხედის. ასე რომ, ერთი პასუხი არსებობს. და let's-- whoops. გმადლობთ. აქ არის კიდევ ერთი ასორტიმენტი, და ერთი უკან. ასე რომ, ისინი, როგორც ჩანს, ხელში სული. გმადლობთ. არსებობს კიდევ ერთი, და აქ არის კიდევ ერთი. ფერდობზე ინტერპრეტაცია არის ცოტა განსხვავებული, ცოტა curvy. და უახლოესი, ან იმის გამო, რომ მშვენიერი სპეციფიკა, რომელიც თქვენ აღწერილი, ან იქნებ სახის დაინახა, რომ ადრე, ეს მართლაც რა ვიქტორია რეალურად აღწერს. მაგრამ ახლა, იმ თქვენ, რომლებიც არ მივიღებ საკმაოდ უფლება, მოდით შესთავაზოს გარკვეული პროტესტი აქ. ასე რომ, Victoria პირველი განაცხადა მიაპყროს მოედანზე. და ახლა, შეიძლება ვივარაუდოთ, გულისთვის დღეს რომ ყველამ იცის როგორ დავხატოთ მოედანზე. მაგრამ ეს არ არის მთლიანად ნათელი, უფლება? როგორ შეიძლება თქვენ გაქვთ შედგენილი მოედანზე, ან შეიძლება იყოს ზოგიერთი ორაზროვნება აქ კომპიუტერი? აუდიტორია: მდებარეობა და ზომა. დავით Malan: საიდან, არა? ყველა თქვენგანს ჰქონდა ქაღალდის ზოგიერთი ფორმის, ზოგადად ოთხკუთხედს, მაგრამ ოდნავ სხვადასხვა ზომის. მაგრამ, რა თქმა შეეძლო შედგენილი, თუ სურდა, უზარმაზარი კვადრატული, შესაძლოა, პატარა მოედანზე. შესაძლოა, ეს იყო გარდამავალია. მე არ ვფიქრობ, ჩვენ ვნახეთ, რომ. მაგრამ ეს შეიძლებოდა ყოფილიყო უფრო diamond მოსწონს, მაგრამ მაინც, მიუხედავად ამისა, მათემატიკურად მოედანზე. ასე რომ, სავარაუდოდ, ბუნდოვანია. შემდეგ მან განაცხადა, დავხატოთ წრე. ზოგიერთი არ მოუტანს მას შემდეგ ის, რაც არ არის დაუსაბუთებელი, იმიტომ, რომ ადამიანები, როგორც წესი, ვფიქრობ, ან წაკითხული მარჯვნიდან მარცხნივ უმეტეს ენებზე, ასე რომ არ ცუდი ვხვდები. მაგრამ, რომ წრე შეიძლება შიგნით მოედანზე, შეიძლებოდა ყოფილიყო გარშემო მოედანზე, შეიძლებოდა ყოფილიყო სხვაგან ფურცელი, ასე რომ, სავარაუდოდ, ბუნდოვანია. ფერდობზე შეიძლება ყოფილიყო, შესაძლოა, აღების ყველაზე თავისუფლებების სიტყვიერი რა, რომ ნიშნავს. და ზოგიერთ თქვენგანს გაგებული მას, როგორც ეს არის ტალღოვანი ონლაინ ან სწორი ხაზი ან მოსწონს. და მაშინ სამკუთხედის, ძალიან, შეიძლება ორიენტირებული ნებისმიერი რაოდენობის გზები. მოკლედ, თუნდაც ის, რომ თქვენ ერთი შეხედვით და თქვენ, აბა, ისე, მარტივი, ბავშვი შეიძლება მიაპყროს ამ, კარგად არ მართლაც, თუ თქვენ სუპერ, სუპერ დამაჯერებლად და ვუთხრა კომპიუტერი ზუსტად რა უნდა გააკეთოს. ასე რომ, თუ ჩვენ შეგვიძლია, თუ თქვენ გაქვთ მეორე ფურცელზე, მოდით ცდილობენ ამ ერთხელ. და მე ვაპირებ, რათა Victoria ერთი სხვა მაგალითი ეკრანზე აქ. ისევ და ისევ, არ ჩართოთ გარშემო და არ შევხედოთ თქვენი სლაიდები. და მე მივცემ მას ერთი წუთით ვიფიქროთ იმაზე, როგორ აღწერს ამ. ნუ მათ ვხედავ შიში თქვენს თვალში. [სიცილის] და კიდევ ერთხელ, ამჯერად ბერკეტები ზოგიერთი იმ takeaways და ცდილობენ მიიღონ თითქმის ყველას მინიმუმ სწორი პასუხი. აუდიტორია: OK, მიიღოს ნაჭერი ქაღალდი, გამოიყურება შუა, რომ ნაჭერი ქაღალდი. შუა რომ ცალი ქაღალდი, მიაპყროს კუბი. [სიცილის] დავით Malan: რა ვისწავლეთ? ჩვენ იმდენად ახლოს. OK, ვიმეორებ, თუ შეიძლება, ყველას. აუდიტორია: შუა ნაჭერი ქაღალდი, მიაპყროს ობიექტი, რომელიც ჰგავს კუბი. დავით Malan: კარგი, რომ ყველა თქვენ უნდა იმუშაოს. ნება მიბოძეთ იყოს ანალიტიკური და არა იმდენად კრიტიკული, მაგრამ იმისათვის, რომ სარჩელი რომ ვიქტორია ნამდვილად როგორც ჩანს, ფიქრობს, ძალიან მაღალი დონის აბსტრაქცია, რომელიც არ არის დაუსაბუთებელი. რადგან, წინააღმდეგ შემთხვევაში, ჩვენ გვინდა ყველა იქნება საკმაოდ დისფუნქციური, თუ ჩვენ უნდა ოდესმე ასე ზუსტი ერთად ყველაფერს ვაკეთებთ მსოფლიოში. მაგრამ ამბობდა წასვლა ახლო I გვეგონა, რომ ასეთი კარგი სიმღერა იქ, ისევე როგორც წასვლა ძალიან შუა გვერდი, და შემდეგ მიაპყროს კუბი. ასე რომ, ის ფიქრობს, აბსტრაქცია, იმიტომ, რომ ის ჯერ კიდევ ათვალიერებენ რა არის ეკრანზე, როგორც მართლაც კუბი. მაგრამ არსებობს ამდენი შესაძლებლობები ინტერპრეტაციის არსებობს. და სინამდვილეში, იქ ამდენი სხვა გზები შეიძლება გამოხატოს რომ, რომელიც მე ვთავაზობ, ამ მომენტში. ასე რომ, აქ ჩვენ გვაქვს ერთი განსახიერება საქართველოს სურათზე whoops-- ერთი განსახიერება სურათი, ასე ცოტა სამი dimensionality მას, რომელიც არის ლამაზი. აი კიდევ ერთი, სადაც თქვენ გაქვთ იგივე, თუმცა ეს ერთგვარი ღია კუბი. ზოგიერთი ეგ აიღო ეს პატარა მეტი ბინა, ორ განზომილებიანი. და ეს ჯარიმა. ასე რომ, არსებობს, მართლა ცენტრში ქაღალდზე. ეს ერთი მე ვფიქრობ, თქვენ მოსწონს, რადგან თუ ჩვენ აქ, ეს არის ის, რაც მას აღწერს. ასე რომ, ახლა ნება მომეცით შესთავაზოს როგორ სხვაგან ჩვენ შეიძლება აღწერს ამ სიტუაციაში. უკან დღეს, ერთ-ერთი ყველაზე უფრო გავრცელებული გზა ვისწავლოთ პროგრამირების დაწერა კოდი, წერს ხაზები ინსტრუქციები, რომელიც აკონტროლებს პატარა კუს ეკრანზე. ლოგო და სხვა ვარიანტი ამ იყო სახელით ენაზე. და კუს ცხოვრობდა მსოფლიოში. ამიტომ ვარაუდობენ, რომ ამ მართკუთხა სივრცეში თავის სამყაროს. და თქვენ დაიწყება მიერ assuming-- I ნამდვილად არ ვიცი, როგორ უნდა მიაპყროს კუს, ასე რომ, მოდით ეს მოსწონს ეს. და მაშინ ის მივიღე shell და მაშინ შესაძლოა, რამდენიმე ფეხზე. ასე რომ, ალბათ ეს პატარა ხასიათი ეკრანზე. და ობიექტი ამ პროგრამირების ენა იყო, რათა აიძულოს კუს წასვლა up, down, მარცხნივ, მარჯვნივ და იმისათვის, რომ მისი კალამი ან აირჩიოთ მისი კალამი up, ასე რომ, ის დახატავდი ეკრანზე ამ ძალიან ბინა მართკუთხა მსოფლიოში. ასე რომ, სადაც ვფიქრობდი, რომ თქვენ შეიძლება აპირებს, და სადაც თქვენ უნდა განიხილოს diving ქვემოთ სულიერად, როდესაც აღწერს ინსტრუქციები უფრო ზოგადად, მე აცხადებენ, რომ თქვენი კალამი ქვემოთ ახლო და ჩვენ, თავი დაეღწია კუს, იმიტომ, რომ მე ნამდვილად ვერ შენარჩუნება ხატვის მას ძალიან კარგად. და ახლა, როგორ შეიძლება მე ვიტყვი, მიაპყროს კუბი? ისე, ჩვენ შეგვიძლია ვთქვათ, რაღაც გათამაშება დიაგონალური ხაზი ჩრდილო, მაგალითად, ან 45 ხარისხი კუთხე მოყოლებული. და რომ შესაძლოა, მიღებული მე აქ. და მე საკმაოდ შორს კუბი. მაგრამ ახლა, მე შეიძლება ითქვას, როგორიცაა აქციოს 90 გრადუსი მარცხნივ და დახაზოთ ხაზი ტოლი დასავლეთით. და მე ვერ გაგრძელდება მსგავსი მიმართულებით. და ეს არ იქნება ადვილი. და სიმართლე გითხრათ, ჩვენ ალბათ, არ ყოფილა აქ ხუთ წუთში. მაგრამ იქნებ ჩვენ არ მივსულვართ ის, რაც, ბოლოს დღეს, მთავრდება კუბი, მაგრამ ჩვენ საპირისპირო შიგნით რომ აბსტრაქცია ამის გაკეთება ასეთი დაბალი დონეზე, რომ თქვენ ნამდვილად ვერ თუ რას აკეთებს, სანამ მთელი საქმე ის არის, ფაქტობრივად, არ არსებობს გვერდზე. ასე რომ, ეს არის ზოგადი პრინციპი, ერთხელ, პროგრამირების ეს იდეა აბსტრაქცია. ეს ასე შესანიშნავად ძლიერი, რადგან, კიდევ ერთხელ, მან უბრალოდ თქვა, მიაპყროს კუბი, რომელიც ყველა ჩვენთვის საკმაოდ ბევრი იქნებოდა grok ძალიან სწრაფად. ჩვენ უბრალოდ მესმის, OK, მიაპყროს კუბი. ჩვენ შეიძლება არ ვიცი ორიენტაციის, ასე რომ, ჩვენ შეიძლება ცოტა უფრო სწორად, მაგრამ ჩვენ შეგვიძლია ზოგადად ფოტოზე და იცით, რა კუბი. და ეს არის სასარგებლო, იმიტომ, რომ თუ ყოველ დროს, თქვენ დაჯდა, როგორც პროგრამისტი at თქვენს კლავიატურაზე წერა კოდი, თუ თქვენ უნდა ვიფიქროთ ასეთი დაბალი დონე, არც ერთი ჩვენგანი ოდესმე არაფერი გაკეთებულა. და რა თქმა უნდა, არავინ არ სარგებლობენ პროცესში წერა კოდი. ეს იქნება, როგორიც წერილობით 0 და 1 ს, რაც გულწრფელად არ იყო, რომ დიდი ხნის წინ ადამიანები წერა კოდი 0 და 1 ს. და ჩვენ ძალიან სწრაფად გამოვიდა ამ უმაღლესი დონის languages-- C ++ და Java და სხვა. მოდით ცდილობენ ამ კიდევ ერთხელ, უბრალოდ flip მაგიდები, ისე, რომ ყველა ჩვენგანი გაქვთ შანსი, რომ ვფიქრობ, საკმაოდ იგივე გზით. შეგვეძლო კიდევ ერთი მოხალისე ამ დროის ამუშავება გამგეობის და მიაპყროს, არ უყვებიან? ჰო, OK. ბენ, მოდის up. და, ბენ, ამ შემთხვევაში, თუ თქვენ წინაშე ფორუმში, არ გამოიყურება მარცხენა, არ გამოიყურება. მხოლოდ რა თქვენი კოლეგები აქ გეტყვით. და ყველას ოთახში, თქვენ ახლა პროგრამისტი. ის კომპიუტერი. და სურათზე მე არჩეული აქ წინასწარ არის ერთი აქ. ისინი just-- ისინი ფიქრი სასაცილო ხუმრობა არის ყველა. ასე რომ ამჯამად ვინმე მინდა მოხალისე პირველი ინსტრუქცია ან განცხადება, რომ უნდა ბრძანება ბენ კალამი? და ჩვენ ყველაფერს გავაკეთებთ ამ ერთობლივად, შესაძლოა, ერთი დავალებით თითოეულ ადამიანს. ვწუხვარ? აუდიტორია: დახაზეთ წრე. დავით Malan: დახაზეთ წრე არის პირველი რამ გავიგე. აუდიტორია: Up დაბრუნება. დავით Malan: Up დაბრუნება. OK, ჩვენ შეგვიძლია მოდით წაშლა, გაუქმება. და ახლა, ვინმეს. Dan, რომ თქვენ კომფორტულად გთავაზობთ შემდეგი ინსტრუქციის? აუდიტორია: რა თქმა უნდა, მიაპყროს ცენტრში ბოლოში წრე, ერთად small-- პატარა პატარა სივრცეში, რომ, დავხატოთ სწორი ხაზი ქვემოთ სამი მეოთხედი გზა ქვემოთ ფორუმში უმნიშვნელო კუთხე თქვენი მარცხენა. დავით Malan: კარგი. აუდიტორია: მცირე კუთხე. დავით Malan: მეცნიერება, საკონტროლო-Z. კარგი. Andrew, გსურთ ვთავაზობთ up შემდეგი ინსტრუქციის? აუდიტორია: რა თქმა უნდა. ბოლოში რომ ხაზი, კიდევ ერთი უმნიშვნელო angle-- whoops-- იქნებ დაახლოებით ერთი მესამედი სიგრძის [INAUDIBLE], უმნიშვნელო კუთხე ქვევით და, როგორც მესამე სიგრძის [INAUDIBLE]. ასე რომ, yeah, რომ წერტილი, დახაზეთ ხაზი მესამე სიგრძეზე წინა ხაზი შემდგომი მარცხენა. დავით Malan: ეს OK? სწორი ხაზი, რომ OK? OK, Olivier, გსურთ შესთავაზოს up შემდეგი? აუდიტორია: [INAUDIBLE] საწყისი ბოლოში წრის, [INAUDIBLE]. ხატვა მარჯვენა მხარეს [INAUDIBLE] სანტიმეტრი. [სიცილის] დავით Malan: მე ვფიქრობ, თქვენ აპირებს უნდა გარდაქმნას, რომ inches აქ. აუდიტორია: შეწყვიტოს. [სიცილის] დავით Malan: OK. [? Ara,?] გინდათ შესთავაზოს up შემდეგი? აუდიტორია: დახაზეთ [INAUDIBLE] ზედა [INAUDIBLE] იგივე. [INAUDIBLE] წრე, მიაპყროს იმ [INAUDIBLE] და დავხატოთ [INAUDIBLE]. დავით Malan: კარგი, აღარ გაუქმება. მოდით გავაკეთოთ ერთი ან ორი სხვა ინსტრუქციები. Chris, გსურთ ვთავაზობთ ერთი? აუდიტორია: ბოლოში წრე, [INAUDIBLE] მიაპყროს თანაბარი ხაზი slopping ქვევით მარცხენა [INAUDIBLE]. დავით Malan: OK. ანდრია? ჩვენ did-- Karim? აუდიტორია: დაწყებული უფლება ხაზი, ბოლოს მარცხენა ხაზი, ბოლოში, თქვენ აპირებს წავიდეს უფლება შესახებ იმავე სიგრძის, როგორც, რომ ხაზი თქვენ, ხატვის უფლება [INAUDIBLE]. [INAUDIBLE] გრადუსი, ასე [INAUDIBLE] degrees მარჯვენა მხარეს. დავით Malan ყველა უფლება. მოდით პაუზის. არ ჩართოთ გარშემო ამჟამად. მოდით პაუზის, და მოდით ვცდილობთ ერთ სხვა მცდელობა სანამ ჩვენ გამოავლინოს ბენ ის, რაც უკვე ხატვის. შეგიძლიათ shuffle ბენ right-- ან რეალურად, არა, მოდით უბრალოდ მოგაწვდით სხვა ფორუმში, კიდევ უკეთესი. ასე რომ ვინმე ახლა მინდა მიიღოს მეტი მიდგომა რომ ვიქტორია ჰქონდა ადრე, სადაც ვისაუბროთ მაღალ დონეზე აბსტრაქცია და მხოლოდ განაჩენის ან ორი აღწერს ბენ რა უნდა მიაპყროს გარეშე მისაღებად შევიდა Weeds, ასე ვთქვათ, ამ ქვედა დონეზე? Victoria. [სიცილის] აუდიტორია: ხატვა ფიგურა ფეხით კაცი. და მისი ფეხები და იარაღის უნდა იყოს მარჯვენა მხარეს. დავით Malan: კარგი, რომ ყველა თქვენ. კარგი. რატომ არ უნდა გამოავლინოს ბენ რაც მან გააკეთა. ასე რომ, რაუნდი ტაში. ეს იყო ყველაზე რთული ალბათ. მიუხედავად იმისა, რომ ჩვენ ვსაუბრობთ საკმაოდ სულელური თვალსაზრისით შესახებ უბრალოდ ხატვის სურათები, იმედია ნამდვილად ვაფასებ ხარისხი გამომსახველობა, რომელიც შეიძლება იყოს საჭირო იმისათვის, რომ გითხრათ კომპიუტერში რა უნდა გააკეთოს. და სინამდვილეში, ის ფაქტი, რომ ბენ შეძლო მიაპყროს ამ ასე სწრაფად არის ერთგვარი აღთქმა გამოყენებით ენის, შესაძლოა, უფრო მაღალ დონეზე მობილური English, რომელიც საშუალებას აძლევს მას უბრალოდ გამოიყენოთ სიტყვა, ან მოისმენს სიტყვა Victoria, რომელიც საშუალებას მას ამ abstractions-- დავხაზო ფიგურა ფეხით right-- რომ ერთგვარი აქვს გარკვეული სემანტიკური მნიშვნელობა, რომ ეს არ არის თითქმის როგორც აშკარა, როდესაც თქვენ მხოლოდ ამბობდა, რომ თქვენი კალამი, მიაპყროს მარჯვნივ, მიაპყროს მარცხენა. ასე რომ, ეს, ძალიან, ძალიან საერთო პროგრამირებაში. ეს იქნება, განაცხადა, რომ, როგორც ძალიან დაბალი დონის ენაზე პროგრამირების 0 და 1 ს თუ. და ეს იქნება მაღალ დონეზე ენის პროგრამირების Java, ან რამე მაგდაგვარს. ცოტა გამარტივება, მაგრამ ეს სახის, როგორიცაა ემოციური განცდა, რომ გრძნობს, როდესაც გამოყენებით ერთი ასეთი რამ, ან სხვა. ცოტა იმედგაცრუება აქ, რომ საჭიროა ასეთი სიზუსტით, მაგრამ საშუალება იყოს ცოტა looser ერთად ინტერპრეტაცია აქ. რა თქმა უნდა, შეცდომები შეიძლება წარმოიშვას შედეგად. თუ გსურთ at home-- ჩვენ ამას არ გააკეთებს, ამ ერთი კლასის მაგრამ თუ მინდა რათა ეს ერთ-ერთი მთავარი, ვფიქრობდი, რომ ჩვენ ჩაყვინთვის შევიდა ამ. ასე რომ, თუ გსურთ, რომ ითამაშოს ამ თამაში თქვენი მნიშვნელოვანი სხვა ან ბავშვები ან ანალოგიური, შეიძლება ისარგებლოს, რომ ისევე. მოდით წავიდეთ წინ და შეხედეთ ერთი ბოლო რაც აქ გამოთვლითი აზროვნება. და რომ მოაქვს John Oliver, არ კლიპი თქვენ შეიძლება არ მინახავს ღამით, მაგრამ, გარკვეულწილად ბოლო საკითხი. რამდენიმე თვის უკან, Volkswagen მიიღო საკმაოდ ცოტა ჯავშანჟილეტი რა მიზეზით, თუ იცით? რას მიიღონ უბედურება? ჰო, ასე emissions-- ისინი ცდილობდნენ სცემეს გამოყოფა ტესტებს არსებითად, რომ მათი მანქანა აბინძურებს გარემოს ნაკლებად როდესაც მათი მანქანა იყო მიმდინარეობს ტესტირება და აბინძურებს გარემოს უფრო როდესაც მანქანა არ მიმდინარეობს ტესტირება. და რაც უფრო საინტერესო მსოფლიოში, როგორც თქვენ შეიძლება ჰქონდეს სქესის საუბრებს მოსწონს, რა არის it-- CarPlay, Apple- ის პროგრამული უზრუნველყოფა მანქანები და ის ფაქტი, რომ ბევრი ჩვენგანი უფრო აქვს სენსორული ეკრანები ჩვენს მანქანა, იქ საშიში თანხა პროგრამული ხალხის მანქანა დღეს, რომელიც გულწრფელად ხსნის მთელი რა ჭიები, როდესაც საქმე უსაფრთხოებისა და ფიზიკური რისკი. მაგრამ დღეს, მოდით ფოკუსირება მხოლოდ რა არის ჩართული წერილობით პროგრამული უზრუნველყოფა რომელიც შესაძლოა არ gamed სისტემა. იყიდება განსაზღვრება პრობლემა, იმ უცნობ, მოდით შევხედოთ ჯონ ოლივერ. და მათთვის, ვინც იცნობს პრობლემა, მოდით შევხედოთ ეს გართობა ობიექტივი მეშვეობით ჯონ ოლივერ ისევე. ნება მომეცით მოხვდა პიესა ამ, მე ვფიქრობ, სამ წუთიანი შესავალი. ჯანდაბა. [ვიდეო აღწარმოების] -Cars-- დავით Malan: ცხადია, on YouTube, it's-- - --The Smartest გმირები სწრაფი და Furious ფილმები. ამ კვირაში, გერმანული ავტომწარმოებელი Volkswagen აღმოჩნდა შუა სკანდალი პოტენციურად სისხლის სამართლის პროპორციები. -Volkswagen არის მზადება მილიარდობით ჯარიმები, შესაძლო სისხლის სამართლის პასუხისგებაში მისი აღმასრულებლები, როგორც კომპანია ბოდიშს გაყალბების 11 მილიონი მანქანები დაეხმაროს მას სცემეს გამოყოფა ტესტები. -Certain დიზელის მოდელები იქნა შემუშავებული დახვეწილი პროგრამა, რომელიც მეორადი ინფორმაცია, მათ შორის პოზიცია საჭე და მანქანა სიჩქარე, რათა დადგინდეს, მანქანა იყო გადიოდა ემისიები ტესტირება. Under გარემოებას, ძრავა შეამცირებს ტოქსიკური გამოყოფა. მაგრამ მანქანა გაყალბდა გვერდის ავლით რომ როდესაც ის იყო ორიენტირებული. ემისია გაიზარდა 10-დან 40 ჯერ ზემოთ მისაღები EPA დონეზე. -Wow, 10-დან 40-ჯერ უფრო მეტი, ვიდრე EPA საშუალებას აძლევს. ეს არის ყველაზე უარესი, რაც Volkswagen არასდროს კეთდება, არის რაღაც თქვენ შეიძლება ითქვას, თუ ნეტავ არასდროს მსმენია მსოფლიო ომის დროს. მაგრამ იქნებ აშკარა ნიშანი, თუ როგორ ბევრი უბედურება Volkswagen არის, არის, რომ ხალხი ძალიან დაბრუნება არ გადადგა. აღმასრულებელი დირექტორი გადადგა ოთხშაბათს შემდეგ scrambling გავაკეთოთ დაზიანება კონტროლი, ამბობდა, რომ ის უსასრულოდ ბოდიში, რომელიც გაისმა დიდი სანამ აღმოჩნდა ის იყო მხოლოდ 10% ბოდიში მაგრამ გააყალბეს მისი პირით ხელოვნურად გაბერვა მისი sorriness. და იმავდროულად, Volkswagen აშშ-ის მთავარი ჰქონდათ ბოდიშის საკუთარი. მოდით იყოს ნათლად, ჩვენი კომპანიის უსინდისო. და ჩემი გერმანული სიტყვა, ჩვენ მთლიანად ბრალია. -ჰო, მაგრამ მთლიანად ბრალია up არ არის გერმანული სამუშაოები. და გერმანული ენის ბევრი ლამაზი ფრაზები აღწერს სიტუაციებში, ისევე, როგორც ეს, როგორიცაა [გერმანიის], რაც იმას ნიშნავს, უხეშად მწუხარებას, რომ მოდის ბიზნეს დაკავშირებული სიცრუის, ან [გერმანული], რომელიც ითარგმნება როგორც არცხვენდნენ პირობა მამა, რომელიც მოიცავს clouds ბენზინი. ეს ლამაზი ენაზე. ეს უბრალოდ იალქნები off ენა. და სხვათა შორის, მიუხედავად იმისა, რომ ადამიანის ბოდიშის მოხდა არ გაისმა გულწრფელი, აღსანიშნავია, რომ მან ეს განცხადება ოფიციალურად party 2016 Volkswagen Passat, რაც იმას ნიშნავს, რომ ცოტა ხნით მას შემდეგ, რაც განაცხადა, სამწუხაროა, მან განაცხადა, რომ ეს. -მადლობა ძალიან ბევრი მოდის. ისიამოვნეთ. შემდეგი დიდი Lenny Kravitz. [მუსიკის დაკვრა] -OK, OK, დამთავრებული თქვენი ბოდიშის მდე შემდეგი Lenny Kravitz არ კივილი ფხიზელი contrition. ეს screams ვთხოვეთ Bon Jovi, და მან თქვა, არ არსებობს. Volkswagen ბრენდის აქვს დაზიანდა. და გულწრფელად, მათი ახალი რეკლამა კამპანია არ არის ზუსტად ეხმარება. - [გერმანიის], ჩვენ Volkswagen მინდა ბოდიშს იტყუებენ თქვენ ჩვენი მანქანები. [END აღწარმოების] დავით Malan: ასე რომ, ეს იყო შემოვლითი გზა of-- ბოდიში ეს იყო შემოვლითი გზა შემოღების ფუნდამენტური პრობლემა პროგრამული უზრუნველყოფა, რომელიც არის, რომ თქვენ უნდა აღმოაჩინოს გარკვეული პირობები. ასე რომ, კითხვა ხელთ აქ არის, თუ როგორ აკეთებს მანქანის პოტენციურად, განხორციელებული პროგრამული უზრუნველყოფა ამ პროგრამისტების, აღმოაჩინოს, რომ ის რეალურად ხდება? ასე უნდა იყოს სუპერ ნათელი, რას აკეთებდნენ იყო, გარემოში, სადაც პროგრამისტები figured მანქანა იყო ტესტირება, ისინი როგორღაც გააკეთა მანქანა ასხივებენ ნაკლები გამოყოფა, ნაკლები გამოყოფა, ასე რომ ნაკლებად ტოქსიკური fumes და ასეთი. მაგრამ როდესაც ეს ჩვეულებრივ მართვის გზაზე, ეს იქნებოდა მხოლოდ გადასცემს იმდენი დაბინძურების მას სურდა. ასე როგორ შეიძლება ჩვენ წერენ pseudocode ამ ალგორითმი? როგორ შეიძლება ჩვენ წერენ pseudocode პროგრამული უზრუნველყოფის გაშვებული მანქანაში? ვგულისხმობ, მოკლედ, ეს boils ქვემოთ რაღაც მსგავსი. თუ მიმდინარეობს ტესტირება, ასხივებენ ნაკლები. სხვა ასხივებს სხვა. მაგრამ, რომ ცოტა ძალიან მაღალი დონის, არა? მოდით ცდილობენ ჩაყვინთვის რაც ამ აბსტრაქცია მიმდინარეობს ტესტირება საშუალებით. სხვა სიტყვებით, მაშინაც კი, თუ თქვენ იცით, არაფერი მანქანები, რა სახის კითხვები შეიძლება თქვენ ვთხოვო, რათა დადგინდეს, თუ თქვენ მიმდინარეობს ტესტირება, თუ თქვენ მანქანა? რა მახასიათებლები შეიძლება იყოს წარმოგიდგენთ თუ მანქანის ტესტირება? აუდიტორია: ტესტირების მოწყობილობა. დავით Malan: ტესტირების მოწყობილობა. ასე რომ, თუ ტესტირების მოწყობილობა იქვე, შემდეგ გადასცემს ნაკლები. ასე რომ, მე ვერ წარმომიდგენია, ახორციელებს რომ გარკვეული სახის კამერები ან გამოვლენის რა გარშემო. და ნება მომეცით შესთავაზოს, რომელიც მხოლოდ გრძნობს ძალიან რთულია რეალურად აქვს დამატებითი ტექნიკა მხოლოდ ამ მიზნით. აუდიტორია: თუ თქვენ პარკში, თუ თქვენი hood ღიაა. დავით Malan: In პარკში ან hood ღია, ისე, რომ კარგია. აუდიტორია: მანქანის გაშვებული. დავით Malan: ასე, რომ ცოტა უფრო concrete-- და მანქანის გაშვებული. ასე რომ, ეს იქნება conjunction of a რამდენიმე განსხვავებული პირობები, თუ გნებავთ. ასე რომ, თუ მანქანა არის პარკი, და კიდევ მიუხედავად იმისა, რომ ეს არის ძალიან მექანიკა რამ როგორც წესი, მე ვერ წარმოიდგინეთ წერა პროგრამული უზრუნველყოფა, განსაკუთრებით იმიტომ, რომ იქ ხშირად სინათლის არსებობს ამ დღეებში, მე ვერ წარმომიდგენია, იქ მყოფი პროგრამა, რომელსაც შეუძლია შეკითხვის shifter ან რა არ, თქვენ პარკი, რომლებიც თქვენ წამყვანი, თქვენ საპირისპირო. და შემიძლია დავუბრუნდეთ პასუხი, რომელიც არის ან კი ან არა იმ სახის კითხვები. და მე ვერ ასევე ალბათ პასუხი კითხვა მოსწონს, არის hood ღია. შესაძლოა, არსებობს გარკვეული სახის სენსორი რომ არც მაძლევს უკან 1 ან 0, ჭეშმარიტი ან მცდარი, hood ღიაა. და მერე მანქანის გაშვებული, მე ვერ აღმოაჩინოს რომ როგორმე მეშვეობით რა მექანიზმი? მსგავსად, მანქანა გაშვებული, მე შეიძლება აღმოაჩინოს, რომ ის შესახებ, შეიძლება მე აღმოაჩინოს რატომღაც რომ მანქანა მოძრაობს? აუდიტორია: RPMs. დავით Malan: ჰო, ასე რომ, ყოველთვის, რომ ნემსი რომ გიჩვენებთ რამდენი ბრუნვის პოსტი წუთი დისკები განიცდის. და მე ვერ შევხედოთ, რომ. და თუ ეს არ არის 0, რომელიც, სავარაუდოდ, ნიშნავს ავტომობილი მოძრაობს. მაგრამ ჩვენ უნდა იყოს ცოტა ფრთხილად არ არსებობს, იმიტომ, რომ გავამარტივოთ ამას თუ ჩვენ უბრალოდ განაცხადა, თუ მანქანის გაშვებული, ჩვენ არ გვინდა, რომ მხოლოდ ასხივებენ ნაკლები, ჩვენ გვინდა, თუ მანქანა გაშვებული და ეს ხდება ტესტირება. ასე რომ, არსებობს რამდენიმე სხვა ინგრედიენტები, რომ ეგ არ hypothesized პროგრამული აკეთებს, იმიტომ, რომ არ არსებობს ფაქტობრივი კოდის, თქვენ შეგიძლიათ მხოლოდ ერთგვარი infer საწყისი ფიზიკური ზემოქმედების მანქანა, თუ რა შეიძლება ქვეშ hood ამ პროგრამული უზრუნველყოფა. ასე რომ, თუ მანქანა გაშვებული და შესაძლოა, ვთქვათ, უკანა ბორბლები არ მოძრაობს, შეიძლება ეს იყოს მიუთითებს გარკვეული სახის ტესტი? რა ვარ მე მან მიანიშნა აქ? ჰო, ალბათ, ის არის ერთ-ერთი იმ როლიკებით რამ, სადაც, დისკები გარდამტეხი წინა და უკან, დამოკიდებულია თუ არა ის წამყვანი და უკანა წამყვანი, ასე ნახევარი დისკები მოძრავი, მაგრამ დანარჩენი ორი არ არის, რომელიც უცნაური სიტუაცია რეალურ სამყაროში. თუ თქვენ სიარულის გზა, რომელიც არ უნდა მოხდეს. მაგრამ თუ თქვენ საწყობი გარკვეული სახის როლიკებით სისტემა, რომელიც შეიძლება მართლაც მოხდეს. მე ვფიქრობ, რომ ეგ ასევე შესთავაზა, რომ, შესაძლოა, თუ მანქანა გაშვებული და საჭე საჭე არ მოძრაობს, რომ ძალიან შეიძლება იყოს სიგნალი, იმიტომ, რომ გონივრული მოსწონს მაშინვე გზა. მაგრამ მაშინაც, ადამიანის ალბათ მოძრავი მას ცოტა და რა თქმა უნდა, მეტი რამდენიმე წამში. და რა თქმა უნდა, წუთი, შანსები არის, რომ არ ვაპირებთ იყოს აკვიატებული in ზუსტად იგივე პოზიცია. ასე რომ, სხვა სიტყვებით, ჩვენ შეუძლია subtraction, თქვენ მიმდინარეობს ტესტირება, და ნგრევა რომ ფუნქცია შევიდა ამ კომპონენტის ინგრედიენტები. და რომ მართლაც რა Volkswagen ის ინჟინრები რატომღაც. მათ დაწერეს პროგრამა შეგნებულად აღმოაჩინოს, თუ მანქანა მიმდინარეობს ტესტირება, ამიტომ ასხივებენ ნაკლები, სხვა ასხივებენ ჩვეულ. და პრობლემა აქ, ძალიან, ის არის, რომ პროგრამა არ არის რაღაც თქვენ ვხედავ, თუ თქვენ გაქვთ ე.წ. კოდის. ასე რომ, არსებობს ორი განსხვავებული ტიპის code-- მინიმუმ ორი სხვადასხვა ტიპის კოდი მსოფლიოში. არსებობს რაღაც მოუწოდა წყარო კოდი, რომელიც არ არის განსხვავებით, თუ რა ჩვენ უკვე წერილობით, კოდის. ეს კოდის დაწერილი ენის მოუწოდა pseudocode, რომელიც არის რაღაც ინგლისურ მსგავსი. არ არსებობს ფორმალური განსაზღვრება იგი. მაგრამ C, და ჯავა, C ++, იმ ყველა ფორმალური ენები, რომ როდესაც წერთ მათ, რაც თქვენ უნდა არის ტექსტური ფაილი, რომელიც შეიცავს კოდის. მაგრამ არსებობს რაღაც მსოფლიოს მოუწოდა მანქანა კოდი. და მანქანა კოდი, სამწუხაროდ, არის მხოლოდ 0 და 1 ს. ასე რომ მანქანა კოდი არის ის, რაც მანქანები მესმის, რა თქმა უნდა. წყარო კოდი არის ის, რაც ადამიანებს ესმით. და ზოგადად, მაგრამ არა ყოველთვის, არსებობს პროგრამა რომ პროგრამისტი იყენებს, რომელიც იღებს წყარო კოდი და გამოდის, რომ ეს მანქანა კოდი. და რომ პროგრამა ზოგადად მოუწოდა შემდგენელი. ასე რომ, თქვენი შეყვანის კოდის, თქვენი გამომავალი მანქანა კოდი, და შემდგენელი ნაჭერი პროგრამული უზრუნველყოფა, რომ ამ პროცესში. ასე რომ, ეს რეალურად რუკები ლამაზად ჩვენი საშუალებებით, ალგორითმები, შედეგები. მაგრამ ეს არის ძალიან კონკრეტული განსახიერება რომ, რაც უნდა ითქვას, რომ, მაშინაც კი, თუ თქვენ ფლობდეს ერთ Volkswagen ის მანქანა, რომელიც არის დამნაშავე ამ, ეს იმას არ ნიშნავს, რომ თქვენ შეგიძლიათ უბრალოდ გახსნა hood ან გახსნა მომხმარებლის სახელმძღვანელო ან ვეძებთ კოდის, იმიტომ, რომ იმ დროს, იგი აღწევს მანქანაში თქვენს driveway, ეს უკვე გარდაიქმნება 0 და 1 ს. და ეს ძალიან რთულია, არ არის შეუძლებელი, მაგრამ ძალიან რთულია ვაგროვებ ბევრი არაფერი მხოლოდ შევხედავთ ფუძემდებლური 0 და 1 ს. ასე რომ თქვენ შეგიძლიათ გაერკვნენ ის, საბოლოო ჯამში, თუ თქვენ იცით, თუ როგორ მანქანა operates-- Intel შიგნით თუ გესმით ინტელის არქიტექტურა, მაგრამ ეს ძალიან შრომატევადი. და იქაც, ალბათ არ უნდა ნახოს ყველაფერი რომ კოდი შეგიძლიათ რეალურად გავაკეთოთ. რაიმე შეკითხვები ამ ან ამ სახის პროცესი საერთოდ? და რეალურად, ჩვენ გვაკავშირებს ეს დისკუსია გუშინდელი განხილვა Apple. ეს, ძალიან, ამიტომ გამოძიების ფედერალური ბიუროს შეუძლია არა მხოლოდ წასვლა და ვეძებთ ეჭვმიტანილის ტელეფონი და იპოვოს ხაზი კოდი, მაგალითად, რომელიც საშუალებას მისცემს პაროლ და საშუალებას მისცემს, რომ 80-millisecond დაგვიანებით. იმის გამო, რომ იმ დროს, ის იმ მონაწილის iPhone, ეს უკვე მოაქცია 0 და 1 ს. ისე, მოდით პაუზის აქ ჩვენი შევხედოთ კომპიუტერული აზროვნება. რატომ არ უნდა მიიღოს 15 წუთიანი შესვენება. და როცა ჩვენ დავბრუნდებით, ჩვენ შევხედოთ პროგრამირების თავად და დაიწყოს განვსაზღვრავთ ზოგიერთი ასეთი მაღალი დონის ცნებები ფაქტობრივი, თუ playful, პროგრამირების ენაზე.