1 00:00:00,000 --> 00:00:02,952 >> [NHẠC] 2 00:00:02,952 --> 00:00:11,316 3 00:00:11,316 --> 00:00:13,284 >> [NHẠC] 4 00:00:13,284 --> 00:00:18,722 5 00:00:18,722 --> 00:00:19,680 DAVID Malan: Tất cả các quyền. 6 00:00:19,680 --> 00:00:21,983 Đây là CS50. 7 00:00:21,983 --> 00:00:24,108 [MUSIC CHƠI Tritonal, Tiền Tiền,  "Untouchable"] 8 00:00:24,108 --> 00:01:40,846 9 00:01:40,846 --> 00:01:41,844 [NHẠC] 10 00:01:41,844 --> 00:01:45,337 SPEAKER 1: Tôi sẽ Pháp, và bạn đang đi, quá. 11 00:01:45,337 --> 00:01:48,331 [NHẠC] 12 00:01:48,331 --> 00:02:38,100 13 00:02:38,100 --> 00:02:41,930 DAVID Malan: Đây là CS50, giới thiệu của Đại học Harvard 14 00:02:41,930 --> 00:02:44,520 với trí tuệ doanh nghiệp khoa học máy tính 15 00:02:44,520 --> 00:02:47,940 và nghệ thuật của program-- và lần đầu tiên trong lịch sử, 16 00:02:47,940 --> 00:02:49,800 của Đại học Yale là tốt. 17 00:02:49,800 --> 00:02:53,830 Thật vậy, cho dù bạn đang ở đây ở Cambridge hoặc ở New Haven hay Miami hoặc St. Louis 18 00:02:53,830 --> 00:02:55,550 hoặc Amsterdam hoặc bất cứ nơi vòng quanh thế giới 19 00:02:55,550 --> 00:03:00,080 tham CS50, máy tính khoa học E50, CS50X, CS50 AP, 20 00:03:00,080 --> 00:03:02,090 chúng ta đều là một và giống nhau. 21 00:03:02,090 --> 00:03:04,490 Chào mừng bạn đến CS50. 22 00:03:04,490 --> 00:03:05,380 >> Những gì chúng ta có-- 23 00:03:05,380 --> 00:03:06,348 >> [VỖ TAY] 24 00:03:06,348 --> 00:03:07,800 >> [Cười] 25 00:03:07,800 --> 00:03:10,220 >> [VỖ TAY] 26 00:03:10,220 --> 00:03:13,610 27 00:03:13,610 --> 00:03:16,920 >> Vì vậy, tôi đã làm sai bản thân mình một số thời gian trước khi tôi bắt đầu học đại học. 28 00:03:16,920 --> 00:03:21,580 Và tôi đã học đại học, và tôi quyết định thẳng thắn, dính trong vùng thoải mái của tôi. 29 00:03:21,580 --> 00:03:24,475 Tôi đã kết thúc tuyên bố một sự tập trung, hoặc một lớn, của chính phủ. 30 00:03:24,475 --> 00:03:27,880 Ant mà chủ yếu là một chức năng của tôi đang được khá quen thuộc với chính phủ 31 00:03:27,880 --> 00:03:31,270 hoặc ít nhất là lịch sử hay tôi thực sự thích luật hiến pháp ở trường trung học. 32 00:03:31,270 --> 00:03:34,150 Và như vậy khi tôi đã ở đây, tôi loại của xoay quanh các điều 33 00:03:34,150 --> 00:03:35,800 mà tôi đã quen thuộc. 34 00:03:35,800 --> 00:03:36,300 Đúng? 35 00:03:36,300 --> 00:03:38,167 Thiên Chúa cấm tôi làm kém trong lớp. 36 00:03:38,167 --> 00:03:40,250 Tôi chắc chắn muốn ở lại trong vùng thoải mái của tôi, 37 00:03:40,250 --> 00:03:43,010 và nó đã không được cho đến năm thứ hai mà tôi cuối cùng 38 00:03:43,010 --> 00:03:46,820 đứng lên các dây thần kinh để bước chân trong một lớp học được gọi là CS50. 39 00:03:46,820 --> 00:03:51,150 Và vào thời điểm đó, đã làm tôi cuối cùng đã nhận ra rằng, Chúa ơi, bài tập về nhà có thể thực sự 40 00:03:51,150 --> 00:03:51,910 được vui vẻ. 41 00:03:51,910 --> 00:03:54,410 >> Thật vậy, tôi là một trong những đứa trẻ mà vào các buổi tối thứ Sáu khi 42 00:03:54,410 --> 00:03:57,640 P-SETS sẽ được phát hành, tôi sẽ quay trở lại phòng và lặn của tôi 43 00:03:57,640 --> 00:03:58,790 vào đêm P-SETS. 44 00:03:58,790 --> 00:04:01,606 Và đối với tôi, đó là một dấu hiệu rằng đây là một lĩnh vực cho tôi. 45 00:04:01,606 --> 00:04:04,480 Nhưng điều quan trọng hơn là thực tế là tôi đã nhận được lên dây thần kinh này 46 00:04:04,480 --> 00:04:08,000 để khám phá vùng biển xa lạ với tôi và vượt ra khỏi vùng thoải mái của riêng tôi 47 00:04:08,000 --> 00:04:12,320 và thẳng thắn, tôi chỉ có thể làm điều đó năm thứ hai bằng cách tham gia lớp này 48 00:04:12,320 --> 00:04:13,050 vượt qua thất bại. 49 00:04:13,050 --> 00:04:16,470 >> Thật vậy, đó là ngày cuối cùng mà cuối cùng tôi chuyển qua và cuối cùng 50 00:04:16,470 --> 00:04:19,707 tuyên bố CS như nồng độ của tôi, đặt gov tại điểm đó sau lưng tôi. 51 00:04:19,707 --> 00:04:22,290 Và vì vậy chúng tôi không đặt ra trong Tất nhiên điều này để biến tất cả các bạn 52 00:04:22,290 --> 00:04:25,780 vào chuyên ngành CS hoặc làm đậm đặc, nhưng chứ không phải để cung cấp cho bạn một cơ hội 53 00:04:25,780 --> 00:04:29,780 để hy vọng vượt ra ngoài thế giới mà bạn đang quen thuộc 54 00:04:29,780 --> 00:04:33,660 và mang lại từ thế giới này kỹ năng và kiến ​​thức và hiểu biết 55 00:04:33,660 --> 00:04:36,220 mà bạn có thể áp dụng cho bạn thế giới riêng, cho dù đó là 56 00:04:36,220 --> 00:04:39,080 trong khoa học nhân văn, khoa học xã hội, khoa học tự nhiên, hoặc xa hơn nữa. 57 00:04:39,080 --> 00:04:40,871 >> Thật vậy, nếu bạn cảm thấy một chút dũng cảm 58 00:04:40,871 --> 00:04:43,250 về được trong phòng này hãy để một mình trong lớp này, 59 00:04:43,250 --> 00:04:47,560 nhận ra rằng nếu lịch sử là bất kỳ dấu hiệu cho thấy, 72% của bạn 60 00:04:47,560 --> 00:04:49,802 không bao giờ lấy một khóa học CS trước. 61 00:04:49,802 --> 00:04:52,760 Vì vậy, nó là bằng mọi cách không phải là trường hợp là học sinh ngồi bên trái 62 00:04:52,760 --> 00:04:56,850 hoặc bên phải hoặc ở phía trước hoặc phía sau bạn biết thêm rất nhiều về CS 63 00:04:56,850 --> 00:04:58,820 hoặc lập trình đặc biệt hơn bạn. 64 00:04:58,820 --> 00:05:00,432 Đó không phải là trong thực tế các trường hợp. 65 00:05:00,432 --> 00:05:02,140 Và quả thực, nhiều cấu trúc hỗ trợ 66 00:05:02,140 --> 00:05:04,600 mà chúng tôi đã thiết lập ở đây Tất nhiên trong nhiều năm qua 67 00:05:04,600 --> 00:05:08,840 đã được cho chính xác đó reason-- để cung cấp một trên đoạn đường nối mà vẫn thoát 68 00:05:08,840 --> 00:05:11,640 chỉ như một cách chặt chẽ và chỉ cao như ever-- 69 00:05:11,640 --> 00:05:14,860 nhưng độ dốc trong đó cho phép sinh viên ít thoải mái và tiện nghi hơn 70 00:05:14,860 --> 00:05:18,420 cũng như để thành công không phân biệt của nền trước của mình. 71 00:05:18,420 --> 00:05:20,610 >> Thật vậy, những gì cuối cùng các vấn đề trong lớp này không phải là 72 00:05:20,610 --> 00:05:22,830 rất nhiều nơi bạn kết thúc tương đối so với các bạn cùng lớp của bạn 73 00:05:22,830 --> 00:05:26,000 nhưng nơi bạn ở tuần 12 kết thúc tương đối so với chính mình 74 00:05:26,000 --> 00:05:28,720 trong tuần không, mà là nơi chúng tôi đang ở đây ngày hôm nay. 75 00:05:28,720 --> 00:05:32,315 >> Thật vậy và điều này có thể rất tốt và có lẽ không giống như Hy Lạp 76 00:05:32,315 --> 00:05:32,940 để nhiều bạn. 77 00:05:32,940 --> 00:05:35,200 Nhưng yên tâm, rằng này và nhiều hơn nữa 78 00:05:35,200 --> 00:05:38,990 sẽ là hoàn toàn trong vòng của bạn nắm bắt chỉ trong một chút thời gian. 79 00:05:38,990 --> 00:05:41,410 >> Nhưng hôm nay, chúng tôi tập trung vào một số những ý tưởng cấp cao hơn 80 00:05:41,410 --> 00:05:43,822 để cung cấp cho bạn một hương vị của CS50 và khoa học máy tính 81 00:05:43,822 --> 00:05:45,530 trong một cảm giác gì bạn đang đăng ký. 82 00:05:45,530 --> 00:05:48,000 Và quả thực, khoa học máy tính có thể được chưng cất nhiều 83 00:05:48,000 --> 00:05:51,209 đơn giản là tính toán thinking-- suy nghĩ như một máy tính, nếu bạn muốn. 84 00:05:51,209 --> 00:05:54,000 Và có rất nhiều thứ khác nhau thành phần mà đi vào đó, 85 00:05:54,000 --> 00:05:56,240 nhưng chúng ta hãy chỉ đề xuất ba cho ngày hôm nay. 86 00:05:56,240 --> 00:05:59,420 Nếu mục tiêu của lớp cuối cùng không phải là để dạy cho bạn lập trình, 87 00:05:59,420 --> 00:06:03,022 không phải là để dạy cho bạn C hay PHP hay SQL hoặc bất kỳ số lượng các từ 88 00:06:03,022 --> 00:06:04,730 và từ viết tắt trong Mô tả khóa học của, 89 00:06:04,730 --> 00:06:07,850 mà là để dạy cho bạn để giải quyết vấn đề hiệu quả hơn 90 00:06:07,850 --> 00:06:11,670 và suy nghĩ có phương pháp hơn và thuật toán nhiều hơn, do đó, để nói chuyện. 91 00:06:11,670 --> 00:06:13,610 Hãy xem chính xác những gì này có nghĩa. 92 00:06:13,610 --> 00:06:17,000 >> Vì vậy, tôi sẽ đề xuất suy nghĩ rằng tính toán nắm 93 00:06:17,000 --> 00:06:17,834 để giải quyết vấn đề. 94 00:06:17,834 --> 00:06:19,333 Những gì bạn cần để giải quyết một vấn đề? 95 00:06:19,333 --> 00:06:21,470 Bạn cần phải input-- như đầu vào cho problem-- 96 00:06:21,470 --> 00:06:23,636 bạn cần một đầu ra, mà là hy vọng các giải pháp, 97 00:06:23,636 --> 00:06:26,720 và sau đó bạn cần một quá trình để giải quyết vấn đề đó, mà 98 00:06:26,720 --> 00:06:30,030 chúng tôi sẽ gọi một algorithm-- một bộ hướng dẫn giải quyết một số vấn đề. 99 00:06:30,030 --> 00:06:33,340 >> Nhưng trước tiên, chúng ta hãy tập trung vào ngày đầu tiên và cuối cùng của các yếu tố đầu vào và đầu ra. 100 00:06:33,340 --> 00:06:38,070 Máy vi tính sau khi tất cả, rõ ràng chỉ hiểu số không và những người thân. 101 00:06:38,070 --> 00:06:39,299 Nhưng làm thế nào có thể có thể được? 102 00:06:39,299 --> 00:06:42,090 Thậm chí nếu bạn không quen thuộc với tất cả với những gì bên dưới mui xe, 103 00:06:42,090 --> 00:06:44,980 bạn có thể ít nhất nghe nói rằng máy tính hiểu binary-- 104 00:06:44,980 --> 00:06:48,050 chỉ số không và ones-- nhưng làm thế nào có thể bạn có thể làm bất cứ điều gì thú vị? 105 00:06:48,050 --> 00:06:49,960 >> Vâng, một trong những chủ đề của lớp được đi 106 00:06:49,960 --> 00:06:53,293 được điều này layering-- nơi mà ngày nay, chúng ta sẽ có một cái nhìn nhanh chóng ở mức thấp nhất 107 00:06:53,293 --> 00:06:55,620 chi tiết, nhưng với mỗi qua ngày, nơi mà chúng tôi lớp 108 00:06:55,620 --> 00:06:59,420 hoặc trừu tượng trên đầu trang của những chi tiết để thực sự giải quyết mức độ cao hơn 109 00:06:59,420 --> 00:07:01,080 vấn đề quan tâm đối với chúng tôi. 110 00:07:01,080 --> 00:07:04,730 >> Vì vậy, đây là những gì chúng ta có thể gọi binary-- chỉ với một bảng chữ cái của 0 và 1. 111 00:07:04,730 --> 00:07:06,960 Nhưng con người là chủ yếu quen thuộc với số thập phân. 112 00:07:06,960 --> 00:07:08,130 Tháng Mười Hai 10 ý nghĩa. 113 00:07:08,130 --> 00:07:09,070 Bi có nghĩa là hai. 114 00:07:09,070 --> 00:07:12,100 Và như vậy trong các số thập phân hệ thống, chúng tôi có 10 chữ số 115 00:07:12,100 --> 00:07:14,099 tại disposal-- của chúng tôi Tất nhiên, không thông qua chín. 116 00:07:14,099 --> 00:07:16,140 Vì vậy, nếu bạn nhìn vào một số như thế này, hầu hết các bạn 117 00:07:16,140 --> 00:07:19,016 trực giác chỉ cần nắm đó là 123. 118 00:07:19,016 --> 00:07:20,640 Không có gì thực sự khó khăn về điều đó. 119 00:07:20,640 --> 00:07:22,452 Nhưng tại sao nó 123? 120 00:07:22,452 --> 00:07:24,660 Vâng, nếu bạn nghĩ lại lớp school-- hoặc ít nhất 121 00:07:24,660 --> 00:07:26,410 cách tôi học được điều này loại world-- bạn 122 00:07:26,410 --> 00:07:29,640 có thể nhớ lại rằng chúng tôi xử lý các điều trong cột, hoặc nơi. 123 00:07:29,640 --> 00:07:31,412 >> Vì vậy, chúng tôi có nơi những người ở bên phải. 124 00:07:31,412 --> 00:07:32,620 Hàng chục đặt ở giữa. 125 00:07:32,620 --> 00:07:34,240 Hàng trăm đặt bên trái. 126 00:07:34,240 --> 00:07:36,980 Và sau đó làm thế nào để chúng ta có được từ mô hình này symbols-- 127 00:07:36,980 --> 00:07:41,771 1 2 3-- đến mức độ cao hơn này ý tưởng mà chúng ta biết như 123? 128 00:07:41,771 --> 00:07:43,461 Vâng, nó chỉ là một số số học đơn giản. 129 00:07:43,461 --> 00:07:43,960 Đúng? 130 00:07:43,960 --> 00:07:48,960 >> Người đó là cơ bản có nghĩa cung cấp cho chúng tôi 100 lần 1 cộng 10 lần 131 00:07:48,960 --> 00:07:50,410 2 cộng với 1 lần 3. 132 00:07:50,410 --> 00:07:53,430 Và tất nhiên nếu chúng ta làm ra toán có, đó là 100 cộng với 20 133 00:07:53,430 --> 00:07:56,480 cộng 3-- hay còn gọi là 123. 134 00:07:56,480 --> 00:07:58,820 >> Vì vậy, nếu bạn đang ở cùng một trang như là đúng mà 135 00:07:58,820 --> 00:08:02,320 bây giờ và cảm thấy thoải mái với cái gọi là hệ thập phân như một con người, 136 00:08:02,320 --> 00:08:05,750 nó thực sự tốt trong vòng phạm vi của bạn thoải mái 137 00:08:05,750 --> 00:08:07,220 để xem xét tại các hệ thống nhị phân. 138 00:08:07,220 --> 00:08:10,110 Hãy hoang dã guess-- này đại diện, trong thế giới của máy tính 139 00:08:10,110 --> 00:08:12,001 trong số những gì binary--? 140 00:08:12,001 --> 00:08:12,500 Zero. 141 00:08:12,500 --> 00:08:13,580 >> Nhưng tại sao vậy? 142 00:08:13,580 --> 00:08:17,460 Vâng, nó chỉ ra rằng các cột hoặc nơi đây-- họ không phải quyền hạn của 10. 143 00:08:17,460 --> 00:08:19,670 1, 10, 100, 1000, và vv. 144 00:08:19,670 --> 00:08:21,890 Họ đang thay vào đó, khá đơn giản, quyền hạn của 2. 145 00:08:21,890 --> 00:08:25,400 Vì vậy, 1, 2, 4, 8, 16, 32, và như vậy. 146 00:08:25,400 --> 00:08:29,630 Và bây giờ chúng ta tất nhiên có được 0 ở đây chỉ đơn giản là vì chúng tôi có 4 lần 147 00:08:29,630 --> 00:08:34,510 0 cộng với 2 lần 0 cộng với 1 lần 0, mà các khóa học mang lại cho chúng ta 0. 148 00:08:34,510 --> 00:08:37,399 >> Nhưng làm thế nào để tôi đi về đại diện cho số 1? 149 00:08:37,399 --> 00:08:39,440 các mô hình của những gì số không và những người đại diện cho 150 00:08:39,440 --> 00:08:42,720 số con người chúng ta biết như là 1? 151 00:08:42,720 --> 00:08:44,280 001. 152 00:08:44,280 --> 00:08:46,370 Và 2? 153 00:08:46,370 --> 00:08:47,480 010. 154 00:08:47,480 --> 00:08:49,760 >> Và bây giờ các mô hình bắt đầu lặp đi lặp lại. 155 00:08:49,760 --> 00:08:50,890 Bây giờ nó là 011. 156 00:08:50,890 --> 00:08:54,310 Và một lần nữa, 0 bằng bốn chân, một trong 2, một trong 1. 157 00:08:54,310 --> 00:08:55,180 Vì vậy, 2 cộng với 1. 158 00:08:55,180 --> 00:08:56,140 Đó là 3. 159 00:08:56,140 --> 00:08:59,069 >> Và bây giờ để đại diện cho 4, chúng tôi không chỉ thay đổi điều đó 0 đến 1. 160 00:08:59,069 --> 00:09:01,360 Bạn như phải thực hiện, vậy để nói chuyện, và những con số 161 00:09:01,360 --> 00:09:03,700 bắt đầu lật xung quanh chỉ như trong thế giới thập phân. 162 00:09:03,700 --> 00:09:04,670 >> Vì vậy, đây là 4. 163 00:09:04,670 --> 00:09:05,410 Đây là 5. 164 00:09:05,410 --> 00:09:06,330 Đây là 6. 165 00:09:06,330 --> 00:09:07,580 Đây là 7. 166 00:09:07,580 --> 00:09:09,720 Và vì vậy chúng tôi đã tính cao như 7. 167 00:09:09,720 --> 00:09:12,400 >> Bây giờ tất cả chúng ta cần là nhiều hơn một bits-- hơn số không và một người. 168 00:09:12,400 --> 00:09:15,700 Và thực sự "bit", nếu bạn đã nghe chữ số nhị phân term-- này. 169 00:09:15,700 --> 00:09:17,470 Bit là nơi mà đến từ. 170 00:09:17,470 --> 00:09:20,190 Và vì vậy nếu chúng tôi muốn đại diện cho số lớn hơn, chúng ta cần nhiều bit. 171 00:09:20,190 --> 00:09:24,360 Nhưng chúng ta hãy di chuyển ra khỏi slide hiện một cái gì đó thực tế hơn một chút. 172 00:09:24,360 --> 00:09:27,540 Giả sử chúng ta muốn thực sự đại diện cho điều này. 173 00:09:27,540 --> 00:09:31,790 >> Vâng chúng ta hãy có một cái nhìn tại tại một cuộc biểu tình nhỏ. 174 00:09:31,790 --> 00:09:35,270 Vì vậy, đây là một ứng dụng dựa trên web rằng một trong những của riêng, Michael G CS50 của, 175 00:09:35,270 --> 00:09:38,160 đặt lại với nhau trong mùa hè này để giúp chúng tôi làm sáng tỏ chính xác ý tưởng này. 176 00:09:38,160 --> 00:09:40,420 Và sẽ có người thích mạo hiểm trên sân khấu 177 00:09:40,420 --> 00:09:42,915 ở phía trước của tất cả các bạn học của mình? 178 00:09:42,915 --> 00:09:43,790 Ngay trước mặt. 179 00:09:43,790 --> 00:09:45,660 Thôi lên. 180 00:09:45,660 --> 00:09:48,350 >> Bạn phải cảm thấy thoải mái trên máy ảnh và internet. 181 00:09:48,350 --> 00:09:50,930 182 00:09:50,930 --> 00:09:52,450 Oh, ngay tại đây. 183 00:09:52,450 --> 00:09:52,950 ĐƯỢC. 184 00:09:52,950 --> 00:09:53,740 Chúng tôi đang OK. 185 00:09:53,740 --> 00:09:54,240 Được rồi. 186 00:09:54,240 --> 00:09:54,740 Thôi lên. 187 00:09:54,740 --> 00:09:56,150 Tên bạn là gì? 188 00:09:56,150 --> 00:09:58,550 Emily đi lên trên. 189 00:09:58,550 --> 00:09:59,410 Vì vậy, đây là Emily. 190 00:09:59,410 --> 00:10:00,840 năm những gì bạn đang có? 191 00:10:00,840 --> 00:10:01,660 >> Sinh viên năm nhất. 192 00:10:01,660 --> 00:10:02,810 >> Emily, rất vui được gặp các bạn. 193 00:10:02,810 --> 00:10:03,310 David. 194 00:10:03,310 --> 00:10:03,810 >> Được rồi. 195 00:10:03,810 --> 00:10:06,120 Vì vậy, lên trên màn hình ở đây, chúng tôi có màn hình cảm ứng 196 00:10:06,120 --> 00:10:08,425 đó là sẽ cho phép chúng tôi thực sự tương tác với chương trình này, 197 00:10:08,425 --> 00:10:09,265 và nó chỉ là một trình duyệt. 198 00:10:09,265 --> 00:10:11,390 Nó Chrome đầy đủ chiếu vào lúc này, nhưng nó 199 00:10:11,390 --> 00:10:14,030 được lập trình bởi Michael đáp ứng một cách mà cho phép 200 00:10:14,030 --> 00:10:15,970 chúng tôi chơi xung quanh với số nhị phân. 201 00:10:15,970 --> 00:10:20,220 >> Vì vậy, ví dụ, ở đây chúng tôi có không ba nhưng tám số không bits-- và những người thân. 202 00:10:20,220 --> 00:10:22,000 Ngay bây giờ, chúng tôi nhìn vào số 0. 203 00:10:22,000 --> 00:10:25,150 Và thực sự, tất cả tám số không trong hệ thập phân có nghĩa là không. 204 00:10:25,150 --> 00:10:26,900 Vì vậy, đó là tất cả những gì được ám chỉ ở đây. 205 00:10:26,900 --> 00:10:29,395 >> Vì vậy, nếu bạn muốn đại diện cho số 8, 206 00:10:29,395 --> 00:10:31,520 các mô hình của số không là gì và những người mà bạn muốn? 207 00:10:31,520 --> 00:10:35,160 Bạn chỉ cần nhấn lên hoặc xuống hoặc số tự. 208 00:10:35,160 --> 00:10:35,660 Được rồi. 209 00:10:35,660 --> 00:10:37,659 Vì vậy, đó tất nhiên là 8, như bạn có thể thấy ở trên đó. 210 00:10:37,659 --> 00:10:41,260 Và nếu chúng ta muốn làm 16, chúng ta làm gì? 211 00:10:41,260 --> 00:10:42,701 >> Đúng, chỉ cần chạm vào nó một lần nữa. 212 00:10:42,701 --> 00:10:43,200 16. 213 00:10:43,200 --> 00:10:43,870 Được rồi. 214 00:10:43,870 --> 00:10:46,522 Vì vậy, đây là tất cả tốt và tốt, nó vẫn còn rất thấp. 215 00:10:46,522 --> 00:10:48,230 Chúng ta cần một cách trong thế giới thực cho Emily 216 00:10:48,230 --> 00:10:50,550 của thực sự đại diện cho những điều này. 217 00:10:50,550 --> 00:10:54,230 Và do đó, giả sử rằng chúng ta biến những số không và những người thân, mà là rất 218 00:10:54,230 --> 00:10:55,980 khái niệm, vào bóng đèn thực tế. 219 00:10:55,980 --> 00:10:56,480 Đúng? 220 00:10:56,480 --> 00:10:59,540 >> Một máy tính là một vật lý, cơ khí, thiết bị điện. 221 00:10:59,540 --> 00:11:02,220 Và input-- của nó ít nhất là nếu bạn cắm nó vào hoặc phí it-- 222 00:11:02,220 --> 00:11:05,090 là phải có sức mạnh và pin electron chảy vào và ra. 223 00:11:05,090 --> 00:11:08,150 >> Vì vậy, bây giờ, tại sao chúng ta không ngừng suy nghĩ về bit là số không và những người thân, 224 00:11:08,150 --> 00:11:10,470 nhưng thể chất một cái gì đó nhiều hơn như bóng đèn ở đây. 225 00:11:10,470 --> 00:11:13,815 Và nếu Dan Armendáriz có thể tham gia tôi chỉ là một moment-- đi trên up-- 226 00:11:13,815 --> 00:11:15,440 chúng ta sẽ phải xếp hàng một ứng dụng. 227 00:11:15,440 --> 00:11:15,940 >> Come on, Emily. 228 00:11:15,940 --> 00:11:18,270 Xin lỗi này là nhất bản demo khó xử cho bạn bao giờ hết. 229 00:11:18,270 --> 00:11:20,330 Đi qua đây. 230 00:11:20,330 --> 00:11:22,080 Chúng ta sẽ phải xếp hàng lên với nhờ Dan 231 00:11:22,080 --> 00:11:25,300 Armendáriz, một thành viên khác của đội ngũ nhân viên của chúng tôi, một ứng dụng được gọi là bóng đèn nhị phân. 232 00:11:25,300 --> 00:11:28,070 >> Vì vậy, những gì chúng tôi có ở đây là một ứng dụng iPad 233 00:11:28,070 --> 00:11:31,970 có người dùng sau giao diện trên màn hình cho Emily. 234 00:11:31,970 --> 00:11:35,400 Nó chỉ có giao diện người dùng chính xác cùng về cơ bản đó là ở đó. 235 00:11:35,400 --> 00:11:39,220 Và nếu bây giờ bạn muốn đại diện cho số, nói 8, 236 00:11:39,220 --> 00:11:42,094 làm thế nào bạn sẽ đi về làm Nhận ra điều này ở bên phải, 237 00:11:42,094 --> 00:11:43,510 các bóng đèn mà chúng ta có ở đây? 238 00:11:43,510 --> 00:11:46,576 239 00:11:46,576 --> 00:11:47,620 Ah-ha. 240 00:11:47,620 --> 00:11:48,290 Magical. 241 00:11:48,290 --> 00:11:51,830 Vì vậy, nếu chúng ta muốn bây giờ biến điều này thành một chút gì đó khó khăn hơn, 242 00:11:51,830 --> 00:11:58,100 và chúng ta hãy đi trước và chọn một cách ngẫu nhiên số như số 50 ở đây. 243 00:11:58,100 --> 00:11:59,015 Đầu vào này. 244 00:11:59,015 --> 00:12:01,640 Và nếu bây giờ bạn có thể được thử thách để đến với số lượng 50, 245 00:12:01,640 --> 00:12:04,268 chúng tôi sẽ có một giải thưởng tuyệt vời cho bạn. 246 00:12:04,268 --> 00:12:06,144 >> EMILY: OK. 247 00:12:06,144 --> 00:12:08,692 Ôi chúa ơi. 248 00:12:08,692 --> 00:12:10,650 DAVID Malan: Arithmetic thực sự là khó khăn ở phía trước 249 00:12:10,650 --> 00:12:12,860 của hàng trăm bạn học cùng lớp. 250 00:12:12,860 --> 00:12:16,260 Nhưng 50 đã được các câu trả lời ở đây. 251 00:12:16,260 --> 00:12:18,132 >> [VỖ TAY] 252 00:12:18,132 --> 00:12:21,875 >> Và vì vậy bây giờ, điều này có nghĩa là để là minh chứng cho Emily. 253 00:12:21,875 --> 00:12:24,315 Vì vậy, ở đây, là một số ánh sáng bóng đèn khá như thế này, 254 00:12:24,315 --> 00:12:26,190 nhưng nó thực sự là dải từ nhỏ. 255 00:12:26,190 --> 00:12:28,570 Và điều thú vị về những điều này và lý do chúng ta sử dụng chúng trong CS50 256 00:12:28,570 --> 00:12:31,640 là họ ủng hộ một cái gì đó gọi là một API-- một lập trình ứng dụng 257 00:12:31,640 --> 00:12:34,681 giao diện, mà chỉ là một cách ưa thích nói rằng những gì một trong những nhân viên của chúng tôi 258 00:12:34,681 --> 00:12:37,284 đã qua mùa hè đã tạo một ứng dụng iPad ở đây 259 00:12:37,284 --> 00:12:39,700 mà nói chuyện qua internet để các bóng đèn ở đây, 260 00:12:39,700 --> 00:12:41,810 đó là không dây kết nối với thiết bị khác. 261 00:12:41,810 --> 00:12:43,912 Nhưng điều này hiện là một lựa chọn cho các dự án chính thức. 262 00:12:43,912 --> 00:12:46,370 Và do đó, Emily, nếu bạn sẽ rất như, vào cuối nhiệm kỳ, 263 00:12:46,370 --> 00:12:48,703 bạn có thể tô điểm cho căn phòng ký túc xá của bạn trong khi đó với những người. 264 00:12:48,703 --> 00:12:50,376 Cảm ơn bạn Emily là tốt. 265 00:12:50,376 --> 00:12:53,244 >> [VỖ TAY] 266 00:12:53,244 --> 00:12:56,590 267 00:12:56,590 --> 00:13:00,055 >> Nhưng bây giờ, chúng ta hãy quay sự chú ý của chúng tôi với những gì 268 00:13:00,055 --> 00:13:03,180 tin nhắn có thể trông như thế, và đó là một chút gì đó như thế này. 269 00:13:03,180 --> 00:13:05,320 Trong thực tế, đây là một Ví dụ như một lời trêu ghẹo 270 00:13:05,320 --> 00:13:08,400 của những gì sẽ đến của những gì được gọi là một yêu cầu API. 271 00:13:08,400 --> 00:13:11,409 Và vì vậy những gì chúng tôi có ở đây chỉ đơn giản là chính xác các loại thông điệp 272 00:13:11,409 --> 00:13:13,200 rằng sau một vài tuần Hiện tại CS50, bạn sẽ 273 00:13:13,200 --> 00:13:16,590 có thể gửi cho một cái gì đó khá quen thuộc như rằng để thực sự 274 00:13:16,590 --> 00:13:18,100 bật và tắt. 275 00:13:18,100 --> 00:13:19,350 Nhưng điều này là tất cả tốt và tốt. 276 00:13:19,350 --> 00:13:19,850 Đúng? 277 00:13:19,850 --> 00:13:22,710 Chúng tôi có các mô hình về tinh thần hy vọng cho đại diện cho số với 278 00:13:22,710 --> 00:13:23,660 zero và một người. 279 00:13:23,660 --> 00:13:26,290 Và từ số không và những người thân, chúng ta có thể có được con số cao hơn như 50, 280 00:13:26,290 --> 00:13:29,460 Emily vừa làm, hoặc chúng tôi có thể di chuyển lên từ đó. 281 00:13:29,460 --> 00:13:32,160 Và tôi cho rằng chúng tôi có thể đại diện những thứ như chữ là tốt. 282 00:13:32,160 --> 00:13:32,660 Đúng? 283 00:13:32,660 --> 00:13:35,360 >> Máy vi tính là xa hơn thú vị hơn là chỉ số. 284 00:13:35,360 --> 00:13:37,340 Và do đó, làm thế nào để bạn đi về những từ đại diện 285 00:13:37,340 --> 00:13:39,420 trên màn hình hoặc email hoặc tiểu luận hoặc như thế nào? 286 00:13:39,420 --> 00:13:43,170 Vâng, nó chỉ ra rằng các máy tính đơn giản trừu tượng trên đầu trang của các mức thấp 287 00:13:43,170 --> 00:13:47,380 chi tiết, và con người một số thời gian trước đây, đến với một tùy ý, nhưng nhất quán, 288 00:13:47,380 --> 00:13:51,710 lập bản đồ số để letters-- vậy rằng bất cứ lúc nào bạn nhìn thấy một bức thư vốn 289 00:13:51,710 --> 00:13:54,170 A trên máy tính của bạn màn hình, tỷ lệ cược là gì 290 00:13:54,170 --> 00:13:57,370 bên dưới mui xe là một mô hình của các số không và những người thân 291 00:13:57,370 --> 00:14:00,650 đại diện cho số lượng, mỗi biểu đồ này, 65. 292 00:14:00,650 --> 00:14:02,830 >> Và thể chất hơn bên trong máy tính của bạn, 293 00:14:02,830 --> 00:14:06,450 hàng triệu điều được gọi là transistors-- những days-- mà 294 00:14:06,450 --> 00:14:10,190 chỉ chuyển nếu bạn sẽ, điều mà có thể đi vào và tắt và để tưởng tượng. 295 00:14:10,190 --> 00:14:14,130 Không tám của những bóng đèn lớn nhưng hàng triệu những chút ánh sáng nhỏ xíu 296 00:14:14,130 --> 00:14:17,490 bóng đèn, hoặc chuyển mạch hoặc bóng bán dẫn, có thể bật và tắt 297 00:14:17,490 --> 00:14:19,170 dựa vào cách bạn chương trình họ. 298 00:14:19,170 --> 00:14:22,120 Và bây giờ chúng ta có một cách đại diện cho chữ là tốt. 299 00:14:22,120 --> 00:14:25,300 >> Trong thực tế, nếu tôi được sử dụng này lập bản đồ ở đây và cố gắng thực sự 300 00:14:25,300 --> 00:14:28,731 chính tả một cái gì đó, chúng ta sẽ tìm ở mô hình này của các chữ số thập phân 301 00:14:28,731 --> 00:14:29,230 ngay bây giờ. 302 00:14:29,230 --> 00:14:31,354 Vì vậy, chúng tôi sẽ không để mặc tập trung vào nhị phân nữa. 303 00:14:31,354 --> 00:14:35,910 Hãy chỉ coi chúng là số thập phân số 72, 73, 33. 304 00:14:35,910 --> 00:14:38,044 Nhưng điều này có thể đại diện? 305 00:14:38,044 --> 00:14:39,960 Bất cứ ai cũng có đủ bộ nhớ chụp ảnh 306 00:14:39,960 --> 00:14:43,060 để biết đánh vần trên màn hình ở đây? 307 00:14:43,060 --> 00:14:43,560 Vâng một vài. 308 00:14:43,560 --> 00:14:44,190 Vì vậy, hi. 309 00:14:44,190 --> 00:14:48,330 H-I và sau đó là một dấu chấm than, đó là không thực sự trên màn hình. 310 00:14:48,330 --> 00:14:51,060 Nhưng thực sự đó là một ánh xạ cho mỗi thư mỗi số 311 00:14:51,060 --> 00:14:53,340 mà bạn có thể muốn gõ trên bàn phím của bạn. 312 00:14:53,340 --> 00:14:55,430 >> Nhưng con số này không phải đại diện chỉ thư. 313 00:14:55,430 --> 00:14:55,930 Đúng? 314 00:14:55,930 --> 00:14:59,570 Tất cả chúng ta biết về hình ảnh và hình ảnh và các file âm thanh 315 00:14:59,570 --> 00:15:00,870 và các file video và muốn. 316 00:15:00,870 --> 00:15:03,580 Vì vậy, rõ ràng chúng ta có thể đại diện mức điều còn cao hơn. 317 00:15:03,580 --> 00:15:06,920 Và vì vậy những gì một máy tính không chỉ đơn giản là chọn 318 00:15:06,920 --> 00:15:11,240 để giải thích các mô hình không những khác nhau dựa vào ngữ cảnh. 319 00:15:11,240 --> 00:15:13,130 >> Nếu bạn kích đúp vào một biểu tượng Microsoft Word, 320 00:15:13,130 --> 00:15:15,900 bạn nhìn thấy chữ trên màn hình thay vì màu sắc và hình ảnh 321 00:15:15,900 --> 00:15:18,850 vì từ biết rằng đây là một bài luận mà bạn đã thực sự gõ. 322 00:15:18,850 --> 00:15:21,510 Nếu bạn thay vì nhấp đúp chuột vào trên JPEG hoặc GIF hoặc PNG, 323 00:15:21,510 --> 00:15:27,070 nó mở ra và là một hình ảnh vì PNG hoặc .docx hoặc bất cứ file 324 00:15:27,070 --> 00:15:30,450 phần mở rộng là gì và bất cứ phần mềm bạn đang sử dụng biết để giải thích 325 00:15:30,450 --> 00:15:34,420 một mô hình của các số không và những người khác dựa trên những gì mục đích của nó trong cuộc sống. 326 00:15:34,420 --> 00:15:37,330 >> Vì vậy, ví dụ, điều này cùng một chuỗi các con số 327 00:15:37,330 --> 00:15:41,250 có thể đại diện cho bao nhiêu màu đỏ làm bạn muốn, bao nhiêu xanh gì bạn muốn, 328 00:15:41,250 --> 00:15:42,810 và bao nhiêu màu xanh nào bạn muốn. 329 00:15:42,810 --> 00:15:47,490 Và quả thực, nếu bạn đã từng nghe nói RGB-- vì vậy chỉ cần đỏ xanh xanh. 330 00:15:47,490 --> 00:15:51,380 Và vì vậy nếu tôi thấy số như, này cho tôi 72 màu đỏ, đưa cho tôi 73 màu xanh lá cây, 331 00:15:51,380 --> 00:15:56,910 và 33 màu xanh, đây là làm thế nào một máy tính sử dụng ba bytes-- nơi 332 00:15:56,910 --> 00:16:01,470 một byte là tám bit hoặc 24 bits-- sẽ đại diện cho một bóng khá khó chịu 333 00:16:01,470 --> 00:16:03,660 nâu hoặc màu vàng ở đây. 334 00:16:03,660 --> 00:16:07,500 Và trong hoàn cảnh khác nhau, có thể những mô hình chính xác cùng một trong số không và những người thân 335 00:16:07,500 --> 00:16:10,780 có nghĩa là một cái gì đó hoàn toàn khác nhau là tốt. 336 00:16:10,780 --> 00:16:13,899 >> Vì vậy, chúng tôi bây giờ có một cách để đại diện cho số không tin về Người và những người thân. 337 00:16:13,899 --> 00:16:15,190 Ngày đầu đó, chúng tôi nhận được thư. 338 00:16:15,190 --> 00:16:16,860 Ngày đầu đó, chúng ta có thể có được màu sắc. 339 00:16:16,860 --> 00:16:19,730 Và chúng ta hãy giả định cho ngày hôm nay rằng chúng ta có thể nhận được âm thanh và video 340 00:16:19,730 --> 00:16:22,590 và những thứ nhiều hơn nữa tinh vi hơn. 341 00:16:22,590 --> 00:16:25,370 >> Nhưng bây giờ chúng ta hãy xem xét cách chúng tôi sử dụng các đầu vào 342 00:16:25,370 --> 00:16:27,390 và sản xuất những kết quả đầu ra bây giờ mà chúng tôi có 343 00:16:27,390 --> 00:16:29,830 một cách để đại diện cho thông tin đó. 344 00:16:29,830 --> 00:16:31,820 Vâng, chúng ta cần một cái gì đó được gọi là một thuật toán. 345 00:16:31,820 --> 00:16:34,320 Một lần nữa, một tập hợp các hướng dẫn để giải quyết một số vấn đề 346 00:16:34,320 --> 00:16:37,580 từng step-- và chính xác hơn, tốt hơn. 347 00:16:37,580 --> 00:16:42,090 >> Và như vậy một ví dụ mà con người phải thừa nhận là không quen thuộc những ngày này, 348 00:16:42,090 --> 00:16:44,300 nhưng dù sao vẫn còn với chúng tôi trong phần mềm, 349 00:16:44,300 --> 00:16:47,490 là quá trình tìm kiếm lên một ai đó trong một cuốn sách điện thoại. 350 00:16:47,490 --> 00:16:51,690 >> Bây giờ, ít hơn và ít hơn folks biết mỗi năm những gì di tích này thực sự là ở đây. 351 00:16:51,690 --> 00:16:53,470 Nhưng trở lại trong ngày của tôi, đây là một cuốn sách điện thoại 352 00:16:53,470 --> 00:16:57,266 với hàng ngàn trang và số và tên của người dân từ A đến Z. 353 00:16:57,266 --> 00:17:00,390 Và mặc dù chúng ta đang loại gian lận một bit-- này chủ yếu là các trang vàng. 354 00:17:00,390 --> 00:17:01,920 Ngoài ra còn có màu trắng trang vào thời điểm đó, mà 355 00:17:01,920 --> 00:17:04,720 đã có tất cả những cái tên đó và số của con người thực sự. 356 00:17:04,720 --> 00:17:07,970 >> Và nếu tôi muốn nhìn một ai đó trong một danh bạ điện thoại như ngày hôm nay, tất nhiên, 357 00:17:07,970 --> 00:17:11,010 Tôi chỉ cần gõ vào vài đầu tiên ký tự tên của mình, 358 00:17:11,010 --> 00:17:13,480 và điện thoại của tôi tìm thấy thông tin đó. 359 00:17:13,480 --> 00:17:15,970 Nhưng quá trình mà điện thoại iPhone hoặc Android của bạn 360 00:17:15,970 --> 00:17:18,730 hoặc bất cứ điều gì là thực sự tìm kiếm một người nào đó trong danh sách liên lạc của bạn 361 00:17:18,730 --> 00:17:22,099 là giống hệt với những gì con người chúng ta có lẽ đã làm cho một số thời gian. 362 00:17:22,099 --> 00:17:24,260 >> Bây giờ tôi có thể thực hiện việc này vấn đề, nếu bạn muốn, 363 00:17:24,260 --> 00:17:26,220 và các đầu vào đây không phải là số không và những người thân. 364 00:17:26,220 --> 00:17:28,730 Họ đang pages-- như, hãy nói rằng 1.000 trang. 365 00:17:28,730 --> 00:17:32,650 Và nếu tôi muốn nhìn lên một ai đó thích Mike Smith trong danh bạ điện thoại này, 366 00:17:32,650 --> 00:17:35,570 Tôi có thể bắt đầu ngay từ đầu và thấy rằng tôi là trong phần A 367 00:17:35,570 --> 00:17:38,300 và sau đó lần lượt từng trang một thời gian, tìm kiếm và tìm kiếm 368 00:17:38,300 --> 00:17:42,820 như tôi làm để của B và C và D's và vv cho Mike Smith. 369 00:17:42,820 --> 00:17:46,000 Smith bắt đầu bằng S, tôi sẽ hy vọng cuối cùng tìm thấy anh ta. 370 00:17:46,000 --> 00:17:50,090 >> Là algorithm-- này rằng process-- đúng? 371 00:17:50,090 --> 00:17:50,590 Yeah. 372 00:17:50,590 --> 00:17:51,610 Đúng. 373 00:17:51,610 --> 00:17:57,040 Tôi sẽ tìm thấy Mike nếu anh ta đang ở đây, nhưng là những gì báo trước rằng bạn có thể cung cấp. 374 00:17:57,040 --> 00:17:57,541 Đó là chậm. 375 00:17:57,541 --> 00:17:58,040 Đúng? 376 00:17:58,040 --> 00:18:00,975 Tôi biết Mike S là loại đối nửa sau của cuốn sách điện thoại. 377 00:18:00,975 --> 00:18:02,766 Tại sao các heck tôi bắt đầu từ đầu 378 00:18:02,766 --> 00:18:04,349 và đi từng trang của trang. 379 00:18:04,349 --> 00:18:06,890 Vì vậy, tất nhiên, tôi có thể lật nó xung quanh và bắt đầu từ phía sau, 380 00:18:06,890 --> 00:18:08,973 nhưng đó là sẽ có được tôi có cùng tốc độ, 381 00:18:08,973 --> 00:18:10,930 nếu bạn willl-- trang sau khi trang sau khi trang. 382 00:18:10,930 --> 00:18:14,190 Và nó sẽ không làm việc nếu tôi muốn để tìm kiếm một người nào khác mà 383 00:18:14,190 --> 00:18:15,880 Tên đến trước đó trong bảng chữ cái. 384 00:18:15,880 --> 00:18:17,240 >> Vì vậy, những gì nếu tôi làm những gì tôi học ở trường lớp, 385 00:18:17,240 --> 00:18:19,205 một lần nữa, làm những việc không bởi những người mà bởi twos. 386 00:18:19,205 --> 00:18:23,060 Vì vậy, 2, 4, 6, 8, 10, 12, và vv. 387 00:18:23,060 --> 00:18:23,740 Đúng không? 388 00:18:23,740 --> 00:18:27,030 389 00:18:27,030 --> 00:18:27,560 Không. 390 00:18:27,560 --> 00:18:28,830 Đó là loại chính xác. 391 00:18:28,830 --> 00:18:33,210 Nhưng một số bạn người thì thầm không có, mà là vấn đề, hoặc các lỗi, 392 00:18:33,210 --> 00:18:34,240 những sai lầm như vậy để nói chuyện. 393 00:18:34,240 --> 00:18:34,580 Yeah. 394 00:18:34,580 --> 00:18:36,570 >> HỌC SINH: Bạn có thể bỏ qua qua các mục bên phải. 395 00:18:36,570 --> 00:18:37,320 >> DAVID Malan: Yeah. 396 00:18:37,320 --> 00:18:40,340 Tôi có thể bỏ qua Mike Smith bởi vì tôi đã lấy hai trang cùng một lúc 397 00:18:40,340 --> 00:18:43,190 và ông chỉ xảy ra được kẹp giữa hai trang. 398 00:18:43,190 --> 00:18:46,500 Tôi có thể nhận ra rằng Tôi sang phần T 399 00:18:46,500 --> 00:18:48,690 không có tìm thấy Mike Smith chưa. 400 00:18:48,690 --> 00:18:50,820 >> Và vì vậy những gì có thể cố định có được? 401 00:18:50,820 --> 00:18:52,709 Vâng, nếu tôi làm nhấn Ts trong sổ điện thoại, 402 00:18:52,709 --> 00:18:54,500 Tôi có thể cần phải tăng gấp đôi sao một hoặc để trang. 403 00:18:54,500 --> 00:18:56,830 Vì vậy, nó có thể cứu vãn, nhưng nó không phải là khá đơn giản 404 00:18:56,830 --> 00:18:59,170 như chỉ cần đi bằng hai để tăng tốc độ hiệu suất của tôi. 405 00:18:59,170 --> 00:18:59,680 Nhưng cái gì? 406 00:18:59,680 --> 00:19:00,180 Nào. 407 00:19:00,180 --> 00:19:03,530 là những gì những gì hầu hết con người đang đi để làm với các loại sách điện thoại? 408 00:19:03,530 --> 00:19:04,696 Bạn đang đưa ra các cuốn sách điện thoại. 409 00:19:04,696 --> 00:19:06,280 Bạn làm nghề gì? 410 00:19:06,280 --> 00:19:06,922 >> Cái gì thế? 411 00:19:06,922 --> 00:19:07,630 Tới giữa. 412 00:19:07,630 --> 00:19:10,620 Vì vậy, tôi nghe đi vào giữa, và tôi thấy mình gần ở phần M, 413 00:19:10,620 --> 00:19:11,120 vậy để nói chuyện. 414 00:19:11,120 --> 00:19:12,670 Và bây giờ những gì tôi muốn làm gì? 415 00:19:12,670 --> 00:19:14,077 Làm tốt lắm. 416 00:19:14,077 --> 00:19:14,785 Tên bạn là gì? 417 00:19:14,785 --> 00:19:15,350 >> JAMES: James. 418 00:19:15,350 --> 00:19:15,890 >> DAVID Malan: James, được rồi. 419 00:19:15,890 --> 00:19:16,829 Tôi phải làm gì tiếp theo? 420 00:19:16,829 --> 00:19:18,620 JAMES: Bạn đi trong nửa có của S. 421 00:19:18,620 --> 00:19:18,740 DAVID Malan: Tất cả các quyền. 422 00:19:18,740 --> 00:19:20,910 Tôi sẽ đi vào một nửa có của S trong đó bởi vì, một lần nữa, 423 00:19:20,910 --> 00:19:22,920 một quy định ở đây là mà điều này được sắp xếp. 424 00:19:22,920 --> 00:19:25,461 Đó là một khá vô dụng 1000 trang Verizon nếu không thực sự 425 00:19:25,461 --> 00:19:27,339 sắp xếp những việc này cho chúng tôi từ A đến Z. 426 00:19:27,339 --> 00:19:30,130 Vì vậy, nếu tôi biết Mike có lẽ là ở nửa sau của cuốn sách điện thoại, 427 00:19:30,130 --> 00:19:31,536 Tôi có thể ngay bây giờ. 428 00:19:31,536 --> 00:19:33,388 >> [Cười] 429 00:19:33,388 --> 00:19:35,240 430 00:19:35,240 --> 00:19:37,391 >> Xé vấn đề trong một nửa. 431 00:19:37,391 --> 00:19:38,615 >> [VỖ TAY] 432 00:19:38,615 --> 00:19:39,115 433 00:19:39,115 --> 00:19:40,300 Cảm ơn bạn. 434 00:19:40,300 --> 00:19:42,510 Xé vấn đề trong một nửa. 435 00:19:42,510 --> 00:19:44,440 Điều đó đã thực sự real-- cuộc đấu tranh đó. 436 00:19:44,440 --> 00:19:47,050 Vì vậy, xé sổ điện thoại một nửa, để lại bản thân mình 437 00:19:47,050 --> 00:19:48,580 với cơ bản cùng một vấn đề. 438 00:19:48,580 --> 00:19:50,060 Nhưng tất nhiên, một nửa là lớn. 439 00:19:50,060 --> 00:19:52,550 Và nếu tôi làm theo James tư vấn một lần nữa, và tôi đi đây. 440 00:19:52,550 --> 00:19:54,400 Tôi nói, oh bây giờ tôi trong phần T. 441 00:19:54,400 --> 00:19:56,460 >> Và do đó, tất nhiên, tôi có thể phá danh bạ điện thoại 442 00:19:56,460 --> 00:19:59,660 trong nửa một lần nữa, để lại tôi có một vấn đề đó là 443 00:19:59,660 --> 00:20:00,810 bây giờ là một phần tư kích thước. 444 00:20:00,810 --> 00:20:05,335 Vì vậy, tôi đã đi từ 1.000 đến 500 250 đến 125 và vv. 445 00:20:05,335 --> 00:20:07,350 Nó cảm thấy như tôi là lấy cắn lớn ra 446 00:20:07,350 --> 00:20:10,615 của vấn đề này với nhau lặp đi lặp lại, hoặc từng bước trong đó. 447 00:20:10,615 --> 00:20:15,580 >> Và quả thực, lúc đó tôi đang đi để dành tìm Mike Smith trong ví dụ này 448 00:20:15,580 --> 00:20:18,970 là rất ít bởi vì cuối cùng tôi đi gọt cuốn bánh ngô này xuống 449 00:20:18,970 --> 00:20:20,192 để chỉ một trang duy nhất. 450 00:20:20,192 --> 00:20:23,010 Và nếu Mike là trên trang đó, tôi sẽ đi trước và cho anh ta 451 00:20:23,010 --> 00:20:24,670 một cuộc gọi đã tìm thấy anh ta. 452 00:20:24,670 --> 00:20:27,030 >> Nhưng chỉ thế nào tốt hơn là algorithm-- 453 00:20:27,030 --> 00:20:29,690 mà dám nói trực quan algorithm-- hơn những người chúng tôi 454 00:20:29,690 --> 00:20:34,920 bắt đầu mà chúng tôi đang rất linear-- trái sang right-- với tốc độ của 1 hoặc 2x? 455 00:20:34,920 --> 00:20:36,100 >> Vâng, chúng ta hãy vẽ này. 456 00:20:36,100 --> 00:20:39,380 Chúng tôi không cần phải lo lắng quá nhiều về toán hoặc số trong trường hợp này đây. 457 00:20:39,380 --> 00:20:40,550 Chúng tôi chỉ cần nhìn vào một âm mưu. 458 00:20:40,550 --> 00:20:43,600 Vì vậy, trên x, hoặc trục ngang, là kích thước của problem-- 459 00:20:43,600 --> 00:20:44,700 bao nhiêu trang đang có. 460 00:20:44,700 --> 00:20:46,760 Trên y, hoặc thẳng đứng trục, có bao nhiêu thời gian 461 00:20:46,760 --> 00:20:48,218 là nó sẽ đưa tôi để giải quyết nó. 462 00:20:48,218 --> 00:20:50,760 Và có lẽ đó là bao nhiêu lượt trang, bao nhiêu giây, 463 00:20:50,760 --> 00:20:52,370 cách many-- một số đơn vị của các biện pháp. 464 00:20:52,370 --> 00:20:57,810 >> Và tôi đã vẽ một đường thẳng màu đỏ ở đây vì nếu mỗi trang thêm 465 00:20:57,810 --> 00:21:01,740 của cuốn sách điện thoại, tôi yêu cầu để thực hiện một bước bổ sung. 466 00:21:01,740 --> 00:21:03,680 Vì vậy, nếu Verizon cho biết thêm một nhiều trang trong năm tới, 467 00:21:03,680 --> 00:21:06,970 Tôi có thể có để lật một trang khác để tìm một người như Mike Smith. 468 00:21:06,970 --> 00:21:11,340 >> Trong khi đó, các thuật toán thứ hai, Tôi đi một twos, có hình dạng giống nhau. 469 00:21:11,340 --> 00:21:15,220 Nó vẫn còn rất tuyến tính, rất trái sang phải, lấy byte bằng mỗi lần, 470 00:21:15,220 --> 00:21:16,900 nhưng độ dốc thấp hơn một chút. 471 00:21:16,900 --> 00:21:23,590 >> Ví dụ, nếu kích thước của vấn đề là khoảng ở đây 472 00:21:23,590 --> 00:21:25,990 và tôi sử dụng thuật toán đầu tiên của tôi, Tôi có thể kết thúc tất cả các cách 473 00:21:25,990 --> 00:21:27,480 ở trên cùng của dòng màu đỏ. 474 00:21:27,480 --> 00:21:29,390 Nhưng nếu tôi thay vì sử dụng để twosies tiếp cận, 475 00:21:29,390 --> 00:21:31,480 đường màu vàng cho thấy vì nó thấp hơn, 476 00:21:31,480 --> 00:21:33,790 rằng nó sẽ mất tôi ít thời gian giải quyết. 477 00:21:33,790 --> 00:21:37,400 >> Nhưng hình dạng của những gì algorithm-- thứ ba một lần nữa, cho là 478 00:21:37,400 --> 00:21:38,707 các thuật toán trực quan nhất? 479 00:21:38,707 --> 00:21:40,540 Vâng, có vẻ một chút một cái gì đó như thế này. 480 00:21:40,540 --> 00:21:43,480 Nó cong, hoặc logarit, trong hình dạng. 481 00:21:43,480 --> 00:21:46,510 Và mặc dù nó không bao giờ loại flattens ra, 482 00:21:46,510 --> 00:21:50,770 nó tiệm inch và lên và lên nhưng cực kỳ chậm chạp 483 00:21:50,770 --> 00:21:52,129 so với tất cả mọi thứ khác. 484 00:21:52,129 --> 00:21:53,170 Và những gì đang lấy đi? 485 00:21:53,170 --> 00:21:54,215 Vâng, chúng ta gọi nó log n. 486 00:21:54,215 --> 00:21:55,820 Nhưng điều đó thực sự có nghĩa gì? 487 00:21:55,820 --> 00:21:58,580 Vâng, nếu Verizon tăng gấp đôi số trang trong sổ điện thoại 488 00:21:58,580 --> 00:22:00,810 năm tiếp theo từ 1000 đến 2000. 489 00:22:00,810 --> 00:22:04,600 Làm thế nào nhiều hơn nữa bước là của tôi Thuật toán đầu tiên sẽ mất? 490 00:22:04,600 --> 00:22:05,440 >> Thuật toán đầu tiên của tôi. 491 00:22:05,440 --> 00:22:06,399 Có lẽ 1000 bước nữa. 492 00:22:06,399 --> 00:22:08,106 Nếu họ tăng gấp đôi danh bạ điện thoại, tôi sẽ 493 00:22:08,106 --> 00:22:10,590 phải lật qua một 1.000 trang để tìm Mike. 494 00:22:10,590 --> 00:22:13,240 Tất nhiên, nếu thứ hai thuật toán, có lẽ bởi vì tôi là 500 495 00:22:13,240 --> 00:22:14,610 đi nhanh gấp hai lần. 496 00:22:14,610 --> 00:22:18,380 >> Nhưng nếu Verizon tăng gấp đôi số trang giữa năm nay và năm tới, 497 00:22:18,380 --> 00:22:21,650 với ba tôi algorithm-- sự phân chia và chinh phục mà James đề nghị, 498 00:22:21,650 --> 00:22:24,450 đi một nửa và một nửa và half-- bao nhiêu bước nữa sẽ 499 00:22:24,450 --> 00:22:29,030 nó đưa tôi vào năm tới để có một cuốn sách điện thoại có kích thước 2.000? 500 00:22:29,030 --> 00:22:29,670 Chỉ một. 501 00:22:29,670 --> 00:22:34,110 Bởi vì với một vết cắn, tôi có thể mất, ra khỏi vấn đề đó, một nửa số trang 502 00:22:34,110 --> 00:22:34,694 cách xa. 503 00:22:34,694 --> 00:22:37,860 Và nếu bạn nghĩ về điều này một chút điên cuồng now-- nếu cuốn sách điện thoại không 504 00:22:37,860 --> 00:22:41,810 có 1.000 hoặc 2.000 trang, nhưng giả sử 4 tỷ pages-- 505 00:22:41,810 --> 00:22:45,282 đó là một điện thoại lớn book-- cách nhiều lần hoặc có bao nhiêu bước 506 00:22:45,282 --> 00:22:47,740 là nó sẽ đưa tôi đến tìm Mike Smith trong sổ điện thoại 507 00:22:47,740 --> 00:22:50,489 với 4 tỷ trang. 508 00:22:50,489 --> 00:22:52,030 Bạn có thể sắp xếp bắt đầu để làm toán. 509 00:22:52,030 --> 00:22:52,200 Được rồi. 510 00:22:52,200 --> 00:22:53,175 4 tỷ chia cho 2. 511 00:22:53,175 --> 00:22:54,550 Vì vậy, đó là 2 tỷ chia cho 1. 512 00:22:54,550 --> 00:22:55,510 Kết quả là 1 tỷ đồng. 513 00:22:55,510 --> 00:22:56,410 Sau đó nửa tỷ. 514 00:22:56,410 --> 00:22:59,940 Sau đó 250-- vì vậy bạn có thể làm điều này một lần nữa và một lần nữa nhưng không phải là nhiều lần trước 515 00:22:59,940 --> 00:23:01,020 bạn nhận được một trang. 516 00:23:01,020 --> 00:23:04,360 >> Và thực sự, ngay cả khi điện thoại cuốn sách này dài 4 tỷ trang 517 00:23:04,360 --> 00:23:08,340 hoặc cơ sở dữ liệu bạn đang tìm kiếm dài 4 tỷ hồ sơ, 518 00:23:08,340 --> 00:23:12,720 nó sẽ đưa bạn cho hoặc mất 32 bước chỉ để thấy Mike Smith. 519 00:23:12,720 --> 00:23:15,990 Và nếu bạn gấp đôi sách điện thoại tiếp theo năm 4000000000-8000000000, 520 00:23:15,990 --> 00:23:19,010 33 bước thay vì chỉ 32. 521 00:23:19,010 --> 00:23:21,100 >> Và đây là di chúc với một trong những ý tưởng 522 00:23:21,100 --> 00:23:24,100 rằng chúng ta có thể nắm lấy trong máy tính khoa học nói chung, trong đó 523 00:23:24,100 --> 00:23:26,760 là tư duy tính toán này và tiếp cận một vấn đề 524 00:23:26,760 --> 00:23:29,479 thẳng thắn sử dụng công cụ từ công cụ đã quen thuộc của bạn 525 00:23:29,479 --> 00:23:31,520 kit-- thế giới thực bằng mà bạn đã quen thuộc, 526 00:23:31,520 --> 00:23:34,730 nhưng việc khai thác những ý tưởng để thực sự giải quyết vấn đề. 527 00:23:34,730 --> 00:23:37,200 >> Nhưng chúng ta cần để chính thức của chúng tôi giải pháp cho những vấn đề này. 528 00:23:37,200 --> 00:23:40,200 Và vì vậy hãy để tôi giới thiệu cho một thời điểm một cái gì đó chúng ta có thể gọi là giả. 529 00:23:40,200 --> 00:23:44,260 Phần lớn các học kỳ, chúng ta sẽ dành sử dụng mã thực tế trong các ngôn ngữ như C và PHP 530 00:23:44,260 --> 00:23:46,570 và JavaScript và SQL và muốn. 531 00:23:46,570 --> 00:23:49,000 >> Nhưng hiện nay, chúng ta hãy chỉ cần nhìn tại một cái gì đó khá trực quan 532 00:23:49,000 --> 00:23:49,930 như tiếng Anh. 533 00:23:49,930 --> 00:23:52,490 Tôi có thể chưng cất mà thuật toán mà 534 00:23:52,490 --> 00:23:54,650 Tôi thấy Mike thành các bước như thế này. 535 00:23:54,650 --> 00:23:55,760 >> Nhấc điện thoại cuốn sách 536 00:23:55,760 --> 00:23:57,121 >> Open để giữa cuốn sách điện thoại 537 00:23:57,121 --> 00:23:57,870 Nhìn vào tên của 538 00:23:57,870 --> 00:23:59,290 Nếu Mike là một trong những tên của 539 00:23:59,290 --> 00:24:00,450 gọi Mike 540 00:24:00,450 --> 00:24:02,290 Else if Smith là trước đó trong cuốn sách 541 00:24:02,290 --> 00:24:04,540 Mở đến giữa nửa bên trái của cuốn sách 542 00:24:04,540 --> 00:24:06,244 Khác đi xếp hàng 3 543 00:24:06,244 --> 00:24:07,660 Else if Smith là sau này trong cuốn sách 544 00:24:07,660 --> 00:24:09,330 Mở cửa cho vào giữa nửa bên phải của cuốn sách 545 00:24:09,330 --> 00:24:09,996 Đến dòng ba 546 00:24:09,996 --> 00:24:10,720 khác 547 00:24:10,720 --> 00:24:11,500 Bỏ cuộc 548 00:24:11,500 --> 00:24:15,360 Và có một vài đặc điểm hiện nay điều này mà là giá trị chỉ ra. 549 00:24:15,360 --> 00:24:18,370 Vì vậy, một, tất cả các dòng Tôi đã đánh dấu màu vàng 550 00:24:18,370 --> 00:24:21,430 chúng ta sẽ bắt đầu cuộc gọi báo cáo hoặc các chức năng hoặc thủ tục. 551 00:24:21,430 --> 00:24:24,160 Chúng chỉ là những hành động làm này, và có không 552 00:24:24,160 --> 00:24:26,400 tất cả những biến đổi nhiều đến nó. 553 00:24:26,400 --> 00:24:30,850 >> Bước tiếp theo ở đây, mặc dù là những conditions-- nếu, khác, nếu người nào khác, khác. 554 00:24:30,850 --> 00:24:34,020 Và đây là những gọi là điều kiện, hoặc chi nhánh, và họ là điểm quyết định. 555 00:24:34,020 --> 00:24:36,780 Và họ cho phép chúng tôi làm một cái gì đó có điều kiện. 556 00:24:36,780 --> 00:24:39,650 >> Và trên thực tế, chúng ta hãy nhanh chóng nhìn vào có lẽ là một face-- quen thuộc 557 00:24:39,650 --> 00:24:43,380 chúng tôi sẽ gọi anh ta Bill-- và chính xác những gì các điều kiện, 558 00:24:43,380 --> 00:24:45,670 làm thế nào những có thể được sử dụng. 559 00:24:45,670 --> 00:24:48,230 >> Bill Gates: Mọi người làm quyết định mỗi ngày. 560 00:24:48,230 --> 00:24:51,800 Ví dụ, trước khi bạn đi ra ngoài bạn loại có một tuyên bố nếu mà nói, 561 00:24:51,800 --> 00:24:55,650 nếu trời mưa, sau đó tôi cần để có được chiếc áo khoác của tôi. 562 00:24:55,650 --> 00:25:00,990 >> Và các máy tính là tuyệt vời khi bạn quyết định những loại báo cáo 563 00:25:00,990 --> 00:25:06,450 rằng họ đáng tin cậy có thể thực hiện những điều ở tốc độ không thể tin được. 564 00:25:06,450 --> 00:25:12,470 Và do đó, một chương trình máy tính thực sự là một chút ít về toán học và một số 565 00:25:12,470 --> 00:25:16,890 nếu báo cáo nơi các quyết định được thực hiện. 566 00:25:16,890 --> 00:25:19,432 >> DAVID Malan: Bây giờ chúng ta hãy tập trung trên một vài lines-- khác nhau 567 00:25:19,432 --> 00:25:21,140 những cái tôi đã nêu bật màu vàng ở đây. 568 00:25:21,140 --> 00:25:23,890 Và nó có khác nhau cách thể hiện ý tưởng này. 569 00:25:23,890 --> 00:25:28,550 Nhưng trực giác những dòng của chúng tôi 8 và 11 mà tôi đã nêu bật ở đây nói với bạn 570 00:25:28,550 --> 00:25:29,100 làm? 571 00:25:29,100 --> 00:25:33,081 Vâng, vào dòng 3, nhưng những gì hành vi đó thực sự gây? 572 00:25:33,081 --> 00:25:35,580 Đó là một số loại vòng lặp hoặc chu kỳ, và bạn có thể phần nào thấy nó. 573 00:25:35,580 --> 00:25:36,079 Đúng? 574 00:25:36,079 --> 00:25:39,710 Nếu trên dòng 8, bạn hãy quay lại dòng 3, và sau đó bạn nhấn dòng 8 một lần nữa, 575 00:25:39,710 --> 00:25:42,700 bạn có thể quay lại dòng 3, quay lại dòng 3, trở lại dòng 3. 576 00:25:42,700 --> 00:25:44,530 Có loại này của chu kỳ hoặc lặp. 577 00:25:44,530 --> 00:25:47,177 Và quả thực, điều đó gây ra trong dòng 11 có khả năng là tốt. 578 00:25:47,177 --> 00:25:49,260 Và đây là một cơ bản lập trình xây dựng là tốt. 579 00:25:49,260 --> 00:25:51,593 >> Bạn có thể không muốn chỉ làm điều gì đó với một tuyên bố 580 00:25:51,593 --> 00:25:54,280 hoặc làm điều gì đó có điều kiện với một điều kiện hoặc chi nhánh. 581 00:25:54,280 --> 00:25:56,644 Bạn có thể muốn làm một cái gì đó theo chu kỳ với một vòng lặp. 582 00:25:56,644 --> 00:25:59,810 Và chúng tôi sẽ có một người nào khác mà bạn có thể familiar-- chúng tôi sẽ gọi anh ta 583 00:25:59,810 --> 00:26:02,996 Mark-- giải thích khái niệm này ở đây. 584 00:26:02,996 --> 00:26:04,870 Mark Zuckerberg: Một điều rằng máy tính là 585 00:26:04,870 --> 00:26:07,460 thực sự tốt tại đang lặp lại lệnh. 586 00:26:07,460 --> 00:26:09,510 Như một người, bạn sẽ nhận được thực sự buồn chán nếu bạn 587 00:26:09,510 --> 00:26:12,310 đã phải làm điều tương tự rất nhiều lần trong một hàng, 588 00:26:12,310 --> 00:26:16,230 nhưng một máy tính có thể làm điều tương tự hàng triệu hoặc thậm chí hàng tỷ lần 589 00:26:16,230 --> 00:26:18,930 và không cảm thấy buồn chán và có thể để thực hiện điều đó ra thực sự tốt. 590 00:26:18,930 --> 00:26:21,240 >> Vì vậy, ví dụ, nếu tôi muốn chúc tất cả mọi người 591 00:26:21,240 --> 00:26:24,450 trên Facebook một sinh nhật hạnh phúc bằng cách gửi cho họ một email, 592 00:26:24,450 --> 00:26:27,037 nó có thể đưa tôi hơn một thế kỷ để thực sự viết ra 593 00:26:27,037 --> 00:26:28,370 tất cả những email đến tất cả mọi người. 594 00:26:28,370 --> 00:26:33,500 Nhưng chỉ với một vài dòng mã, tôi có thể có một hệ thống gửi email đến tất cả mọi người 595 00:26:33,500 --> 00:26:35,460 trên Facebook có nhu cầu cho họ một sinh nhật hạnh phúc. 596 00:26:35,460 --> 00:26:38,330 >> Vì vậy, đó là những gì các vòng được và tại sao họ có giá trị và một cái gì đó 597 00:26:38,330 --> 00:26:40,076 máy tính có thể làm rất tốt. 598 00:26:40,076 --> 00:26:43,109 >> DAVID Malan: Rất cám ơn đến bạn bè của chúng tôi tại code.org cho hai bộ phim. 599 00:26:43,109 --> 00:26:46,150 Và tuần trước, bạn có thể có thấy rằng Mark Zuckerberg và Facebook 600 00:26:46,150 --> 00:26:47,940 gửi thông báo này, đó là chúng chỉ 601 00:26:47,940 --> 00:26:50,398 đã thông qua một quan trọng cột mốc lần đầu tiên bao giờ hết. 602 00:26:50,398 --> 00:26:54,320 1 tỷ người sử dụng Facebook trong một ngày, đặc biệt thứ hai tuần trước. 603 00:26:54,320 --> 00:26:58,650 Một trong bảy con người trên trái đất dường như đã đăng nhập vào Facebook. 604 00:26:58,650 --> 00:27:03,310 >> Vâng, điều này dường như là một cơ hội tốt để nhìn lại nơi mà Facebook đã bắt đầu, 605 00:27:03,310 --> 00:27:06,840 và chúng tôi đã đi qua riêng của CS50 lưu trữ vì thực ra trong năm 2005, 606 00:27:06,840 --> 00:27:10,020 Đánh dấu đã thuyết giảng của khách trong CS50. 607 00:27:10,020 --> 00:27:13,870 Bạn sẽ thấy rằng giá trị sản xuất là không hoàn toàn trở lại cùng sau đó 608 00:27:13,870 --> 00:27:16,110 về công nghệ có sẵn, và bạn cũng sẽ thấy 609 00:27:16,110 --> 00:27:18,310 thấy rằng sự hiện diện bài giảng của khách này 610 00:27:18,310 --> 00:27:22,470 không nhất thiết phải khơi gợi sự quan tâm của sinh viên, những người tiền nhiệm của mình, 611 00:27:22,470 --> 00:27:24,910 nhiều như nó có thể có chỉ một vài năm sau đó. 612 00:27:24,910 --> 00:27:27,902 >> Vì vậy, chúng ta hãy có một cái nhìn tại Trung tâm Khoa học C. 613 00:27:27,902 --> 00:27:29,389 614 00:27:29,389 --> 00:27:31,014 SPEAKER 2: Xin hãy cùng tôi, và chào đón. 615 00:27:31,014 --> 00:27:33,374 616 00:27:33,374 --> 00:27:36,577 [VỖ TAY] 617 00:27:36,577 --> 00:27:37,410 Mark Zuckerberg: Yo. 618 00:27:37,410 --> 00:27:37,900 Được rồi. 619 00:27:37,900 --> 00:27:40,420 Mát mẻ này là lần đầu tiên tôi đã từng đã phải giữ một trong những điều này. 620 00:27:40,420 --> 00:27:42,336 Vì vậy, tôi chỉ cần đi tới đính kèm nó thực sự nhanh chóng. 621 00:27:42,336 --> 00:27:54,354 622 00:27:54,354 --> 00:27:54,854 Được rồi. 623 00:27:54,854 --> 00:27:57,314 Bạn có thể nghe được? 624 00:27:57,314 --> 00:27:58,298 Cái này tốt không? 625 00:27:58,298 --> 00:28:00,684 Đây có phải là khuếch đại ở tất cả? 626 00:28:00,684 --> 00:28:01,184 Được rồi. 627 00:28:01,184 --> 00:28:02,040 Ngọt. 628 00:28:02,040 --> 00:28:06,860 Vì vậy, điều này giống như một trong những lần đầu tiên Tôi đã đến một bài giảng tại Đại học Harvard, 629 00:28:06,860 --> 00:28:08,660 nhưng-- 630 00:28:08,660 --> 00:28:12,510 >> DAVID Malan: Vì vậy, cuối cùng các Khoa học Trung tâm đã phóng to video, 631 00:28:12,510 --> 00:28:15,110 nhưng không phải trước khi chụp này trích đoạn mà nói chuyện của Mark, 632 00:28:15,110 --> 00:28:18,230 mà ông đã thảo luận của mình bạn cùng phòng, Dustin, người 633 00:28:18,230 --> 00:28:20,885 muốn giúp một tay với điều này trang web gọi là Facebook.com 634 00:28:20,885 --> 00:28:24,540 và nhận ra rằng Mark sắp đề cập đến lập trình languages-- 635 00:28:24,540 --> 00:28:27,290 một gọi là Perl, một gọi PHP-- như ông thảo luận 636 00:28:27,290 --> 00:28:28,840 nguồn gốc của sự đóng góp của Dustin. 637 00:28:28,840 --> 00:28:31,499 638 00:28:31,499 --> 00:28:33,290 Mark Zuckerberg: Tôi bắt đầu chạy các trang web 639 00:28:33,290 --> 00:28:37,770 và đưa nó vào Harvard vào tháng Hai năm 2004. 640 00:28:37,770 --> 00:28:39,540 Vì vậy, tôi đoán gần hai năm trước đây bây giờ. 641 00:28:39,540 --> 00:28:42,322 Và trong vòng một vài tuần, một vài nghìn người đã đăng ký, 642 00:28:42,322 --> 00:28:45,280 và chúng tôi bắt đầu nhận được một số email từ những người ở các trường khác yêu cầu 643 00:28:45,280 --> 00:28:47,520 để chúng tôi khởi động nó tại trường học của họ. 644 00:28:47,520 --> 00:28:49,455 >> Và tôi đã được tham gia 161 vào thời điểm đó. 645 00:28:49,455 --> 00:28:52,080 Vì vậy, tôi không biết nếu các bạn biết danh tiếng của khóa học đó, 646 00:28:52,080 --> 00:28:54,402 nhưng nó là loại nặng. 647 00:28:54,402 --> 00:28:57,110 Đó là một khóa học thực sự vui vẻ, nhưng nó không để lại cho tôi với nhiều thời gian 648 00:28:57,110 --> 00:28:59,260 để làm bất cứ điều gì khác với Facebook. 649 00:28:59,260 --> 00:29:04,309 Vì vậy, bạn cùng phòng của tôi Dustin, người mà tôi đoán vừa hoàn thành CS50, giống như, hey. 650 00:29:04,309 --> 00:29:05,100 Tôi muốn giúp đỡ. 651 00:29:05,100 --> 00:29:08,760 Tôi muốn làm việc mở rộng và giúp đỡ bạn tìm ra cách để làm các công cụ. 652 00:29:08,760 --> 00:29:10,780 >> Vì vậy, tôi đã thích, đó là khá mát mẻ, dude. 653 00:29:10,780 --> 00:29:13,130 Nhưng bạn thực sự không biết bất kỳ PHP hoặc bất cứ điều gì như thế. 654 00:29:13,130 --> 00:29:16,444 Vì vậy, cuối tuần anh ấy về nhà, mua cuốn sách Perl cho Dummies, 655 00:29:16,444 --> 00:29:17,860 đã trở lại và được như thế, tất cả các quyền. 656 00:29:17,860 --> 00:29:18,940 Tôi sẵn sàng đi. 657 00:29:18,940 --> 00:29:23,010 >> Tôi giống như, dude, trang web được viết trong PHP không Perl, nhưng đó là mát mẻ. 658 00:29:23,010 --> 00:29:28,530 >> Vì vậy, ông nhặt PHP qua giống như một vài ngày vì tôi 659 00:29:28,530 --> 00:29:30,790 hứa rằng nếu bạn có một nền tảng tốt trong C, 660 00:29:30,790 --> 00:29:32,970 PHP là một điều rất đơn giản để chọn lên. 661 00:29:32,970 --> 00:29:37,480 Và ông chỉ là loại đi lại làm việc. 662 00:29:37,480 --> 00:29:40,500 >> Trước khi chúng tôi có một cái nhìn tại nơi tất nhiên là đi, 663 00:29:40,500 --> 00:29:43,047 cho phép tôi mời một số chỉ của nhân viên SC50 của lên đến sân khấu. 664 00:29:43,047 --> 00:29:44,880 Một số trong số họ đang mua sắm các khóa học của mình. 665 00:29:44,880 --> 00:29:48,390 Nhưng nếu những TF và CA và khóa học đầu người ở đây có thể đi trên lên 666 00:29:48,390 --> 00:29:50,230 và tham gia cùng tôi cho một hello nhanh chóng. 667 00:29:50,230 --> 00:29:54,670 >> Cho phép tôi để giới thiệu đặc biệt, Hanna, Maria, Daven, và Rob, 668 00:29:54,670 --> 00:29:59,666 Tất nhiên CS50 của người đứng đầu ở đây tại Cambridge. 669 00:29:59,666 --> 00:30:02,106 >> [VỖ TAY] 670 00:30:02,106 --> 00:30:07,490 671 00:30:07,490 --> 00:30:11,060 >> DAVID Malan: Thật vậy, minh chứng cho cơ cấu hỗ trợ khoá học đó có 672 00:30:11,060 --> 00:30:15,660 xây dựng ra trong nhiều năm qua, nhân viên CS50 số năm nay gần như 100, 673 00:30:15,660 --> 00:30:17,170 và đó là ở đây tại Cambridge một mình. 674 00:30:17,170 --> 00:30:21,240 Trong khi đó, tại New Haven, đang có một số 40 TF và CA và nhân viên có 675 00:30:21,240 --> 00:30:22,800 một cách tự nhiên là tốt. 676 00:30:22,800 --> 00:30:26,125 >> Cho phép chúng tôi để giới thiệu đầu tiên, Rob Bowden. 677 00:30:26,125 --> 00:30:26,750 ROB Bowden: Hi. 678 00:30:26,750 --> 00:30:27,620 Tôi Rob. 679 00:30:27,620 --> 00:30:32,750 Đây là năm thứ sáu của tôi TFing trong khóa học. 680 00:30:32,750 --> 00:30:37,970 Vì vậy, tất cả các cách trở lại trong tôi năm thứ nhất, tôi đã không mất CS50. 681 00:30:37,970 --> 00:30:40,270 sinh viên năm nhất của bạn fall-- bạn có thể quen 682 00:30:40,270 --> 00:30:43,270 mà bạn chỉ có thể mất bốn khóa học và có rất nhiều các khóa học ngày hôm nay. 683 00:30:43,270 --> 00:30:44,450 Vì vậy, tôi thấy mình giống như, eh. 684 00:30:44,450 --> 00:30:48,050 Tôi lấy AP CS năm cuối cấp của tôi trường cao nó thật kinh khủng. 685 00:30:48,050 --> 00:30:48,900 Vì vậy, tôi là như thế, eh. 686 00:30:48,900 --> 00:30:50,380 khoa học máy tính không phải là cho tôi. 687 00:30:50,380 --> 00:30:53,000 >> Vì vậy, sau đó nó đã qua trình sinh viên năm nhất của tôi 688 00:30:53,000 --> 00:30:58,960 rơi, rằng tôi đã có một người bạn ở CS50, và Tôi nghĩ rằng tôi đã tham dự một bài giảng với cô ấy. 689 00:30:58,960 --> 00:31:03,760 Nó giống như, oh, đây là loại tốt hơn hơn những gì tôi đã có trong trường trung học. 690 00:31:03,760 --> 00:31:06,990 >> Và trong quá trình của các năm, tôi đã có bộ vấn đề của riêng tôi 691 00:31:06,990 --> 00:31:08,750 trong khóa học tôi đã thực sự tham gia. 692 00:31:08,750 --> 00:31:11,870 Nhưng tôi thấy rằng bất cứ khi nào tôi muốn trì hoãn trên những, 693 00:31:11,870 --> 00:31:15,111 Tôi sẽ quay trở lại và CS50 xem xét một số các công cụ đó. 694 00:31:15,111 --> 00:31:15,610 Vì vậy, yeah. 695 00:31:15,610 --> 00:31:16,140 Tôi ngầu. 696 00:31:16,140 --> 00:31:19,350 Tôi chần chừ với mã hóa. 697 00:31:19,350 --> 00:31:22,910 Vì vậy, sau đó nó vào cuối mùa thu mà tôi nhận ra, hey, 698 00:31:22,910 --> 00:31:24,410 khoa học máy tính là khá mát mẻ. 699 00:31:24,410 --> 00:31:27,730 Tôi sẽ chỉ dùng CS51. 700 00:31:27,730 --> 00:31:30,430 Trong học kỳ tiếp theo, Tôi sẽ chỉ dùng CS61. 701 00:31:30,430 --> 00:31:32,727 Và tất cả từ đó, sau đó tôi kết thúc khai báo 702 00:31:32,727 --> 00:31:35,310 khoa học máy tính, mà tôi đã có hoàn toàn không có ý định làm 703 00:31:35,310 --> 00:31:36,740 khi tôi bước vào đại học. 704 00:31:36,740 --> 00:31:39,330 Và bây giờ tôi đang ở đây. 705 00:31:39,330 --> 00:31:42,230 Vì vậy, tất nhiên là những gì bạn làm cho nó. 706 00:31:42,230 --> 00:31:43,463 Tôi hy vọng bạn thích nó. 707 00:31:43,463 --> 00:31:44,066 >> [VỖ TAY] 708 00:31:44,066 --> 00:31:45,315 DAVID Malan: Cảm ơn bạn Rob. 709 00:31:45,315 --> 00:31:49,020 710 00:31:49,020 --> 00:31:52,180 >> Và bây giờ Maria, của chúng tôi đầu trợ lý khóa học. 711 00:31:52,180 --> 00:31:53,140 >> MARIA: Hey guys. 712 00:31:53,140 --> 00:31:53,880 Tôi tên là Maria. 713 00:31:53,880 --> 00:31:56,930 Tôi là một sinh viên năm hai ở Cabot House, đến từ Bulgaria, 714 00:31:56,930 --> 00:31:59,880 và tôi là siêu vui mừng được một phần của các nhân viên trong năm nay. 715 00:31:59,880 --> 00:32:03,380 Tôi lấy CS50 là một sinh viên năm nhất năm ngoái, và tôi không bao giờ thậm chí 716 00:32:03,380 --> 00:32:04,750 nghĩ về CS trước. 717 00:32:04,750 --> 00:32:08,380 Vì vậy, tôi hoàn toàn thích khóa học, và tôi hy vọng tất cả các bạn yêu thích nó nhiều như tôi đã làm. 718 00:32:08,380 --> 00:32:09,250 Và, yeah. 719 00:32:09,250 --> 00:32:10,868 Chào mừng bạn đến CS50. 720 00:32:10,868 --> 00:32:12,201 DAVID Malan: Cảm ơn bạn Maria. 721 00:32:12,201 --> 00:32:13,674 [VỖ TAY] 722 00:32:13,674 --> 00:32:16,129 723 00:32:16,129 --> 00:32:19,580 Bây giờ Hanna, giảng dạy đầu của chúng tôi đồng. 724 00:32:19,580 --> 00:32:20,480 HANNA: Xin chào, tôi Hanna. 725 00:32:20,480 --> 00:32:22,990 Tôi là một cấp cao trong Cabot nghiên cứu khoa học máy tính. 726 00:32:22,990 --> 00:32:28,120 Tôi lấy CS50 là một sinh viên năm nhất và có được TFing-- này sẽ là năm thứ ba của tôi. 727 00:32:28,120 --> 00:32:31,000 Vì vậy, tôi sẽ được tham gia vui vẻ trong CS50 cho tất cả bốn năm, 728 00:32:31,000 --> 00:32:33,569 và tôi đang mong chờ để làm việc với tất cả các bạn. 729 00:32:33,569 --> 00:32:34,902 DAVID Malan: Cảm ơn bạn Hanna. 730 00:32:34,902 --> 00:32:36,870 [VỖ TAY] 731 00:32:36,870 --> 00:32:37,854 732 00:32:37,854 --> 00:32:40,274 Và cuối cùng, Daven, precepter của chúng tôi. 733 00:32:40,274 --> 00:32:40,940 Daven: Hey guys. 734 00:32:40,940 --> 00:32:42,390 Tôi là một giới qua trong khoa học máy tính ở đây. 735 00:32:42,390 --> 00:32:44,010 Điều này sẽ được giảng dạy năm thứ tư của tôi. 736 00:32:44,010 --> 00:32:45,261 Tôi cũng giúp quản lý khóa học. 737 00:32:45,261 --> 00:32:47,801 Vì vậy, tôi chắc chắn bạn sẽ thấy tôi xung quanh, đặc biệt là vào giờ hành chính. 738 00:32:47,801 --> 00:32:48,970 Tôi luôn luôn ở giờ hành chính. 739 00:32:48,970 --> 00:32:51,640 Vì vậy, nếu bạn thấy tôi đi bộ xung quanh, chắc chắn đến thăm anh. 740 00:32:51,640 --> 00:32:52,681 Tôi thích gặp gỡ mọi người. 741 00:32:52,681 --> 00:32:55,830 Nếu không, vui chơi, và tôi sẽ xem bạn xung quanh. 742 00:32:55,830 --> 00:32:58,210 >> DAVID Malan: Cảm ơn bạn Daven là tốt. 743 00:32:58,210 --> 00:33:01,290 Vì vậy, bạn sẽ đáp ứng tất cả những người này trước khi dài. 744 00:33:01,290 --> 00:33:03,040 Nhưng mà không có thêm ado, nếu các bạn sẽ 745 00:33:03,040 --> 00:33:05,840 muốn tiếp tục chỗ ngồi của bạn từ trước đó. 746 00:33:05,840 --> 00:33:10,940 Cho phép tôi giới thiệu từ xa tại một số bạn bè của chúng tôi từ New Haven, 747 00:33:10,940 --> 00:33:14,690 trong đầu của khóa học cụ thể ai sẽ thắng? được giám sát CS50 there-- Giáo sư 748 00:33:14,690 --> 00:33:19,550 Brian Scassellati, Jason, và Andi, người just-- để chúng ta không cám dỗ số phận 749 00:33:19,550 --> 00:33:22,610 với bất kỳ FaceTime hoặc like-- tôi vừa gửi cho chúng tôi phút 750 00:33:22,610 --> 00:33:27,380 trước video sau mà họ nói lời chào từ giảng đường 751 00:33:27,380 --> 00:33:31,480 tại Yale, trong đó bài giảng đang được xem trực ngay bây giờ. 752 00:33:31,480 --> 00:33:34,052 >> Vì vậy, bạn bè của chúng tôi từ Yale. 753 00:33:34,052 --> 00:33:35,260 BRIAN SCASSELLATI: Hi, David. 754 00:33:35,260 --> 00:33:36,480 Hi, tất cả mọi người tại Harvard. 755 00:33:36,480 --> 00:33:41,400 Chúng tôi rất vui mừng được mang CS50 đến Yale học kỳ này. 756 00:33:41,400 --> 00:33:45,250 Tên tôi là Brian Scassellati, nhưng tất cả mọi người chỉ gọi tôi SCAS. 757 00:33:45,250 --> 00:33:50,402 Và tôi ở đây ngày hôm nay để giới thiệu cho bạn các nhân viên CS50. 758 00:33:50,402 --> 00:33:52,346 >> [HÂN HOAN] 759 00:33:52,346 --> 00:33:55,760 760 00:33:55,760 --> 00:33:59,780 >> Và quan trọng hơn, tôi đây để giới thiệu cũng 761 00:33:59,780 --> 00:34:03,690 tất cả các học sinh ở Yale là sáng nay 762 00:34:03,690 --> 00:34:09,289 đã thực hiện điều này phổ biến nhất khóa học tại Yale các sinh viên CS50. 763 00:34:09,289 --> 00:34:12,090 >> [HÂN HOAN] 764 00:34:12,090 --> 00:34:25,850 765 00:34:25,850 --> 00:34:28,310 >> Vì vậy, chúng tôi rất vui mừng để được nhìn thấy bạn ở đây 766 00:34:28,310 --> 00:34:34,239 vào thứ Sáu và ngày thứ bảy cho Puzzle ngày và có một bài giảng tuyệt vời. 767 00:34:34,239 --> 00:34:35,440 Từ biệt. 768 00:34:35,440 --> 00:34:37,360 >> [VỖ TAY] 769 00:34:37,360 --> 00:34:42,170 770 00:34:42,170 --> 00:34:45,497 >> DAVID Malan: Trên màn hình ở đây là tên của một số nhân viên 140 771 00:34:45,497 --> 00:34:48,330 thành viên đang chờ đợi bạn trong trình semester-- một số trong số họ 772 00:34:48,330 --> 00:34:50,540 đây tại Cambridge, một số của họ ở đây ở New Haven. 773 00:34:50,540 --> 00:34:52,706 Và thực sự, bạn sẽ có một cơ hội thứ bảy này, 774 00:34:52,706 --> 00:34:54,530 như ghi chú SCAS, để tham dự CS50 Puzzle ngày. 775 00:34:54,530 --> 00:34:57,780 Bạn có thể đã thấy mảnh ghép nhỏ trượt dưới cửa của bạn gần đây. 776 00:34:57,780 --> 00:35:00,420 Chúng tôi có một vài tính năng bổ sung ở đây sau này khi bạn tồn tại. 777 00:35:00,420 --> 00:35:04,030 Nếu bạn lắp ráp tất cả bốn câu đố mảnh và hợp nhất các lực lượng với phòng 778 00:35:04,030 --> 00:35:06,450 bạn gần đó trong bạn nhà hoặc ký túc xá, họ sẽ 779 00:35:06,450 --> 00:35:09,690 lắp ráp thành một code-- QR hoặc một hai chiều mã vạch, mà 780 00:35:09,690 --> 00:35:12,970 khi lắp ráp và quét với điện thoại của bạn sẽ dẫn bạn 781 00:35:12,970 --> 00:35:17,060 một số giải thưởng tuyệt vời or-- Tôi giả sử bạn chỉ có thể chụp ảnh này ngay bây giờ 782 00:35:17,060 --> 00:35:17,560 cũng. 783 00:35:17,560 --> 00:35:22,560 >> Nhưng tìm những mảnh ghép dù sao để giành chiến thắng mà giải thưởng tuyệt vời. 784 00:35:22,560 --> 00:35:25,900 Và thực sự là một trong những truyền thống trong SC50-- ah, quá chậm. 785 00:35:25,900 --> 00:35:29,790 Một trong những truyền thống trong CS50 là phục vụ bánh sau buổi giảng đầu tiên. 786 00:35:29,790 --> 00:35:31,620 >> Và như vậy thực sự, trong một vài từ giờ phút, 787 00:35:31,620 --> 00:35:36,040 sẽ có bánh phục vụ bên ngoài cả ở đây và New Haven là tốt. 788 00:35:36,040 --> 00:35:39,530 >> Nhưng first-- chúng tôi trang trí chúng ta. 789 00:35:39,530 --> 00:35:43,360 Nhưng first-- và hy vọng ở đó sẽ có đủ. 790 00:35:43,360 --> 00:35:44,830 >> Nhưng trước tiên, một cái nhìn nhanh chóng. 791 00:35:44,830 --> 00:35:47,880 Vì vậy, bài giảng được thực sự sẽ là sản xuất chủ yếu ở đây tại Cambridge. 792 00:35:47,880 --> 00:35:51,580 Nhưng mỗi tháng, chúng tôi sẽ nhảy xuống Yale với đội ngũ sản xuất CS50 và dòng 793 00:35:51,580 --> 00:35:53,730 khóa học trong ngược hướng cũng vì vậy 794 00:35:53,730 --> 00:35:56,840 như mang theo hai cơ sở này thực sự là lần đầu tiên trong lịch sử 795 00:35:56,840 --> 00:36:00,450 càng gần nhau càng tốt là một trong những khóa học tương tự. 796 00:36:00,450 --> 00:36:04,050 >> Xét về mặt cấu trúc hỗ trợ đó là được đứng lên đây ở Cambridge cũng 797 00:36:04,050 --> 00:36:05,646 như ở New Haven, là phần. 798 00:36:05,646 --> 00:36:08,020 Thật vậy, như một số bạn có thể biết, chúng tôi có các bài hát khác nhau 799 00:36:08,020 --> 00:36:10,850 trong khóa học cho những người kém thoải mái, thoải mái hơn, 800 00:36:10,850 --> 00:36:14,610 và nơi nào đó ở giữa để không phân biệt nền trước của bạn, 801 00:36:14,610 --> 00:36:17,670 bạn có thể cuối cùng thành công trong các lớp học. 802 00:36:17,670 --> 00:36:21,320 >> Thời gian làm việc trong khi đó, là một cơ hội vào các ngày thứ Hai và thứ Ba 803 00:36:21,320 --> 00:36:26,570 và buổi tối thứ năm để làm việc cả ở đây và ở New Haven vào khóa học của chúng tôi 804 00:36:26,570 --> 00:36:30,370 Vấn đề đặt ra với hàng chục nhân viên của khóa học gần bạn. 805 00:36:30,370 --> 00:36:35,380 >> Vấn đề đặt ra trong khi đó, là được hỗ trợ bởi những thứ mà chúng ta gọi 806 00:36:35,380 --> 00:36:39,140 walkthrough, được video dựa hướng dẫn mà thực sự trả lời các câu hỏi thường gặp 807 00:36:39,140 --> 00:36:41,670 về nơi để bắt đầu thách thức trong một tuần. 808 00:36:41,670 --> 00:36:44,290 Và postmortems đi bạn thông qua các giải pháp có thể 809 00:36:44,290 --> 00:36:46,490 để kết thúc Vấn đề đặt quá, bạn 810 00:36:46,490 --> 00:36:50,820 biết chính xác những gì bạn có thể làm khác nhau hoặc hoàn toàn khác. 811 00:36:50,820 --> 00:36:53,895 >> Vấn đề đặt ra cho mình đi trong hai phiên bản, một phiên bản tiêu chuẩn 812 00:36:53,895 --> 00:36:57,510 mà chúng ta mong đợi và mời nhất các class-- khoảng 90% cộng để do-- 813 00:36:57,510 --> 00:37:00,520 và một cái gọi là phiên bản của hacker mà mỗi trang là trang trí phù hiệu 814 00:37:00,520 --> 00:37:02,790 Hacker bản, hacker phiên bản, hacker phiên bản, 815 00:37:02,790 --> 00:37:07,550 để bạn có nghiệp mà nếu bạn sẽ, lặn 816 00:37:07,550 --> 00:37:10,230 vào các phiên bản cao cấp hơn bộ vấn đề của khóa học 817 00:37:10,230 --> 00:37:14,970 độ che phủ bề ngoài là các vật liệu tương tự nhưng với một cách tiếp cận phức tạp hơn 818 00:37:14,970 --> 00:37:19,020 và với nền thêm đôi khi giới thiệu. 819 00:37:19,020 --> 00:37:22,350 >> Trong khi đó, đang có chín ngày cuối năm đó bạn có thể áp dụng cho các vấn đề của khóa học 820 00:37:22,350 --> 00:37:26,160 bộ cũng như số điểm thấp nhất, mà chúng tôi thả tại các điều khoản cuối cùng. 821 00:37:26,160 --> 00:37:26,900 >> Nhưng những gì đang chờ đợi? 822 00:37:26,900 --> 00:37:29,300 Vâng, một hương vị của vấn đề đặt tay vào thứ Sáu 823 00:37:29,300 --> 00:37:31,959 và tuần tiếp theo, nơi chúng tôi đến lĩnh chỉ một vài ngày trong một cái gì đó 824 00:37:31,959 --> 00:37:35,000 gọi Scratch, một lập trình đồ họa ngôn ngữ được phát triển bởi những người bạn của chúng tôi 825 00:37:35,000 --> 00:37:39,290 tại Media Lab của MIT cho phép bạn chương trình hoặc là cho lần đầu tiên 826 00:37:39,290 --> 00:37:43,510 hoặc trong một môi trường hoàn toàn mới sử dụng kéo và thả môi trường loại. 827 00:37:43,510 --> 00:37:45,595 Nhờ đó mà mảnh ghép chỉ đan lại với nhau 828 00:37:45,595 --> 00:37:48,080 nếu nó làm cho cảm giác hợp lý để làm như vậy. 829 00:37:48,080 --> 00:37:50,440 >> Trong khi đó trong vấn đề thiết lập hai năm ngoái chẳng hạn, 830 00:37:50,440 --> 00:37:53,010 chúng tôi đã giới thiệu các lớp học với thế giới của mật mã, 831 00:37:53,010 --> 00:37:55,370 nghệ thuật mã hóa hoặc xáo trộn thông tin. 832 00:37:55,370 --> 00:37:58,940 Thật vậy, văn bản này ở đây nếu giải mã, sẽ thực sự 833 00:37:58,940 --> 00:38:01,277 dẫn bạn đến một số điểm đến thú vị. 834 00:38:01,277 --> 00:38:03,110 Và trong những vấn đề thiết lập, những gì chúng tôi đã có sinh viên 835 00:38:03,110 --> 00:38:06,280 làm là thực hiện chính xác những loại things-- một thuật toán, 836 00:38:06,280 --> 00:38:09,530 hoặc thiết lập các hướng dẫn xáo trộn và xáo trộn thông tin. 837 00:38:09,530 --> 00:38:11,850 >> Và trong phiên bản của hacker đó thiết lập cùng một vấn đề, 838 00:38:11,850 --> 00:38:15,800 chúng tôi đã thách đố học sinh để có một tập tin được mã hóa từ một máy tính điển hình 839 00:38:15,800 --> 00:38:18,840 hệ thống với rất nhiều tên người dùng và mật khẩu được mã hóa 840 00:38:18,840 --> 00:38:21,400 và để crack những passwords-- thực sự tìm ra 841 00:38:21,400 --> 00:38:25,870 chúng là gì mà không biết gì một tiên về những mật khẩu thực tế. 842 00:38:25,870 --> 00:38:27,620 Trong khi đó, chúng ta chuyển đổi trong các vấn đề 843 00:38:27,620 --> 00:38:29,536 bộ để sau đó nhìn vào thế giới đồ họa. 844 00:38:29,536 --> 00:38:32,240 Và trong thực tế, bạn có thể tưởng tượng bây giờ mà điều này có thể có lẽ 845 00:38:32,240 --> 00:38:35,200 là cách đơn giản nhất để đại diện cho một hình ảnh màu đen và trắng. 846 00:38:35,200 --> 00:38:39,570 >> Một điểm ảnh màu trắng, hoặc hình vuông, như ở trên bên phải có, 847 00:38:39,570 --> 00:38:41,620 có thể được đại diện với 1 và một hình vuông màu đen 848 00:38:41,620 --> 00:38:43,490 này được thể hiện với một 0. 849 00:38:43,490 --> 00:38:47,670 Và chỉ bằng cách sử dụng nhiều bit như chúng tôi đề xuất trước đó với 72 và 73 và 33, 850 00:38:47,670 --> 00:38:49,882 chúng ta có thể đại diện cho các điểm ảnh màu là tốt. 851 00:38:49,882 --> 00:38:51,590 Và những gì chúng ta làm trong suốt vấn đề thiết lập này là 852 00:38:51,590 --> 00:38:54,660 thường đi dạo xung quanh khuôn viên trường với một máy ảnh kỹ thuật số, 853 00:38:54,660 --> 00:38:56,730 chụp ảnh người, địa điểm và sự vật. 854 00:38:56,730 --> 00:38:59,270 Sau đó, bằng cách nào đó mỗi học kỳ, chúng ta dường như vô tình 855 00:38:59,270 --> 00:39:02,600 xóa hoặc bị hỏng thẻ nhớ mà trên đó tất cả những bức ảnh là, 856 00:39:02,600 --> 00:39:04,610 và do đó, bạn được thử thách để sau đó viết phần mềm 857 00:39:04,610 --> 00:39:09,650 nào đó để khôi phục lại những hình ảnh JPEG từ một bản sao của thẻ máy ảnh của chúng tôi. 858 00:39:09,650 --> 00:39:13,550 >> Trong khi đó, chúng ta đưa cho bạn sau này trong những hạn một từ điển các từ tiếng Anh 859 00:39:13,550 --> 00:39:16,680 có 143.000 từ, và bạn cần phải đi lên 860 00:39:16,680 --> 00:39:19,240 với một cách thông minh tải chúng vào bộ nhớ, 861 00:39:19,240 --> 00:39:22,850 hoặc RAM vậy để nói chuyện, để trả lời truy vấn có dạng: là này một từ, 862 00:39:22,850 --> 00:39:25,910 đây là một từ, thực hiện Kiểm tra chính tả nhanh nhất mà bạn có thể, 863 00:39:25,910 --> 00:39:28,180 thậm chí ghim mình có khả năng chống lại các bạn cùng lớp 864 00:39:28,180 --> 00:39:30,460 xem ai trong số bạn sử dụng số tiền ít nhất của thời gian 865 00:39:30,460 --> 00:39:33,440 khi chạy mã của bạn và thậm chí số tiền ít nhất của bộ nhớ. 866 00:39:33,440 --> 00:39:36,060 >> Sau đó trong thời hạn làm bạn thực sự thực hiện các máy chủ web của riêng bạn. 867 00:39:36,060 --> 00:39:39,470 Vì vậy, không chỉ là một trang web trong một ngôn ngữ gọi là HTML và nhiều hơn nữa, 868 00:39:39,470 --> 00:39:43,300 nhưng một máy chủ web mà thực sự lắng nghe các yêu cầu trên internet 869 00:39:43,300 --> 00:39:44,460 và đáp ứng cho họ. 870 00:39:44,460 --> 00:39:47,210 Và quả thực, đây là cách chúng tôi cầu thế giới của chúng ta về C mà bạn sẽ 871 00:39:47,210 --> 00:39:50,550 trở nên quen thuộc trong tuần tới và PHP và HTML và JavaScript 872 00:39:50,550 --> 00:39:51,820 và CSS và muốn. 873 00:39:51,820 --> 00:39:54,820 >> Bởi vì một trong những trang web đầu tiên dựa dự án chúng tôi làm sau này trong thuật ngữ 874 00:39:54,820 --> 00:39:57,516 là lịch sử CS50 Tài chính. 875 00:39:57,516 --> 00:40:02,580 Etrade.com phong cách một trang web cho phép bạn mua và bán cổ phiếu hầu như 876 00:40:02,580 --> 00:40:08,240 trong khi cũng viết code để nói chuyện với Yahoo Tài chính nhận bán chứng khoán thời gian thực 877 00:40:08,240 --> 00:40:11,490 trích dẫn để cập nhật danh mục đầu tư của riêng bạn. 878 00:40:11,490 --> 00:40:13,370 >> Nhưng cuối cùng tất nhiên, là project-- thức 879 00:40:13,370 --> 00:40:16,960 một cơ hội để làm bất cứ điều gì nhất quan tâm đến bạn để giải quyết một vấn đề ở đây 880 00:40:16,960 --> 00:40:20,970 hoặc vượt quá quan tâm đến bạn rằng bằng cách nào đó cảm hứng 881 00:40:20,970 --> 00:40:22,670 bởi những bài học kinh nghiệm trong lớp. 882 00:40:22,670 --> 00:40:26,140 >> Và các lớp, như bạn có thể biết, lên đến đỉnh điểm trong cái gọi là CS50 Hackathon 883 00:40:26,140 --> 00:40:29,330 và CS50 Fair và số bất kỳ các sự kiện văn hóa khác 884 00:40:29,330 --> 00:40:31,770 suốt học kỳ cho phép bạn tham gia vào 885 00:40:31,770 --> 00:40:33,460 với nhau và nhân viên của khóa học. 886 00:40:33,460 --> 00:40:37,170 >> Ví dụ, tại Fire và Ice trong Sitar năm nay, tốt, vào các buổi chiều thứ Sáu, 887 00:40:37,170 --> 00:40:39,220 chúng tôi mời một số 50 sinh viên đi ăn trưa, bất cứ ai 888 00:40:39,220 --> 00:40:41,190 muốn tham gia với chúng tôi, bản thân mình, và các nhân viên, 889 00:40:41,190 --> 00:40:44,840 và bạn bè của chúng tôi từ công nghiệp và cựu sinh viên để trò chuyện về cuộc sống trong thế giới thực 890 00:40:44,840 --> 00:40:46,670 và xa hơn nữa trong khi thưởng thức một bữa ăn trưa tốt. 891 00:40:46,670 --> 00:40:49,050 Tại Hackathon sẽ bạn nhìn thấy hình ảnh như vậy 892 00:40:49,050 --> 00:40:53,740 thế này, bao gồm nhiều candy-- và như năm 2014 cho time-- đầu tiên 893 00:40:53,740 --> 00:40:55,096 rau. 894 00:40:55,096 --> 00:40:56,960 >> [VỖ TAY] 895 00:40:56,960 --> 00:40:58,358 896 00:40:58,358 --> 00:41:02,710 >> Nhưng bằng 05:00, hiện các cảnh thường nhìn một chút gì đó như thế này. 897 00:41:02,710 --> 00:41:05,330 Và sau đó chỉ cần một tuần hoặc như vậy sau này, là Hội chợ CS50 898 00:41:05,330 --> 00:41:08,270 mà một số cộng 2000 sinh viên và nhân viên và giảng viên 899 00:41:08,270 --> 00:41:11,910 các thành viên từ khắp khuôn viên trường và giữa các trường trong năm nay 900 00:41:11,910 --> 00:41:15,620 đến xem và thỏa thích trong thành tựu của sinh viên CS50, mà 901 00:41:15,620 --> 00:41:16,140 bây giờ là bạn. 902 00:41:16,140 --> 00:41:19,000 >> Và quả thực, trong khi năm nay chúng tôi sẽ được mời và busing ai 903 00:41:19,000 --> 00:41:22,460 ở tại Yale người muốn đi đến Cambridge vào thứ Bảy này cho CS50 Puzzle 904 00:41:22,460 --> 00:41:26,410 Ngày, và chúng tôi sẽ làm điều tương tự vào tháng cho CS50 Hackathon 905 00:41:26,410 --> 00:41:30,080 để sinh viên Harvard và Yale chia sẻ cùng nhau trong cả hai sự kiện. 906 00:41:30,080 --> 00:41:33,630 >> Chúng tôi cũng sẽ tổ chức các hội chợ trong CS50 Cambridge và ở New Haven năm nay 907 00:41:33,630 --> 00:41:36,480 để sinh viên trên cả hai cơ sở và đội ngũ nhân viên và giảng viên 908 00:41:36,480 --> 00:41:39,260 có thể nhìn thấy nhau tương ứng tựu trường của. 909 00:41:39,260 --> 00:41:41,540 Và những thành tựu sẽ tạo ra bộ nhớ đó 910 00:41:41,540 --> 00:41:45,440 vì điều này và điều này và cuối cùng này, trong đó tất cả các bạn 911 00:41:45,440 --> 00:41:48,460 thoát khỏi lớp mặc một chút một cái gì đó trong đó bạn là hy vọng 912 00:41:48,460 --> 00:41:52,680 hạnh phúc hay tự hào nói rằng tôi đã CS50. 913 00:41:52,680 --> 00:41:55,220 >> Nhưng trước đó và trước khi chúng tôi phục vụ bánh, 914 00:41:55,220 --> 00:41:58,980 chúng tôi đã đưa together-- nhờ CS50 của Đội ngũ sản xuất và tự nhất định 915 00:41:58,980 --> 00:42:03,120 thanh, là dịp mà chúng tôi sử dụng những thứ như tôi-- khi chúng tôi đã gửi nó 916 00:42:03,120 --> 00:42:05,380 không chỉ ở đây đến Cambridge nhưng cũng đến New Haven 917 00:42:05,380 --> 00:42:08,760 để thu thập một vài hellos từ nhân viên của khóa học và tất cả các folks 918 00:42:08,760 --> 00:42:12,640 bạn sẽ gặp cả ở đây và ở New Haven trong những tháng sau. 919 00:42:12,640 --> 00:42:15,449 >> Cho phép tôi giới thiệu một thêm vài nhân viên CS50 của. 920 00:42:15,449 --> 00:42:16,990 Mark Zuckerberg: Đã làm điều đó làm cho nó đi? 921 00:42:16,990 --> 00:42:18,266 Oh, nó sẽ. 922 00:42:18,266 --> 00:42:20,910 Nó sẽ. 923 00:42:20,910 --> 00:42:21,570 Ooh. 924 00:42:21,570 --> 00:42:23,170 Yarr! 925 00:42:23,170 --> 00:42:25,350 >> [MUSIC CHƠI ANDY Grammer, "HONEY, I'M  GOOD "] 926 00:42:25,350 --> 00:42:29,672 927 00:42:29,672 --> 00:42:32,152 >> MARY: Đây là Caitlin. 928 00:42:32,152 --> 00:42:34,515 Đó là Jay, và tôi là Mary. 929 00:42:34,515 --> 00:42:35,140 SATO: Hi, guys. 930 00:42:35,140 --> 00:42:35,640 Tôi Sato. 931 00:42:35,640 --> 00:42:36,264 MICHAEL G .: Hi. 932 00:42:36,264 --> 00:42:37,181 Tên tôi là Michael, G. 933 00:42:37,181 --> 00:42:38,014 DOUG LLOYD: Tôi không phải. 934 00:42:38,014 --> 00:42:38,540 Không. 935 00:42:38,540 --> 00:42:39,310 Tôi Doug Lloyd. 936 00:42:39,310 --> 00:42:41,757 Tôi không thể tin rằng tôi đang cầm một bức ảnh tự chụp dính ngay bây giờ. 937 00:42:41,757 --> 00:42:42,340 SPEAKER 4: Hi. 938 00:42:42,340 --> 00:42:42,560 SPEAKER 5: Hi. 939 00:42:42,560 --> 00:42:43,307 SPEAKER 6: Hello. 940 00:42:43,307 --> 00:42:44,023 SPEAKER 7: Hi. 941 00:42:44,023 --> 00:42:44,648 SPEAKER 8: Hey. 942 00:42:44,648 --> 00:42:46,436 Chúng tôi đang treo ra tại Yale. 943 00:42:46,436 --> 00:42:48,910 Chúng tôi thực sự vui mừng cho học kỳ này bởi vì nó 944 00:42:48,910 --> 00:42:50,840 Lần đầu tiên nó đến Yale. 945 00:42:50,840 --> 00:42:53,012 Nó sẽ là tuyệt vời! 946 00:42:53,012 --> 00:42:55,928 >> [NHẠC] 947 00:42:55,928 --> 00:43:02,190 948 00:43:02,190 --> 00:43:04,664 >> JACOB SCHERBA: Tôi tên là Jacob Scherba. 949 00:43:04,664 --> 00:43:08,310 Tôi vui mừng để dạy CS50 vì tôi nghĩ rằng 950 00:43:08,310 --> 00:43:11,429 nó mang lại cho khoa học máy tính để người trong và cách tiếp cận. 951 00:43:11,429 --> 00:43:13,220 SPEAKER 9: Tôi thực sự vui mừng để dạy CS50 952 00:43:13,220 --> 00:43:17,717 bởi vì tôi đã học năm ngoái, và đó là một trong những lớp học tốt nhất. 953 00:43:17,717 --> 00:43:18,425 SPEAKER 10: Yeah. 954 00:43:18,425 --> 00:43:20,476 Lời khuyên của tôi là bạn nên dùng CS50. 955 00:43:20,476 --> 00:43:23,350 JACOB SCHERBA: Tôi chọn CS vì Tôi nghĩ đó là một niềm vui và sáng tạo cách 956 00:43:23,350 --> 00:43:25,314 để giải quyết vấn đề một cách phân tích. 957 00:43:25,314 --> 00:43:28,480 SPEAKER 11: Quay lại khi tôi còn là một chút sinh viên năm nhất và sợ khoa học máy tính 958 00:43:28,480 --> 00:43:30,229 và sợ làm kỹ thuật và công cụ, 959 00:43:30,229 --> 00:43:34,091 nó là lớp cứng đầu tiên tôi mất, và nó cũng là môn học ưa thích của tôi bao giờ. 960 00:43:34,091 --> 00:43:36,090 DOUG LLOYD: Đây là của tôi năm thứ chín dạy CS50. 961 00:43:36,090 --> 00:43:37,482 Điều đó làm cho tôi nghe rất cũ! 962 00:43:37,482 --> 00:43:38,690 Luôn luôn có một cái gì đó mới. 963 00:43:38,690 --> 00:43:39,550 Luôn luôn có một cái gì đó thú vị. 964 00:43:39,550 --> 00:43:43,077 Luôn luôn có những thách thức mới đối mặt bởi sinh viên mới, và nó là thú vị để giúp chúng 965 00:43:43,077 --> 00:43:44,910 và trải nghiệm những thách thức với họ 966 00:43:44,910 --> 00:43:45,925 và giúp họ giải quyết vấn đề của họ. 967 00:43:45,925 --> 00:43:47,955 >> SPEAKER 12: Khi tôi lần đầu tiên học cách làm CS, 968 00:43:47,955 --> 00:43:49,413 nó giống như học một sức mạnh siêu. 969 00:43:49,413 --> 00:43:53,749 Và để thấy rằng trong những học sinh khác và để giúp họ vượt qua quá trình đó 970 00:43:53,749 --> 00:43:55,665 là một trong những nhất điều bổ ích tôi đã bao giờ hết. 971 00:43:55,665 --> 00:43:58,706 >> SPEAKER 7: Tôi đã chọn CS vì trong bắt đầu, tôi là một bộ tập trung toán 972 00:43:58,706 --> 00:44:00,497 và tôi đã CS50 và rơi vào tình yêu với nó. 973 00:44:00,497 --> 00:44:02,455 Tôi cũng cảm thấy rằng với CS, tôi có thể xây dựng mọi thứ. 974 00:44:02,455 --> 00:44:04,410 Và điều đó, tôi nghĩ, là một khía cạnh thực sự mát mẻ. 975 00:44:04,410 --> 00:44:08,156 >> SPEAKER 13: Một số lời khuyên cho các mới sinh viên là đi đến giờ văn phòng 976 00:44:08,156 --> 00:44:09,573 và đi chơi với awesome TF. 977 00:44:09,573 --> 00:44:11,906 SPEAKER 14: Bắt đầu P-TẬP_HỢP của bạn sớm, đi đến giờ làm việc, 978 00:44:11,906 --> 00:44:13,457 trở thành frends với TF của bạn. 979 00:44:13,457 --> 00:44:14,165 SPEAKER 15: Yeah. 980 00:44:14,165 --> 00:44:16,164 Tất cả mọi thứ cô nói. 981 00:44:16,164 --> 00:44:17,997 SPEAKER 16: Không có ngại yêu cầu giúp đỡ. 982 00:44:17,997 --> 00:44:18,980 SPEAKER 17: Yeah. 983 00:44:18,980 --> 00:44:22,052 SPEAKER 18: Bắt đầu P-TẬP_HỢP của bạn sớm. 984 00:44:22,052 --> 00:44:23,760 SPEAKER 19: Đó là một kinh nghiệm xã hội lớn. 985 00:44:23,760 --> 00:44:25,112 Làm cho rất nhiều bạn bè theo cách này. 986 00:44:25,112 --> 00:44:26,570 SPEAKER 14: Tới phần này thật thú vị. 987 00:44:26,570 --> 00:44:28,050 SPEAKER 11: Tôi có nghĩa là, hãy cho nó. 988 00:44:28,050 --> 00:44:28,770 Đó là thực sự khó khăn. 989 00:44:28,770 --> 00:44:30,581 Bạn sẽ nhận ra nó những gì bạn đưa vào nó, 990 00:44:30,581 --> 00:44:32,580 nhưng đó là một thực sự vui vẻ lớp học đặc biệt là nếu bạn đang 991 00:44:32,580 --> 00:44:35,496 sẵn sàng để đặt thời gian vào nó, nhưng nó sẽ giúp nếu bạn đặt thời gian vào nó. 992 00:44:35,496 --> 00:44:38,336 Bạn sẽ nhận được nhiều hơn ra khỏi nó sau này. 993 00:44:38,336 --> 00:44:38,960 MIKE: Tôi là Mike. 994 00:44:38,960 --> 00:44:39,882 Camille: Tôi Camille. 995 00:44:39,882 --> 00:44:40,590 Hanya: Tôi Hanya. 996 00:44:40,590 --> 00:44:41,310 MATT: Tôi là Matt. 997 00:44:41,310 --> 00:44:42,140 PETER: Tôi là Peter. 998 00:44:42,140 --> 00:44:42,620 PHILLIP: Tôi Phillip. 999 00:44:42,620 --> 00:44:43,495 PATRICK: Tôi là Patrick. 1000 00:44:43,495 --> 00:44:45,234 ROB Bowden: Tôi là Rob Bowden. 1001 00:44:45,234 --> 00:44:47,150 BRIAN SCASSELLATI: My tên là SCAS, và này-- 1002 00:44:47,150 --> 00:44:49,958 ALL: --is CS50. 1003 00:44:49,958 --> 00:44:50,806 SPEAKER 20: Tại Yale. 1004 00:44:50,806 --> 00:44:51,639 SPEAKER 21: Tại Yale. 1005 00:44:51,639 --> 00:44:52,840 [CƯỜI] 1006 00:44:52,840 --> 00:44:54,270 DAVID Malan: Đó là nó cho CS50. 1007 00:44:54,270 --> 00:44:59,000 Chúng tôi sẽ nhìn thấy bạn từ Yale Thứ sáu, Puzzle ngày vào thứ Bảy. 1008 00:44:59,000 --> 00:45:00,475 Bánh hiện đang phục vụ. 1009 00:45:00,475 --> 00:45:01,640 Đây là CS50. 1010 00:45:01,640 --> 00:45:05,314 1011 00:45:05,314 --> 00:45:10,992 >> [NHẠC] 1012 00:45:10,992 --> 00:47:00,434