დინამიკები: OK, ასე რომ, თქვენ არ მჯერა, მაგრამ გასულ კვირას, ორშაბათს, Pierce, I იყო ქვემოთ სარდაფში. მე არასოდეს წასვლა Pierce. და მე არასოდეს არ აპირებს ისევ, იმიტომ, დავტოვე ჩემი პერსონალის მარტო, მსგავსად, ხუთი წუთის და ვიღაც მოიპარეს ჩემი კომპიუტერი და ჩემი ტელეფონი გარეთ ჩემი backpack. რაც იმას ნიშნავს, მე მივიღე ეს უკან, და მაშინ არანაკლებ ერთი კვირის შემდეგ მას მოპარული ერთხელ. და მერე გაბმულ აღმოჩნდა - ძებნა ჩემი iPhone გრძელდება უნდა იყოს წარუმატებელი. ასე რომ, ვაგრძელებთ თქვენ არ გამოიყენოს იგი. აღმოჩნდა on ერთხელ, და ეს იყო MIT, ისევე, როგორც 15 წუთის შემდეგ, და პირი მოუწოდა ამ ტელეფონის ნომერი აჩვენა, up ჩემს AT & T ზარი ჟურნალი. ასე მივედი შემოსული, მოუწოდა, რომ ტელეფონი ნომერი, და ის წავიდა პირდაპირ ამ ავტომოპასუხე ესპანურად. და მე არ გამიგია ეს შემდეგ. ამიტომ მე უნდა მიიღოს ახალი კომპიუტერი და ტელეფონი. მე ვიცი. ჰო. მაგრამ თუ თქვენ ბიჭები მინდა ჩიპი ჩემს კომპიუტერული ფონდი შემდეგ, ამიტომ მე ვთხოვე აქ. Just kidding. მაგრამ ეს იყო ნამდვილად სამწუხარო და ტრავმული. მაგრამ ეს ყველაფერი ახლა, და ეს გახდა იმის მიზეზი, p განხორციელება 8 დასჭირდა ამდენი ხანი, რადგან მე არ მაქვს კომპიუტერი. და ვინმე მოიპარეს იგი. და მე ელექტრონული ფოსტით, ეკითხება, თუ ისინი რომ grade თქვენი p განხორციელება 8. მაგრამ მათ უარი უთხრა. მე კი, როგორიცაა, შეიძლება რომ მქონდეს ჩემი კომპიუტერი უკან? და ისინი მოსწონს, no. Just kidding. OK. ეს არის ჩვენი საბოლოო განყოფილებიანი, და მაქვს რამდენიმე - ჩვენ მხოლოდ სამი რაც დღის წესრიგში. ჩვენ ვაპირებთ, რომ გაიგო ცოტა შესახებ Q სახელმძღვანელო. მაშინ ჩვენ ვაპირებთ გაატაროთ 15 წუთი მაგარი დემო. მაშინ ჩვენ ვაპირებთ ყველა ამბობენ მშვიდობით ერთმანეთს. თქვენ ნამდვილად არ გვჭირდება თქვენი კომპიუტერი ან კალამი ან ქაღალდის მიიღოს შენიშვნები, ან დაიცვას გასწვრივ. ასე რომ, მე ვივარაუდოთ, თუ თქვენ გაქვთ თქვენს კომპიუტერში up, მაშინ თქვენ on Facebook. უბრალოდ ვამბობ. თუ თქვენ შევსების Q სახელმძღვანელო, რომელიც პირველი. Q სახელმძღვანელო ღიაა. თქვენ ჰქონდა ელექტრონული ამის შესახებ. ერთხელ ყველა Q პერსონალის წარმოდგენილი წლის ბოლომდე, მივიღებ ყველა Q კომენტარები ქულით ყველას რომელიც ირჩევს მომეცი კავშირი. და ამრიგად, როდესაც თქვენ წავიდეს Q - მე არ ვიცი, თუ შეგიძლიათ ამის გაკეთება, Jeff, იმიტომ, რომ თქვენ და გაფართოება სტუდენტი. მაგრამ როდესაც თქვენ წავიდეს Q, თუ არ გავაკეთეთ ადრე, თქვენ აირჩიოთ თქვენი მასწავლებელს, რომელიც დავით Malan. თქვენ უნდა გააკეთოთ მას. და შემდეგ შეგიძლიათ აირჩიოთ TFs. და თქვენ შეგიძლიათ აირჩიოთ როგორც ბევრი TFs, როგორც გსურთ. მაგრამ არსებობს 60 ჩვენგანისთვის. თქვენ არ გაქვთ აირჩიოთ ყველას. თქვენ შეგიძლიათ აირჩიოთ მე, ან სულაც რამდენიმე სხვა ადამიანი, თუ გსურთ, რომ მივცეთ feedback ასევე. და შემდეგ თქვენ მიიღებთ ქულა ყველა ამ სხვადასხვა ცულები, და შემდეგ თქვენ შეგიძლიათ დატოვოთ მათ კავშირი. და შემდეგ, როგორც ერთი თვის შემდეგ, მე კიდევ ყველა რომ კავშირი. და ისევე, როგორც უკუკავშირი თქვენ უკვე მაძლევს მთელი სემესტრის I წაიკითხავს ყველა რომ. და ეს მართლაც გამოსადეგი, და ეს ეხმარება ჩემთვის იზრდება, როგორც მასწავლებელი და, როგორც ინდივიდუალური. ასე რომ, გთხოვთ, გარკვეული დრო უნდა გავაკეთოთ. ჩვენ მხოლოდ უნდა იყოს აქ ამისთვის, როგორიცაა, 30 წუთის განმავლობაში. ასე რომ, თუ გსურთ, დასასრულს ამ, მიიღოს ხუთი წუთის, და მხოლოდ შეავსოთ Q, რადგან იგი არ მიიღებს მეტი დრო ვიდრე რომ. ეს იქნება მშვენიერი, და ასევე მიიღოთ თქვენი შეფასება უკან უფრო სწრაფად თუ თქვენ შეავსოთ Q. ასე რომ ყველაზე მეტად თქვენ გააკეთეთ, რომ ადრე - ან არა, დაახლოებით ნახევარი თქვენ არ კეთდება, რომ ადრე. მაგრამ თუ თქვენ freshman, ეს რა, რომ არის. ეს იქნება იგივე კლასები. ამის გაკეთება. იგი იღებს ხუთი წუთის განმავლობაში. არამედ, თუ ცოტა სერიოზულად, ეს არ არის ყველაზე უარესი, რაც მსოფლიოში, იმიტომ, რომ მე, რა თქმა უნდა სერიოზულად მოეკიდეთ. ასე რომ, თუ მიმატოვებ smiley face, მე ვაფასებთ, რომ. მაგრამ მე ასევე ვაფასებთ, თუ თქვენ დატოვა ჩემზე მეტი smiley face. მაგრამ ეს თქვენი გადასაწყვეტია. მე არ შემიძლია გითხრათ - თუ მინდა დიდი smiley წინაშე, ერთად დედაქალაქში D. რომ მინდა იყოს უფრო უკეთესი. OK, ეს ყველაფერი მაქვს Q. თუ გაქვთ რაიმე შეკითხვები, შეგიძლიათ მოითხოვოთ ჩემთვის, მაგრამ საკმაოდ თვითმმართველობის განმარტებითი. უბრალოდ, გთხოვთ, შეავსოთ იგი out. მე ნამდვილად ვაფასებთ ამას, და ეს ბევრს ნიშნავს ჩემთვის. OK, ეს არის ის, რაც ჩვენ ვაპირებთ გაატაროთ 15 წუთი გადის. მე ვაპირებ გაჩვენოთ რამდენიმე კოდი. ვფიქრობ, ეს არის მართლაც მაგარი, და ეს მივიღე ჩემთვის უფრო აღფრთოვანებული კომპიუტერულ მეცნიერებაში. ასე რომ, იმედი მაქვს, რომ ყველაფერს გააკეთებს იგივე თქვენთვის ყველა. ჩვენ ვაპირებთ, რომ გახსნა - და ეს ყველაფერი კოდი მე გაუგზავნე მოგაწვდით. მაგრამ ჩვენ უბრალოდ აპირებს გახსნას up - მე ჩემი ტერმინალი - ჩვენ ვაპირებთ, რომ გაიხსნას ეს პროგრამა ე.წ. [? MySum. ?] შეგიძლიათ ყველამ წაიკითხოს, ან უნდა, რომ მას უფრო დიდი? შეუძლია ვინმეს მითხრათ რა ეს კოდი იქნება გავაკეთოთ, როდესაც მე აწარმოებს, თუ რა ხდება ამ პროგრამა გავაკეთოთ როცა გაუშვით? [? Avi,?] რას ფიქრობთ ის აპირებს? Finish საღეჭი. თქვენ არ უნდა ესაუბროს თქვენი პირში ღიაა. აუდიტორია: იგი მიიღოს bunch of არგუმენტები, იპოვოს თანხა მათ დაბრუნების თანხა, და შემდეგ ამობეჭდოთ? ან ის იღებს ორ არგუმენტს და მაშინ ეს იმას [INAUDIBLE]. და მერე ბეჭდავს რასაც შედეგები. დინამიკები: დახურვა, მართლაც ახლოს. არავის მინდა რჩეულებში [? რა Avi?] განაცხადა? გჭირდებათ, რათა ამ პროგრამის ნებისმიერი ბრძანების ხაზი არგუმენტები? აუდიტორია: არა დინამიკები: არა რა მოხდება, თუ თქვენ არ აძლევს მას ნებისმიერი ბრძანების ხაზი არგუმენტები? მე უბრალოდ დაწერა dot slash MySum. აუდიტორია: 1 plus 2 შეადგენს 3. დინამიკები: 1 plus 2 შეადგენს 3. და ეს კიდე ბეჭდვა რომ. ეს არის ზუსტად ის უფლება. თქვენ ნახავთ, რომ ბეჭდვითი ვ ხაზის ბოლოში. ეს თქვენ ამობეჭდოთ a, b, და მაშინ თანხა და ბ. და ვფიქრობ, თქვენ ვივარაუდოთ, რომ თანხა მუშაობს სწორად. კარგი ვარაუდი. OK, და რა მოხდება თუ მე მისცეს მას, რა არგუმენტი? [? Manu? ?] აუდიტორია: ეს თქვენ დაამატოთ რასაც პირველი არგუმენტი არის ის, რომ ბ. ან 2, sorry. დინამიკები: მარჯვენა, 2. ვინმემ იცის, რა strtol აკეთებს? ის ძირითადად atoi. Atoi რეალურად ლამაზი მობილური - ან მარტივი მობილური strtol. მაგრამ ეს რეალურად იყენებს strtol. და მივხვდი, რომ, რადგან მინდოდა რაღაც atoi, და მაშინ, როცა არ atoi წავიკითხე ქვემოთ აქ. და აღმოვაჩინე "ეს საქციელი იგივეა, რაც "strtol. ასე რომ, ძირითადად, atoi for ყველა განცდა. და ხედავთ მე კი გამოიყენოს null და 10. ეს რეალურად გაძლევთ მიიღოს სიმებიანი, და აქციოს ის ნომერი, და აირჩიეთ რა ბაზა გსურთ ის სისტემაში ასე რომ, ეს ბაზა 10 უფლება აქ. მე შეეძლო ბაზა ორ ათობითი, ბაზა 16 თექვსმეტობითი. ეს არის საკმაოდ გრილი. მაგრამ ხანგრძლივი ამბავი მოკლედ, ამ იღებს ორ ციფრები და დასძენს მათ ერთად. მოდით გაუშვით. და თქვენ ასევე შეამჩნევთ, რომ ზოგიერთი რამ - ასე მაქვს Makefile აქ, და თუ გახსნა, რომ, ზოგი რამ თქვენ შეამჩნევთ განსხვავებულია. კერძოდ, ეს არგუმენტი აქ, ალბათ, არ მინახავს, ​​რომ ადრე. საერთოდ, ჩვენ კომპილაციის რამ ერთად dash ნულოვანი, ნულოვანი. Dash ნულოვანი, ნულოვანი, იმას ნიშნავს, რომ არ გააკეთებს ნებისმიერი ოპტიმიზაციას, შემდგენელი. ნუ ეცდებით და არაფერს ლამაზი, ან არაფერი აწარმოებს უფრო სწრაფად, ან კიდევ მოშორება ცვლადები, რომ აუცილებელია. ნუ ოპტიმიზაცია ეს კოდი ყველა, მე გეკითხებით მესამე დონე ოპტიმიზაცია. ასე რომ, მე გეკითხებით შემდგენელი უნდა გააკეთოს ბევრი ოპტიმიზაციით. თქვენ შეგიძლიათ შეცვალოთ, რომ Makefile როდესაც თქვენ გაქვთ ეს კოდი, თუ გსურთ იმისათვის, რომ ნახოთ სხვადასხვა ნივთები. რაც ჩვენ გავხდით მეორე. ასე რომ, ჩვენ აწარმოებს ჩემი თანხა 1 plus 2 plus 3. ვიღაცამ მომეცი ორი არგუმენტები. აუდიტორია: 4 და 5. დინამიკები 4 და 5. დიდი მადლობა. დიდი, მუშაობს. რა სხვა კარგი არგუმენტები ცდილობენ, რათა დარწმუნდეთ, რომ ეს სამუშაოები? ვინმეს? აუდიტორია: 0. დინამიკები: 0? აუდიტორია: უარყოფითი 3. დინამიკები: ეს მუშაობს. მაგრამ ეს იყო კარგი არჩევანი. OK, ასე რომ, მოდით დავუბრუნდეთ აქ. ეს არის mysum.c. თქვენ შეამჩნევთ არსებობს ასევე რაღაც ე.წ. sumfunction.c. და ეს ამბობს, oh, არსებობს რაღაც განსაზღვრული sumfunction.c. მე არ მოიცავს ამ ფაილის აქ იმიტომ, რომ მე არ უნდა. მაგრამ მე დაუკავშირონ ის, როდესაც მე კომპილაციის, რომელიც თქვენ შენიშნა. მოდით გადახვევა up. ჩვენ ვნახეთ, როდესაც ჩვენ შევიკრიბეთ mysum, მარჯვენა იქ, ჩვენ უკავშირდება ორობითი დან sumfunction.o. და მე არ გვჭირდება header ფაილი რადგან, რა თქმა უნდა, არსებობს ფუნქცია დეკლარაცია. იმდენად მკვეთრი მოიცავს ჩვეულებრივ უბრალოდ აყენებს ფუნქცია დეკლარაცია. აქ მე უბრალოდ განათავსოთ სწორი in კოდი. და მე უნდა ლინკი ორობითი, რომელიც გავაკეთო. ნებისმიერი მიხვდება, რა არის in sumfunction.c? რა კოდი მე დაწერილი in sumfunction.c? აუდიტორია: [INAUDIBLE]. დინამიკები: ნებისმიერი მიხვდება? ჰო? აუდიტორია: ვფიქრობ, განსაზღვრავს ზოგიერთი [INAUDIBLE]. დინამიკები არის: დიახ. ასე რომ ჩაწერის int თანხა int. ვწერ ამ ხაზი, და შემდეგ მაქვს ღია Curly გაუწიოს, დახურული curly გაუწიოს. რას ფიქრობთ ვწერ შიგნით იმ curly აფრთხილებს, შიგნით რომ ფუნქცია? ჰო? აუდიტორია: დაბრუნება შეადგენს. PROCESSOR: ეს მართლაც კარგი ამოიცნობთ. ვინც ფიქრობს [? Manu?] არის სწორი? იგი აცხადებს, რომ დაბრუნების plus ბ. OK, არა ყველას. [? Akshar,?] თქვენ, ძალიან? დარწმუნებული ხართ? OK. რა? აუდიტორია: თქვენ ჩაწერეთ ეს არასწორია. დინამიკები: არა, მე არ. ჰო, მხოლოდ kidding. თქვენ უფლება. ეს ზუსტად რა წერია. ის დაბრუნდება plus ბ. ხდის ბევრი გაგებით. OK, მოდით დავუბრუნდეთ აქ. ჩვენ ვხედავთ, თუ როგორ header - რომ დაბრუნების ტიპის. გახსოვდეთ, ჩვენ ვნახეთ, რომ დღეს ერთი, დაბრუნების ტიპის ფუნქცია, მაგრამ მიდის ადრე სახელი int ფუნქცია. აქ, მე დაწერილი int. როგორ ფიქრობთ, რა მოხდება, თუ ამ ფუნქცია, მე არ წერენ int, მაგრამ ვწერ unsigned? განსხვავება, რა თქმა უნდა, ის, რომ unsigned წარმოადგენს მხოლოდ დადებითი რიცხვებით და int შეიძლება დადებითი ან უარყოფითი. ასე რომ, მე შეიცვალა დაბრუნება ტიპის ამ ფუნქციას. ეს კოდი არ ემთხვევა ამ დაბრუნების აკრიფოთ აქ. როგორ ფიქრობთ, რა მოხდება როდესაც მე კომპილაციის? თქვენ უნდა დაწეროთ at me. არარის yelling. რაც შეეხება, როცა პროგრამის გაშვება? მოდით, სანამ 0 ნეგატიური 3, ან უარყოფითი 1. ის მაინც მუშაობს, მიუხედავად იმისა, რომ მე ვამბობ ეს დაბრუნების ხელმოუწერელი რიცხვი. ცხადია, ეს არ ბრუნდება ხელმოუწერელი რიცხვი. ეს დაბრუნების ხელმოწერილი რიცხვი. ეს დაბრუნების უარყოფითი 1. OK, რომ უცნაურია. რაც შეეხება, თუ მე წასვლა აქ და ამის გაკეთება? ასე რომ მე ყველაფერი შეცვალა საწყისი int to unsigned. ეს შეიძლება მხოლოდ ხელმოუწერელი რიცხვებით. მაგრამ ჩვენ მაინც ვფიქრობ, რომ ყველაფერს აწარმოებს? აუდიტორია: დიახ. დინამიკები: ეს იქნება. რომ გიჟები. და ჩვენ გაივლის აშკარად დაავალა რიცხვი, ჩვენ შეგვიძლია გაივლის ორ გაფორმდა რიცხვი, ის მაინც მუშაობს. OK, რაიმე იდეები რატომ მაინც მუშაობს, თუ რა ხდება? ჰო, Jeff. აუდიტორია: ეს რაღაც არ თქვენი ოპტიმიზაციის, რომ თქვენ მონიშნულია. დინამიკები: არა ჩვენ შეიძლება შეიცვალოს ოპტიმიზაცია, ის მაინც მუშაობს. შემიძლია, რომ თქვენ, მაგრამ - აუდიტორია: მე მიიღოს თქვენი სიტყვა იგი. დინამიკები: ჰო. თუ გახსნა Makefile აქ, მე შევცვალე ოპტიმიზაცია. ასე რომ შეგიძლიათ გააკეთოთ dash ნულოვანი, ნულოვანი. ის მაინც მუშაობს. სხვა აზრები? თქვენ ბიჭები ყველა მოსალოდნელია მუშაობა, ისე, why'd ველოდოთ, რომ ეს მუშაობა? არა? დუმილი. OK. მე უნდა ველოდოთ შვიდი წამი, იმიტომ, რომ მე კითხვაზე. ასე cool რამ C, და თქვენ ალბათ გამოცდილი ადრე - თქვენ შეიძლება არ აქვს, ეს შეიძლება იყოს პირველად. მაგრამ, როგორც მოგეხსენებათ, როდესაც ვწერ რაღაც C, ეს არ გადარჩენა, როგორიცაა ამ კომპიუტერზე. ის გადაარჩინა, როგორც პირობა და zeroes. მიდის C კოდი ასამბლეის კოდი. უკვე არავის უნახავს ასამბლეის კოდი ადრე, მანქანა ასამბლეის კოდი? ჩვენ შევხედოთ მეორე. მიდის C კოდი ასამბლეის კოდი. და თქვენ ბიჭები ვიცი ეტაპები შედგენაში. თქვენ უნდა გვემახსოვრება, რომ ვიქტორინა ერთი, და შემდეგ წერენ გარეთ ვიქტორინა ნულოვანი. ადამიანების უმეტესობა მიიღო ეს არასწორია. მე ვფიქრობ, რომ თქვენ ბიჭები nailed იგი. მაგრამ, თქვენ ბიჭები არიან საუკეთესო განყოფილებაში განთავსების ტესტები, სხვათა შორის. რაც გასაოცარია. იგი არ ავნებს თქვენ. ნუ აწუხებს. მაგრამ ეს მართლაც მაგარი. კარგად იმუშავა. ამიტომ მიდის შეკრებისა ენა და მაშინ იგი მიდის პირობა და zeroes. და პირობა და zeroes შენახული შესახებ კომპიუტერი, და რომ ის, რაც შენახული a.out, ან ამ შემთხვევაში, შესრულებად ფაილს. და კომპიუტერში გადის პირობა და zeroes. უფლება? ჩვენ ვისწავლეთ ამ ადრე. ასე რომ მაგარი რამ არის, ეს unsigned იდეა, იდეა ტიპი INTS unsigned, et cetera, et cetera, რომ up აქ C ენაზე. იმ არსებობს. მაგრამ ტიპი არ არსებობს პირობა და zeroes. ტიპი კი არ ნამდვილად არსებობს ასამბლეის ენის დონეზე. ისე, რომ რაღაც რომ არსებობს C მსოფლიოში, მაგრამ არ არსებობს კომპიუტერი მსოფლიოს პროცესორი მსოფლიოში. რომ ზოგიერთი აბსტრაქცია, რომ C ენა შედის, რომ ჩვენი ცხოვრობს ადვილია. ასე რომ, დღის ბოლომდე, შემიძლია წერა ბევრი სხვადასხვა რამ აქ, და ეს არ მიიღოს განსხვავება. იმიტომ, რომ მხოლოდ არსებობს იმ C მსოფლიოში. ის არ არსებობს პირობა და zeroes მსოფლიოში. და ჩვენი პროგრამის შესრულებაში in პირობა და zeroes მსოფლიოში. ასე რომ თქვენი გონება აშკარად არ აფეთქდა არავის გაუკეთებია. მაგრამ მე ვფიქრობ, რომ ზემოთ. ჰო, Jeff. აუდიტორია: ასე რომ, თუ ნაცვლად აკეთებს int, თქვენ char. და თქვენ - დინამიკები მოდით ამას წ. აუდიტორია: იმის გამო, მაშინ თქვენ გაქვთ unsigned აპირებს მავნე 128 to 127 ან 0 255. დინამიკები ასე რომ char არის პრობლემატური. ვინმემ იცის რატომ char იქნება პრობლემური, და ეს რეალურად შეცვალოს პირობა და zeroes მსოფლიოში? აუდიტორია: იმიტომ, რომ ზომა char. დინამიკები: ზომა char არის 1. ასე რომ, unsigned არის ასევე 4 ბაიტი. ასე რომ char რომ ხრახნიანი რამ მდე. მაგრამ რა არის 4 ბაიტი, რომ დაკავშირებული char? ან რომ დასძენს კიდევ ერთი - თქვენ შეგიძლიათ განათავსოთ კიდევ ერთი ხასიათი მას შემდეგ, char. აუდიტორია: Char ვარსკვლავი. დინამიკები: Char ვარსკვლავი 4 ბაიტი. მოდით გავაკეთოთ რამე რომ char ვარსკვლავი. ასე რომ, ეს, ალბათ იმუშავებს, მაგრამ ჩვენ ვაპირებთ გავაკეთოთ რაღაც კი crazier, ვიდრე ეს. ჩემი აზრით, crazier. მე ახლა დაწერილი ფუნქცია, რომელიც ბრუნდება მომცეთ, და სჭირდება მაჩვენებელი და unsigned ღირებულება - ჩვენ გამოგიგზავნით შეცვალოთ ეს უკან int, ამიტომ ჩვენ არ ვართ მიღების ძალიან ბევრი ცვლილებები ერთდროულად. და მას აქვს მასივი მოუწოდა, ინდექსები შევიდა მასივი, და ბრუნდება მისამართი. ჩვენ ვნახეთ ამ ოპერატორების წინაშე. ეს, რას ფიქრობთ ამ აპირებს ამის გაკეთება, სამაგიეროდ, როცა გაუშვით? როგორ ფიქრობთ, ის აპირებს? ნებისმიერი მიხვდება? აუდიტორია: segfault. დინამიკები რა? Segfault? რომ კარგი ამოიცნობთ. ტომი ამბობს იგივე. ნებისმიერი სხვა მიხვდება? ვინც ფიქრობს, რომ ის აპირებს გავაკეთოთ იგივე? ვინც ფიქრობს, რომ ის აპირებს segfault? ეს არ არის იგივე. უკაცრავად. მაგრამ, რა თქმა უნდა, ჩვენ დააყენა 1 და 2. და ეს, როგორც მოქმედი, არა? ვნახოთ, ჩვენ შეგვიძლია წავიდეთ მეორე ადგილზე მასივი. მაგრამ რა, თუ ჩვენ მივიღეთ ბ უარყოფითი რიცხვი? ეს ალბათ უკეთესი ვხვდები რაღაც segfaulting. ის მაინც მუშაობს. OK, ეს არის გიჟები. ეს არის თანაბრად მოქმედებს თანხა ფუნქცია. ეს იმას იგივე ზუსტი რამ როგორც დაბრუნების და ბ. შეუძლია ვინმეს ახსნას, თუ რატომ ეს არის კარგი SUM ფუნქცია, ან რატომ მუშაობს ეს? რა ხდება აქ? რატომ ამ გააკეთოს ზუსტად იგივე რაც ჩვენი ძველი თანხა ფუნქცია? [? Akshar,?] რა ხდება? აუდიტორია: იმიტომ, რომ, როდესაც თქვენ გაქვთ რომ ის მისამართი განთავსების მეხსიერება - და როდესაც თქვენ გავაკეთოთ ampersand, ეს მიდის, რომ მეხსიერების მისამართზე. და როდესაც მიდიხარ B, თქვენ სახის მოძრავი ნაბიჯები, რომ მეხსიერების მისამართი, თქვენ დაბრუნების რომ. ასე რომ თქვენ რეალურად, ფაქტობრივად, დამატებით და ბ [INAUDIBLE]. სად არის სტანდარტული ოპერაცია რომ სანაცვლოდ? როგორიცაა, სად ფრჩხილებში დაეცემა? არის დაბრუნების მიმართვაში ადრე ან შემდეგ [INAUDIBLE]? დინამიკები: იგი აპირებს ინდექსი შევიდა ბ - ან ინდექსი შევიდა - და შემდეგ დაბრუნების მისამართზე. OK, ასე რომ არც ყველას გვესმის, რა [? Akshar?] განაცხადა და განმარტა, თუ რატომ ეს მუშაობს? მე არ, პირველად ვინმე განმარტა, რომ ეს ჩემთვის. არავის მოსწონს სურათი ასახსნელად ეს? ჩვენ ვაპირებთ მიაპყროს სურათი, ერთად არ მარკერები, რომ დიდი. აღმოაჩინა. ასე რომ, ჩვენ გვაქვს მასივი, რომ სერია ყუთები. პირველი ინდექსი 0, ინდექსი 1, 2, 3, 4, dot, dot, dot. ტიპიური მასივი. და გარდა ამისა მქონე მაჩვენებლების, მათ აქვთ მეხსიერების მისამართები. მოდით მივცეთ ამ მეხსიერების მისამართი 13, 14, 15, 16, 17, et cetera. ყველას აქ ჯერჯერობით. ასე რომ, ეს არის მისამართი. სახელი მასივი, მომცეთ ინახება იქ. ეს მაჩვენებელი, ის მეხსიერებაში, დაწყების მასივი. ასე რომ, თუ ეს იყო მასივი, იქნება ღირებულება 13. და, რა თქმა უნდა, ჩვენ შეგვიძლია ნებისმიერი ღირებულების გვინდა. Char ვარსკვლავი, ჩვენ შეუძლია ნებისმიერი მეხსიერების მისამართი გვინდა. ჩვენ შეგვიძლია ეს 0, ჩვენ შეგვიძლია ეს უარყოფითი 1 - უარყოფითი 1 არ არსებობს, ასე რომ, ალბათ, პრობლემატური, მაგრამ თქვენ ხედავთ, რომ ის კვლავ მუშაობდა. ასე რომ ჩვენ შეგვიძლია ნებისმიერი რაოდენობის გვინდა, ნებისმიერი მეხსიერების მისამართი გვინდა. მაშინ, int b ამბობს, OK, წავიდეთ ამ ნომერზე ნაბიჯი შევიდა მასივი. ასე რომ, თუ ბ უდრის 2, და შეადგენს 13, ჩვენ დროს მეხსიერების მისამართი 13. და ჩვენ ორ ნაბიჯები, და ამიტომ ჩვენ აქ. და ampersand დაბრუნებას ნიშნავს მისამართი ამ ადგილას. და მისამართი, რა თქმა უნდა, 15. ამიტომ ჩვენ კიდევ 13 plus 2, ან პლუს b, რომელიც არის 15. კითხვაზე არის, თუმცა - მე ბოდიში. ამჯამად რომ გაერკვია რამ რატომ მუშაობს ეს? აუდიტორია: რატომ მუშაობს იგი აპირებს - ასე რომ თქვენ შეგიძლიათ აქვს მასივი და წასვლა უარყოფითი მაჩვენებელი? დინამიკები: Right. ასე რომ, ჩვენ გავაკეთეთ უარყოფითი რიცხვები, ასე რომ - ამჯამად ამ აზრი, თუმცა, პირველი, [? Avi,?] თქვენ? აუდიტორია: Yeah მე უბრალოდ [INAUDIBLE], არამედ - დინამიკები: Yeah, ეს დაბრუნდება 15. თუ 13 წლის იყო, და ბ იყო 2, ამ დაბრუნდნენ 15. აუდიტორია: ასე რომ ნულოვანი ინდექსირებას არ გახდეს საკითხი, არა? იმიტომ, რომ თქვენ მოძრავი 0. დინამიკები: Right. ასე რომ, თქვენ მოძრავი - ასე რომ, თუ ბ იყო 0, თქვენ არ გადავიდეს სადმე. და ნეტავ მხოლოდ დაბრუნდა მისამართი - თუ b 0, რომელიც არსებითად დაბრუნების, რომ მისამართი. გავლის char ვარსკვლავი და დაბრუნების მისამართი უბრალოდ დაბრუნების, არსებითად. OK, კითხვა რატომ უარყოფითი რიცხვები მუშაობს? და ეს მართლაც მაგარი რამ შესახებ ეს იმიტომ, რომ ეს უნდა segfault. და ეს იქნებოდა segfault თუ ჩვენ გააკეთეს რაღაც მსგავსი. ვთქვათ, int. ასე რომ, ეს კოდი გამოიყურება იდენტურია და უნდა მოიქცეს იდენტურად. არსებითად, x არის ნაგვის ცვლადი, და ეს უნდა მოიქცეს იდენტურად. მოდით ამ - oops - ვარსკვლავი. OK, ჩვენ უკვე მიღების შეცდომები აქ, იმიტომ, რომ ის უკვე აპირებს იყოს გაბრაზებული at me, იმიტომ, რომ ეს უკვე იცის, რა მოდის. კერძოდ, მეორე. მისამართი stacked მეხსიერების ასოცირდება ადგილობრივი ცვლადი. არსებითად, მე არ ვაპირებ კომპილირდება ამ, და შემდეგ მე ვაპირებ გაუქმება გაკეთება რაც ჩვენ უბრალოდ გააკეთეს. არამედ იმიტომ, რომ ჩვენ არასოდეს რეალურად წვდომის რა დროს მეხსიერებაში მდებარეობა, ის არ აპირებს segfault. ჩვენ არასოდეს რეალურად შევხედავთ რა მეორე ყუთში ან რა ნებისმიერი ყუთი ამ მასივი. ჩვენ მხოლოდ ის განაცხადა, აქ მისამართი რამ ჩვენ ვეძებთ და დაბრუნდება, რომ მისამართზე. ჩვენ არასოდეს რეალურად მიდის array შევხედოთ, რომ ადგილმდებარეობა. და იმიტომ, რომ ჩვენ არასოდეს შეეხოთ მეხსიერება, ჩვენ არ მიიღოს უბედურება. ჩვენ არ მიიღოს segfault. იმ შემთხვევაში, თუ ჩვენ შევეცადეთ, კიდევ ერთხელ, შეეხოთ, რომ მეხსიერება, შეეხოთ რა იყო ან ბ - ან bracket ბ, და ვთქვათ, 0 და - თუ 0, მაშინაც კი, რომელიც იქნება საკმაოდ ცუდი, რადგან ჩვენ არ შეგვიძლია წავიდეთ , ყველა გზა არსებობს. იმ შემთხვევაში, თუ A და B ორივე 0, და ჩვენ შევეცადეთ შეეხოთ რა იყო იქ, მაშინ ჩვენ მიიღონ უბედურება. მაგრამ თუ ჩვენ არ შეეხოთ რა არის იქ, ჩვენ უბრალოდ დააბრუნოს მისამართი, ეს არის რეალურად არ აპირებს segfault რადგან იგი საშუალებას გაძლევთ ასრულებს იმ ოპერაციებს. ეს მხოლოდ იღებს mad at თქვენ, და იღებს super გაბრაზებული, როდესაც თქვენ ცდილობენ და შეეხოთ ფაქტობრივი მეხსიერება და დაბრუნდეს რა რომ მეხსიერებაში. ამჯამად რომ აზრი? ეს მხოლოდ გიჟები ნაწილი C. ასე რომ, ჩვენ კიდევ ერთი ამათგანი. ვინც ფიქრობს, რომ ეს არის მაგარი? მეტი ადამიანი. რომ კარგია. OK, ეს არის ჩვენი ბოლო ერთი. და მინდა გითხრათ, ჩემთვის, თუ არა ან არ ფიქრობთ ამ აპირებს იგივეს ზუსტი რამ. მე ეს დაწერილი სადღაც. მე არ იმახსოვრებდა მათ. ვნახოთ, 8, ბ 4, 4, 2, 4, 0, 8, 0, 3, 4, 4, 2, 4, 0, 4. ასე რომ, ეს არის მასივი, ახლა, არ ფუნქცია. და ეს მასივი იმიტომ, რომ ჩვენ მოედანზე ფრჩხილებში, არ curly აფრთხილებს. და ეს მასივი, თუ რა ტიპის? ნებისმიერ მსურველს, hmm? აუდიტორია: მათი თექვსმეტობითი ციფრები? დინამიკები: მაგრამ რა არის C ტიპის? მათ აქვთ თექვსმეტობითი ციფრები. რა არის C ტიპის? ეს გიჩვენებთ. აუდიტორია: ეს unsigned სიმბოლო. დინამიკები: მარჯვენა, unsigned სიმბოლო. და ორი თექვსმეტობითი ციფრები ერთი byte. ასე რომ, ეს არის 1, 2, 3, 4, 5, 6, 7, 8, 9 bytes. ეს მასივი 9 bytes. OK, თქვენ ალბათ უკვე ვიცით ამ კითხვაზე პასუხი. მაგრამ, რა ფიქრობთ, მოხდეს, როდესაც მე აწარმოებს ეს? მე ვიტყვი, ისევ, mysum.c, მე ველოდებით ფუნქცია რომ იღებს ორ რიცხვებით. და მე ნაცვლად ამბობს, რომ თანხა არის მასივი სიმბოლო. რა მოხდება მაშინ, როდესაც მე აწარმოებს. / Mysum და მიიღოს? ისე, პირველი, ყველაზე თქვენ ალბათ ეთანხმებით, რომ გააკეთოს - oh no, მხოლოდ kidding. What'd გავაკეთო არასწორი? Uh Oh. ეს უნდა იყოს curly აფრთხილებს. ასე თქვენ ინიციალიზაცია მასივი. ჩემი ცუდი. ასე რომ, ჩვენ უკვე ვნახეთ ადრე რომ ტიპი არის C დონის აბსტრაქცია, არ კომპიუტერული დონის აბსტრაქცია. ასე რომ ყველაზე მეტად თქვენ ალბათ მოსალოდნელია, რომ მიიღოს, ან ვთქვათ, რომ ეს გახდის. მაგრამ რა, როდესაც მე აწარმოებს. / Mysum? რა მოხდება? ნებისმიერი მიხვდება? აუდიტორია: იგი აპირებს ამობეჭდოთ სიტყვა. დინამიკები: ის აპირებს ამობეჭდოთ სიტყვა. რა სიტყვა? აუდიტორია: [INAUDIBLE]. დინამიკები ნებისმიერი სხვა მიხვდება? OK, ამობეჭდოთ ფრაზა. შეგიძლიათ რაიმე ფრაზა. ეს იქნება თქვენი მხრიდან. ყველას, ვინც აქვს სხვადასხვა ვხვდები? ანა, რა არის თქვენი გამოიცანით? აუდიტორია: ეს თქვენ ამობეჭდოთ - ორი ასო, ან [INAUDIBLE] ერთი წერილი. დინამიკები ერთი წერილი. აუდიტორია: შემიძლია ითვლიან რამდენად ბევრი [INAUDIBLE]? დინამიკები: Nine. ისე, მე ვაპირებ აწარმოებს. ეს იმას იგივე ზუსტი რამ. იგი დასძენს, ორი ნომერი ერთად. კარგად, მოდით გაიაროს ორი არგუმენტები. ეს არ მიიღოს არგუმენტები. ასე რომ, მე არ ვიცი, სადაც ეს შეიძლება შესაძლოა მიიღოთ ეს არგუმენტები. მაგრამ მოდით გაივლის 100 და 0. და დასძენს 100 0. ეს არის ის, გიჟური. ვფიქრობ ასე. უარყოფითი 4, რომელიც მუშაობს ძალიან. შეგიძლიათ არაფერი გსურთ. ეს არის თანაბრად ვრცელდება თანხა ფუნქცია. ეს არის თანხა ფუნქცია. მაგრამ, არა, რას ამბობდა ის მასივი ბაიტი. ასე რომ, რა ხდება აქ? ასე რომ, კიდევ ერთხელ, მოდით დავუბრუნდეთ ამ იდეას რომ ჩვენ განაცხადა თავიდანვე. თქვენ გადასვლა C-დონეზე კოდი, შეკრებისა ენა, რათა პირობა და zeroes. ეს არის თექვსმეტობითი. მაგრამ ეს მართლაც მხოლოდ ბევრი პირობა და zeroes. ეს არის 72 პირობა და zeroes, არა? 72 პირობა და zeroes. 9 bytes. თითოეული byte 8 ბიტი. თითოეული bit არის ერთი ან ნულოვანი. ასე რომ, 72 პირობა ან zeroes. მე მხოლოდ წერილობითი მათ მსგავსად ამ - ვიდრე წერის ის, როგორც ბევრი პირობა და zeroes. მაგრამ ეს წავა C-დონეზე ენა, შეკრებისა ენის to კოდი. და ეს იქნება ამობეჭდოთ კოდი, სადღაც, ამ 72 პირობა და zeroes რომ მე აქ დაიწერა. ასე რომ, სადღაც, რომ - მოდით წავიდეთ აქ - სადღაც mysum, პროგრამა, არ არსებობს ეს 72 პირობა და zeroes რომ მე წერილობითი და უთხრეს დაწერა. ახლა, ნებისმიერი მიხვდება რა იმ 72 პირობა და zeroes ნიშნავს? აუდიტორია: ალბათ იგივე რაც დაბრუნების plus ბ. დინამიკები ალბათ იგივე რაც დაბრუნების plus ბ. მოდით, გადაამოწმონ, რომ. მოდით გაერკვნენ, თუ როგორ გავაკეთე ეს. ასე რომ, თუ თქვენ დაბრუნდებით აქ, მე გეტყვით აწარმოებს ამ ბრძანების objdump-S sumfunction.o. მოდით წავიდეთ აწარმოებს. objdump - obj, ნაგავსაყრელი. ძირითადად მას შეუძლია მომეცი რასაც მინდა ვხედავ. მას შეუძლია მომეცი ასამბლეის ენაზე. მას შეუძლია მომეცი პირობა და zeroes. მას აქვს ტონა დროშებით. ეს არის ერთ ჩვენ ვაპირებთ გამოყენება ახლა. Dot - როგორც ხედავთ სლაიდები - dash კაპიტალის S ამბობს, intersperse, კოდის - ეს ხაზი არის ეხლა C - ასამბლეის კოდი და პირობა და zeroes. და ჩვენ ვაპირებთ, რომ აწარმოებს ეს sumfunction.o. იმის გამო, რომ ეს იქნება ადვილი ვხედავ. კიდევ ერთხელ - hmm? აუდიტორია: თქვენ ჩაწერეთ ეს არასწორია. დინამიკები მაგრამ მე რეალურად აპირებს გარკვევა იგი მეორე. მე პირველად გავხსნით უბრალოდ sumfuntion.o. აუდიტორია: თქვენ ჩაწერეთ ეს არასწორი პირველად. დინამიკები: კლასიკური. თანხა - რომ არის მძიმე სიტყვა, თუმცა. ნეტავ გაგიკვირდებათ. OK, ასე რომ ეს არის sumfunction.o. მე ვერ გეტყვით. არსებობს ბევრი zeroes, აშკარად ბევრი საქართველოს zeroes, და არ არსებობს რაიმე სხვა პერსონალი, რომ არ zeroes. მაგრამ ძირითადად zeroes. როგორც ჩანს, არსებობს რამდენიმე პირობა. ასე ნათლად, რომ ეს არის მძიმე წასაკითხი. სწორედ ორობითი ენაზე. მოდით ახლა გასახსნელად - რა? რას ვაკეთებ არასწორად? მე მართლწერის სწორად? OK, ეს უხერხულია. მჭირდება ერთი მეორე გაერკვნენ თუ რა მე ვაკეთებ არასწორად. ეს ერთი შეცდომა. რომ უცნაურია. Oh, ამიტომ. მე ვაპირებ დაბრუნდეს ჩვენი თავდაპირველი ერთი, ასე რომ ჩვენ შეგვიძლია შევხედოთ ობიექტის კოდი ამ. იმიტომ, რომ იქ ნამდვილად არ აპირებს იქნება არაფერი, როცა ჩვენ უბრალოდ დააყენა პირობა და zeroes შემოსული იქ ჩვენ წავიდეთ. OK, ასე რომ ყველას შეუძლია დაინახოს ეს. ამ ფუნქციას, როგორც ვთქვი, დააყენოს out C ხაზები - კოდის ხაზი - ზოგიერთი ასამბლეის მითითებებს. აქ არის ჩვენი კოდის ხაზი. აი ერთი, აქ სხვა. აქ არის შეკრების დავალებით. ეს არის ის, რაც მათ ჰგავს. ასამბლეის ინსტრუქციები - შეგიძლიათ შეიტყოთ უფრო მეტი ამ თუ თქვენ მიიღოს სხვა CS კლასი, მაგრამ ისინი ზოგადად დავალებით. და შემდეგ წყარო და დანიშნულების. და მერე აქ არის ორობითი კოდი რომ შეესაბამება ასამბლეის ინსტრუქცია. ასე რომ, როგორც ხედავთ, ეს თანხა ფუნქცია, დასასრულს დღეს, სამი ასამბლეის მითითებებს. მხოლოდ სამი. ერთი mov - ამ m-o-v დგას Move. სანიშნეს დგას რეგისტრაცია. და R-e-t დგას დაბრუნება. ასე რომ ერთი mov, ერთი add ერთი დაბრუნება. და ეს, აქ, არის zeroes და პირობა, რომ შეესაბამება, რომ კოდი. ასე რომ იმ zeroes და პირობა, თუ თქვენ ვიცი ის, რომ თქვენ შეგიძლიათ მხოლოდ დააყენა იმ სწორი შემოსული და მერე ყველაფერს გავაკეთებთ იგივე ზუსტი რამ. იმის გამო, რომ იმ დღის ბოლოს, ყველა თქვენ შესრულებაში არის ხანგრძლივი სერია zeroes და პირობა. და რომ ის, რაც თქვენი კოდი ნამდვილად არის. და მიზეზი - მოდით შევხედოთ ერთი რამ. ჯერ მაქვს Makefile ღია? ასე რომ, თუ ჩვენ გაბრუნდნენ dash ნულოვანი ნულოვანი აქ - უკაცრავად, დედაქალაქში o, კაპიტალური o ნულოვანი, არ ნულის ტოლია. და ჩვენ არ მიიღოს, რომ ის დღესაც მუშაობს იგივე. მაგრამ ახლა შეამჩნია, რომ არსებობს ბევრად უფრო ასამბლეის მითითებებს. ეს იმიტომ, რომ, კიდევ ერთხელ, ვთხოვე შემდგენელი არ არის რაიმე ოპტიმიზაცია. ასე რომ, მე შეიძლება კვლავ მიიღოს ყველა ამ zeroes და პირობა, და გადაყარეთ მათ, და რომ იმუშავებს. მე უბრალოდ გააკეთა ოპტიმიზაციას, რადგან ეს ცოტა უფრო ადვილია, მაშინ, წერენ, რომ მასივი. მაგრამ ეს იმუშავებს მხოლოდ ასევე. OK, ჩვენ ვაპირებთ, რომ ერთი საბოლოო რამ, რადგან ვფიქრობ, არის coolest ნაწილი. მიუხედავად იმისა, რომ ყველას ნათლად უკვე ააფეთქეს და speechless. ჩვენი გონება ააფეთქეს. [INAUDIBLE] ასე რომ, ეს არის სხვადასხვა CS კლასი, რომელიც super საინტერესო, რომ მაქვს აღებული - CS61. უაღრესად მოგიწოდებთ თქვენ მიიღოს იგი. მაგრამ cool ნაწილი ამ ფაქტს, რომ სიტუაცია უბრალოდ zeroes და პირობა, არის, რომ ყველაფერი zeroes და პირობა. ასე რომ თქვენ შეუძლია ფაილი, რომელიც აქვს ზუსტი zeroes და პირობა გსურთ სადღაც, და გამოყენება, რომ სექციაში zeroes და პირობა, როგორც თანხა ფუნქცია. რას ვგულისხმობ მიერ რომ? მე ვგულისხმობ თქვენ შეუძლია ფაილი, რომ აქვს სწორი სერია zeroes და პირობა, რომ ბეჭდვა რაღაც იმისათვის, რომ იმიჯი. და ერთი პროგრამა შეიძლება ინტერპრეტაცია არის image, მაგრამ შეგიძლიათ ინტერპრეტაცია, თუ გსურთ, რადგან თანხა ფუნქცია. ასე რომ, თუ გვინდოდა, რომ ღია, მაგალითად, ეს იმიჯი. მოდით წავიდეთ, Hello Kitty. მშვენიერი პატარა გამოსახულება. აქ არ არის, რომ სიმებიანი საქართველოს zeroes და პირობა. იმ 72 zeroes და პირობა არსებობს ამ გამოსახულების. ასე რომ, რაც შემიძლია, მაშინ, არის წერა - მე უნდა გვახსოვდეს, სადაც ისინი არიან. I ნახავთ, რომ მეორე. მაგრამ ჩვენ - ნება მომეცით გასარკვევად, სადაც ისინი არიან. ერთი წ. მოდით - აუდიტორია: [INAUDIBLE]. დინამიკები: მადლობა. ასე რომ, თუ ჩვენ შეასრულოს ეს პროგრამა, რომელიც ნაცვლად ნათქვამია ფაილი, მაშინ იგი მიდის ამ ინდექსის ფაილი. და შემდეგ, კიდევ ერთხელ, ისევე როგორც mysum, იღებს ორი ნომერი. ჩვენ შეგვიძლია დავამატოთ ნომერი ზუსტად ისევე როგორც ვაკეთებდით ადრე, რომელიც მიდის აჩვენებს, თუ როგორ ის ფაქტი, რომ, ბოლოს დღეს, ეს ყველაფერი zeroes და პირობა. და ეს მხოლოდ როგორ თქვენ ინტერპრეტაცია მათ. და თუ რეალურად გამოიყურება ამ image - მოდით მიუახლოვდით ცოტა. შეგიძლიათ ყველამ ნახეთ ეს? თქვენ შეამჩნევთ აქ, იქ რაღაც უცნაური smudge. წამო - ეს არის ორიგინალური იმიჯი. თქვენ შეამჩნევთ აქ არ არსებობს smudge. რომ არის კოდი თანხა ფუნქცია, არის ის, რომ პატარა smudge უფლება არსებობს. და რეალურად, კიდევ ერთხელ, თუ გაიგეთ მეტი ამ, თქვენ გააცნობიეროს, რომ ამ Hello Kitty, რომელიც კიდევ უფრო დიდი გთხოვთ, აქვს კოდი, რომელიც შეუძლია მიიღოს მეტი კომპიუტერი, თუ ის არ არის დაცული სათანადოდ. ასე რომ თქვენ შეგიძლიათ რეალურად აწარმოებს ამ. მე არ ვაპირებ, რომ აწარმოებს ახლა. მაგრამ თქვენ შეგიძლიათ აწარმოებს ამ გამარჯობა Kitty გამოსახულება, და მას შეუძლია აღება თქვენს კომპიუტერში. ასე რომ, ყველა დემო. ვინმეს გაქვთ რაიმე შეკითხვები, კომენტარი, შეშფოთება? მე ვფიქრობ, რომ ამ პერსონალის მომხიბლავი. იგი შთაგონებული ჩემთვის უფრო მეტი. უაღრესად გირჩევთ, თუ თქვენ დაინტერესებული ყველა on CS, გაიგო ჩემთვის. მიუხედავად იმისა, რომ მე ვარ სოციალურ მეცნიერებათა კონცენტრატორი, მე CS, საშუალო, ისე მე მაინც ვიცი ცოტა. მაგრამ მე ნამდვილად ვიცი, რა კლასების თქვენ უნდა მიიღოს. მე ვფიქრობ, რომ ყველა ნამდვილად საინტერესო, და მე მოგიწოდებთ თქვენ, რა თქმა უნდა, უნდა გაიგეთ მეტი თუ თქვენ დაინტერესებული. OK, მაქვს ერთი საბოლოო რამ. უკაცრავად. რაიმე შეკითხვა? მე არ პაუზის დაველოდოთ თუ ვინმე ჰქონდა რაიმე შეკითხვები, რომ. არის ვინმე იქნება CS კონცენტრატორი? ან ფიქრი ეს? ერთი, ორი, სამი, ოთხი. ერთ - მხოლოდ ერთი. ანა და მისი ერთადერთი მხრივ, რომ დააყენა authoritatively. OK, რომ ზემოთ. Assam, რას აპირებს? აუდიტორია: [INAUDIBLE]. დინამიკები: კონსტანტინე? აუდიტორია: ფიზიკა. დინამიკები: Whoa, რომ იყო სწრაფად. გქონდათ ცუდი გამოცდილება CS50? [INAUDIBLE], რას აპირებს? აუდიტორია: მე არ ვიცი. დინამიკები: Curt? აუდიტორია: Econ ან CS. დინამიკები: Econ ან CS. ტომ? აუდიტორია: მე ვაკეთებ Stat. დინამიკები: Stat? OK. რა ხარ? აუდიტორია: Me? დინამიკები: ჰო. აუდიტორია: Stat. დინამიკები: Stat. ოჰ, არ წახვალ. ტომ, გაიგო Alden. ემილი, რა ხარ? აუდიტორია: Biomedical - დინამიკები: თქვენ ამ განყოფილებაში? აუდიტორია: არა დინამიკები: OK, რომ ემილი. ის ჩემი მეგობარი. ცხადია, არ ნიშნავს, რომ კარგი მეგობარი, რადგან იგი მაძლევს მძიმე პერიოდში. თქვენ შეიძლება გავალამაზოთ me წინ ყველას, ჩემი სტუდენტი - აუდიტორია: მე ვაკეთებ თქვენი Q სახელმძღვანელო. დინამიკები: მართლა? Uh Oh. OK, თქვენ საოცარი. მიყვარხარ იმდენად. Oh boy. ყოველ შემთხვევაში, მე, წუხელ, როგორც ყველაფერი - დარწმუნებული ვარ, ყველას, როგორც ჩანს, მართლაც ხაზგასმით ახლა. მე არ ვიცი, არის freshman - ეს არის თქვენ ბიჭები შეგრძნება ხაზი გაუსვა? მე ვარ მან. თითქოს, თქვენ სახლში მადლიერების. თქვენ, ისევე როგორც, მე ვაპირებ გავაკეთოთ ეს ყველაფერი. აუდიტორია: ასე სხვადასხვა. დინამიკები: ჰო, და თქვენ დავბრუნდებით. Jeff, თქვენ არ გრძნობს, რომ გზა? აუდიტორია: მე უბრალოდ ეგონა მინდა გავაკეთოთ ცოტა. დინამიკები: OK, დიდი. ასე რომ, მე დავბრუნდები, მე არ მაქვს არაფერი. და ეს ყველაფერი super სტრესული. და მე შეშფოთებული, გულწრფელად შეშფოთებულია, თუ არა მე ვარ აპირებს დასრულდება ყველაფერი მე უნდა. მაგრამ ღამით, მე არ ხაზი გაუსვა, მე უბრალოდ ცოტა სევდიანი. ასე რომ, მე დავწერე ჩემი ჟურნალის შესახებ რა იყო სამწუხარო შესახებ. და მე სამწუხარო ამ სექციაში ამ კლასის დასასრულს უახლოვდება. ასე რომ, მე მხოლოდ აპირებს წაიკითხა თქვენ ბიჭები პატარა snippet ჩემი ჟურნალი, გასულ ღამეს. შემიძლია რამდენიმე ხელსახოცების, ზოგიერთი ქსოვილების ტომ? არა, მე ვაპირებ, რომ ტირილი. მე არ ტირილი. არ არის, რომ თქვენ ვერ ტირილი, მე უბრალოდ არ ტირილი. მე არ ვიცი, თუ ჩემი ცრემლსადენი ჯირკვლების მუშაობდა - ცრემლსადენი მილები. მე არ ტიროდა დიდი ხნის განმავლობაში. აუდიტორია: [INAUDIBLE]. დინამიკები: OK, მადლობა. OK, არსებობს პატარა წინასიტყვაობა - არსებობს რამდენიმე სხვა ნაწილების ჩემი ჟურნალი შესვლის, რადგან ვცდილობ ჟურნალი ყველა ღამეს მე მივიღე bed. უაღრესად გირჩევთ journaling. იგი დაგეხმარებათ დამუშავება რამ, და ასევე ძალიან მადლიერი თქვენი დღეში. და ეს ხდის ბევრი ადვილია შევხედოთ უკან თქვენი დღეში და გააცნობიეროს, რომ იქ ბევრი კარგი რამ, რაც მოხდა. მაშინაც კი, თუ გრძნობთ მართლაც აღნიშნა, ღამით ან მართლაც დაარღვიოს, ან ძალიან სამწუხაროა, თუ დაღლილი. ოჰ, ჩემი ღმერთი. მე არ ვიცი, თუ ის წერია, რომ კარგად, რადგან მე არ რედაქტირებულია იგი. მაგრამ ჩვენ წაიკითხავს. მე, როგორც წესი, არ წაიკითხა ჩემი ჟურნალი, აშკარად. "ხვალ, მე გასწავლით ჩემი საბოლოო CS50 განყოფილების წელს. ეს გიჟები, რამდენად სწრაფად დრო გადის. მიუხედავად ამისა, მე გაოცებული, თუ რამდენად განსხვავებული ჩემი გამოცდილება სწავლების წლევანდელი ვიდრე მაშინ, როდესაც მე ვიყავი მეორე. დამწყებთათვის, მე ნამდვილად იცოდეს მასალა უკეთესი. მაგრამ არ ვუთხრა ჩემი პირველი კაციანი სტუდენტების, რომ. რაც მთავარია, თუმცა, მივხვდი, რომ სიხარული, რომ მოდის მდგომი up წინაშე ოთახში რა იწყება, როგორც უცნობი, მაგრამ მთავრდება, როგორც ერთი მინიმუმ, Facebook მეგობრებო, არა პირველი კურსის fluke. უფრო მეტიც, ეს იცის, რომ მცირე გზა, თქვენ ეხმარება ნიჭიერი, დაფიქრებული, ლაღი და ვნებიანი ადამიანი ვისწავლოთ ცოტა მეტი კომპიუტერულ მეცნიერებაში. თქვენ გადავიდა, რომ ნათურა უბრალოდ ცოტა თავის ბუდე, ისე, რომ შეუძლია ბრწყინავს ნათელი, ვიდრე თქვენ, ან ისინი, შეეძლო წარმოედგინა, ერთი სემესტრის დაწყება. თქვენ ეხმარება იქცეს იმ frowns upside ქვემოთ და სვამს კითხვებს, რომ მხარდაჭერა, მაგრამ მაინც დაუშვებს სტუდენტები აღუდგეს საკუთარი. ეს ნამდვილად არ გაზვიადება ამბობენ, რომ ამ ნაწილში არის ჩემი საყვარელი ნაწილი კვირაში. ან თუნდაც რომ მე უყოყმანოდ ვთქვა, რომ ის, ყველა, at 5:30 PM ყოველ კვირას, იცის, რომ ეს იქნება გზა გრძელია სანამ შევხვდებით ისევ. მიუხედავად ამისა, მე ძალიან მადლობელი ყველას, ვინც მომცა ამ შესაძლებლობა მისცეს უკან სხვები. დავით, მისი მოთმინება და ნდობა. ფილმი და წარმოების ეკიპაჟის, for რაც ჩემთვის გამოიყურებოდეს გარკვეულწილად პატივსაცემი. და, რაც მთავარია, ჩემი სტუდენტები, რომლის გარეშეც მე არ აქვთ მიზეზი დახარჯავს 10 საათის ოპტიმალურ გზა მიაპყროს პოინტერები, ან წამოაყენონ გარეთ მაგიდა დელფინები მეშვეობით JavaScript. როგორც ყოველთვის, ეს იყო კურთხევა ". ასე რომ, დიდი მადლობა ბიჭებს. მე ვხედავ თქვენ ყველა იმ CS50 სამართლიანი და Hackathon, თუ თქვენ იქ. და თუ თქვენ გაქვთ შეკითხვები, მე გამყარებაში გარშემო მანამ, სანამ არ არსებობს უფრო. მაგრამ მე დიდი მადლობა ბიჭებს მშვენიერი აქტი. [ტაში] დინამიკები: ალბათ ტირილი.