>> [เล่นเพลง]
[MUSIC - รอสซินี "RANZ DES Vaches "จาก William Tell]
>> เพลง [- BEAT อังกฤษ, "มีนาคม ของหัวหมุน "]
>> [APPLAUSE และเชียร์]
>> DAVID ลัน: ดังนั้นนี่คือ CS50
ชื่อของฉันคือเดวิดลัน
และ 73% ของคุณไม่มีประสบการณ์ก่อน กับวิทยาศาสตร์คอมพิวเตอร์,
ตรงกันข้ามกับสิ่งที่คุณอาจคิดว่า
ดังนั้นวันนี้เราคิดว่าเราจะเศษเล็กเศษ ที่การขาดความคุ้นเคย แต่ยัง
ให้ความรู้สึกของสำหรับบรรดาของคุณ ด้วยความสะดวกสบายมากขึ้นซึ่งทิศทาง
คุณสามารถไปที่ภาคการศึกษานี้
>> ดังนั้นขอเริ่มต้นด้วยนี้
ผมมีความคิดว่ามีอะไรอยู่ข้างในไม่ คอมพิวเตอร์แม้ว่าเช่นคุณผม
ใช้ทุกวัน
แต่มันเป็นชนิดของกล่องบางและมี ไม่ได้หลายปัจจัยเป็นมัน
อย่างน้อยที่สุดที่มีสิ่งที่?
อาจสายไฟ
>> และแน่นอนกับเรื่องนี้หนึ่งส่วนผสม, ไฟฟ้าที่เราดูเหมือนจะเป็นความสามารถในการ
ทำค่อนข้างบิตวันนี้
แต่ในตอนท้ายของวันที่เรา ต้องเป็นตัวแทนของสิ่งที่
ที่เราดูแลเกี่ยวกับ
เราต้องเป็นตัวแทนของข้อมูล ในรูปแบบบาง
และคุณอาจจะอยู่ที่อย่างน้อยคลุมเครือ คุ้นเคยกับความคิดโดยไบนารีหรือ
บิตอย่างใดหรืออื่น ๆ ที่เครื่องคอมพิวเตอร์ ลดลงเหลือศูนย์และคน
แต่เราสามารถที่จะโอบกอดและอย่างน้อย ใส่บิตของแสงที่?
>> ดังนั้นผมจึงมีเล็ก ๆ น้อย ๆ เหล่านี้ โคมไฟโต๊ะทำงานที่นี่
ฉันมีเต้าเสียบไฟฟ้าที่นี่
และฉันจะนำเสนอภายในว่า จากคอมพิวเตอร์ของฉันอย่างน้อยหนึ่งคือ
สิ่งเหล่านี้เป็นสิ่งที่มีความสามารถ ของการถูกเปิดหรือปิด
ในกรณีนี้มันแน่นอนโคมไฟตั้งโต๊ะ, แต่ในระดับที่ต่ำมันบางอย่าง
ที่เรียกว่าทรานซิสเตอร์
>> แต่ในโลกของเรามันเป็นโคมไฟตั้งโต๊ะดังนั้น ฉันจะไปข้างหน้าและเสียบนี้
เป็นไฟฟ้าของฉันที่นี่
และผมก็เรียกร้องว่าการใช้ง่ายๆเหล่านี้ได้ อุปกรณ์ง่ายนี้สวิตช์ง่ายฉัน
สามารถเป็นตัวแทนของข้อมูล
ยกตัวอย่างเช่นตอนนี้ผม ที่เป็นตัวแทนของอะไรใช่มั้ย?
ผมเป็นตัวแทนของสิ่งที่ฉันจะโทร 0 หรือ เท็จตรงข้ามของบางสิ่งบางอย่าง
เป็นจริงในปัจจุบัน
แต่ถ้าฉันเพียงแค่เปิดสวิตช์นี้ ตอนนี้ฉันได้เป็นตัวแทน 1
ดังนั้นการใช้ชิ้นนี้ง่ายมากของ หน่วยความจำถ้าคุณจะสามารถเป็นตัวแทนของผม
ข้อมูล
>> ตอนนี้โชคไม่ดีที่คอมพิวเตอร์ของฉัน ไม่สามารถทำสิ่งที่มาก
มันสามารถเป็นตัวแทนของสองค่า ในโลกทั้ง -
0 หรือ 1
แต่สิ่งที่แก้ปัญหาที่เห็นได้ชัดว่าตอนนี้ ถ้าเราต้องการที่จะขยายของเครื่องคอมพิวเตอร์ของเรา
เป็นตัวแทนของหน่วยความจำและอื่น ๆ มากกว่าเพียงแค่ 0 และ 1?
>> ดีขอคว้าอีกเช่นบิต
Let 's คว้าสวิทช์อื่นอีก ทรานซิสเตอร์ แต่คุณต้องการ
คิดเกี่ยวกับมัน
ให้ฉันไปข้างหน้าและเสียบนี้ ลงในเครื่องคอมพิวเตอร์ของฉันเช่นกัน
และฉันจะเรียกร้องในขณะนี้ว่า การใช้ไฟฟ้ามากขึ้นอีกนิดและ
หันของสวิตช์เหล่านี้และ ปิดผมสามารถเป็นตัวแทนดังกล่าวมากขึ้น
ข้อมูล
>> ดังนั้นตอนนี้นี้คือ 1
ถ้าต้องการขณะนี้เป็นตัวแทนของ 2 ฉันจะทำเช่นนี้
แต่โดยทั่วไปแล้วการประชุมที่เราจะ ในที่สุดก็เห็นจะมีฉันทำเช่นนี้
ดังนั้นนี่คือ 0 นี้เป็น 1
นี้จะเป็น 2
และไม่น่าแปลกใจนี้จะเป็น 3
>> ดังนั้นในวิธีนี้ยังสามารถ เรานับได้ดียิ่งขึ้น?
ถ้าฉันได้รับบิตที่สาม, สวิทช์ที่สาม จำนวนมากที่สุดที่จะทำได้ในขณะนี้เป็นสิ่งที่
นับถึงจาก 0?
7 ดังนั้นถ้าฉันเริ่มที่ 0 ใช่มั้ย?
เพราะถ้าฉันเปิดไฟนี้และ จริงเสียบนี้สามและครั้งสุดท้าย
แสงเป็นซ็อกเก็ตไฟฟ้าของฉันที่นี่, แล้วฉันมีความสามารถในการเป็นตัวแทนของ
ใด ๆ ของสองค่าที่นี่สองค่า ที่นี่สองค่าที่นี่ -
และเพื่อให้สามารถเป็นตัวแทนของครั้งที่ 2 ครั้งที่ 2 2 หรือแปดค่าที่เป็นไป
และถ้าฉันเริ่มต้นการบัญชีที่ 0 ดังนั้น ที่ 0, 1, 2, 3, 4, 5, 6, 7
>> ดังนั้นไบนารีนี้
จริงๆมันเป็นง่ายๆเป็นว่า
และผมยืนยันว่านี้เป็นจริง ค่อนข้างคุ้นเคยให้มากที่สุด
ทุกคนในห้องนี้
ให้ฉันไปข้างหน้าและเปิด แก้ไขข้อความเล็ก ๆ น้อย ๆ ที่นี่
>> และคุณอาจจำจากโรงเรียนเกรด ว่าเรามีสิ่งที่ต้องการหลายร้อย
สถานที่, สถานที่สิบ และคนที่เป็นสถานที่ที่
และจำได้ว่าหากคุณมีทศนิยมบาง จำนวนเช่นเดียวกับบางสิ่งบางอย่างสุ่ม
เช่น 123, คุณจะเป็นหลัก เขียนว่าออกในรูปแบบ
ของทั้งสามคอลัมน์
และเป็นเหตุผลที่ 1, 2, 3 สิ่ง เรารู้ว่าเป็น 123
ทั้งในคอลัมน์ซ้ายสุดเรามี หนึ่ง 100 บวกสอง 10s เพื่อที่ว่า 120,
บวกสาม 1s เพื่อที่ว่า 123
>> ตอนนี้โลกที่เราเพียงแค่สว่างนี้ เป็นเหมือนกับ
คุณเคยคุ้นเคยกับปีที่ผ่านมา, ยกเว้นตอนนี้คอลัมน์ของเรา
ไม่ได้ 10 ยกกำลัง
พวกเขากำลังเพียงอำนาจจาก 2
ดังนั้นในขณะที่สถานที่นี้ เป็นไปได้ที่เจ้าตัวนี้เป็น
จะเป็นสถานที่ที่สี่
>> และเพราะฉันเป็นเพียงการใช้ที่ง่าย ของกลไกที่จะทำให้สิ่งที่
และปิด - ไฟฟ้าไหล หรือกระแสไฟฟ้าไม่ไหล -
ฉันไม่ค่อนข้างมีความหมายเดียวกัน เป็นช่วง 0 ถึงเก้า
เราจะให้มันง่ายสุด ในโลกของคอมพิวเตอร์นี้
ฉันมีเพียงแค่ 0 หรือ 1 -
หรือปิด, เท็จหรือจริง
>> และเพื่อให้สิ่งที่ฉันแสดงสิทธิในขณะนี้ 1, 1, 1, เพราะแต่ละเหล่านี้
ไฟส่องสว่าง
ดีที่จะช่วยให้ฉันหนึ่งบวกหนึ่ง 4 2 ดังนั้น ที่ 6 บวกหนึ่ง 1 และที่ 7
และ Ergo ไม่ลำดับของสามนี้ บิตเป็นตัวแทนของหมายเลข 7
>> ดังนั้นเวลานี้ภายในของคุณ คอมพิวเตอร์มีจำนวนการใด ๆ
ทรานซิสเตอร์จำนวนบิตใด ๆ
แต่ในตอนท้ายของวันที่เรา สามารถเป็นตัวแทนของข้อมูล
เป็นเพียงเป็นที่
ตอนนี้โชคไม่ดีที่เราได้นับเฉพาะ ถึง 7 ใน CS50 ป่านนี้ แต่
หวังว่าเราสามารถทำบิต ที่ดีกว่านั้น
และแน่นอนที่เราสามารถทำได้
>> สมมติว่าเราเป็นเพียงมนุษย์ ตัดสินใจโดยพลการที่เราจะไป
ที่จะเชื่อมโยงตัวเลขเช่น 1 และ 2, 3, 4, 5, 6, 7, ด้วยตัวอักษรที่เฉพาะเจาะจงของ
ตัวอักษร
และสำหรับเหตุผลทางประวัติศาสตร์ฉันจะไป เริ่มต้นค่อนข้างพล แต่ฉัน
จะไปบอกว่ามนุษย์เราจะไป ตัดสินใจที่เป็นมาตรฐานทั่วโลกว่า
65 หมายถึงจำนวนตัวอักษร A. 66 จะเป็นตัวแทนของบีดอทจุดจุด
90 จะเป็นตัวแทนของซีจดหมาย
>> และให้คิดว่าถ้าเรานำบางส่วน คิดว่าเป็นมันเราสามารถขึ้นมา
กับตัวเลขสำหรับเครื่องหมายอัศเจรีย์ และตัวอักษรตัวพิมพ์เล็กและแน่นอน
คนอื่น ๆ ได้กระทำที่สำหรับเรา
ดังนั้นตอนนี้เรามีบิตที่เราสามารถ ตัวเลขที่เป็นตัวแทนของตัวเลขที่
เราสามารถเป็นตัวแทนของตัวอักษรและด้วย เราสามารถตัวอักษรตอนนี้เริ่มเขียน
อีเมลและตัวอักษรพิมพ์ บนหน้าจอ
>> เพื่อให้ฉันเชิญถ้าฉันทำได้ แปดอาสาสมัครผู้กล้าหาญ -
ที่ไม่คิดที่ปรากฏไม่เพียง แต่ ในกล้อง แต่บนอินเทอร์เน็ต -
ที่จะเกิดขึ้นที่นี่และเป็นตัวแทนของแปดดังกล่าว บิตมากกว่าที่สามเหล่านี้
ดังนั้นวิธีการเกี่ยวกับหนึ่งสอง?
วิธีการเกี่ยวกับสาม?
วิธีการเกี่ยวกับสี่ในที่มีแสง สีฟ้า, ห้าสิ้นสุดหรือไม่
เกี่ยวกับคนที่นี่?
หกในด้านหน้าเจ็ดในด้านหน้า, และแปดในด้านหน้าเช่นกัน
>> ดังนั้นผมจึงเพิ่งเกิดขึ้นมาเพื่อที่จะเตรียมความพร้อม มีทั้งกลุ่มของบิลของกระดาษ
และเมื่อชิ้นนี้ของกระดาษตัวเลข ที่เป็นตัวแทนของสิ่งคอลัมน์
พวกคุณจะเป็นตัวแทนของ
ดังนั้นคุณจะ - คุณชื่ออะไร?
>> นักเรียน: แอนนาลีอาห์
>> DAVID ลัน: แอนนาลีอาห์คุณ จะเป็นคอลัมน์ 128s
คุณมีอะไรบ้าง
>> นักเรียน: คริส
>> DAVID ลัน: คริสจะ เป็นคอลัมน์ 64s
คุณมีอะไรบ้าง
>> นักเรียน: แดน
>> DAVID ลัน: แดนจะ เป็นคอลัมน์ 32s
>> นักเรียน: Pramit
>> DAVID ลัน: Pramit จะ เป็นคอลัมน์ 16s
>> นักเรียน: ลิเลียน
>> DAVID ลัน: ลิเลียนจะ 8s
>> นักเรียน: จิลล์
>> DAVID ลัน: จิลล์จะ เป็นคอลัมน์ 4s
>> นักเรียน: แมรี่
>> DAVID ลัน: แมรี่จะ 2s และ?
>> นักเรียน: เดวิด
>> DAVID ลัน: เดวิดจะ เป็นคอลัมน์ 1s
ดังนั้นถ้าพวกคุณสามารถก้าวเล็ก ๆ น้อย ๆ ไปข้างหน้าเพื่อให้ทุกคนสามารถมองเห็นได้
สิ่งที่พวกคุณไม่เห็นก็คือใน ด้านหลังของใบเหล่านี้ของกระดาษคือ
โกงแผ่นเล็ก ๆ น้อย ๆ ที่เกี่ยวกับการ คำสั่งเหล่านี้แปดบิตอย่างใดอย่างหนึ่ง
ยกมือของพวกเขาหรือไม่ ยกมือ
ถ้ามือของพวกเขาขึ้นไปที่พวกเขากำลัง คิดเป็นสัดส่วน 1
ถ้ามือของพวกเขาอยู่แล้วที่พวกเขากำลัง แทน 0
>> ในขณะเดียวกันเราผู้ชมที่ควรจะเป็น สามารถคิดออกบนพื้นฐานนี้
การทำแผนที่สิ่งที่คำสามตัวอักษรเหล่านี้ คนกำลังจะสะกดออก
ดังนั้นในเวลาเพียงสักครู่คุณจะ อ่านบรรทัดแรกออกไปทางด้านหลังของ
โกงแผ่นของคุณและคุณอย่างใดอย่างหนึ่ง จะไปเพิ่มหรือไม่เพิ่มมือของคุณ
หากคุณเป็น 1 คุณยกถ้า คุณ 0 คุณยืน
อย่างเชื่องช้าเช่นเดียวกับที่
ไป
หมายเลขสิ่งแรกและสำคัญที่สุด, คนเหล่านี้จะเป็นตัวแทนของ?
>> 66
66 ใช่มั้ย?
เรามี 1 ในคอลัมน์ยุค 64, 1 ในคอลัมน์ 2s
ที่ทำให้ผม 66 ดังนั้นที่ปรากฏ ที่จะเป็นตัวแทนของบีดังนั้น
พวกคุณได้สะกด -
ตกลงว่าพอ
B.
>> ดังนั้นตอนนี้เราจะย้ายไปยัง จดหมายฉบับที่สองของเรา
ไป
คนที่เร็วที่สุดในที่ที่คณิตศาสตร์ที่นี่?
ดังนั้น 79
อีกครั้งถ้าเราเพิ่มขึ้นทั้งหมดของคอลัมน์ ที่มี 1 คน, ขณะนี้เพียง
เช่นเดียวกับที่เราทำมาก่อนด้วยการที่ง่ายที่สุด ตัวอย่างของ 7 เราตอนนี้
ได้รับจำนวน 79
ซึ่งตามแผนที่ของเราคือ จดหมายทุมดังนั้นเราเกือบจะสำเร็จ
B, ทุมและสุดท้ายไป
>> สิ่งที่พวกเขาเป็นตัวแทนอยู่ตอนนี้
ฉันทามติน้อย
นั่นเป็นเพียงเสียงพึมพำแน่นอน
ใช่มันในความเป็นจริง 87
ดี
>> ดังนั้นหากเราตอนนี้ map ที่กลับขึ้นไป - ขอ เริ่มเรียกแผนภูมิ ASCII ของเรา
รหัสมาตรฐานอเมริกันสำหรับ การแลกเปลี่ยนข้อมูล
ที่ทำให้เรามีตัวอักษร -
ไม่ได้ "บ่อ" แต่ "ธนู." และที่สมบูรณ์แบบ คิวสำหรับพวกคุณที่จะใช้ธน​​ู
หัวและที่ด้านหลัง
ขอบคุณมาก
>> [APPLAUSE]
>> DAVID ลัน: คุณสามารถให้พวกเขา
แม้ว่าที่จริงจะทุกคน เช่นโคมไฟตั้งโต๊ะยัง?
>> [HOOT จากผู้ชม]
>> DAVID ลัน: โคมไฟโต๊ะเขียนหนังสือ?
>> [เสียงหัวเราะ]
>> DAVID ลัน: จริงเหรอ?
โคมไฟโต๊ะเขียนหนังสือสำหรับทุกคน?
ทั้งหมดขวา
ดังนั้นเริ่มต้นด้วยง่ายที่สุด หลักการที่เราได้ตอนนี้ไม่เพียง แต่นับ
เพิ่มขึ้นจาก 0 ตลอดทางขึ้นถึง 7 เราได้ สันนิษฐานว่าเพียงแค่โดยการขว้างปามากขึ้น
บิตหรือไฟมากขึ้นหรือทรานซิสเตอร์มากขึ้น ที่ปัญหานี้เราสามารถ
แทนตัวเลขใหญ่และขนาดใหญ่และ เพราะฉะนั้นช่วงใหญ่และขนาดใหญ่ของ
ตัวอักษรเช่นภาษาอังกฤษ
และก็ขอใช้เวลากับความเชื่อในวันนี้ ในทำนองเดียวกันว่าเราสามารถเริ่มต้นที่จะ
เป็นตัวแทนของกราฟิกและวิดีโอและอื่น ๆ จำนวนสื่ออื่น ๆ ที่เรา
ที่คุ้นเคยในวันนี้
>> ดังนั้นนี่คือ CS50 และในชั้นนี้ ข้างของคุณอีกครั้งหลายอย่าง
เพื่อนร่วมชั้นเรียนที่มีน้อย พบในขณะที่คุณ
และฉันพูดถึงเพียงนี้เพราะค่อนข้าง มักจะรวมถึงเมื่อเร็ว ๆ นี้เป็นหนึ่งใน
น้องเหตุการณ์และให้คำปรึกษาที่ ฤดูใบไม้ผลิปีที่ผ่านมาให้คำปรึกษา
เหตุการณ์ที่เรามักจะได้ยินนักเรียนสละสิทธิ์ เมื่อมาถึงโต๊ะ CS ดี
ฉันได้รับการคิดเกี่ยวกับการนี​​้ ชั้นบทนำ แต่ฉันไม่ได้จริงๆ
บุคคลคอมพิวเตอร์
หรือทุกคน แต่แน่นอน รู้มากกว่าผม
และฉันใส่ในตัวอักษรที่ใหญ่ที่สุด เป็นไปได้ในการถ่ายทอดข้อความนี้ว่า
ที่ไม่อยู่ในความเป็นจริงกรณี
>> และถ้าคุณสงสัยว่าควร ผมในความเป็นจริงจะอยู่ที่นี่?
ตระหนักดีว่าไม่เพียง แต่เป็นของหลักสูตรนี้ ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์ชื่อ
วิทยาศาสตร์เป็นความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์ วิทยาศาสตร์ I. ดังนั้นมีแน่นอน
การแนะนำดังกล่าวที่สอง
ดังนั้นคุณไม่ได้ในความเป็นจริง ในสถานที่ที่ไม่ถูกต้อง
และในหมู่เป้าหมายที่ฉันมีสำหรับในวันนี้มี เพื่อบรรเทาความกังวลใด ๆ เช่นคุณ
อาจจะมี แต่ยังในการวาด ภาพของสิ่งที่อยู่ในการจัดเก็บสำหรับ
นักเรียนน้อยกว่าและสะดวกสบายมากขึ้น เหมือนกันในวิชานี้
>> แต่ก่อนอื่นคำหนึ่งของเอกสารประกอบคำบรรยาย คุณมีวันนี้ในระหว่างที่
จำนวนของคำถามที่พบบ่อยเป็น
มันเป็นวิสัยทัศน์ของเราในบางเวลา ในขณะนี้ที่จะแนะนำการจัดลำดับใหม่
ตัวเลือกในหลักสูตรนี้ - คือ / UNSAT SAT
ปรัชญาสำหรับฉันมันเป็นอย่างมากมาก สำคัญมากขึ้นว่า
นักเรียนในชั้นนี้ประกอบกับ วัสดุที่ถูกท้าทายโดย
วัสดุและกังวลไกลน้อยเกี่ยวกับ กลศาสตร์ของคะแนนที่เกิดขึ้นจริง
และเกรดแบบตัวอักษรที่ภาคการศึกษา ปลาย แต่อย่างแท้จริงโอบกอด
แน่นอนและวัสดุ
และจริงๆนี้รู้สึกมากกว่าปกติ สำหรับสิ่งที่น่าสนใจที่จะให้พวกเขาไป
รู้สึกท้าทายและได้รับรางวัล แต่ โดยไม่ต้องกลัวความล้มเหลว
>> และแน่นอนนี้ก็เป็นที่เกิดขึ้น ในรูปแบบนี้และอื่น ๆ เบื้องต้น
หลักสูตรในสาขาอื่น ๆ ที่คุณมี ความกังวลใจเมื่อมันมาถึงนี้
การวางเท้าของคนใน น่านน้ำที่ไม่คุ้นเคย
ตัวผมเองกลับไปในปี 1995 ยังเป็นนักศึกษาใหม่
ผมเน้นมากในการเป็น Gov Concentrator ที่นี่
และยังฉันจะเติบโตขึ้นเสมอมากับบิต ที่น่าสนใจในสาขาวิชาวิทยาการคอมพิวเตอร์
ฉันถูกเสมออยากรู้อยากเห็น
>> แต่กลับมาแล้วแม้ฉันมีความกลัวนี้ แม้จะก้าวเท้าใน CS50 มาก
เพื่อที่ฉันไม่ได้ซื้อสินค้า ปีแรกของมัน
และเหตุผลเดียวที่ฉันวางเท้าใน ปีประตูเป็นเพราะผม
ได้รับอนุญาตที่จะนำไปผ่าน / ไม่
แต่ถึงแม้จะผ่าน / ไม่จำเป็นที่ฉันได้รับ ขึ้นเส้นประสาทที่จะทำให้ได้รับการแต่งตั้ง
กับศาสตราจารย์ Kernehan ในเวลานั้น นำแผ่นนี้ขนาดใหญ่ของกระดาษและขอให้
เขาสำหรับลายเซ็นของเขาและเขา ได้รับอนุญาตในการสำรวจ
เหล่านี้น้ำที่ไม่คุ้นเคย
>> และมันก็ไม่ได้ช่วยในปีที่ผ่านมา ว่าเมื่อทำเช่นนี้ใน CS50 เมื่อเรา
ที่ใช้จะผ่าน / ไม่เหมือนกันจะ หลายสิบหรือหลายร้อยเพื่อนร่วมชั้นของคุณ
ต้องมาพระเจ้าห้ามที่ ด้านหน้าของแซนเดอที่มีรูปแบบนี้ว่า
ในจิตใจของบางคนแสดงให้เห็นถึงการไร้ความสามารถ, ผมกล้าพูดว่าจะดำเนินการ
เป็นระดับที่เพื่อนของคุณ '
ซึ่งเป็นเรื่องน่าขัน แต่ฉันคิดว่า มีความคิดที่ว่า
และมีไม่เคยอยู่ในวัฒนธรรมนี้ ของ SAT / UNSAT หรือผ่าน / ไม่ขึ้น
โดยทั่วไปในหลักสูตรนี้ หรือจริงๆในมหาวิทยาลัยนี้
>> ดังนั้นในปีนี้เราเปลี่ยนที่
ฉันจะเป็นครึ่งหนึ่งของความสุข หรือมากกว่าชั้นนี้สิ้นสุดวันที่
ขึ้นการ CS50 / UNSAT SAT
ในช่วงเวลาของปีก็จะเป็นที่ยอดเยี่ยม ถ้าทุกคนเกือบจะเป็น
หลังจากนั้นบางทีเราอาจจะทำงาน เมื่อเกรดแบบตัวอักษรที่ Harvard
วิทยาลัยมากกว่าปกติ
แต่ตอนนี้เราจะทำเช่นนี้ภายในของเรา วงของตัวเองและฉันจะอย่างเต็มที่
ขอให้คุณคำถามที่พบบ่อยเหล่านั้นและ ถามคำถามที่คุณเห็นพอดีเพื่อที่ว่า
หวังว่าคุณเหมือนผมจะไม่มาก มีปัจจัยความกลัวว่าเดียวกันเมื่อ
สำรวจสิ่งที่อาจ ที่ที่ไม่คุ้นเคย
>> ดังนั้น CS50 คืออะไร?
มันเป็นความรู้เบื้องต้น องค์กรทางปัญญาของคอมพิวเตอร์
วิทยาศาสตร์และศิลปะของการเขียนโปรแกรม
แต่นั่นไม่สิ่งที่เป็นจริงหมายถึงอะไร
>> ดีป่านนี้เราได้พูดคุยสั้นมาก เกี่ยวกับข้อมูลที่เป็นตัวแทนของ
แต่คิดว่าเราต้องการจริง ที่จะทำอะไรกับมัน
เราต้องการที่จะแนะนำความคิดของ สิ่งที่เราจะเรียกอัลกอริทึม
อัลกอริทึมเป็นขั้นตอนกระบวนการ, ชุดของคำแนะนำสำหรับการ
ทำอะไรบางอย่าง
>> และอัลกอริทึมสามารถเป็นสิ่งที่ ง่ายสุด
ยกตัวอย่างเช่นตัวอย่างที่บาง ของคุณอาจจะคุ้นเคยนี้
สิ่งที่นี่
ดังนั้นหนังสือเล่มนี้ที่นี่มากขึ้น ลงวันที่ แต่กาลครั้งหนึ่งมัน
ที่มีเป็นจำนวนมากทั้งของชื่อ และหมายเลขโทรศัพท์
และแน่นอนถ้าผมต้องการที่จะหา คนที่อยู่ในสมุดโทรศัพท์นี้ -
บอกว่าคนที่ชื่อไมค์สมิ ธ -
ฉันสามารถหาไมค์สมิ ธ ในจำนวนใด ๆ ในวิธีที่ค่อนข้างตรงไปตรง
ฉันจะเริ่มต้นที่จุดเริ่มต้นและ ย้ายไปที่หน้า 1, ไม่อยู่ที่นั่น
2 หน้าไม่อยู่ที่นั่น
Page 3
เป็นอัลกอริทึมที่นั่นคือ กระบวนการถูกต้องหรือไม่
>> ดังนั้นจึงเป็นสิ่งที่ถูกต้องใช่มั้ย?
ผมชนิดของคนบ้าสำหรับการทำมันใน ว่าลักษณะ แต่ในที่สุดฉันจะ
หานามสกุล S, และหวังว่าไมค์ อยู่ในส่วนนั้นและฉันจะกลายเป็น
ทำด้วยอัลกอริทึมของฉัน
แต่แน่นอนว่ามันไม่ง่าย
มากที่สุดมนุษย์ทุกคนที่เหมาะสมในเรื่องนี้ ห้องพักจะไม่ได้ทำอย่างนั้น
อะไรที่คุณจะได้ทำ?
>> คุณจะได้ไปตรง ไปตรงกลางขวา?
ประมาณกลาง
และคุณรู้ว่าโอ้เหล่านี้เป็นนางสาว ดังนั้นไมค์สมิ ธ , นามสกุลเป็นสมิ ธ ,
ไม่ได้เป็นอย่างเห็นได้ชัดแล้วใน ซีกซ้ายของหนังสือเล่มนี้
เขาจะต้องไป ของ S ในด้านขวา
และที่จุดนี้แม้ว่าส่วนใหญ่ของเรา ไม่ทำเช่นนี้ในความเป็นจริงที่เราสามารถทำได้
อักษรฉีกปัญหาในช่วงครึ่งปีนี้
>> [โห่ร้องปรบมือ]
>> DAVID ลัน: ขอบคุณ
>> [โห่ร้องปรบมือ]
>> DAVID ลัน: คุณอักษรสามารถฉีกนี้ ปัญหาในช่วงครึ่งทิ้งฉันด้วย,
ตัวอักษรครึ่งปัญหาเป็นใหญ่
ดังนั้นถ้าสมุดโทรศัพท์นี้ - และ อาจจะเป็น - ประมาณ 1,000 หน้าในขณะนี้
เป็นเพียง 500
ถ้าผมทำเช่นนี้อีกครั้งและฉันตระหนักดี, OH, ด่าผมไปไกลเกินไปผมอยู่ใน Ts
ส่วนที่จะทำได้ในทำนองเดียวกัน -
เปรียบเปรยหรืออักษร -
ฉีกสมุดโทรศัพท์ - มันเป็นจริง เวลาที่ง่ายมาก
แท้จริงฉันสามารถฉีกสมุดโทรศัพท์ ในครึ่งทิ้งฉันตอนนี้กับ
ไม่ได้ 1,000 ไม่ได้ 500 -
250 หน้า
และฉันสามารถไป 125, และครึ่งหนึ่งของผู้นั้นและ ครึ่งหนึ่งของที่และครึ่งหนึ่งของที่
จนในที่สุดฉันจะทิ้งให้อยู่กับ เพียงหนึ่งในหน้าเดียว
>> [เสียงหัวเราะ]
>> DAVID ลัน: นั่น ส่วนหนึ่งผมล้มเหลวใน
หน้าเดียวที่ ไมค์หวังคือ
ตอนนี้ขั้นตอนวิธีการที่แตกต่างกันสามารถ การประเมินหรือการจัดเรียงของการประเมินใน
วิธีการที่แตกต่างกัน
คนแรกคือเส้นตรงมากใช่มั้ย?
เปิดหน้าให้มองหาไมค์
มันเป็นเชิงเส้นมาก
หากมีหนึ่งหน้ามากขึ้นในโทรศัพท์ของ หนังสือเล่มนี้ก็อาจจะพาฉันไป
คนที่สองมากขึ้นหนึ่งหน่วยของเวลา แต่เรากำลังคำนวณเวลา
>> ดังนั้นผมอาจจะวาดเช่นนี้บรรทัดนี้ ที่นี่ด้วยเหตุนี้ในขณะที่ขนาดของ
การเพิ่มขึ้นของปัญหาจากซ้ายไปขวา -
สมุดโทรศัพท์ขนาดเล็กได้รับที่ใหญ่กว่าตัว -
และเวลาที่จะเพิ่มขึ้นเมื่อ แกนแนวตั้งที่ใหญ่กว่า
สมุดโทรศัพท์คือ
ดังนั้น n เป็นเพียงตัวแปรทั่วไปที่ นักวิทยาศาสตร์คอมพิวเตอร์ใช้เพื่อเป็นตัวแทนของ
ค่าบาง, บางหมายเลข
ดังนั้น n จะเพิ่มขึ้นเป็นเส้นตรง
ขนาดเป็นสองเท่าของสมุดโทรศัพท์ก็ จะใช้เวลาฉันสองเท่า
เวลาส่วนใหญ่มีแนวโน้มที่จะพบกับไมค์
>> ตอนนี้ฉันจะได้รับสมาร์ท เกี่ยวกับเรื่องนี้ใช่มั้ย?
ฉันได้รับเบื่อได้อย่างรวดเร็ว
จะได้ทำเรื่องนี้โดย twos
ดังนั้นสองหน้าแล้วสี่ แล้วหกแปด
และฉันจะเริ่มบินผ่านมัน เร็วขึ้นเพียงเล็กน้อยแม้ว่าจะมีความเสี่ยงน้อย
overshooting ไมค์ แต่โค้งที่ไม่ได้เป็น จะเป็นสิ่งที่แตกต่างกัน
มันยังคงเป็นไปได้ตรง เส้น แต่เร็วขึ้นเล็กน้อย
>> แต่ผมทำอย่างไร?
ที่จริงผมทำอะไรบางอย่าง พื้นฐานที่ดีขึ้น
ผมประสบความสำเร็จในสิ่งที่เราจะเรียกลอการิทึม เวลาบันทึกของ n สีเขียวด้วยเหตุนี้
สายมีมากมากมาก ตรงขอบน้อยไป
และค่อนข้างมันแสดงให้เห็นว่ามันเป็นจัดเรียงของ วิธีที่อินฟินิตี้เคยดังนั้นค่อยๆ
ที่จริงผมอาจจะใช้เวลา 1,000 หน้า สมุดโทรศัพท์ขนาดเป็นสองเท่าของ
ปีถัดไป - เพราะคิดว่าเป็นจำนวนมาก ผู้คนมากขึ้นย้ายเข้าไปในเมือง
>> ดังนั้นตอนนี้ฉันมี 2,000 หน้า แต่อย่างไร หลายขั้นตอนมากขึ้นว่าอย่างชาญฉลาด
อัลกอริทึมจะใช้เวลา?
เพียงหนึ่ง
ผมหมายถึงว่าเป็นสิ่งที่มีประสิทธิภาพ
ถ้าเราไปถึง 4,000 หน้าในปีถัดไป ที่จะพาฉันไป
เพียงสองขั้นตอนอื่น ๆ
ดังนั้นคุณจึงสามารถโยนใหญ่และขนาดใหญ่ ปัญหาที่ผมไม่แตกต่างจากเว็บเป็น
โยนปัญหาใหญ่และขนาดใหญ่ วันที่ Googles และ Facebooks ของทุก
โลกและมันก็ไม่ได้ เช่นเรื่องใหญ่
เพราะผมใส่ความคิดและการดูแลเป็น อัลกอริทึมของฉันกับการที่จะแก้ปัญหา
ปัญหาได้อย่างมีประสิทธิภาพ
>> และแน่นอนว่าจะเป็นหนึ่งใน เป้าหมายของหลักสูตรนี้
คุณจะได้ไปพร้อมกัน เรียนรู้วิธีการเขียนโปรแกรม
คุณจะได้เรียนรู้วิธีการเขียนโปรแกรมใน จำนวนภาษาใด ๆ
แต่ในตอนท้ายของวันที่แน่นอนคือ เกี่ยวกับการแก้ปัญหาและได้รับการ
ที่ดีกว่าในการแก้ปัญหา - และในขณะที่ กรณีเช่นนี้การแก้ปัญหา
มีประสิทธิภาพมากขึ้น
>> ตอนนี้ป่านนี้เราได้ทำนี้ เป็นธรรมอย่างสังหรณ์ใจ
ขอแนะนำบางสิ่งบางอย่างเป็นธรรม pseudocode ทั่วไปเรียกว่า
ดังนั้นในที่สุดเราก็จะได้รับ, ในหลักสูตรนี้ไป
เขียนโปรแกรมภาษาต่างๆ
แต่วันนี้เราจะทำมันในภาษาอังกฤษอย่าง ไวยากรณ์ที่คุณเพียงแค่ชนิดของการพูด
สิ่งที่คุณหมายถึง แต่คุณเคยดังนั้น รวบรัดและคุณไม่ต้องกังวลเกี่ยวกับ
ไวยากรณ์และประโยคสมบูรณ์
คุณเพียงแค่แสดงตัวเองเป็น รัดกุมที่สุดเท่าที่เป็นไปได้
>> ดังนั้น pseudocode เป็นภาษาอังกฤษอย่าง ไวยากรณ์ที่แสดงถึง
การเขียนโปรแกรมภาษา
และในช่วงท้ายว่าให้ฉันเสนอว่า ตอนนี้เราจำลองกระบวนการเราเพียงแค่
อธิบายการนับบางสิ่งบางอย่างเล็ก ๆ น้อย ๆ แตกต่างกันในเวลานี้การ
ดูวิดีโอนี้ห้านาทีผลิต โดยเพื่อนของเราที่ TED ว่า
กำหนดสิ่งที่ pseudocode คือกำหนดสิ่งที่ คิดเป็นอัลกอริทึมและแม้กระทั่ง
แม้ว่าตัวอย่างที่คุณกำลังจะดู คือในตัวของมันเองง่ายสุดก็
จะเริ่มต้นที่จะทำให้เราจิต รูปแบบคำศัพท์ที่จะใช้
ทำมากที่ซับซ้อนมากขึ้น ขั้นตอนวิธีการได้อย่างรวดเร็วมาก
>> [BEGIN การเล่นวิดีโอ]
>> [เล่นเพลง]
>> เล่าเรื่อง: อะไรคือขั้นตอนวิธี?
ในวิทยาการคอมพิวเตอร์อัลกอริทึมคือ ชุดคำสั่งในการแก้ปัญหาบางอย่าง
ขั้นตอนโดยขั้นตอนการแก้ปัญหา
โดยปกติจะดำเนินการขั้นตอนวิธีการ โดยคอมพิวเตอร์ แต่มนุษย์เรามี
ขั้นตอนวิธีการเช่นเดียวกับ
ตัวอย่างเช่นวิธีการที่คุณจะไป เกี่ยวกับการนับจำนวน
ของคนที่อยู่ในห้องพัก?
ดีถ้าคุณต้องการฉันคุณอาจต้องการ จุดที่แต่ละคนหนึ่ง
เวลาและนับขึ้นจาก 0
1, 2, 3, 4, และอื่น ๆ
>> ดีที่อัลกอริทึม
ในความเป็นจริงเราจะพยายามที่จะแสดงมันออกมา บิตอีกอย่างเป็นทางการใน pseudocode -
ไวยากรณ์ภาษาอังกฤษอย่างที่คล้ายกับ การเขียนโปรแกรมภาษา
ให้ยังไม่มีข้อความที่เท่ากับ 0
สำหรับคนในห้องแต่ละชุด ยังไม่มีข้อความที่เท่ากับยังไม่มีบวก 1
>> วิธีการตีความ pseudocode นี้
ดีหนึ่งบรรทัดประกาศเพื่อที่จะพูด, ตัวแปรที่เรียกว่ายังไม่มีและต้น
ค่าเป็น 0
นี้ก็หมายความว่าที่จุดเริ่มต้นของ อัลกอริทึมของเราสิ่งที่
เรากำลังนับมีค่าเป็น 0
หลังจากที่ทุกคนก่อนที่เราจะเริ่มนับ, เรายังไม่ได้นับอะไรเลย
เรียกตัวแปรนี้ยังไม่มี เพียงแค่การประชุมคือ
ฉันจะได้เรียกมันว่าสิ่งใดมากที่สุด
>> ตอนนี้เส้นสอง demarks จุดเริ่มต้นของ ห่วงลำดับขั้นตอนที่จะ
ทำซ้ำจำนวนครั้งบาง
ดังนั้นในตัวอย่างของเราขั้นตอนที่เรากำลังทำ นับเป็นคนที่อยู่ในห้องพัก
ใต้บรรทัดที่สองเป็นสายสาม ซึ่งอธิบายว่าวิธีการ
เราจะไปเกี่ยวกับการนับ
เยื้องหมายถึงว่ามันเป็น สามบรรทัดที่จะทำซ้ำ
>> ดังนั้นสิ่งที่ pseudocode ไม่ว่าจะเป็น ว่าหลังจากที่เริ่มต้นที่ 0 สำหรับแต่ละ
คนในห้องเราจะ ยังไม่มีข้อความที่เพิ่มขึ้นโดย 1
ตอนนี้ขั้นตอนวิธีนี้ถูกต้องหรือไม่
ดีขอปังมันเล็กน้อย
มันทำงานถ้ามี คนสองคนที่อยู่ในห้องพัก?
ลองมาดูกัน
>> ในบรรทัดที่หนึ่งเราเริ่มต้นยังไม่มีข้อความถึง 0
สำหรับแต่ละเหล่านี้คนสองคน จากนั้นเราจะเพิ่มขึ้นโดยยังไม่มีข้อความที่ 1
ดังนั้นในการเดินทางครั้งแรกผ่าน ห่วงเราปรับปรุงยังไม่มีข้อความที่ 0-1
การเดินทางครั้งที่สองผ่านเดียวกันกับที่ ห่วงเราปรับปรุงยังไม่มีข้อความที่ 1-2
และเพื่อให้ได้ภายในสิ้นขั้นตอนวิธีนี้, n คือ 2 ซึ่งแน่นอนตรงกับจำนวน
คนที่อยู่ในห้องพัก
>> ดังนั้นไกลดังนั้นดี
วิธีการเกี่ยวกับกรณีมุม แต่?
สมมติว่ามีคน 0 ในห้องพัก - นอกจากเรา,
ผู้ที่ทำนับ
ในบรรทัดที่หนึ่งเราเริ่มต้นยังไม่มีข้อความถึง 0
เวลานี้แม้ว่าสามสายไม่ได้ ดำเนินการที่ทุกคนตั้งแต่มีไม่
คนในห้อง
และอื่น ๆ ยังคงยังไม่มีข้อความที่ 0 ซึ่งตรงกับ จำนวนของคนที่อยู่ในห้องพัก
สวยเรียบง่ายขวา?
>> แต่คนนับหนึ่งครั้ง จะไม่มีประสิทธิภาพสวยเกินไปไม่?
แน่นอนเราสามารถทำได้ดี
ทำไมไม่นับคนสองคนในเวลา?
แทนการนับ 1, 2, 3, 4, 5, 6, 7, 8, และอื่น ๆ ทำไมไม่นับ, 2,
4, 6, 8, และอื่น ๆ ?
มันยังฟังได้เร็วขึ้น และมันก็คือ
>> ขอแสดงเพิ่มประสิทธิภาพนี้ ใน pseudocode
ให้ยังไม่มีข้อความที่เท่ากับ 0
สำหรับคู่ของคนที่อยู่ในห้องพักแต่ละห้อง ชุดยังไม่มีข้อความที่เท่ากับยังไม่มีบวก 2
เปลี่ยนแปลงง่ายสวยใช่มั้ย?
มากกว่าคนนับหนึ่ง ในเวลาที่เราแทนนับ
พวกเขาทั้งสองในเวลา
อัลกอริทึมแบบนี้จึงเป็นครั้งที่สอง ให้เร็วที่สุดเท่าที่ผ่านมา
>> แต่มันเป็นเรื่องถูกต้องหรือไม่
ลองมาดูกัน
มันทำงานถ้ามี คนสองคนที่อยู่ในห้องพัก?
ในบรรทัดที่หนึ่งเราเริ่มต้นยังไม่มีข้อความถึง 0
สำหรับที่หนึ่งคู่ของคน, จากนั้นเราจะเพิ่มขึ้นยังไม่มีข้อความที่สอง
และเพื่อให้ได้ภายในสิ้นขั้นตอนวิธีนี้, N คือ 2 ซึ่งแน่นอนตรงกับจำนวน
คนที่อยู่ในห้องพัก
>> สมมติต่อไปว่ามี 0 คนที่อยู่ในห้องพัก
ในบรรทัดที่หนึ่งเราเริ่มต้นยังไม่มีข้อความถึง 0
ในฐานะที่เป็นก่อนที่จะสายสามไม่ได้ดำเนินการ ที่ทุกคนตั้งแต่มีไม่คู่ใด ๆ
ของคนที่อยู่ในห้องพัก
และอื่น ๆ ยังคงยังไม่มีข้อความที่ 0 ซึ่งแน่นอน ตรงกับจำนวน
คนที่อยู่ในห้องพัก
>> แต่ถ้ามีสาม คนที่อยู่ในห้องพัก?
วิธีนี้จะค่าโดยสารขั้นตอนวิธี?
ลองมาดูกัน
ในบรรทัดที่หนึ่งเราเริ่มต้นยังไม่มีข้อความถึง 0
สำหรับคู่ของคนเหล่านั้น, จากนั้นเราจะเพิ่มขึ้นโดยยังไม่มีข้อความที่ 2
แต่แล้วสิ่งที่?
มีไม่ได้เป็นอีกคู่ที่เต็มไปด้วยคน ในห้องพักเพื่อให้สองเส้น
ได้ใช้
และเพื่อให้ได้ภายในสิ้นขั้นตอนวิธีนี้, N ยังคงเป็นที่ 2 ซึ่งไม่ถูกต้อง
>> แท้จริงอัลกอริทึมนี้ได้รับการกล่าวถึงเป็น รถเพราะมีความผิดพลาด
ช่วยแก้ไขด้วย pseudocode ใหม่บางส่วน
ให้ n 0 เท่าเทียมกันสำหรับแต่ละคู่ ของคนที่อยู่ในห้องพัก
ชุดยังไม่มีข้อความที่เท่ากับยังไม่มีบวก 2
ถ้าคนคนหนึ่งยังคง unpaired, ชุดยังไม่มีข้อความที่เท่ากับยังไม่มีบวก 1
เพื่อแก้ปัญหานี้โดยเฉพาะเราได้ การแนะนำให้รู้จักในสายสี่
สภาพที่รู้จักกันเป็นอย่างอื่นเป็นสาขา เท่านั้นที่ดำเนินการหากมีหนึ่ง
คนคนนั้นที่เราทำไม่ได้ จับคู่กับอีกคนหนึ่ง
และดังนั้นตอนนี้ไม่ว่าจะมีหนึ่งหรือสาม หรือเลขคี่ของคนใน
ห้องพักอัลกอริทึมนี้ ตอนนี้จะนับพวกเขา
>> ที่เราสามารถทำได้ดียิ่งขึ้น?
ดีเราสามารถนับใน 3s หรือ 4s หรือแม้กระทั่ง 5s และ 10s แต่มากไปกว่านั้นก็
จะได้รับนิด ๆ หน่อย ๆ ยากที่จะชี้
ในตอนท้ายของวันที่ดำเนินการไม่ว่าจะเป็น โดยคอมพิวเตอร์หรือมนุษย์
อัลกอริทึมเป็นเพียงชุด ของคำสั่งด้วย
ซึ่งในการแก้ปัญหา
เหล่านี้เป็นเพียงสาม
สิ่งที่เป็นปัญหาคุณจะแก้ ด้วยวิธีการ?
>> [เล่นวิดีโอจบ]
>> DAVID ลัน: นั่นเป็นครั้งเดียว ฉันจะปรากฏในรูปแบบการ์ตูน
แต่ที่เรื่องที่ใบปิด, ตอนนี้เป็นวิธีการที่เราสามารถทำได้ดีกว่า
สามและสี่เราเรียกร้องให้เราสามารถนับ คนได้เร็วขึ้นมาก แต่เราสามารถ
ทำรากฐานที่ดีกว่านั้น?
และฉันเดิมพันที่เราสามารถทำได้
>> ถ้าเราแนะนำบิตของเราเอง pseudocode ที่นี่ฉันจะนำเสนอ
ที่เราสามารถบรรลุเส้นเช่นนี้
เราจะไม่นับคน หนึ่งสองสามสี่
เราไม่ได้จะไปสอง สี่หกแปด
เรากำลังจะทำอะไรที่ดีกว่าเดิม โดยการทบทวนปัญหาและในการนี​​้
กรณีใช้ประโยชน์อย่างอื่น ทรัพยากร underutilized
>> ในเวลาเพียงสักครู่ผมหวังว่าคุณจะยกโทษให้ และอารมณ์ขันเราลุกขึ้นยืนใน
สถานที่จุดที่เรากำลังจะ ขอให้ทุกท่านที่จะใช้ในในของคุณ
จิตใจหมายเลข 1
คุณกำลังจะไปแล้วมากขึ้น อย่างเชื่องช้าในขณะที่เวลาผ่านไปพบ
คนอื่นที่ยืนอยู่รวม ตัวเลขของคุณร่วมกัน
ด้วยการเพิ่มขึ้น
หนึ่งของคุณจากนั้นก็จะไปแข่งที่จะนั่ง ลงแรกและคนอื่น ๆ
จะไปทำซ้ำ
>> ดังนั้นในคำอื่น ๆ โดยการเพาะทั้งหมดของ ให้คุณมีหมายเลข 1 แล้ว
รวม 1s เหล่านั้นลงใน 2s และ 2s เหล่านั้น เป็น 4s, กับทุกคนมากขึ้นเรื่อย ๆ
นั่งลงเราควรในตอนท้ายของ ขั้นตอนวิธีนี้มีเพียงหนึ่งเงินกู้
จิตวิญญาณที่ไม่ได้นั่งลงอย่างรวดเร็วพอ แต่ มีนับผู้ชมทั้งที่
ในใจของเธอหรือของเขา
>> ดังนั้นถ้าคุณจะให้เราไปข้างหน้าและ - ขั้นตอนหนึ่ง - ลุกขึ้นยืนอยู่ในสถานที่
และดำเนินการ
>> [ฝูงชนพึมพำ]
>> DAVID ลัน: คุณรู้หรือไม่ ที่ลอเรนคืออะไร?
729?
>> [ฝูงชนพึมพำ]
>> DAVID ลัน: ขวาทั้งหมด?
>> [ฝูงชนพึมพำ]
>> DAVID ลัน: ขวาทั้งหมดที่เราควรจะ จะใกล้จะจบ
เราเห็นเพื่อนที่ยืนอยู่ที่นี่ยังคง
อื่น ๆ ที่จะต้องจับคู่?
ถ้าพวกคุณอยากจับคู่ออก
คนขึ้นด้านบน
ทำไมถึงไม่ได้ยืมมือที่นี่
สำหรับคนน้อยมากที่ยังคง ยืนว่าตัวเลขที่คุณทำ
มีในใจของคุณ?
>> นักเรียน: 78
>> DAVID ลัน: 78 บวก -
ผู้ที่ยืนอยู่ที่นี่?
>> นักเรียน: 39
>> DAVID ลัน: พลัส 39
พลัสที่อื่นจะยังคงยืนอยู่?
81?
ตกลงจะเลือกใคร?
81 อื่นได้หรือไม่
ว้าว
และจากนั้นในกลับอะไร
>> นักเรียน: 49
>> DAVID ลัน: 49, บวก?
>> นักเรียน: 98
>> DAVID ลัน: 98 บวก?
ที่เป็นคนอื่น
12?
งานที่ดี
>> [เสียงหัวเราะ]
>> DAVID ลัน: โอ้, 112 -
แหม
งานดี!
>> [เสียงหัวเราะ]
>> [APPLAUSE]
>> DAVID ลัน: ใคร ยังคงยืนอยู่?
ขออภัย?
>> นักเรียน: 99
>> DAVID ลัน: 99
คนอื่น ๆ ยังคงยืนอยู่?
และจำนวนรวมของนักเรียนที่นี่ เป็นจริงตามที่ -
คุณมีจำนวน?
โอ้ตัวเลขจริงของคนที่อยู่ใน ห้องพักตามบัญชีที่
การเรียนการสอนพวกเขากำลังทำ เกี่ยวกับวิธีการของทุกคนในเป็น 729
ดังนั้นจาก roomful ของนักศึกษาฮาร์วาร์ ที่นับตัวเอง
คำตอบคือ 637
>> [เสียงหัวเราะ]
>> DAVID ลัน: ปิดดังนั้น
แต่ก็ยังคง
ตกลงเพื่อให้การเรียนการสอน ขณะขวา?
ตอนนี้คือสิ่งที่เราจะอธิบายเป็นข้อผิดพลาด
บางเส้นทางที่เราได้บาง การคำนวณผิดหรือใครบางคนนั่งลง
หรือซ้ายหรือบางสิ่งบางอย่างที่ผิดพลาดไป
แต่ที่ดี
เพราะแม้ยังคงเรา ได้สวยใกล้
และผมยืนยันว่าเราได้ผิด ตอบได้เร็วมากขึ้นกว่าที่ฉันจะมี
ใช้วิธีการเชิงเส้นของฉันมากขึ้น
>> ดังนั้นสมมติว่าเราไม่ได้รับในความเป็นจริงว่า ถูกต้อง แต่คิดว่าตอนนี้เกี่ยวกับสิ่งที่
ที่เกิดขึ้นในแต่ละครั้งเมื่อเทียบกับของฉัน อัลกอริทึมของตัวเองชี้ไร้เดียงสา
หนึ่งสองสาม
หากมีแน่นอน 729 หรือ 637 คน ที่นี่ที่จะได้เอาฉัน
อักษร 637 หรือ 729 pointings ของนิ้วมือและ
incrementing นับทั้งหมดของฉัน
และฉันจะทำเล็ก ๆ น้อย ๆ ที่ดีขึ้นโดย ไปสองสี่หกแปดและ
สองความเร็วที่อาจจะสามหรือแม้กระทั่ง สี่เท่าขึ้นอยู่กับวิธีที่ดีที่ฉันสามารถ
ที่จะนับในหัวของฉัน
>> แต่วิธีการที่พวกคุณเอา เป็นพื้นฐานที่แตกต่างกัน
เพราะที่จุดเริ่มต้น พวกคุณทุกคนลุกขึ้นยืน
ดังนั้นทั้งหมด 729
แท้จริงแล้วครึ่งหนึ่ง ของคุณนั่งลง
และหลังจากนั้นอีก ครึ่งหนึ่งของคุณนั่งลง
>> และจำนวนครั้งที่คุณ ผมจะได้นั่งลงเป็นประมาณ
แปดหรือเก้าหรือสิบครั้งรวม ขึ้นอยู่กับสิ่งที่นับโดยรวมของเราคือ
และเราสามารถเรียงลำดับจากทำ นี้วิธีการอื่น ๆ
ถ้าเรามี 1,024 คนในห้องพัก, จำนวนครั้งที่คุณสามารถทำได้
ลดลงครึ่งหนึ่ง 1,024 คนคือ 10
>> ตอนนี้คิดเกี่ยวกับมันใน ทิศทางอื่น ๆ
สมมติว่าขันว่าเรามีการพูด สี่พันล้านคนที่อยู่ในห้องนี้
หรือห้องพักขนาดใหญ่กว่าเล็กน้อย
เราจะกี่ครั้งที่ได้ไป ผ่านขั้นตอนวิธีนี้ครึ่งหนึ่งที่ดังกล่าว
ของชั้นที่ตั้งอยู่ลง?
มันเพียง แต่จะใช้เวลา 32 ดังกล่าว การดำเนินงานแม้จะอยู่ในชั้นเรียนของขนาด
สี่พันล้าน
ทำไม?
เพราะสี่พันล้านไปสอง พันล้านไปถึงหนึ่งล้านไป
500000000, ไปถึง 250 ล้านจุดจุดจุด
ฉันเท่านั้นที่สามารถทำส่วนที่บางคน 32 ครั้งที่จุดที่ทุกคนยกเว้น
คนคนหนึ่งที่จะถูกทิ้งให้ยืน
>> และนั่นก็คือการจัดเรียงของที่มีประสิทธิภาพ ความคิดที่ว่ามากขึ้นเราจะพยายาม
ยกระดับในหลักสูตรนี้และใน การเขียนโปรแกรมและวิทยาศาสตร์คอมพิวเตอร์มากขึ้น
โดยทั่วไปเชื้อโรคเหล่านี้ของความคิดด้วย ซึ่งเราก็สามารถแก้ปัญหามาก
มากขึ้นอย่างแข็งแรง
ดังนั้นเราจึงเริ่มค่อนข้างง่ายกับที่ pseudocode และคนที่แต่งตัวประหลาดในห้อง แต่
ตอนนี้มีทั้งห้องเต็มไปด้วยคน เราได้ทำดีกว่าเดิม
>> ดีตอนนี้ขอเปลี่ยนจาก pseudocode บางรหัสจริง
ภาษาที่คุณกำลังจะได้เห็นการเกิดขึ้นนี้ จะเรียกว่า JavaScript และ
เราจะกลับไปนี้ไป สิ้นสุดภาคการศึกษา
มันเป็นภาษาโปรแกรมที่คุณ ใช้เพื่อให้เว็บไซต์และอื่น ๆ เช่น
ซอฟแวร์วันนี้
และเราได้ใช้มันขอบคุณเพื่อน ของเราที่ Stanford, การเข้ารหัส
บางข้อมูลที่ซ่อนอยู่ที่นี่
นี่คือศิลปะของซูรินาเม, เพื่อที่จะพูดซึ่งคุณสามารถซ่อน
ข้อมูลในสิ่งที่ดูเหมือนจะเป็นอย่างอื่น จะมีสัญญาณรบกวนหรือแตกต่างอย่างสิ้นเชิง
ภาพทั้งหมด
แต่ที่ฝังอยู่ในภาพนี้โดยเฉพาะ ย่อมเป็นข้อความลับแปลก ๆ
>> เพื่อให้ฉันไปข้างหน้าและดึงขึ้น ภาพเดียวกันที่นี่นี้
เวลาอยู่ในเว็บเบราเซอร์
และฉันจะโบกมือของฉันที่บางส่วนของ รายละเอียดสำหรับวันนี้โดยเฉพาะอย่างยิ่ง
สำหรับบรรดาของคุณที่มีลักษณะเช่นนี้ ไม่เพียง แต่ JavaScript กรีกเช่น
ภาษาที่ไม่คุ้นเคยอย่างสมบูรณ์
แต่เรื่องนี้เป็นตัวอย่างของ การเขียนโปรแกรมภาษา
>> และสำหรับตอนนี้จะใช้ในความเชื่อที่ว่า นี้บรรทัดแรกของรหัส -
และรหัสผมหมายถึงข้อความที่
ข้อความที่ฉันจะได้พิมพ์อักษร เข้าไปในโปรแกรม Microsoft Word, ถ้าผมมี
ซอฟต์แวร์ที่เหมาะสมแล้ว ทำอะไรกับมัน
รหัสแหล่งที่มาของการเขียนโปรแกรมการเขียนโปรแกรม รหัสเป็นจริงเพียงข้อความและมัน
มีลักษณะที่แตกต่างกันขึ้นอยู่กับสิ่งที่ภาษา ที่คุณใช้ไม่แตกต่างจากภาษาอังกฤษและ
ภาษาสเปนและรัสเซียมองที่แตกต่างกัน เมื่อคุณพิมพ์พวกเขาที่แป้นพิมพ์ของคุณ
>> ดังนั้นบรรทัดแรกนี้สำหรับตอนนี้ใช้เวลาในการ ความเชื่อที่เพียงแค่เปิดกราฟิกจาก
อินเทอร์เน็ต, ที่มีเสียงดังกราฟิก เราเพิ่งเห็น
นี้บรรทัดถัดไปที่นี่เป็นตัวอย่างของ ห่วงและเราเห็นจริงเดียวกับที่
ศัพท์แสงในวิดีโอ TED
ห่วงคือสิ่งที่เกิดขึ้นอีกครั้ง และอีกครั้งและแม้ว่านี้
อย่างมีลักษณะคลุมเครือกับ คำหลักและวงเล็บบางส่วนและ
อัฒภาคบาง
เราจะกลับมาก่อนที่จะยาว แต่ห่วงว่ามีหลักคือ
บอกโปรแกรมย้ำกว่าทั้งหมด ของจุดที่มีเสียงดังเหล่านั้นจากซ้ายไป
ขวาบนลงล่าง
>> เพราะในตอนท้ายของวันที่ภาพ ชอบ - และคุณสามารถจริง
ชนิดของมันบนโปรเจ็กนี้ -
เป็นจริงเพียงตารางของจุด
ดังนั้นเราจึงสามารถระบุแต่ละจุดเหล่านั้น โดยพิกัด x, y, และกับเรื่องนี้
โปรแกรมตอนนี้เราสามารถเริ่มต้น ทำบางอย่างเพื่อจุดเหล่านั้น
>> ดังนั้นสิ่งที่ฉันจะไปข้างหน้าและที่นี่ ผมจะทำผมจะทำการเปลี่ยนแปลงบางอย่าง
ครั้งแรกที่ฉันจะไปข้างหน้าและได้รับการกำจัด จากทั้งหมดที่เป็นสีเขียวและสีฟ้า
เสียงและฉันจะไปข้างหน้า และพิมพ์ต่อไปนี้
เป็นที่ยอมรับไวยากรณ์คลุมเครือ
im สำหรับภาพ
ตั้งสีฟ้าที่ตำแหน่ง x จุลภาค สถานที่ตั้ง y, 0
ในคำอื่น ๆ ที่ฉันต้องการเพียงแค่ ปิดทั้งหมดจากสีฟ้า
จุดที่อยู่ในภาพ
>> ฉันจะไปข้างหน้าในขณะนี้และคลิก ทำงานนี้ / ปุ่มบันทึกและคุณจะ
สังเกตด้านขวามือ ภาพที่เกิดขึ้น
ตอนนี้สีเขียวสุดของมัน แต่ที่ไม่ ที่น่าแปลกใจเพราะแท้จริงฉันหัน
ปิดโดยการทำ 1 0 ทั้งหมดของ สีฟ้าในภาพที่ว่า
>> ดีตอนนี้ขอทำอีกเล็กน้อย
im สำหรับภาพจุด setGreen, X, Y
และนั่นก็หมายความย้ำจากซ้าย ไปทางขวาแล้วบนลงล่าง
เปิดออกที่มีมูลค่า 0, เช่นกัน
ประหยัด
และโปรเจ็กเตอร์คุณสามารถไม่จริง จริงๆเห็นอะไรที่ทั้งหมด
>> บนหน้าจอแล็ปท็อปของฉันถ้าผมมองในเวลาเพียง วิธีที่ฉันสามารถดูบิตของ
ภาพเพราะพวกเขายังคง สีแดงในมีบาง
ถ้าคุณเคยได้ยินคำย่อ RGB -
สีแดง, สีเขียว, สีฟ้า -
มันหมายถึงองค์ประกอบนี้ จากภาพโดยใช้
เพียง แต่ผู้สามสี
และตอนนี้เราได้โยนทิ้งไป เขียว, สีฟ้าทั้งหมด แต่
มีไม่มากสีแดง
>> เพื่อให้ฉันเหวี่ยงขึ้นสีแดง
ฉันจะทำ?
ดีแรกที่ผมจะถาม โปรแกรมคำถามนี้
ฉันจะไปข้างหน้าและขอเรียกว่า ตัวแปรเช่นเดียวกับในพีชคณิต
คุณสามารถมี x หรือ y หรือ z
ฉันจะประกาศตัวแปร และพูดว่าใส่ในตัวแปรนี้
ชั่วคราวค่าของ ภาพ getRed ค่าที่ x, y
>> และอีกครั้งที่เราจะกลับมาทั้งหมด ของรายละเอียดนี้ในอนาคต
แต่ตอนนี้ใช้เวลาเพียงแค่ความเชื่อว่า บรรทัดนี้จะขอโปรแกรมอะไร
เป็นค่าสีแดงที่ x, y?
ที่จุดนั้น?
>> แล้วฉันจะทำอะไรเพื่อมัน
แล้วผมจะทำภาพจุดชุดสีแดง ที่ x, y, y แต่เวลานี้ฉันจะไป
เพิ่มโดยทำครั้งสีแดง, สมมติว่า 10
ดังนั้นมันเพิ่มขึ้นโดยมีปัจจัยจาก 10
ผมขอซูมออกตอนนี้และ คลิกสามารถเรียกใช้ / Save
และ voila, ที่อยู่ที่นั่นทั้งหมด เวลาแม้ตามนุษย์ของเรา
ไม่มากเห็นมัน
>> ดังนั้นอีกครั้งนี้ในขณะนี้คือรหัสจริง, ตัวอย่างของภาษาที่เราจะมา
กลับไปก่อนที่จะยาว
แต่ตระหนักถึงโดยเฉพาะอย่างยิ่งบรรดาของคุณ ที่มีประสบการณ์ดังกล่าวก็ค่อนข้าง
ทันทีที่ตัวเราเองจะเป็น การเขียนรหัสเช่นว่ามี
ในความเป็นจริงเครื่องมือที่คุณกำลังทั้งหมด ค่อนข้างคุ้นเคยบางที CS50 คือ
เครื่องมือแน่นอนช้อปปิ้งของตัวเองซึ่งเป็น รีบูตจริงในฤดูร้อนนี้โดยบางส่วน
อดีตนักศึกษา CS50 ของตัวเอง ตอนนี้หัน TFs
>> ดังนั้นสิ่งนี้เกิดขึ้นจะสร้างเว็บไซต์ ในภาษาที่เรียกว่า PHP
จะใช้ฐานข้อมูลที่เรียกว่า MySQL สิ่ง ซึ่งเราจะได้รับในมือของเรา
สกปรกต่อไปในภาคการศึกษา
แต่เชื่อหรือไม่แม้บางสิ่งบางอย่าง เช่นนี้ในที่สุดจะช่วยลด
ที่ง่ายที่สุดของลูปและเงื่อนไข สาขาเช่นเดียวกับที่เราเห็นเพียงแค่
ช่วงเวลาที่ผ่านมาในวิดีโอ TED
>> สิ่งที่ฉันคิดว่าฉันทำตอนนี้ไม่ได้เป็นส่วนแบ่ง บางสิ่งบางอย่างเพียงแค่เราพนักงานได้ทำ
สำหรับมหาวิทยาลัย แต่บางสิ่งบางอย่าง อดีตนักศึกษาสาม -
นักเรียนในความเป็นจริง -
ทำให้ปีที่ผ่านมา, เซียร์, แดเนียลและ แซมสุดท้ายของคนมีก่อนไม่มี
ประสบการณ์การเขียนโปรแกรม เมื่อเขาหยิบ CS50
และสำหรับโครงการสุดท้ายของพวกเขา จัดแสดงที่ CS50 แฟร์
โปรแกรมที่เรียกว่า wrdly ซึ่งเป็น โปรแกรมบนเว็บสำหรับการที่พวกเขาทำ
วิดีโอที่ฉันคิดว่าฉันต้องการแบ่งปันนี้ ให้ความรู้สึกเพียงแค่สิ่งที่เป็น
ที่เป็นไปได้ในช่วงปลายเทอม
>> [เล่นเพลง]
>> DAVID ลัน: นั่นจากศูนย์สัปดาห์ ถึงสัปดาห์ที่ 12 ปีที่ผ่านมา
>> [APPLAUSE]
>> DAVID ลัน: เป็นทีเซอร์มากเกินไปจริงๆ เพื่อเป็นการเรียกน้ำย่อยของคุณคือการมีอะไร
เป็นไปได้คุณอาจจะเห็นแล้ว หรือเร็ว ๆ นี้อาจเห็น market.cs50.net,
เครื่องมือใหม่ที่ทีมงานของหลักสูตรมี ได้ทำงานในคราวนี้
ความร่วมมือกับนักศึกษาฮาร์วาร์ หน่วยงานดังกล่าวที่เริ่มต้นในปีนี้
และต่อเนื่องหวังว่าจะเป็นแบบนี้ ฤดูร้อนมาคุณจะมีมาตรฐาน
โอกาสในมหาวิทยาลัยที่จะซื้อและ ขายสิ่งที่สนใจของคุณ
และร่วมกับพันธมิตรที่ผ่าน HSA คุณจะ นอกจากนี้ยังสามารถที่จะวางรายการออก
หนึ่งในร้านค้าทางกายภาพ HSA ที่บาง จุดในอนาคตเพื่อให้เป็นไป
สิ่งที่พร็อกซี่โดยเฉพาะอย่างยิ่งในขณะที่คุณ จบการศึกษาและไม่จำเป็นต้องต้องการ
ทิ้งสิ่ง แต่จ่ายจริงมัน ส่งต่อไปยังคนที่อาจจะตามคุณ
ที่นี่ในมหาวิทยาลัย
ดังนั้นเพิ่มเติมเกี่ยวกับการที่จะมาถึง
>> แต่น้อยมากที่เป็นรูปธรรมเครื่องมือ ที่ออกมาจาก CS50 ในเร็ว ๆ นี้
ปีที่บางส่วนของคุณอาจจะ ที่คุ้นเคยและคนอื่น ๆ ของคุณอาจจะ
googling ตอนนี้ที่ CS50.net/2x คุณจะ พบการเชื่อมโยงไปยังการขยาย Chrome
ซึ่งเป็นชี้ของวิธีที่คุณสามารถ ใช้จาวาสคริปต์ว่าภาษาเดียวกันกับที่เรา
ใช้กับหอไอเฟลสักครู่ที่ผ่านมา ที่จะใช้ความเร็วในการเล่น 2x
สำหรับทุกวิดีโอที่ฮาร์วาร์ iSites
นี่คือสิ่งที่สร้างขึ้น เป็นเครื่องเล่นวิดีโอ CS50 ของตัวเอง
แต่นี้เกินไปหากคุณเริ่มต้นที่จะขุด เป็นรหัสที่มาที่เราจะ
อย่างมีความสุขให้ใช้ได้คุณจะเห็นว่า คุณยังสามารถแก้ปัญหาเช่นเดียวกับที่
เร่งเครื่องมือในเว็บไซต์ที่มี ที่คุณคุ้นเคยเป็นอย่างดี
>> ดังนั้นคำว่าขณะนี้อยู่ในหลักสูตรและ ความคาดหวังและสิ่งที่อยู่ข้างหน้า
โดยทั่วไปเราแน่นอนจะรวบรวมที่นี่ เมื่อวันจันทร์และวันพุธ - แม้ว่า
ศุกร์นี้เราจะรวบรวมเพราะ จากสัปดาห์ช้อปปิ้ง -
1:00-14:00 แม้ว่า จนบางครั้ง 02:30
ระบุว่าคุณจึงอาจต้องการหรือ จะต้องใช้เวลาเรียนบางที่ 02:00
เป็นต้นไปหรือแม้กระทั่งก่อนที่จะตระหนักถึง แน่นอนว่าเป็นกำลังใจให้สิ่งที่เรียกว่า
การลงทะเบียนพร้อมกันด้วยเหตุนี้เราจะ สนับสนุนการยื่นคำร้องต่อคณะกรรมการโฆษณาและ
ถิ่นที่อยู่ของคุณคณบดีในนามของคุณถ้า คุณมีความขัดแย้งในบางส่วนนี้
1:00-02:30 ช่วง
มุ่งหน้าไปยัง URL ที่ออนไลน์สำหรับ รายละเอียดเพิ่มเติม
>> แต่ในแง่ของโครงสร้างการสนับสนุน ที่ characterizes CS50 สำหรับนักเรียน
มากขึ้นและสะดวกสบายน้อยเหมือนกันเรา มีแทร็คที่แตกต่างของส่วน
และนี่คือสองสามสัปดาห์ออกไป แต่ ก่อนที่จะนานคุณจะถูกถามว่า
ระดับความสะดวกสบายของคุณ
คุณเป็นหนึ่งในบรรดาความสะดวกสบายน้อยลง สะดวกสบายมากขึ้นหรือ
ที่ไหนสักแห่งในระหว่าง?
>> และเราจะมีสามที่แตกต่างกัน แทร็คที่ตอบสนอง
ผู้ชมเหล่านั้นได้อย่างแม่นยำ
เพื่อที่จุดในระยะไม่ควรคุณ แม้จะรู้สึกว่าคุณกำลังแข่งขัน
กับนักเรียนที่มีมากขึ้นใด ๆ หรือพื้นหลังน้อยกว่าที่คุณ
อันที่จริงหลักสูตรจะหมายถึงการเป็น มากขึ้นและการทำงานร่วมกันมาก
เปิดกว้างมากขึ้นกว่าที่
>> ในแง่ของชุดปัญหาคุณจะ หาเกินไปที่นอกเหนือไปจาก
มาตรฐานฉบับของปัญหาแต่ละสัปดาห์ ตั้งมักจะมีแฮ็กเกอร์ "
รุ่น "ว่าหมายถึงการกำหนดเป้​​าหมาย ที่ 5% ถึง 10% หรือดังนั้น
ประชากรที่แน่นอนในหมู่ผู้ สะดวกสบายมากขึ้นและต้องการที่มากขึ้น
ของความท้าทายกว่ามาตรฐาน ฉบับ pset ที่คาดว่า
รายละเอียดเพิ่มเติมเกี่ยวกับผู้ที่จะ ที่พบในหลักสูตร
>> แต่ยังอยู่ในสามารถมีได้รายละเอียดพบว่า เกี่ยวกับหลักสูตรวันปลาย
โดยปกติชุดปัญหาที่ จะครบกำหนดในวันพฤหัสบดี
อย่างไรก็ตามคุณสามารถขยายจำนวนมากของคุณ กำหนดเวลาในฤดูใบไม้ร่วงนี้จากวันพฤหัสบดีที่
วันศุกร์ง่ายๆโดยการประชุมเราครึ่งหนึ่ง เพื่อที่จะพูดตอบไม่กี่อบอุ่นขึ้น
คำถามในบางส่วนของปัญหาของสัปดาห์ ชุดที่จะทำงานโดยอัตโนมัติ
แล้วให้คุณพิเศษตลอด 24 ชั่วโมง
นอกจากนี้เรายังจะลดลงต่ำที่สุดของคุณ คะแนนตามหลักสูตร
>> เพื่อให้คุณมีความรู้สึกของสิ่งที่เป็นปัญหา ชุดเป็น - เพราะมันเป็นจริง
ปัญหาของหลักสูตรที่กำหนด ในที่สุดกำหนดเกือบทุก
ประสบการณ์ของนักเรียนมากขึ้นดังนั้นกว่า บรรยายมากไปกว่าส่วนอื่น ๆ
ดังนั้นกว่าที่สุดอื่น ๆ ทุกแง่มุมของการเรียนการสอน
เมื่อปีที่แล้วเช่นเราเริ่มเป็น เราจะเริ่มในปีนี้ที่มีรอยขีดข่วน
โดยเฉพาะอย่างยิ่งศุกร์นี้เราจะใช้สำหรับ เพียงแค่ช่วงเวลาหนึ่งวันของกราฟิก
ภาษาโปรแกรมที่เราจะ เริ่มต้นการเขียนโปรแกรมโดยการลากและ
วางชิ้นส่วนปริศนาที่มีเพียง ประกอบทางร่างกายถ้ามันทำให้รู้สึก
จะทำเช่นนั้นมีเหตุผล
>> สัปดาห์ถัดไปเราจะเปลี่ยนไปอย่างรวดเร็ว C, ค่อนข้างเก่า แต่ขนาดเล็กมากและ
ภาษาง่ายๆที่จะช่วยให้เราสามารถ จริงๆไป 0-60 มากกว่าหลักสูตร
เพียงไม่กี่สัปดาห์และจากนั้นพาร์เลย์ เหล่านั้นทักษะเดียวกันและความรู้
การเขียนโปรแกรมโครงสร้างพื้นฐานเป็น ภาษาระดับสูงเช่น PHP,
JavaScript และยังคนอื่น ๆ ยังคง
>> ปีล่าสุด, pset ที่สามในหลักสูตร เป็นที่ของการเข้ารหัส,
การประยุกต์ใช้โดเมนเฉพาะซึ่งให้เรา นักเรียนท้าทายในการดำเนินการใด ๆ
โปรแกรมจำนวนยันต์ที่ เพื่อช่วงชิงหรือถอดรหัสข้อมูล
การเข้ารหัสมัน
สำหรับรุ่นแฮ็กเกอร์โดยคมชัด, เราให้นักเรียนแฮกเกอร์ไฟล์
จากคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการยูนิกซ์ที่มีมาตรฐาน ชื่อผู้ใช้และรหัสผ่าน
หลังจากที่มีการเข้ารหัส และเราท้าทายแฮกเกอร์เหล่านั้น
นักเรียนในการถอดรหัสดีที่สุดเท่าที่จะทำได้ รหัสผ่านเหล่านั้นยังคงอยู่ในที่
โดเมนเดียวกัน
>> ช่วงชิงเกมที่บาง ของคุณอาจจะคุ้นเคย
ชิ้นนิติเวชที่เราให้นักเรียน การกู้คืนข้อมูลที่ได้รับ
ลบอย่างอื่นจากตัวเองดิจิตอลของฉัน แฟลชการ์ดของกล้องที่มีขนาดกะทัดรัดโดย
จริงเขียนซอฟแวร์ที่จะคิดออก, ที่ zeroes และคนในนั้น
ว่ากล้องดิจิตอลที่ก่อนหน้านี้ ประกอบด้วย JPEG กราฟิก?
>> ความท้าทายที่แปลก ๆ ปีที่ผ่านมา ที่เกี่ยวข้องกับการเขียนเร็วที่สุด
ตรวจสอบการสะกดที่เป็นไปได้ในการแข่งขัน กับเพื่อนและเพื่อนร่วมชั้นเรียนถ้า
ที่พวกเขาต้องการ
การใช้พัฟ n หอบ ' โปรแกรมบีบอัด
แล้วสิ้นสุดภาคการศึกษาที่มี CS50 การเงิน, web-based application ด้วย
ซึ่งคุณสร้างเว็บไซต์ eTrade เหมือน ที่จะซื้อและขายหุ้นเพื่อที่จะ
พูดตามจริงดึงเกือบ เรียลไทม์ Yahoo! คำพูด
เงินทุน
>> สิ่งที่เราไม่ได้ทำในปีที่ผ่านมา ชุดปัญหาหนึ่งที่ยังคงอยู่
กระนั้นที่ชื่นชอบ
ถ้าคุณไม่เคยไป shuttle.cs50.net คุณจะเห็นผู้ใช้
อินเตอร์เฟซเล็ก ๆ น้อย ๆ เช่นนี้
แต่สองปีที่ผ่านมาในชั้นเรียน ดำเนินการโดยใช้ Google Maps และ
ปลั๊กอิน Google Earth และนิด ๆ หน่อย ๆ จากความเข้าใจด้วยการขับรถไปรอบ ๆ มหาวิทยาลัย
เพื่อให้วัตถุประสงค์ของเกมนี้คือ ที่คุณสามารถเห็นบางส่วนของใบหน้า,
คือการขับรถรอบมหาวิทยาลัยที่กำลังมองหา พนักงานพวกเรียนการสอนและ CAs และ
เมื่อคุณวางพวกเขา บนรถบัสรับส่งของคุณ
ไม่มีของพวกเขาจริงดูเหมือนจะเป็นที่นี่ ดังนั้นเรากำลังจะเข้าสู่การโกงรหัส
>> [เสียงหัวเราะ]
>> DAVID ลัน: มีที่เราไป
ทั้งหมดขวา
และที่นี่ในขณะนี้คือพนักงาน เจือทั่วมหาวิทยาลัย
และในขณะที่คุณสามารถดูบนขวามือ ด้านข้างของหน้าจอให้บริการรถรับส่ง
มีที่นั่งว่างเปล่า
และวัตถุประสงค์คือการเขียน รหัสที่จะจำลองนี้
การขับรถและหยิบขึ้นมาและวาง ออกของผู้โดยสาร
ที่หนึ่งด้วยการใช้ภาษา เรียกว่า JavaScript
ดังนั้นโปรแกรมที่ตระหนักถึงความต้องการที่จะ จะอยู่ในวิถีเดียวกันนี้ของเรา
ปีเช่นกัน
>> ในแง่ตอนนี้จากการสนับสนุนเพิ่มเติม เรามีเวลาทำงาน
ในขณะที่คุณอาจจะได้เห็นในบ้านของคุณเอง รับประทานอาหารที่ห้องโถงหรือใน Annenberg,
เราจะรับประทานอาหารในบ้าน ห้องโถงสี่คืนต่อสัปดาห์ -
Leverett, Pfoho เอลเลียตและ Annenberg ปีนี้ PM 8:00-11:00
และสิ่งที่เราคิดว่าเราควรจะทำในปีนี้ บางสิ่งบางอย่างเล็ก ๆ น้อย ๆ ที่แตกต่างกันคือ
>> หากคุณได้ยินเสียงคำรามปีที่ผ่านมาว่า มันเป็นบิตเครียดเกินไปนี้
ปีเวลาทำงานในขณะที่เราจะอธิบาย สัปดาห์หน้าจะเป็นอินทรีย์มากขึ้น
ด้วยเหตุนี้เมื่อมาถึงคุณจะ ส่งไปที่ตารางหนึ่งโดยเฉพาะอย่างยิ่ง
ที่สมาชิกในทีมงานหลาย ๆ รอคอย, และเราจะทำสิ่งอื่น ๆ อีกมากมาย
อินทรีย์
ไม่มีคิวมากขึ้น iPad ไม่มีมากขึ้น แต่ ค่อนข้างมีใกล้ชิดมากขึ้น
การสนทนารอบโต๊ะเพียง แปดหรือเพื่อให้นักเรียนเพื่อให้เรา
ประมาณความรู้สึกของสิ่งที่เป็นอย่างอื่น จะเป็นชั้นเรียนขนาดเล็กมาก
>> เรานำเสนอเป็นอย่างดีสิ่งเหล่านี้เรา เรียก walkthroughs วิดีโอถ่ายทำใน
โดยหนึ่งในความก้าวหน้าของการเรียนการสอนของหลักสูตร เฟลโลว์ส Zamyla ซึ่งเธอ
เดินคุณผ่านปัญหาของสัปดาห์ ชุดที่นำเสนอเคล็ดลับและเทคนิคสำหรับ
ความท้าทายที่รออยู่ข้างหน้า
และตรงกันข้ามหลังจากที่ชุดปัญหานี้ เนื่องจากในปีนี้เรายังจะปล่อย
คลิปเล็ก ๆ น้อย ๆ เรียก mortems โพสต์ที่ จริงเดินคุณผ่าน
โซลูชั่นตัวแทนทั้งดีและ ไม่ดีผ่านทางที่คุณสามารถอนุมานว่า
คุณอาจจะมีหรือควรจะมี ดำเนินการแก้ปัญหาของคุณเอง
>> และสิ่งที่เราจะนำเสนอเป็นครั้งแรก ในปีนี้เช่นกันโดยเฉพาะอย่างยิ่ง
สำหรับนักศึกษาผู้ที่ประโยชน์ของตัวเอง ของที่อื่น ๆ แน่นอน
ทรัพยากร แต่อย่างไรก็ตามกำลังดิ้นรน ทั้งหมดมากเกินไปแน่นอน
ตัวเองจะจับคู่นักเรียนเหล่านั้น ทรัพยากรอนุญาตกับผู้สอนเพื่อให้
คุณมีมากใกล้ชิดมากขึ้น โอกาสกว่าบ้านห้องโถงรับประทานอาหาร
อนุญาตให้มีการให้ความช่วยเหลืออย่างใดอย่างหนึ่งต่อหนึ่ง
>> ตอนนี้เหลือบสุดท้ายที่บางส่วน ของเกมที่สิ้นสุดในสายตา
คุณอาจจะคุ้นเคยกับ hackathon CS50
ดีมาธันวาคมนี้จาก 08:00 น. ถึง 07:00, จุดเริ่มต้นของ
ระยะเวลาการอ่านจะเป็นโอกาส เพื่อรวบรวมกับเพื่อนร่วมชั้น -
นี้จะเป็นรอบ 21:00 -
ในระหว่างที่คุณดำน้ำในขั้นสุดท้ายของคุณ การดำเนินโครงการข้าง
เพื่อนร่วมชั้นเรียน, เพื่อนและอาหาร
นี้จะเป็นรอบ 01:00 เมื่อ ชุดแรกของอาหารที่มาถึง
และเรื่องนี้เป็นเรื่องเกี่ยวกับที่ 04:00 ปีโดยเฉพาะอย่างยิ่งที่ CS50 hackathon
>> แต่จุดสำคัญที่แท้จริงของการเรียนการสอนคือ หมายถึงพอใช้ CS50, มหาวิทยาลัยกว้าง
การจัดนิทรรศการของโครงการของคุณเองสุดท้าย ที่ครอบครัวและเพื่อน ๆ ทุกคน
ได้รับเชิญเป็นนายหน้าของเราและ เพื่อนของเราจากอุตสาหกรรม
นี้เช่นเป็นเหลือบของ คน 2,000 บวกที่ได้เข้าร่วมการประชุม
ปีที่ผ่านมา
การแสดงออกเช่นนี้ไม่ใช่เป็นเรื่องธรรมดา และเช่นเดียวกันทำของคุณ
เพื่อนร่วมชั้นมีความสุขในสิ่งที่ คุณเคยประสบความสำเร็จ
>> และอันที่จริงในช่วงท้ายที่เรามี เหตุการณ์เริ่มต้นจากระยะเช่นกัน
ถ้าสิ่งที่ต้องการอุทธรณ์นี้ให้คุณหรือ คุณอยู่ที่อย่างน้อยอยากรู้อยากเห็นเป็นสิ่งที่
นี้รู้ว่าเป็นประเพณีใหม่ของ แน่นอนจะเรียกว่าวันปริศนา CS50
และนี่คือการก่อตั้งคู่ของ ปีกลับไปจริงๆส่งสัญญาณให้มหาวิทยาลัย
วิทยาศาสตร์คอมพิวเตอร์ที่ไม่ได้เกี่ยวกับ การเขียนโปรแกรมและก็ไม่แน่นอน
เกี่ยวกับอ้าแขนรับนักเรียนเฉพาะผู้ที่ ที่ได้สัมผัสมาก่อน
ความจริงแล้วมันเกี่ยวกับการแก้ปัญหา มากกว่าปกติ
>> และเพื่อให้จิ๊กซอว์วันที่ผ่านมาไม่กี่ ปีนี้มีการพัฒนาเป็นดี
ความร่วมมือกับเพื่อนของเราที่ Facebook โดยจะมีนิยาย
รางวัลและพิซซ่าข้ามแม่น้ำที่ i-ปฏิบัติการนี​​้มาเสาร์
มุ่งหน้าไปยัง URL ที่มีสองหรือสาม เพื่อนหากคุณต้องการที่จะเข้าร่วม
ในประเพณีใหม่นี้
>> ดังนั้นผมจึงอยากจะถามว่าคุณเก็บหนึ่ง สิ่งที่อยู่ในใจและเราได้มีเพียงแค่
คลิปสองนาทีที่ ที่จะปิดในวันนี้
73% คือจำนวนที่ต้องจำ
เค้กเกินไปจะรอคุณอยู่ข้างนอกนี้ ปีกในขณะที่เราเลื่อนได้ในเวลาเพียง
สองช่วงซึ่งเป็นประเพณี ของการเรียนการสอนเป็นอย่างดี
แต่นี่เป็นคำพูดที่สำคัญจาก รายวิชาที่จะเก็บไว้ในใจ
ในที่สุดเรื่องอะไรในหลักสูตรนี้ มีไม่มากที่คุณจะจบลง
เมื่อเทียบกับเพื่อนร่วมชั้นของคุณ แต่ที่ คุณในสัปดาห์ที่ 12 จบลงเมื่อเทียบกับ
ตัวเองในสัปดาห์ 0
>> แต่เหลือบมองว่าเราจะปล่อยให้คุณ กับที่นี่ในวันนี้เป็นครั้งสุดท้ายที่นี่
โดยเดียวกันแดเนียลของเราที่ทำ วิดีโอ wrdly รอสักครู่ที่ผ่านมา
ผมปล่อยให้คุณกับความคิดชั่วนี้ ของสิ่งที่อยู่ข้างหน้า
และในขณะที่เราทำเช่นนี้ถ้าเราสามารถมี CS50 เจ้าหน้าที่จากหน้าห้อง
ที่จะมาถึงขั้นตอนในการวาดทั้งหมด อื่น ๆ ของภาพที่มองเห็นว่า
รอคุณอยู่ในสิ่งที่ปีนี้ -
รับอึดอัด
เราจะสรุปกับเรื่องนี้ ที่นี่บนหน้าจอ
>> [เล่นเพลง]
>> DAVID ลัน: นี่คือ CS50
>> [เพลง - MATT & KIM "IT'S alright"]
>> 1 SPEAKER: I love CS50 มากกว่าแมว
>> 2 SPEAKER: Whoaaaa
>> [เสียงหัวเราะ]
>> DAVID ลันนี้ก็คือ CS50
เราจะเห็นคุณในวันศุกร์
>> [APPLAUSE และเชียร์]
>> เล่าเรื่อง: ที่ CS50 ถัดไปบนเวที การสาธิตไม่ได้เป็นไปตามแผน
>> DAVID ลัน: เราต้องการที่จะหาไมค์ สมิ ธ ในสมุดโทรศัพท์นี้
ดีสิ่งที่เป็นสัญชาตญาณของคุณ?
ฉันอาจจะกระโดดประมาณกลาง สมุดโทรศัพท์, เหลือบมองลงเห็นว่า
ฉันที่ M และฉันรู้ว่าตอนนี้ไมค์ สมิ ธ ไม่ได้เป็นไปทางซ้าย
เขาจะต้องไปทางขวา
และเพื่อที่จุดนี้เรา อักษรสามารถฉีก -
ที่จุดนี้เราอย่างแท้จริงสามารถฉีก -
ที่จุดนี้เราสามารถเปรียบเปรย ฉีกสมุดโทรศัพท์ในช่วงครึ่งปี
>> [strumming กีตาร์]