1 00:00:00,000 --> 00:00:00,479 2 00:00:00,479 --> 00:00:10,830 >> [音乐播放] 3 00:00:10,830 --> 00:00:12,080 [MUSIC - 罗西尼,“RANZ DES VACHES“威廉告诉] 4 00:00:12,080 --> 00:00:24,222 5 00:00:24,222 --> 00:00:25,472 >> [MUSIC - 英文BEAT“三月 旋转头“] 6 00:00:25,472 --> 00:02:24,538 7 00:02:24,538 --> 00:02:31,510 >> [掌声和欢呼声] 8 00:02:31,510 --> 00:02:33,520 >> DAVID马兰:所以这是CS50。 9 00:02:33,520 --> 00:02:34,730 我的名字是大卫·马兰。 10 00:02:34,730 --> 00:02:39,250 和73%,你有没有现成的经验 随着计算机科学, 11 00:02:39,250 --> 00:02:41,300 相反,你可能会想到什么。 12 00:02:41,300 --> 00:02:45,290 所以今天,我们认为我们会蚕食 ,缺乏熟悉,但也 13 00:02:45,290 --> 00:02:48,970 给你的感觉,对于那些你 更舒适,指示 14 00:02:48,970 --> 00:02:50,550 你可以去这个学期。 15 00:02:50,550 --> 00:02:51,890 >> 因此,让我们开始。 16 00:02:51,890 --> 00:02:55,490 我真的不知道里面有什么, 一台电脑,即使你一样,我 17 00:02:55,490 --> 00:02:56,780 每天都使用它。 18 00:02:56,780 --> 00:03:00,000 但它的一些怎样的箱子,而且也 投入不是很多。 19 00:03:00,000 --> 00:03:01,350 微创,有,是什么? 20 00:03:01,350 --> 00:03:03,120 可能是电源线。 21 00:03:03,120 --> 00:03:06,640 >> 事实上,这一种成分, 电力,我们似乎能够 22 00:03:06,640 --> 00:03:09,490 做相当多的这些天。 23 00:03:09,490 --> 00:03:12,130 但是,在一天结束时,我们 有代表的东西 24 00:03:12,130 --> 00:03:12,860 我们关心。 25 00:03:12,860 --> 00:03:15,240 我们有代表信息 以某种形式。 26 00:03:15,240 --> 00:03:18,365 你可能至少隐约 熟悉的想法二进制或 27 00:03:18,365 --> 00:03:21,370 位以某种方式或其他,电脑 降低到零和一。 28 00:03:21,370 --> 00:03:26,320 但我们可以拥抱,至少 放一点光? 29 00:03:26,320 --> 00:03:28,880 >> 所以,我有这些小 这里的台灯。 30 00:03:28,880 --> 00:03:30,450 这里我有一个电源插座。 31 00:03:30,450 --> 00:03:33,930 我要提出这里面 我的电脑中的至少一个 32 00:03:33,930 --> 00:03:37,300 这些事情,一些能够 被打开或关闭。 33 00:03:37,300 --> 00:03:40,200 在这种情况下,它确实是一个台灯, 但在较低的水平,它的东西 34 00:03:40,200 --> 00:03:41,500 称为“晶体管”。 35 00:03:41,500 --> 00:03:44,730 >> 但是,在我们的世界,这是一个台灯,所以 我要继续前进,并堵塞这 36 00:03:44,730 --> 00:03:47,990 到我这里的电力。 37 00:03:47,990 --> 00:03:52,970 我要求使用这个简单的, 设备简单,这个简单的开关,我 38 00:03:52,970 --> 00:03:54,850 可以代表信息。 39 00:03:54,850 --> 00:03:58,090 例如,现在,我 代表什么,对不对? 40 00:03:58,090 --> 00:04:01,820 我代表什么,我会打电话给0或 假的,相反的东西 41 00:04:01,820 --> 00:04:03,130 实际上存在。 42 00:04:03,130 --> 00:04:07,050 但如果我只是把这个开关, 现在,我代表1。 43 00:04:07,050 --> 00:04:10,720 因此,使用这种非常简单的 内存,如果你愿意,我可以代表 44 00:04:10,720 --> 00:04:11,450 信息。 45 00:04:11,450 --> 00:04:14,350 >> 不幸的是,现在我的电脑 不能做所有的东西。 46 00:04:14,350 --> 00:04:17,430 它只能表示两个值 在整个世界 - 47 00:04:17,430 --> 00:04:18,620 0或1。 48 00:04:18,620 --> 00:04:21,839 但是,什么是一个显而易见的解决方案,现在, 如果我们要扩大我们的电脑 49 00:04:21,839 --> 00:04:25,120 内存和代表更多 不只是0和1? 50 00:04:25,120 --> 00:04:27,060 >> 好吧,让我们抓住另一个等位。 51 00:04:27,060 --> 00:04:30,260 让我们抓住另一台交换机,另一个 晶体管,但是你会喜欢 52 00:04:30,260 --> 00:04:31,130 想想吧。 53 00:04:31,130 --> 00:04:34,170 让我继续前进,堵塞这 进入我的电脑为好。 54 00:04:34,170 --> 00:04:38,270 我要索赔,现在,由 多使用了一点电力和 55 00:04:38,270 --> 00:04:42,290 越来越这些开关 的时候,我可以代表更多这样的 56 00:04:42,290 --> 00:04:43,020 信息。 57 00:04:43,020 --> 00:04:44,660 >> 所以,现在,这是1。 58 00:04:44,660 --> 00:04:48,120 如果我想现在代表 2,我能做到这一点。 59 00:04:48,120 --> 00:04:51,510 约定,但通常情况下,当我们将 最终会看到,有我这样做。 60 00:04:51,510 --> 00:04:55,260 因此,这是0,这是1。 61 00:04:55,260 --> 00:04:56,720 这将是2。 62 00:04:56,720 --> 00:04:59,920 毫不奇怪的是,这将是3。 63 00:04:59,920 --> 00:05:02,610 >> 因此,以这种方式,还可以 我们指望更进一步? 64 00:05:02,610 --> 00:05:06,500 如果我得到第三位,第三开关, 什么是最高的数目,我现在能 65 00:05:06,500 --> 00:05:09,720 计数到0? 66 00:05:09,720 --> 00:05:12,020 所以,如果我从0开始的,对不对? 67 00:05:12,020 --> 00:05:15,980 因为如果我把这个光 实际上堵塞这第三个和最后 68 00:05:15,980 --> 00:05:20,090 这里光线转变成我的电源插座, 那么我有能力代表 69 00:05:20,090 --> 00:05:24,930 这里的任何两个值,二值化 在这里,这里的两个值 - 70 00:05:24,930 --> 00:05:32,610 这样我就可以代表2倍,2倍 2,或8个可能的值。 71 00:05:32,610 --> 00:05:36,340 如果我开始为0,所以会计 这是0,1,2,3,4,5,6,7。 72 00:05:36,340 --> 00:05:37,480 >> 所以这个二进制。 73 00:05:37,480 --> 00:05:39,420 这真的是那样简单。 74 00:05:39,420 --> 00:05:41,930 我认为,这实际上是 相当熟悉的大多数 75 00:05:41,930 --> 00:05:43,180 每个人都在这个房间里。 76 00:05:43,180 --> 00:05:45,710 让我继续前进,打开一个 小的文本编辑器。 77 00:05:45,710 --> 00:05:49,040 >> 您可能还记得从小学 我们有像数百 78 00:05:49,040 --> 00:05:51,970 的地方,十位, 和那些地方。 79 00:05:51,970 --> 00:05:55,040 并记得,如果你有一些小数 像随机号码, 80 00:05:55,040 --> 00:05:59,470 像123,你基本上 写出来的形式 81 00:05:59,470 --> 00:06:00,450 这三列。 82 00:06:00,450 --> 00:06:04,070 为什么是1,2,3是什么 我们知道123吗? 83 00:06:04,070 --> 00:06:11,220 那么,在最左边的列,我们有 100加两个10秒,所以这是120, 84 00:06:11,220 --> 00:06:14,250 加上三个1,所以这是123。 85 00:06:14,250 --> 00:06:17,990 >> 现在这个世界上,我们只是照亮 完全一样的 86 00:06:17,990 --> 00:06:21,150 你已经熟悉多年, 但现在,我们列 87 00:06:21,150 --> 00:06:22,060 是不是权力10。 88 00:06:22,060 --> 00:06:23,780 他们只是权力2。 89 00:06:23,780 --> 00:06:27,830 而这的地方,这 将是三三两两的地方,这是 90 00:06:27,830 --> 00:06:29,540 将是四肢位。 91 00:06:29,540 --> 00:06:33,260 >> 因为我只用最简单的 机制来扭转乾坤 92 00:06:33,260 --> 00:06:37,100 开启和关闭 - 电力流动 或用电不流淌 - 93 00:06:37,100 --> 00:06:40,880 我不太有相同的表达 范围为0到9。 94 00:06:40,880 --> 00:06:43,270 我们要保持它超级简单 在这个世界上的电脑。 95 00:06:43,270 --> 00:06:45,060 我只有0或1 - 96 00:06:45,060 --> 00:06:47,890 或关闭,或真或假。 97 00:06:47,890 --> 00:06:52,610 >> 还等什么,我现在 是1,1,1,因为每个这些 98 00:06:52,610 --> 00:06:54,000 灯亮起。 99 00:06:54,000 --> 00:06:59,600 嗯,这给了我一个4加2,所以 6,加上一个1,这是7。 100 00:06:59,600 --> 00:07:03,450 和ERGO这三个序列 位表示数字7。 101 00:07:03,450 --> 00:07:06,330 >> 所以,这一切的时候,里面的 计算机上,已被任意数量的 102 00:07:06,330 --> 00:07:08,090 晶体管,任意的比特数。 103 00:07:08,090 --> 00:07:10,380 但是,在一天结束时,我们 可以代表信息 104 00:07:10,380 --> 00:07:12,560 简单。 105 00:07:12,560 --> 00:07:16,770 不幸的是,现在我们只算 高达7在CS50迄今为止,但 106 00:07:16,770 --> 00:07:18,550 希望我们可以做一点 比此更好。 107 00:07:18,550 --> 00:07:19,550 事实上,我们能做到。 108 00:07:19,550 --> 00:07:23,570 >> 假设只是我们作为人类 擅自决定,我们将 109 00:07:23,570 --> 00:07:28,750 相关联的数字,如1和2,3, 4,5,6,7,与特定的字母 110 00:07:28,750 --> 00:07:29,410 字母表。 111 00:07:29,410 --> 00:07:32,350 由于历史原因,我要去 开始有些武断,但我 112 00:07:32,350 --> 00:07:36,880 会说,人类,我们要 决定为标准,全球范围内, 113 00:07:36,880 --> 00:07:43,200 65代表数以字母A 66将代表B.点,点,点。 114 00:07:43,200 --> 00:07:45,140 90将代表字母Z 115 00:07:45,140 --> 00:07:48,000 >> 让我们假设,如果我们真的把一些 想到了进去,我们能想出 116 00:07:48,000 --> 00:07:50,860 惊叹号与数字 和小写字母,而事实上, 117 00:07:50,860 --> 00:07:52,710 其他人都为我们做到这一点。 118 00:07:52,710 --> 00:07:56,410 所以,现在我们有位,我们可以 代表数字,数字 119 00:07:56,410 --> 00:08:00,130 我们可以代表字母,并与 信我们现在可以开始撰写 120 00:08:00,130 --> 00:08:02,650 电子邮件和打印字符 在屏幕上。 121 00:08:02,650 --> 00:08:05,850 >> 因此,让我邀请了,如果我能, 8个勇敢的志愿者 - 122 00:08:05,850 --> 00:08:09,200 谁不介意不仅出现 摄像头,但在互联网上 - 123 00:08:09,200 --> 00:08:13,130 来这里,代表八个这样的 位,而不是这三种。 124 00:08:13,130 --> 00:08:14,380 因此,如何对一,二? 125 00:08:14,380 --> 00:08:16,290 如何约三个? 126 00:08:16,290 --> 00:08:20,230 如何四光 蓝色,五就结束了吗? 127 00:08:20,230 --> 00:08:21,250 关于有人在这里吗? 128 00:08:21,250 --> 00:08:25,320 在前面六,七在前面, 和前八,以及。 129 00:08:25,320 --> 00:08:29,050 >> 所以,我正巧有备而来 一大堆纸条。 130 00:08:29,050 --> 00:08:34,150 这些纸片是数字 代表哪些列 131 00:08:34,150 --> 00:08:35,809 你们要代表。 132 00:08:35,809 --> 00:08:36,740 所以,你会是 - 你叫什么名字? 133 00:08:36,740 --> 00:08:37,570 >> 学生:安娜·利亚。 134 00:08:37,570 --> 00:08:40,370 >> 国宝马兰:安娜·利亚 将〜128秒的列。 135 00:08:40,370 --> 00:08:41,059 你是谁? 136 00:08:41,059 --> 00:08:41,510 >> 学生:克里斯。 137 00:08:41,510 --> 00:08:43,620 >> 国宝马兰:克里斯将 是64S栏。 138 00:08:43,620 --> 00:08:44,070 你是谁? 139 00:08:44,070 --> 00:08:44,540 >> 学生:丹。 140 00:08:44,540 --> 00:08:46,970 >> 国宝马兰:丹 是32S栏。 141 00:08:46,970 --> 00:08:47,470 >> 学生:Pramit。 142 00:08:47,470 --> 00:08:49,430 >> 国宝马兰:Pramit的 16列。 143 00:08:49,430 --> 00:08:50,290 >> 学生:莉莲。 144 00:08:50,290 --> 00:08:51,904 >> 国宝马兰:莉莲将787-8。 145 00:08:51,904 --> 00:08:52,768 >> 学生:吉尔。 146 00:08:52,768 --> 00:08:55,025 >> 国宝马兰:吉尔会 是的4s列。 147 00:08:55,025 --> 00:08:55,400 >> 学生:玛丽。 148 00:08:55,400 --> 00:08:57,000 >> 国宝马兰:玛丽将是2秒,? 149 00:08:57,000 --> 00:08:57,470 >> 学生:大卫。 150 00:08:57,470 --> 00:08:59,220 >> 国宝马兰:大卫将 是1S柱。 151 00:08:59,220 --> 00:09:02,030 所以,如果你们能加强一点 着让每个人都可以看到。 152 00:09:02,030 --> 00:09:05,370 你们没有看到的是, 这些纸条是一个 153 00:09:05,370 --> 00:09:09,760 即将小小抄 这些8位指示为 154 00:09:09,760 --> 00:09:12,380 举手或不 举手。 155 00:09:12,380 --> 00:09:14,100 如果他们的手,他们 较1。 156 00:09:14,100 --> 00:09:17,120 如果他们的手撑下来,他们 代表一个0。 157 00:09:17,120 --> 00:09:21,410 >> 同时,我们的观众应该是 能够弄清楚,在此基础上 158 00:09:21,410 --> 00:09:26,490 测绘,什么三个字母的单词,这些 人来说,拼出来。 159 00:09:26,490 --> 00:09:29,700 因此,在短短的时刻,你要 关闭的背面的第一行读 160 00:09:29,700 --> 00:09:32,880 你小抄,你要么 要提高或没有举手。 161 00:09:32,880 --> 00:09:35,710 如果你是一个1,你提出,如果 你是0,你站在那里 162 00:09:35,710 --> 00:09:38,594 笨拙,就像这样。 163 00:09:38,594 --> 00:09:40,386 去。 164 00:09:40,386 --> 00:09:43,945 什么样的数量,首先, 这些家伙是代表? 165 00:09:43,945 --> 00:09:47,140 166 00:09:47,140 --> 00:09:48,860 >> 66。 167 00:09:48,860 --> 00:09:49,560 66,对不对? 168 00:09:49,560 --> 00:09:52,400 我们有一个1在64S栏, 一个1在2S列。 169 00:09:52,400 --> 00:09:56,340 这给了我66,所以出现 代表B.所以 170 00:09:56,340 --> 00:09:57,075 你们有拼写 - 171 00:09:57,075 --> 00:09:58,300 OK,这就足够了。 172 00:09:58,300 --> 00:09:59,430 B. 173 00:09:59,430 --> 00:10:01,610 >> 所以,现在让我们走上 我们的第二个字母。 174 00:10:01,610 --> 00:10:03,530 去。 175 00:10:03,530 --> 00:10:06,860 谁是最快的,在数学在这里? 176 00:10:06,860 --> 00:10:07,750 因此,79。 177 00:10:07,750 --> 00:10:11,840 同样,如果我们添加的所有列 有一个1,目前,只是 178 00:10:11,840 --> 00:10:14,840 像我们以前那样用最简单的 7的例子,我们现在 179 00:10:14,840 --> 00:10:16,140 得到79号。 180 00:10:16,140 --> 00:10:19,910 根据我们的映射是 字母O,所以我们几乎没有。 181 00:10:19,910 --> 00:10:22,590 B,O.最后,走了。 182 00:10:22,590 --> 00:10:26,420 183 00:10:26,420 --> 00:10:30,120 >> 他们代表了什么呢? 184 00:10:30,120 --> 00:10:31,370 减共识。 185 00:10:31,370 --> 00:10:34,660 186 00:10:34,660 --> 00:10:36,460 这只是一个绝对的杂音。 187 00:10:36,460 --> 00:10:40,090 是的,它实际上是87。 188 00:10:40,090 --> 00:10:40,490 好。 189 00:10:40,490 --> 00:10:44,480 >> 因此,如果我们现在映射备份 - 让我们 开始调用我们的ASCII表, 190 00:10:44,480 --> 00:10:46,450 美国标准 信息交换。 191 00:10:46,450 --> 00:10:47,700 这给我们的信 - 192 00:10:47,700 --> 00:10:51,260 193 00:10:51,260 --> 00:10:54,810 不“博”,但“弓”。这是一个完美的 你们采取了弓的线索 194 00:10:54,810 --> 00:10:56,100 背部和头部。 195 00:10:56,100 --> 00:10:56,980 非常感谢。 196 00:10:56,980 --> 00:10:57,886 >> [掌声] 197 00:10:57,886 --> 00:10:59,136 >> 国宝MALAN:你可以留住他们。 198 00:10:59,136 --> 00:11:01,850 199 00:11:01,850 --> 00:11:05,942 实际上,虽然会有人 像台灯,也? 200 00:11:05,942 --> 00:11:07,300 >> [HOOT从观众] 201 00:11:07,300 --> 00:11:08,390 >> 国宝马兰:台灯? 202 00:11:08,390 --> 00:11:10,850 >> [笑] 203 00:11:10,850 --> 00:11:11,860 >> DAVID马兰:真的吗? 204 00:11:11,860 --> 00:11:13,230 台灯为大家? 205 00:11:13,230 --> 00:11:14,310 好的。 206 00:11:14,310 --> 00:11:20,990 所以非常简单的开始 原则,我们现在已经不能只算 207 00:11:20,990 --> 00:11:24,750 从0一路攀升至7日,我们已经 只是投入更多的假设 208 00:11:24,750 --> 00:11:28,080 位或更多的灯或多个晶体管 这个问题,我们可以 209 00:11:28,080 --> 00:11:32,680 代表越做越大的数字, ERGO越做越大范围 210 00:11:32,680 --> 00:11:33,780 字母,英语等。 211 00:11:33,780 --> 00:11:37,770 只是让我们今天的信心 同样我们可以开始 212 00:11:37,770 --> 00:11:42,220 代表图形和视频的,任何人 其他媒体,我们数 213 00:11:42,220 --> 00:11:43,610 今天熟悉。 214 00:11:43,610 --> 00:11:49,240 >> 因此,这是CS50,并在这个类 旁边的你,再次,很多 215 00:11:49,240 --> 00:11:53,050 同学们少 你体验。 216 00:11:53,050 --> 00:11:57,730 我提到这一点,只是因为相当 通常,包括最近为一体的 217 00:11:57,730 --> 00:12:01,860 大一咨询活动和 去年春天的大二学生咨询 218 00:12:01,860 --> 00:12:06,420 活动中,我们经常听到学生的声明 上来时,好了,到CS表 219 00:12:06,420 --> 00:12:10,070 我一直在思考采取这一 介绍类,但我不是一个真正的 220 00:12:10,070 --> 00:12:11,120 电脑的人。 221 00:12:11,120 --> 00:12:13,220 或者,但大家肯定 知道比我多。 222 00:12:13,220 --> 00:12:17,340 我把这个最大的字体 可能,传达这个消息, 223 00:12:17,340 --> 00:12:18,730 这不是事实的情况下。 224 00:12:18,730 --> 00:12:21,100 >> 如果你想知道,应该 事实上,我会在这里? 225 00:12:21,100 --> 00:12:25,950 实现,不仅是这门课程的 标题介绍电脑 226 00:12:25,950 --> 00:12:31,740 科学,它是计算机概论 科学一,所以确实是有 227 00:12:31,740 --> 00:12:33,170 第二次这样的介绍。 228 00:12:33,170 --> 00:12:35,390 所以,其实你不 在错误的地方。 229 00:12:35,390 --> 00:12:39,000 而在今天我的目标是 缓和任何这样的顾虑,你 230 00:12:39,000 --> 00:12:42,430 可能有,但也来画一个 什么样的店图片 231 00:12:42,430 --> 00:12:45,720 学生少,更舒适 都在这个过程中。 232 00:12:45,720 --> 00:12:49,320 >> 但首先,一个字一个讲义 你也有今天,其中 233 00:12:49,320 --> 00:12:50,780 一些常见问题。 234 00:12:50,780 --> 00:12:54,290 它已经有一段时间我们的愿景 现在引入一个新的分级 235 00:12:54,290 --> 00:12:57,010 到这门课程的选项 - 即,SAT / UNSAT。 236 00:12:57,010 --> 00:13:01,930 哲学对我来说,它是很多很多, 更重要的是 237 00:13:01,930 --> 00:13:05,050 在这个类中的学生从事与 材料,受到挑战 238 00:13:05,050 --> 00:13:09,800 材料,并担心远远少于约 力学的实际分数 239 00:13:09,800 --> 00:13:12,590 和信学期的成绩 结束,而是真正拥抱 240 00:13:12,590 --> 00:13:13,970 当然,它的材料。 241 00:13:13,970 --> 00:13:18,140 真的,这种感觉,更普遍的是, 什么有趣起来, 242 00:13:18,140 --> 00:13:21,390 感觉到有挑战和奖励,但 没有失败的恐惧。 243 00:13:21,390 --> 00:13:25,030 >> 而事实上,这也是一个经常性 在这方面和其他入门的主题 244 00:13:25,030 --> 00:13:28,680 在其他领域的课程,你有 当它涉及到这个诚惶诚恐 245 00:13:28,680 --> 00:13:31,040 把一个人的脚趾 不熟悉的水域。 246 00:13:31,040 --> 00:13:34,880 我早在1995年, 是大一新生。 247 00:13:34,880 --> 00:13:37,990 我非常致力于成为 一个州长集中在这里。 248 00:13:37,990 --> 00:13:41,060 但我始终长大带着几分 在计算机科学的兴趣。 249 00:13:41,060 --> 00:13:42,180 我总是很好奇。 250 00:13:42,180 --> 00:13:47,610 >> 但在当时,甚至,我有这种恐惧 甚至踏上CS50,这么多 251 00:13:47,610 --> 00:13:49,420 所以,我什至没有购物 它大一。 252 00:13:49,420 --> 00:13:53,460 唯一的原因,我把一只脚踩在 门大二的时候是因为我 253 00:13:53,460 --> 00:13:55,340 被允许把它的通过/失败。 254 00:13:55,340 --> 00:13:58,920 但是,即使通过/失败,我需要得到 鼓起勇气预约 255 00:13:58,920 --> 00:14:01,970 教授与当时Kernehan, 把这个大的纸,问 256 00:14:01,970 --> 00:14:04,470 他为他的签名和他的 允许探索 257 00:14:04,470 --> 00:14:05,700 这些陌生的水域。 258 00:14:05,700 --> 00:14:09,030 >> 但得益于近年来 这样做时,CS50,当我们 259 00:14:09,030 --> 00:14:12,500 用于合格/不合格,同样会 你的同学数十或数百 260 00:14:12,500 --> 00:14:15,970 都上来了,上帝保佑,在 桑德斯面前这种形式,即 261 00:14:15,970 --> 00:14:19,520 在一些头脑表示无力, 我敢说,执行 262 00:14:19,520 --> 00:14:20,800 是你的同龄人的水平。 263 00:14:20,800 --> 00:14:23,410 这是荒谬的,但我认为 有这种心态。 264 00:14:23,410 --> 00:14:27,210 而且也从来没有在这种文化 SAT /不满足,或通过/失败更多 265 00:14:27,210 --> 00:14:30,610 一般来说,在这个过程中, 还是真的在这个校园里。 266 00:14:30,610 --> 00:14:32,310 >> 所以今年我们改变了这一切。 267 00:14:32,310 --> 00:14:35,630 我会欣喜若狂的一半 这个类或结束 268 00:14:35,630 --> 00:14:38,700 占用了CS50 SAT / UNSAT。 269 00:14:38,700 --> 00:14:42,130 在一年的时间里,这将是美好的 如果几乎每个人都。 270 00:14:42,130 --> 00:14:44,410 此后,或许我们将继续努力 在哈佛大学的字母等级 271 00:14:44,410 --> 00:14:45,480 学院更普遍。 272 00:14:45,480 --> 00:14:48,900 但是现在,我们将做到这一点在我们的 自己的球,我会由衷地 273 00:14:48,900 --> 00:14:53,400 鼓励您阅读这些常见问题 您认为合适的提问,使 274 00:14:53,400 --> 00:14:58,000 希望你,不像我,不是很 有同样的恐惧因素时, 275 00:14:58,000 --> 00:15:01,040 探索大概是什么 一个陌生的地方。 276 00:15:01,040 --> 00:15:02,786 >> 那么,什么是CS50? 277 00:15:02,786 --> 00:15:06,150 这是一个引进的 知识产权企业的计算机 278 00:15:06,150 --> 00:15:07,700 科学与艺术的编程。 279 00:15:07,700 --> 00:15:08,770 但是这究竟是什么意思? 280 00:15:08,770 --> 00:15:12,510 >> 那么,迄今为止,我们谈到很简单 代表信息。 281 00:15:12,510 --> 00:15:15,070 但是,假如我们真正想要 用它做什么。 282 00:15:15,070 --> 00:15:17,890 我们需要引入的概念 我们就这么叫的一种算法。 283 00:15:17,890 --> 00:15:21,540 算法的一个程序,一个进程, 一组指令,用于 284 00:15:21,540 --> 00:15:22,780 做一些事情。 285 00:15:22,780 --> 00:15:25,620 >> 算法可以是 超级简单的。 286 00:15:25,620 --> 00:15:28,660 比如,中,例如,其中一些 你可能熟悉的是这样的 287 00:15:28,660 --> 00:15:29,350 这里的事情。 288 00:15:29,350 --> 00:15:32,510 所以这本书越来越 过时,但曾几何时, 289 00:15:32,510 --> 00:15:34,720 包含了一大堆的名字 和电话号码。 290 00:15:34,720 --> 00:15:37,710 的确,如果我想找到 有人在这个电话簿 - 291 00:15:37,710 --> 00:15:39,800 说,一个叫迈克·史密斯 - 292 00:15:39,800 --> 00:15:43,810 我能找到迈克·史密斯在任何数量 相当简单的方式。 293 00:15:43,810 --> 00:15:47,700 我可以从头开始, 移动到第1页,不存在。 294 00:15:47,700 --> 00:15:49,240 第2页,不存在。 295 00:15:49,240 --> 00:15:49,960 第3页。 296 00:15:49,960 --> 00:15:53,430 是算法, 过程中,是否正确? 297 00:15:53,430 --> 00:15:54,620 >> 因此,它是正确的,对不对? 298 00:15:54,620 --> 00:15:58,070 我做样的白痴 这种方式,但最终我会 299 00:15:58,070 --> 00:16:02,670 找到姓S,希望麦克 在这一节中,我将成为 300 00:16:02,670 --> 00:16:04,100 做我的算法。 301 00:16:04,100 --> 00:16:05,440 但可以肯定它不是直观。 302 00:16:05,440 --> 00:16:08,020 几乎每个合理的人在此 房间也不会那样做。 303 00:16:08,020 --> 00:16:10,180 你会怎么做呢? 304 00:16:10,180 --> 00:16:11,480 >> 你已经直 到中间,对不对? 305 00:16:11,480 --> 00:16:12,000 大致中间。 306 00:16:12,000 --> 00:16:16,310 而你知道,哦,这些都是女士 于是,姓氏是史密斯,麦克·史密斯 307 00:16:16,310 --> 00:16:19,050 是不是清楚,然后在 书的左半部分。 308 00:16:19,050 --> 00:16:21,040 他一定是朝 在右边的s。 309 00:16:21,040 --> 00:16:24,090 而在这一点上,虽然我们大多数人 不这样做,我们就可以在现实中 310 00:16:24,090 --> 00:16:27,125 这个问题,从字面上撕成两半。 311 00:16:27,125 --> 00:16:27,640 >> [欢呼和掌声] 312 00:16:27,640 --> 00:16:28,950 >> DAVID马兰:谢谢你。 313 00:16:28,950 --> 00:16:30,150 >> [欢呼和掌声] 314 00:16:30,150 --> 00:16:34,660 >> 国宝MALAN:你可以从字面上颠覆这个 问题的一半,留下我, 315 00:16:34,660 --> 00:16:36,120 从字面上看,有问题的一半大。 316 00:16:36,120 --> 00:16:39,750 因此,如果这个电话簿 - 大概是 - 约1000页,现在 317 00:16:39,750 --> 00:16:40,840 它只有500。 318 00:16:40,840 --> 00:16:44,710 如果我这样做,我再次意识到,哦, 该死的,我走的太远,我在TS 319 00:16:44,710 --> 00:16:46,480 节中,我同样可以 - 320 00:16:46,480 --> 00:16:48,030 比喻或字面上 - 321 00:16:48,030 --> 00:16:50,260 翻录电话簿 - 它实际上是 容易得多。 322 00:16:50,260 --> 00:16:53,610 我可以从字面上撕裂电话簿 一半,现在离开我 323 00:16:53,610 --> 00:16:55,186 不是1000,不是500 - 324 00:16:55,186 --> 00:16:56,680 250页。 325 00:16:56,680 --> 00:17:00,210 我可以去125,其中半数, 一半一半, 326 00:17:00,210 --> 00:17:04,760 直到最后我会留下 只有一个单一页面上。 327 00:17:04,760 --> 00:17:06,430 >> [笑] 328 00:17:06,430 --> 00:17:07,589 >> 国宝马兰:这是 第一部分失败。 329 00:17:07,589 --> 00:17:10,400 一个单一的页面上 迈克希望。 330 00:17:10,400 --> 00:17:14,630 现在,这些不同的算法可以 排序评估或评估 331 00:17:14,630 --> 00:17:15,270 方式不同。 332 00:17:15,270 --> 00:17:17,300 第一个是非常线性的,对不对? 333 00:17:17,300 --> 00:17:18,500 打开网页,看看迈克。 334 00:17:18,500 --> 00:17:19,630 打开网页,看看迈克。 335 00:17:19,630 --> 00:17:20,560 这是非常线性。 336 00:17:20,560 --> 00:17:23,339 如果有一个页面在手机 本书中,它可能会采取我 337 00:17:23,339 --> 00:17:27,380 一个第二,一个单位时间, 但我们的计算时间。 338 00:17:27,380 --> 00:17:32,470 >> 所以,我可能会得出这样这条线 这里的大小,从而 339 00:17:32,470 --> 00:17:34,700 问题增加从左至右 - 340 00:17:34,700 --> 00:17:37,480 电话簿变小做大 - 341 00:17:37,480 --> 00:17:41,080 和时间将会增加 垂直轴,更大的 342 00:17:41,080 --> 00:17:42,030 电话簿。 343 00:17:42,030 --> 00:17:46,180 因此,n是只是一个普通的变量 计算机科学家用来代表 344 00:17:46,180 --> 00:17:48,210 一定的价值,一些数字。 345 00:17:48,210 --> 00:17:50,740 所以n的线性增加。 346 00:17:50,740 --> 00:17:53,040 ,它的规模翻番的电话簿 要带我的两倍多 347 00:17:53,040 --> 00:17:54,780 时间,最有可能的是,找到迈克。 348 00:17:54,780 --> 00:17:56,390 >> 现在,我本来是智能 这一点,对不对? 349 00:17:56,390 --> 00:17:57,800 我得到迅速无聊。 350 00:17:57,800 --> 00:17:58,910 可以这样做三三两两。 351 00:17:58,910 --> 00:18:01,870 所以两页,然后四, 六,八。 352 00:18:01,870 --> 00:18:05,220 我可以通过它开始飞 快一点,尽管轻微风险 353 00:18:05,220 --> 00:18:09,210 超调迈克,但该曲线是不 将是所有不同。 354 00:18:09,210 --> 00:18:12,550 它仍然将是一条直线 线,但速度稍快。 355 00:18:12,550 --> 00:18:13,710 >> 但是我做了什么? 356 00:18:13,710 --> 00:18:15,845 其实,我做了一件 从根本上更好。 357 00:18:15,845 --> 00:18:21,990 我实现了,我们会打电话给数 时间日志,这个绿色的n 358 00:18:21,990 --> 00:18:27,730 行有很多,很多,很多 直边少。 359 00:18:27,730 --> 00:18:33,050 而相反,它表明,因为它排序 曾经如此逐渐趋于无穷大, 360 00:18:33,050 --> 00:18:36,700 我其实可以采取1000页 电话簿,其规模翻番 361 00:18:36,700 --> 00:18:39,610 明年 - 因为想了很多 越来越多的人进入城镇。 362 00:18:39,610 --> 00:18:43,250 >> 所以,现在我已经得到了2000页,但如何 很多步,更聪明 363 00:18:43,250 --> 00:18:45,200 算法要采取? 364 00:18:45,200 --> 00:18:46,060 只有一个问题。 365 00:18:46,060 --> 00:18:48,060 我的意思是,这是一个强大的东西。 366 00:18:48,060 --> 00:18:51,400 如果我们去到4000页,明年 这是要带我 367 00:18:51,400 --> 00:18:53,020 只有两个更多的步骤。 368 00:18:53,020 --> 00:18:56,500 所以,你可以扔掉越做越大 我的问题,不像网页 369 00:18:56,500 --> 00:18:59,560 投掷越做越大的问题 在谷歌和Facebook的每一天 370 00:18:59,560 --> 00:19:01,590 这个世界,它不 这样一个大问题。 371 00:19:01,590 --> 00:19:05,840 因为我把更多的思考和关怀 我的算法来解决 372 00:19:05,840 --> 00:19:07,020 有效的问题。 373 00:19:07,020 --> 00:19:09,260 >> 事实上,这将是一个 本课程的目标。 374 00:19:09,260 --> 00:19:11,230 你会的,一路走来, 学习如何编程。 375 00:19:11,230 --> 00:19:13,360 您将学习如何编程 任何数量的语言。 376 00:19:13,360 --> 00:19:16,670 但是在一天结束的时候,当然是 解决问题和获得 377 00:19:16,670 --> 00:19:20,490 更好地解决问题 - ,如 这样的情况下,解决问题 378 00:19:20,490 --> 00:19:22,030 更有效率。 379 00:19:22,030 --> 00:19:23,990 >> 现在,因此,到目前为止,我们已经做到了这一点 相当直观。 380 00:19:23,990 --> 00:19:27,420 让我们的介绍相当的东西 一般称为伪代码。 381 00:19:27,420 --> 00:19:29,150 所以,我们最终会得到的, 在这个过程中, 382 00:19:29,150 --> 00:19:30,570 各种编程语言。 383 00:19:30,570 --> 00:19:34,280 但今天我们会做类似英语 语法,其中你只是客气的说 384 00:19:34,280 --> 00:19:37,330 你是什​​么意思,但你永远是这样 简洁,你不用担心 385 00:19:37,330 --> 00:19:38,960 语法和完整的句子。 386 00:19:38,960 --> 00:19:41,600 你只是表达自己 尽量简洁。 387 00:19:41,600 --> 00:19:45,400 >> 因此,伪代码类似英语 语法代表 388 00:19:45,400 --> 00:19:46,750 一种编程语言。 389 00:19:46,750 --> 00:19:51,170 为此,让我提出, 我们现在模拟的过程中,我们只是 390 00:19:51,170 --> 00:19:54,990 计数的东西一点点描述 不同,这一次采取了 391 00:19:54,990 --> 00:19:59,040 看在这5分钟的视频制作 在TED的朋友, 392 00:19:59,040 --> 00:20:03,170 定义什么是伪代码,定义了什么 算法的思想,甚至 393 00:20:03,170 --> 00:20:07,030 虽然这个例子中,你将要看到的 ,本身,超级简单,它的 394 00:20:07,030 --> 00:20:09,820 要开始给我们的精神 模型中,词汇,其中 395 00:20:09,820 --> 00:20:14,588 做多,复杂得多 算法相当快。 396 00:20:14,588 --> 00:20:15,576 >> [开始播放视频] 397 00:20:15,576 --> 00:20:29,920 >> [音乐播放] 398 00:20:29,920 --> 00:20:31,100 >> 旁白:什么是算法? 399 00:20:31,100 --> 00:20:34,730 在计算机科学中,算法是一个 解决一些指令集 400 00:20:34,730 --> 00:20:36,620 问题一步一步来。 401 00:20:36,620 --> 00:20:39,650 通常情况下,算法执行 电脑,但我们人类有 402 00:20:39,650 --> 00:20:41,230 算法,以及。 403 00:20:41,230 --> 00:20:43,290 例如,你将如何去 清点人数 404 00:20:43,290 --> 00:20:44,750 在一个房间里的人吗? 405 00:20:44,750 --> 00:20:47,980 好吧,如果你像我一样,你可能会 在每个人点,一个在 406 00:20:47,980 --> 00:20:50,120 一时间,从0计数。 407 00:20:50,120 --> 00:20:52,970 1,2,3,4,等等。 408 00:20:52,970 --> 00:20:54,140 >> 嗯,这是一种算法。 409 00:20:54,140 --> 00:20:57,600 事实上,我们试图表达的 更正式一点的伪代码 - 410 00:20:57,600 --> 00:21:00,700 类似英语的语法类似于 一种编程语言。 411 00:21:00,700 --> 00:21:02,580 让N等于0。 412 00:21:02,580 --> 00:21:06,970 每个人在房间,设置 N等于N加1。 413 00:21:06,970 --> 00:21:08,400 >> 如何解释这个伪代码? 414 00:21:08,400 --> 00:21:12,840 ,线一条声明,可以这么说, 一个变量N和初始化 415 00:21:12,840 --> 00:21:14,250 其值设置为0。 416 00:21:14,250 --> 00:21:17,550 这意味着,在开始 我们的算法,东西 417 00:21:17,550 --> 00:21:19,650 我们点的值为0。 418 00:21:19,650 --> 00:21:22,620 毕竟,在我们重新开始计数, 我们还没有算什么呢。 419 00:21:22,620 --> 00:21:25,340 调用此变量N 仅仅是一个惯例。 420 00:21:25,340 --> 00:21:26,890 我可以把它称为几乎所有东西。 421 00:21:26,890 --> 00:21:30,560 >> 线两条demarks的开始 循环中,一个序列的步骤,将 422 00:21:30,560 --> 00:21:32,310 重复一定的次数。 423 00:21:32,310 --> 00:21:35,910 因此,在我们的例子中,我们正在采取步骤 计数在房间里的人。 424 00:21:35,910 --> 00:21:38,730 之下线两条线3条, 这究竟是如何描述 425 00:21:38,730 --> 00:21:40,160 我们会去计数。 426 00:21:40,160 --> 00:21:43,440 缩进意味着它 一行三人将重复。 427 00:21:43,440 --> 00:21:47,380 >> 那么,什么的伪说 之后,从0开始,对于每个 428 00:21:47,380 --> 00:21:50,690 人在房间里,我们将 N的增加1。 429 00:21:50,690 --> 00:21:53,050 现在是这样的算法是否正确? 430 00:21:53,050 --> 00:21:54,580 好吧,让我们一鼓作气,有点。 431 00:21:54,580 --> 00:21:57,270 它的工作原理,如果有 两个人在房间里? 432 00:21:57,270 --> 00:21:58,170 让我们来看看。 433 00:21:58,170 --> 00:22:00,260 >> 第一行中,我们初始化N到0。 434 00:22:00,260 --> 00:22:03,660 对于这两种人的, 我们再增加N的1。 435 00:22:03,660 --> 00:22:07,310 因此,第一次通过 循环中,我们更新n从0到1。 436 00:22:07,310 --> 00:22:11,070 在第二行通过同一 循环中,我们更新n从1到2。 437 00:22:11,070 --> 00:22:15,780 因此通过此算法结束,n为2时 这的确匹配的数量 438 00:22:15,780 --> 00:22:16,700 房间里的人。 439 00:22:16,700 --> 00:22:17,760 >> 到目前为止,一切都不错。 440 00:22:17,760 --> 00:22:19,610 怎么样一个角落里的情况下,虽然? 441 00:22:19,610 --> 00:22:22,590 假设有0人 在房间里 - 除了我, 442 00:22:22,590 --> 00:22:24,170 谁做计数。 443 00:22:24,170 --> 00:22:27,150 第一行中,我们初始化N到0。 444 00:22:27,150 --> 00:22:30,280 不过,这一次,行三不 执行,因为没有一个 445 00:22:30,280 --> 00:22:31,370 人在房间里。 446 00:22:31,370 --> 00:22:35,260 所以N保持为0,相匹配的 房间里的人的数量。 447 00:22:35,260 --> 00:22:36,420 很简单,不是吗? 448 00:22:36,420 --> 00:22:39,630 >> 但是,计数一次一个 是非常低效的,也没有吗? 449 00:22:39,630 --> 00:22:40,920 当然,我们可以做的更好。 450 00:22:40,920 --> 00:22:43,120 为什么不能指望两个人在一个时间吗? 451 00:22:43,120 --> 00:22:49,300 而不是计数1,2,3,4,5,6,7, 8,等等,为什么不计数,2, 452 00:22:49,300 --> 00:22:51,460 4,6,8,等? 453 00:22:51,460 --> 00:22:53,700 这听起来甚至更快, 它肯定是。 454 00:22:53,700 --> 00:22:56,240 >> 让我们来表达这种优化 在伪代码。 455 00:22:56,240 --> 00:22:57,800 让N等于0。 456 00:22:57,800 --> 00:23:02,450 对于每一对的人在房内, 设置N等于N加2。 457 00:23:02,450 --> 00:23:04,120 很简单的变化,对不对? 458 00:23:04,120 --> 00:23:06,750 而不是数人 我们的时间,而不是算 459 00:23:06,750 --> 00:23:08,300 他们两个在同一时间。 460 00:23:08,300 --> 00:23:10,980 因此,该算法的两倍 作为作为最后快。 461 00:23:10,980 --> 00:23:12,180 >> 但它是正确的? 462 00:23:12,180 --> 00:23:12,920 让我们来看看。 463 00:23:12,920 --> 00:23:15,330 它的工作原理,如果有 两个人在房间里? 464 00:23:15,330 --> 00:23:17,550 第一行中,我们初始化N到0。 465 00:23:17,550 --> 00:23:20,920 对于一个对人, 我们再增加N的两个。 466 00:23:20,920 --> 00:23:24,860 因此,该算法的末端,N是2, 这的确匹配的数量 467 00:23:24,860 --> 00:23:25,650 房间里的人。 468 00:23:25,650 --> 00:23:28,250 >> 假设下一个有 0人在房间里。 469 00:23:28,250 --> 00:23:30,840 第一行中,我们初始化N到0。 470 00:23:30,840 --> 00:23:34,330 像以前一样,三线不执行 ,因为没有任何对 471 00:23:34,330 --> 00:23:35,380 在房间里的人。 472 00:23:35,380 --> 00:23:38,350 所以N保持为0,这的确 的数目相匹配 473 00:23:38,350 --> 00:23:39,570 房间里的人。 474 00:23:39,570 --> 00:23:42,280 >> 但是,如果有三个 房间里的人吗? 475 00:23:42,280 --> 00:23:44,130 该算法票价如何? 476 00:23:44,130 --> 00:23:44,990 让我们来看看。 477 00:23:44,990 --> 00:23:47,460 第一行中,我们初始化N到0。 478 00:23:47,460 --> 00:23:50,870 对于那些人一对, 我们再增加N的2。 479 00:23:50,870 --> 00:23:51,800 但是然后呢? 480 00:23:51,800 --> 00:23:54,960 是不是又对人 在房间里,所以没有线两条 481 00:23:54,960 --> 00:23:56,180 不再适用。 482 00:23:56,180 --> 00:24:00,530 因此该算法的末端,N 仍然是2,这是不正确的。 483 00:24:00,530 --> 00:24:03,810 >> 实际上,该算法的说是 越野车,因为它有一个错误。 484 00:24:03,810 --> 00:24:05,820 让我们纠正了一些新的伪代码。 485 00:24:05,820 --> 00:24:09,670 设n等于0为每对 人在房间。 486 00:24:09,670 --> 00:24:12,550 设置N等于N加2。 487 00:24:12,550 --> 00:24:17,140 如果一个人仍然未成, 设置N等于N加1。 488 00:24:17,140 --> 00:24:20,140 为了解决这个问题,我们已经 介绍,四线, 489 00:24:20,140 --> 00:24:24,520 条件,否则称为分支 如果有一个只执行 490 00:24:24,520 --> 00:24:26,640 人,我们不能 与另一对。 491 00:24:26,640 --> 00:24:30,440 所以现在,是否有一个或三个 或任何人在奇数 492 00:24:30,440 --> 00:24:33,290 室,该算法 现在指望他们。 493 00:24:33,290 --> 00:24:34,560 >> 我们可以做得更好? 494 00:24:34,560 --> 00:24:38,820 嗯,我们可以指望3S或4S,甚至 5秒和10秒,但除此之外,它 495 00:24:38,820 --> 00:24:41,360 要得到一点点 困难点。 496 00:24:41,360 --> 00:24:44,660 在一天结束时,是否执行 通过电脑或人类, 497 00:24:44,660 --> 00:24:46,750 算法只是一套 的指令 498 00:24:46,750 --> 00:24:48,290 要解决的问题。 499 00:24:48,290 --> 00:24:49,792 这些都是只有三个。 500 00:24:49,792 --> 00:24:52,404 你会解决什么问题 的算法? 501 00:24:52,404 --> 00:24:52,901 >> [END视频播放] 502 00:24:52,901 --> 00:24:55,883 >> 国宝马兰:这是唯一的一次 我会以卡通的形式出现。 503 00:24:55,883 --> 00:25:01,050 但离开了这个故事, 现在我们可以做的更好? 504 00:25:01,050 --> 00:25:04,680 三五成群,我方要求,我们可以指望 人要快得多,但我们可以 505 00:25:04,680 --> 00:25:06,290 从根本上做比这更好的吗? 506 00:25:06,290 --> 00:25:07,540 我敢打赌我们能做到。 507 00:25:07,540 --> 00:25:11,980 >> 如果我们引入了一点我们自己的 伪代码在这里,我向你求婚 508 00:25:11,980 --> 00:25:14,550 我们能够实现这样的一条线。 509 00:25:14,550 --> 00:25:17,280 我们不会指望人们 一,二,三,四。 510 00:25:17,280 --> 00:25:19,470 我们不打算去两个, 四,六,八。 511 00:25:19,470 --> 00:25:23,390 我们打​​算这样做从根本上更好 通过重新思考这个问题,并在此 512 00:25:23,390 --> 00:25:27,080 的情况下,利用一个原本 未充分利用的资源。 513 00:25:27,080 --> 00:25:31,460 >> 在短短的时刻,我希望你能原谅 哄我们站立在 514 00:25:31,460 --> 00:25:34,470 的地方,在这一点上,我们要 请各位在你 515 00:25:34,470 --> 00:25:36,400 心目中的数字1。 516 00:25:36,400 --> 00:25:39,560 然后,你会越来越多地 笨拙,随着时间的推移,找到 517 00:25:39,560 --> 00:25:42,740 是谁站在别人,结合 您的数字加在一起 518 00:25:42,740 --> 00:25:43,720 通过将它们添加。 519 00:25:43,720 --> 00:25:47,490 你坐就是那么回事出赛 下第一,其他人 520 00:25:47,490 --> 00:25:48,880 重复。 521 00:25:48,880 --> 00:25:53,090 >> 所以换句话说,播种所有 你有数字1,然后 522 00:25:53,090 --> 00:25:57,800 ,结合那些1到2和2 到4S,与大家越来越 523 00:25:57,800 --> 00:26:02,740 坐了下来,我们应该在年底 这个算法,只有一个贷款 524 00:26:02,740 --> 00:26:07,570 谁没有坐下的速度不够快,但灵魂 谁拥有整个观众数 525 00:26:07,570 --> 00:26:09,180 在他或她的头脑。 526 00:26:09,180 --> 00:26:13,730 >> 所以,如果你想,让我们继续前进, - 第一个步骤 - 中站起来的地方。 527 00:26:13,730 --> 00:26:15,600 和执行。 528 00:26:15,600 --> 00:26:36,580 >> [人群潺潺] 529 00:26:36,580 --> 00:26:38,820 >> 国宝马兰:你知不知道 劳伦是什么? 530 00:26:38,820 --> 00:26:40,179 729? 531 00:26:40,179 --> 00:27:23,350 >> [人群潺潺] 532 00:27:23,350 --> 00:27:24,340 >> 国宝马兰:没事吧? 533 00:27:24,340 --> 00:27:39,110 >> [人群潺潺] 534 00:27:39,110 --> 00:27:41,365 >> 国宝马兰:所有的权利,我们应该 即将结束。 535 00:27:41,365 --> 00:27:44,340 536 00:27:44,340 --> 00:27:47,670 我们看到一个家伙仍然站在这里。 537 00:27:47,670 --> 00:27:48,770 还有谁需要进行配对? 538 00:27:48,770 --> 00:27:50,020 如果你们要配对了。 539 00:27:50,020 --> 00:27:53,260 540 00:27:53,260 --> 00:27:56,520 有人往上顶。 541 00:27:56,520 --> 00:27:58,150 我为什么不伸出援助之手。 542 00:27:58,150 --> 00:28:01,370 对于极少数的人,谁仍然 站立,什么号码呢,你 543 00:28:01,370 --> 00:28:02,790 有在你的心中吗? 544 00:28:02,790 --> 00:28:04,020 >> 学生:78。 545 00:28:04,020 --> 00:28:06,010 >> 国宝马兰:78加 - 546 00:28:06,010 --> 00:28:07,840 谁站在这里吗? 547 00:28:07,840 --> 00:28:08,370 >> 学生:39。 548 00:28:08,370 --> 00:28:09,590 >> 国宝马兰:加39。 549 00:28:09,590 --> 00:28:12,310 再加上还有谁仍然屹立不倒? 550 00:28:12,310 --> 00:28:13,650 81? 551 00:28:13,650 --> 00:28:15,960 OK,还有谁? 552 00:28:15,960 --> 00:28:17,200 另外有81个? 553 00:28:17,200 --> 00:28:17,860 哇。 554 00:28:17,860 --> 00:28:19,210 然后在后面? 555 00:28:19,210 --> 00:28:20,360 >> 学生:49。 556 00:28:20,360 --> 00:28:21,812 >> 国宝马兰:49,加? 557 00:28:21,812 --> 00:28:22,950 >> 学生:98。 558 00:28:22,950 --> 00:28:24,980 >> 国宝马兰:98加? 559 00:28:24,980 --> 00:28:28,190 那是别人吗? 560 00:28:28,190 --> 00:28:29,155 12? 561 00:28:29,155 --> 00:28:30,460 良好的工作。 562 00:28:30,460 --> 00:28:33,610 >> [笑] 563 00:28:33,610 --> 00:28:34,690 >> 国宝马兰:哦,112 - 564 00:28:34,690 --> 00:28:35,410 哦。 565 00:28:35,410 --> 00:28:36,220 干得好! 566 00:28:36,220 --> 00:28:38,660 >> [笑] 567 00:28:38,660 --> 00:28:42,570 >> [掌声] 568 00:28:42,570 --> 00:28:43,820 >> 国宝马兰:其他任何人 仍然站立? 569 00:28:43,820 --> 00:28:46,710 570 00:28:46,710 --> 00:28:47,260 对不起? 571 00:28:47,260 --> 00:28:48,110 >> 学生:99。 572 00:28:48,110 --> 00:28:49,810 >> 国宝马兰:99。 573 00:28:49,810 --> 00:28:52,620 其他人仍然站立? 574 00:28:52,620 --> 00:28:57,290 而这里的学生总数 实际上是,根据 - 575 00:28:57,290 --> 00:28:59,400 你有多少? 576 00:28:59,400 --> 00:29:03,170 呵呵,实际人数 室,根据帐户 577 00:29:03,170 --> 00:29:07,660 教学研究员在做什么 在每个人的方式,为729。 578 00:29:07,660 --> 00:29:11,070 因此,出一屋子的哈佛学生 算自己的人, 579 00:29:11,070 --> 00:29:14,126 答案是637。 580 00:29:14,126 --> 00:29:15,480 >> [笑] 581 00:29:15,480 --> 00:29:16,350 >> 国宝马兰:如此接近。 582 00:29:16,350 --> 00:29:17,360 但仍。 583 00:29:17,360 --> 00:29:22,110 OK,所以这是一个教学 此刻,对不对? 584 00:29:22,110 --> 00:29:24,120 现在这是我们形容为一个错误。 585 00:29:24,120 --> 00:29:28,120 沿途的某个地方,我们做了一些 算术错误,或者是有人坐了下来, 586 00:29:28,120 --> 00:29:29,930 或向左,或出事了。 587 00:29:29,930 --> 00:29:30,930 但是,这很好。 588 00:29:30,930 --> 00:29:33,390 因为,我们甚至还在 八九不离十了。 589 00:29:33,390 --> 00:29:37,480 我认为,我们得到了错误的 解答了很多比我快将有 590 00:29:37,480 --> 00:29:39,770 使用线性方法我。 591 00:29:39,770 --> 00:29:42,630 >> 因此,让我们假设其实我们没有得到 正确的,但认为现在大概什么 592 00:29:42,630 --> 00:29:46,870 每次发生的,与我 自己的天真指向算法。 593 00:29:46,870 --> 00:29:48,420 一,二,三。 594 00:29:48,420 --> 00:29:53,010 如果确实有729人或637人 在这里,我将采取 595 00:29:53,010 --> 00:29:57,720 从字面上637或729勾缝 手指和 596 00:29:57,720 --> 00:29:59,490 我总计数递增。 597 00:29:59,490 --> 00:30:01,910 我可以做的更好一点 去二,四,六,八, 598 00:30:01,910 --> 00:30:05,660 这样的速度的两倍,甚至三倍或 翻两番,这取决于如何我可以 599 00:30:05,660 --> 00:30:07,110 做到这一点在我的脑海计数。 600 00:30:07,110 --> 00:30:10,720 >> 但是,这种方法了你们 是根本不同的。 601 00:30:10,720 --> 00:30:12,770 因为在开始的时候, 大家站了起来。 602 00:30:12,770 --> 00:30:14,620 因此,所有729。 603 00:30:14,620 --> 00:30:17,370 然后从字面上一半 你坐了下来。 604 00:30:17,370 --> 00:30:19,720 在这之后,另一 你的一半坐了下来。 605 00:30:19,720 --> 00:30:22,650 在这之后,另一 你的一半坐了下来。 606 00:30:22,650 --> 00:30:27,470 >> 和的总次数,你 你们可能已经坐了下来大约是 607 00:30:27,470 --> 00:30:31,740 八,九,十总次数, 这取决于我们的总数是什么。 608 00:30:31,740 --> 00:30:33,300 我们可以做排序 这是另一种方式。 609 00:30:33,300 --> 00:30:37,740 如果我们有1,024人在房间里, 总数的时候,你可以 610 00:30:37,740 --> 00:30:41,870 减半1,024人是10。 611 00:30:41,870 --> 00:30:43,370 >> 现在想想,在 其他方向。 612 00:30:43,370 --> 00:30:49,170 假设,可笑的是,我们不得不说, 四十亿人在这个房间里, 613 00:30:49,170 --> 00:30:50,860 稍大的房间。 614 00:30:50,860 --> 00:30:54,550 我们已经多少次 通过此算法,使得半 615 00:30:54,550 --> 00:30:58,110 该类坐下? 616 00:30:58,110 --> 00:31:03,050 它只是要带32个这样的 操作,即使在一个类的大小 617 00:31:03,050 --> 00:31:03,770 四十亿。 618 00:31:03,770 --> 00:31:04,055 为什么呢? 619 00:31:04,055 --> 00:31:06,980 因为4亿到以下两个 亿元,去到一百万,去 620 00:31:06,980 --> 00:31:09,925 500万元,250 万,点,点,点。 621 00:31:09,925 --> 00:31:14,940 我只能这样做,师约有32 时间,在这一点上,大家除了 622 00:31:14,940 --> 00:31:17,820 一个人会罚站。 623 00:31:17,820 --> 00:31:21,590 >> 而这,也同样是一个功能强大的排序 想法越来越多,我们将尝试 624 00:31:21,590 --> 00:31:24,690 利用在这个过程中,并在 编程和计算机科学 625 00:31:24,690 --> 00:31:29,400 一般来说,这些病菌的想法与 然后,我们可以解决问题了, 626 00:31:29,400 --> 00:31:31,130 更有力。 627 00:31:31,130 --> 00:31:34,610 因此,我们开始很简单 伪代码和一个男人在一个房间里,但 628 00:31:34,610 --> 00:31:38,205 现在整个房间挤满了人 我们做了从根本上更好。 629 00:31:38,205 --> 00:31:41,460 >> 好吧,让我们从现在过渡 伪代码的一些实际代码。 630 00:31:41,460 --> 00:31:44,200 这种语言,你即将看到的 被称为JavaScript和 631 00:31:44,200 --> 00:31:46,190 我们会回到这个走向 学期结束。 632 00:31:46,190 --> 00:31:49,960 它是一种编程语言, 使用让网站和其他类似 633 00:31:49,960 --> 00:31:51,360 软件的这些日子。 634 00:31:51,360 --> 00:31:54,890 而我们也使用它,这要感谢朋友 我们在斯坦福大学进行编码 635 00:31:54,890 --> 00:31:56,630 这里的一些隐藏信息。 636 00:31:56,630 --> 00:31:59,500 这是艺术的隐秘, 可以这么说,在那里你可以隐藏 637 00:31:59,500 --> 00:32:03,990 否则出现的信息 噪音或一个完全不同的 638 00:32:03,990 --> 00:32:05,220 图像完全。 639 00:32:05,220 --> 00:32:10,120 但在这个特殊的图像嵌入 的确是一个秘密的各种各样的消息。 640 00:32:10,120 --> 00:32:12,950 >> 因此,让我继续前进,拉起 相同的图像在这里,这 641 00:32:12,950 --> 00:32:14,270 在Web浏览器的时间。 642 00:32:14,270 --> 00:32:17,710 我要挥挥手的一些 今天的细节,特别是 643 00:32:17,710 --> 00:32:21,780 对于那些你谁,这看起来像 只有JavaScript,但希腊,作为一个 644 00:32:21,780 --> 00:32:23,930 完全陌生的语言。 645 00:32:23,930 --> 00:32:26,190 但是,这是一个例子的 一种编程语言。 646 00:32:26,190 --> 00:32:30,660 >> 现在来看,信仰 这第一行代码 - 647 00:32:30,660 --> 00:32:32,470 和代码,我只是意味着文本。 648 00:32:32,470 --> 00:32:35,660 我可以从字面上输入的文本 到Microsoft Word中,如果我有 649 00:32:35,660 --> 00:32:37,630 合适的软件,然后 用它做什么。 650 00:32:37,630 --> 00:32:42,120 编程源代码,编程 代码,是真的只是文字,它 651 00:32:42,120 --> 00:32:45,420 看起来不同,基于什么语言 你使用的,不像英语 652 00:32:45,420 --> 00:32:49,200 西班牙和俄罗斯都期待不同 当你输入你的键盘。 653 00:32:49,200 --> 00:32:53,520 >> 所以这第一行,现在 信仰,只需打开一个图形 654 00:32:53,520 --> 00:32:56,160 互联网,这种吵闹的图形 我们刚才看到的。 655 00:32:56,160 --> 00:32:59,900 这下一行,这里是一个例子的 循环,我们居然看到了同样的 656 00:32:59,900 --> 00:33:01,130 在TED视频行话。 657 00:33:01,130 --> 00:33:03,750 一个循环是再次发生 又一次,即使这 658 00:33:03,750 --> 00:33:08,440 绝对看上去很神秘, 关键字,以及一些括号中,并 659 00:33:08,440 --> 00:33:09,510 一些分号。 660 00:33:09,510 --> 00:33:13,070 我们会回来用不了多久, 但循环本质上是有 661 00:33:13,070 --> 00:33:17,310 讲程序,遍历所有 那些嘈杂的点,从左至右 662 00:33:17,310 --> 00:33:18,980 右,从上到下。 663 00:33:18,980 --> 00:33:21,260 >> 因为在一天结束时,一个图像 喜欢这样 - 实际上,你可以 664 00:33:21,260 --> 00:33:22,860 样的这台投影机上看到它 - 665 00:33:22,860 --> 00:33:25,280 真的只是一个网格点。 666 00:33:25,280 --> 00:33:29,730 因此,我们可以识别每个这些点 由一个坐标的x,y,以及与此 667 00:33:29,730 --> 00:33:33,890 程序,我们现在可以开始 做这些点东西。 668 00:33:33,890 --> 00:33:37,540 >> 所以我要继续前进在这里, 做的是我要做出一些改变。 669 00:33:37,540 --> 00:33:41,000 首先,我要继续前进,摆脱 所有,绿色和蓝色的 670 00:33:41,000 --> 00:33:43,520 噪音,我要继续前进 并键入以下 671 00:33:43,520 --> 00:33:45,710 诚然,语法晦涩。 672 00:33:45,710 --> 00:33:48,020 IM的图像。 673 00:33:48,020 --> 00:33:53,380 设置蓝色位置X,逗号, 位置Y为0。 674 00:33:53,380 --> 00:33:55,610 换句话说,我想就 关闭所有的蓝色 675 00:33:55,610 --> 00:33:56,920 照片中的点数。 676 00:33:56,920 --> 00:33:59,800 >> 我要继续前进现在点击 运行/保存“按钮,你会 677 00:33:59,800 --> 00:34:02,850 右侧的通知, 生成的图像出现。 678 00:34:02,850 --> 00:34:06,120 现在,它的超级绿色,但是这并不 令人惊讶的,因为我从字面上变成 679 00:34:06,120 --> 00:34:11,070 关闭,或者通过使1 0,所有 照片中的蓝色。 680 00:34:11,070 --> 00:34:12,540 >> 好了,现在让我们做多一点。 681 00:34:12,540 --> 00:34:16,989 IM的图像,X,Y,点setGreen。 682 00:34:16,989 --> 00:34:20,659 只是意味着左迭代 到右,从上到下。 683 00:34:20,659 --> 00:34:23,520 把它关掉的值 为0,以及。 684 00:34:23,520 --> 00:34:24,750 保存。 685 00:34:24,750 --> 00:34:28,100 而在投影机上,你不能真正 真正看到任何东西。 686 00:34:28,100 --> 00:34:31,380 >> 我的笔记本电脑屏幕上,如果我只是在同行中 以正确的方式,我可以看到一个有点 687 00:34:31,380 --> 00:34:33,300 形象,因为他们仍然 一些红色在那里。 688 00:34:33,300 --> 00:34:35,540 如果你曾经听到的缩写RGB - 689 00:34:35,540 --> 00:34:36,830 红,绿,蓝 - 690 00:34:36,830 --> 00:34:39,110 它指此组合物 使用的图像 691 00:34:39,110 --> 00:34:40,230 仅这三种颜色。 692 00:34:40,230 --> 00:34:43,159 而现在,我们已经扔掉 全绿,全蓝,但 693 00:34:43,159 --> 00:34:44,500 没有太多的红色。 694 00:34:44,500 --> 00:34:45,920 >> 所以,让我杀青的红色。 695 00:34:45,920 --> 00:34:47,070 我怎样才能做到这一点呢? 696 00:34:47,070 --> 00:34:49,300 好吧,首先,我要问 这一计划的一个问题。 697 00:34:49,300 --> 00:34:52,030 我要继续前进,让我们称它为 一个变量,就像代数。 698 00:34:52,030 --> 00:34:54,060 你可以有x或y或z。 699 00:34:54,060 --> 00:34:57,230 我要声明一个变量 就是说,把这个变量, 700 00:34:57,230 --> 00:35:02,790 暂时的值 图像的getRed X,Y值。 701 00:35:02,790 --> 00:35:05,870 >> 再次,我们会回来的所有 这些细节在将来。 702 00:35:05,870 --> 00:35:10,630 但现在,只需要信仰 此行是要求程序, 703 00:35:10,630 --> 00:35:12,740 红色的X,Y值是什么? 704 00:35:12,740 --> 00:35:14,450 在那个特定的点? 705 00:35:14,450 --> 00:35:15,710 >> 然后我会做一些事来。 706 00:35:15,710 --> 00:35:21,100 然后我会做图像点集红色 在X,Y,Y,但这个时候我要去 707 00:35:21,100 --> 00:35:24,760 提高做冲次, 比方说,10。 708 00:35:24,760 --> 00:35:26,870 因此,增加了10倍。 709 00:35:26,870 --> 00:35:29,880 让我现在缩小 点击可以运行/保存。 710 00:35:29,880 --> 00:35:36,430 瞧,这是有整个 一次,尽管我们人类的眼睛 711 00:35:36,430 --> 00:35:37,900 不太可能看到它。 712 00:35:37,900 --> 00:35:41,470 >> 所以,现在是真正的代码, 例如,一种语言,我们就来 713 00:35:41,470 --> 00:35:42,770 回到之前长。 714 00:35:42,770 --> 00:35:46,670 但是实现,特别是那些你 没有这样的经历,这是相当 715 00:35:46,670 --> 00:35:50,280 很快,我们自己将 写出这样的代码存在。 716 00:35:50,280 --> 00:35:54,520 事实上,工具与你 有些熟悉,或许是CS50 717 00:35:54,520 --> 00:35:57,330 自己当然购物工具,这是 实际上一些今年夏天重新开机 718 00:35:57,330 --> 00:36:01,070 CS50自己以前的学生, 现在打开TFS。 719 00:36:01,070 --> 00:36:04,740 >> 因此,这恰好是建立了一个网站 在一个叫做PHP语言。 720 00:36:04,740 --> 00:36:08,510 它使用一个名为mysql的数据库,事情 我们将得到我们的手 721 00:36:08,510 --> 00:36:10,190 后来在学期脏。 722 00:36:10,190 --> 00:36:14,140 但相信它或没有,甚至一些 这样,最终减少对 723 00:36:14,140 --> 00:36:19,480 最简单的循环和条件 分支,如我们看到的只是一个 724 00:36:19,480 --> 00:36:21,530 刚才在TED视频。 725 00:36:21,530 --> 00:36:25,180 >> 我想我会做什么,现在是份额不 只是我们的工作人员取得了 726 00:36:25,180 --> 00:36:28,010 校园,而是东西 以前的一个学生 - 三 727 00:36:28,010 --> 00:36:29,080 学生,其实 - 728 00:36:29,080 --> 00:36:33,950 过去这一年,塞拉利昂,但以理, 山姆,最后一名没有事先 729 00:36:33,950 --> 00:36:36,370 编程经验 当他拿着CS50。 730 00:36:36,370 --> 00:36:39,950 而且,他们为他们的最终项目 展出,在CS50博览会, 731 00:36:39,950 --> 00:36:43,720 应用程序名为wrdly,这是一个 他们的基于Web的程序 732 00:36:43,720 --> 00:36:47,670 这个视频,我想我会分享 究竟什么是让你感受到 733 00:36:47,670 --> 00:36:49,280 可能术语年底。 734 00:36:49,280 --> 00:37:57,170 >> [音乐播放] 735 00:37:57,170 --> 00:38:00,570 >> 国宝马兰:这是从周零 第12周在过去的一年。 736 00:38:00,570 --> 00:38:05,470 >> [掌声] 737 00:38:05,470 --> 00:38:09,520 >> 国宝马兰:作为传情,也真的 磨你的胃口是什么 738 00:38:09,520 --> 00:38:14,580 可能的话,你可能已经看到了, 或可能很快就会看到,market.cs50.net, 739 00:38:14,580 --> 00:38:17,710 新的工具,课程的团队 一直在努力,这次在 740 00:38:17,710 --> 00:38:21,530 与哈佛学生 机构,例如,从今年起 741 00:38:21,530 --> 00:38:24,980 并继续希望到这个 夏天来临,你就会有一个标准 742 00:38:24,980 --> 00:38:27,890 在校园的机会,购买和 卖你感兴趣的东西。 743 00:38:27,890 --> 00:38:32,220 通过HSA合作,你会 也可以掉落物品 744 00:38:32,220 --> 00:38:35,950 HSA在一些实体店 在未来的点,以 745 00:38:35,950 --> 00:38:39,150 代理的事情,尤其当你 毕业后不一定要 746 00:38:39,150 --> 00:38:44,110 丢弃的东西,但实际支付 转发给乡亲可能会跟随你的人 747 00:38:44,110 --> 00:38:45,270 在校园里。 748 00:38:45,270 --> 00:38:46,740 所以来。 749 00:38:46,740 --> 00:38:49,830 >> 但有点更具体而言,一个工具 CS50在最近的问世 750 00:38:49,830 --> 00:38:52,760 年,其中有些人可能是 你熟悉和其他可能 751 00:38:52,760 --> 00:38:57,940 现在,谷歌搜索,你会在CS50.net/2x 找到一个链接到一个Chrome扩展 752 00:38:57,940 --> 00:39:01,250 这是示范如何可以 使用JavaScript,同样的语言,我们 753 00:39:01,250 --> 00:39:06,660 艾菲尔铁塔前的时刻, 实施2X播放速度 754 00:39:06,660 --> 00:39:09,000 为所有哈佛的iSites视频。 755 00:39:09,000 --> 00:39:11,880 这是内置 到CS50自己的视频播放器。 756 00:39:11,880 --> 00:39:14,870 但是它也同样,如果你开始挖 到源代码中,我们将 757 00:39:14,870 --> 00:39:18,840 愉快,你会怎么看 你甚至可以解决这样的问题, 758 00:39:18,840 --> 00:39:23,180 网站加速部件 你已经非常熟悉。 759 00:39:23,180 --> 00:39:26,630 >> 所以一个字现在在球场上, 的期望和什么样的未来。 760 00:39:26,630 --> 00:39:29,445 在一般情况下,我们确实会聚集在这里 在星期一和星期三 - 尽管 761 00:39:29,445 --> 00:39:31,490 这个星期五,我们将齐聚一堂,因为 购物周 - 762 00:39:31,490 --> 00:39:34,640 下午1:00至下午2:00,虽然 有时直到2:30。 763 00:39:34,640 --> 00:39:38,700 鉴于,因此,你可能会想要或 下午2:00,必须采取一些类 764 00:39:38,700 --> 00:39:42,480 以后,甚至在此之前,不实现 当然是支持什么叫做 765 00:39:42,480 --> 00:39:45,900 同时招生,据此,我们将 支持一份请愿书,广告牌和 766 00:39:45,900 --> 00:39:49,400 居民代表您院长,如果 你在此有冲突的地方 767 00:39:49,400 --> 00:39:50,790 下午1:00至2:30的范围内。 768 00:39:50,790 --> 00:39:54,110 头到该网址在线 更多的细节。 769 00:39:54,110 --> 00:39:57,750 >> 但是,在所述支撑结构 特点CS50,为学生 770 00:39:57,750 --> 00:40:01,750 越来越不舒服一样,我们 具有明显的轨道区段。 771 00:40:01,750 --> 00:40:04,730 这是几个星期的假,但 用不了多久,你会问到 772 00:40:04,730 --> 00:40:05,770 您的舒适程度。 773 00:40:05,770 --> 00:40:08,590 你在那些不太舒服, 更舒适,或 774 00:40:08,590 --> 00:40:10,520 介于两者之间? 775 00:40:10,520 --> 00:40:13,150 >> 我们将有三个不同的 迎合的轨道 776 00:40:13,150 --> 00:40:14,470 恰恰是那些观众。 777 00:40:14,470 --> 00:40:17,900 所以你应该在任何时候,在长期 甚至觉得像你竞争 778 00:40:17,900 --> 00:40:21,390 反对任何学生有更多 或背景比你少。 779 00:40:21,390 --> 00:40:24,160 事实上,当然,就是要 更协作和多 780 00:40:24,160 --> 00:40:25,650 比这更开放。 781 00:40:25,650 --> 00:40:29,030 >> 在条款的问题集,你会 发现,那就是,除了 782 00:40:29,030 --> 00:40:32,130 每个星期的问题标准版 设置,也往往是“黑客 783 00:40:32,130 --> 00:40:37,010 版“意味着要针对性 在5%至10%左右的 784 00:40:37,010 --> 00:40:40,270 的确是在那些人口 更舒适,更想了解更多 785 00:40:40,270 --> 00:40:43,960 比标准的一个挑战 版那的pset预计。 786 00:40:43,960 --> 00:40:46,390 那些更多细节 发现在教学大纲。 787 00:40:46,390 --> 00:40:49,430 >> 但也有细节可以发现 课程下旬天。 788 00:40:49,430 --> 00:40:51,570 通常问题集 周四到期。 789 00:40:51,570 --> 00:40:55,550 但是,您可以扩展您的许多 截止日期从周四至今年秋天 790 00:40:55,550 --> 00:41:00,010 周五简单地满足我们一半, 可以这么说,回答几场热身 791 00:41:00,010 --> 00:41:03,370 的一周的问题中的一些问题 集,它会自动 792 00:41:03,370 --> 00:41:05,710 然后给你一个额外的24小时。 793 00:41:05,710 --> 00:41:09,120 我们也会下降的最低 得分,每教学大纲。 794 00:41:09,120 --> 00:41:12,170 >> 为了给你的感觉是什么问题 集 - 因为它的确是 795 00:41:12,170 --> 00:41:15,120 课程的问题集 几乎每一个最终定义 796 00:41:15,120 --> 00:41:18,760 学生的经验,更何况比 讲座,超过的部分,更多的 797 00:41:18,760 --> 00:41:21,230 所以比大多数其他任何 当然方面。 798 00:41:21,230 --> 00:41:25,140 例如,去年,我们开始, 我们将在今年开始,从零开始。 799 00:41:25,140 --> 00:41:29,150 特别是这个星期五,我们将使用, 短短一天的时间,图形 800 00:41:29,150 --> 00:41:32,260 编程语言,我们会 通过拖动开始编程 801 00:41:32,260 --> 00:41:37,580 仅丢弃的拼图碎片 组装身体是否有意义 802 00:41:37,580 --> 00:41:38,990 这样做的逻辑。 803 00:41:38,990 --> 00:41:43,460 >> 下周,我们会很快过渡到 C,一个相当老了,但非常小, 804 00:41:43,460 --> 00:41:48,510 简单的语言,使我们能够 真正从0到60的过程 805 00:41:48,510 --> 00:41:52,290 短短几个星期,然后过关 那些同样的技能和知识 806 00:41:52,290 --> 00:41:56,160 基本的编程结构成 更高层次的语言,如PHP, 807 00:41:56,160 --> 00:41:58,240 JavaScript中,而其他人还在。 808 00:41:58,240 --> 00:42:02,560 >> 去年,第三pset的过程中 密码学, 809 00:42:02,560 --> 00:42:06,380 特定领域的应用,使我们 要求学生实施任何 810 00:42:06,380 --> 00:42:11,140 大量密码,程序 争相解读信息, 811 00:42:11,140 --> 00:42:11,880 加密。 812 00:42:11,880 --> 00:42:16,300 对于黑客版,相比之下, 我们给黑客学生档案 813 00:42:16,300 --> 00:42:19,900 从一个标准的Unix计算机 用户名和密码, 814 00:42:19,900 --> 00:42:22,740 其中后者是加密的, 我们这些挑战黑客 815 00:42:22,740 --> 00:42:26,850 学生进行解密,尽其所能, 这些密码,仍然在那 816 00:42:26,850 --> 00:42:27,770 同一个域。 817 00:42:27,770 --> 00:42:30,580 >> 争夺,一个游戏,一些 你也许熟悉。 818 00:42:30,580 --> 00:42:34,410 取证片,我们要求学生 一直恢复数据 819 00:42:34,410 --> 00:42:38,530 否则从我自己的数字删除 相机的闪存卡, 820 00:42:38,530 --> 00:42:42,740 其实写软件要弄清楚, 这里的0和1 821 00:42:42,740 --> 00:42:46,850 ,数码相机,以前 由JPEG图形? 822 00:42:46,850 --> 00:42:49,710 >> 去年进行排序的一个挑战 涉及书面最快的 823 00:42:49,710 --> 00:42:53,160 拼写检查的可能,竞 对朋友和同学,如果 824 00:42:53,160 --> 00:42:53,860 他们想。 825 00:42:53,860 --> 00:42:56,330 实施赫夫“蓬蓬, 一个压缩程序。 826 00:42:56,330 --> 00:43:01,930 然后结束本学期CS50 金融,一个基于网络的应用程序, 827 00:43:01,930 --> 00:43:06,570 您创建了一个ETRADE网站 购买和出售股票,所以 828 00:43:06,570 --> 00:43:09,860 说话,实际上拉动近 实时报价雅虎 829 00:43:09,860 --> 00:43:10,450 融资渠道。 830 00:43:10,450 --> 00:43:13,590 >> 我们没有做什么去年 一个问题集,剩下的 831 00:43:13,590 --> 00:43:14,810 仍然喜爱。 832 00:43:14,810 --> 00:43:18,400 如果你从来没有去 shuttle.cs50.net,你会看到一个用户 833 00:43:18,400 --> 00:43:19,670 接口有点像这样。 834 00:43:19,670 --> 00:43:23,530 但两年前,类 使用谷歌地图和实施, 835 00:43:23,530 --> 00:43:28,570 谷歌地球插件和一点点 的精明驾驶校园周围, 836 00:43:28,570 --> 00:43:33,290 因此,本场比赛的目标是, 你可以看到一些面孔, 837 00:43:33,290 --> 00:43:37,530 是推动校园周围寻找 人员,教学研究员和CAS, 838 00:43:37,530 --> 00:43:40,080 当你做什么,把他们 到你的穿梭巴士。 839 00:43:40,080 --> 00:43:44,035 实际上他们没有在这里似乎是, 所以我们要进入一个作弊的代码。 840 00:43:44,035 --> 00:43:47,150 >> [笑] 841 00:43:47,150 --> 00:43:48,430 >> 国宝马兰:我们走吧。 842 00:43:48,430 --> 00:43:49,240 好的。 843 00:43:49,240 --> 00:43:51,750 这里现在是工作人员 股价在整个校园。 844 00:43:51,750 --> 00:43:54,530 正如你可以看到,在右手 屏幕的一侧,穿梭巴士 845 00:43:54,530 --> 00:43:55,510 拥有空座位。 846 00:43:55,510 --> 00:43:59,000 的目标是写 代码与模拟 847 00:43:59,000 --> 00:44:01,790 驾驶拿起下降 关闭乘客。 848 00:44:01,790 --> 00:44:04,960 那一个,也使用的语言 称为JavaScript。 849 00:44:04,960 --> 00:44:10,030 因此,实现该方案一样,将 在我们的同样的轨迹 850 00:44:10,030 --> 00:44:10,910 今年,以及。 851 00:44:10,910 --> 00:44:13,640 >> 现在,在条款,额外的支持, 我们的办公时间。 852 00:44:13,640 --> 00:44:16,520 正如你可能已经看到在自己的房子 食堂或在安尼伯格, 853 00:44:16,520 --> 00:44:19,280 我们会在房子里用餐 大厅每周四晚 - 854 00:44:19,280 --> 00:44:24,450 莱弗里特Pfoho,艾略特和安嫩伯格 今年,下午8:00至下午11:00。 855 00:44:24,450 --> 00:44:26,830 而我们认为我们会做好今年 是有点不同的东西。 856 00:44:26,830 --> 00:44:29,650 >> 如果你听到的传言去年 这是一个有点太紧张,这 857 00:44:29,650 --> 00:44:32,800 今年的办公时间,我们将介绍 下周,将是更加有机, 858 00:44:32,800 --> 00:44:36,900 抵达后,你会 派遣到一个特定的表 859 00:44:36,900 --> 00:44:39,860 多个工作人员在那里等待, 我们会做的事情更 860 00:44:39,860 --> 00:44:40,440 有机 861 00:44:40,440 --> 00:44:43,740 没有更多的队列,没有更多的iPad,但 而有更亲密 862 00:44:43,740 --> 00:44:47,300 只是围着一张桌子交谈 八左右的学生,使我们 863 00:44:47,300 --> 00:44:50,880 近似​​的另有的触感 将是一个小得多的集体。 864 00:44:50,880 --> 00:44:54,120 >> 我们提供的,以及这些事情,我们 称为演练,视频拍摄 865 00:44:54,120 --> 00:44:57,330 提前一个课程的教学 的研究员,Zamyla,她 866 00:44:57,330 --> 00:45:00,690 引导您通过本周的问题 套,提供的技巧和窍门 867 00:45:00,690 --> 00:45:02,640 摆在面前的挑战。 868 00:45:02,640 --> 00:45:06,230 反之,习题集后 由于今年我们还将释放 869 00:45:06,230 --> 00:45:09,100 小卡子要求验尸, 实际上走你通过 870 00:45:09,100 --> 00:45:13,630 代表性的解决方案,包括好的和 坏了,通过它,你可以推断出如何 871 00:45:13,630 --> 00:45:17,550 你可以有或应该有 实施自己的解决方案。 872 00:45:17,550 --> 00:45:20,500 >> 而我们将第一次提供 今年,特别是 873 00:45:20,500 --> 00:45:23,420 这些学生利用自己的人 当然其他 874 00:45:23,420 --> 00:45:28,580 资源,但仍然挣扎 所有太多,当然 875 00:45:28,580 --> 00:45:33,030 本身将这些学生配对, 资源允许,以便与导师 876 00:45:33,030 --> 00:45:35,840 你有一个更亲密 比房子食堂的机会 877 00:45:35,840 --> 00:45:38,700 让一对一的援助。 878 00:45:38,700 --> 00:45:42,780 >> 现在在一些人的最终一瞥 的高端游戏在望。 879 00:45:42,780 --> 00:45:44,580 你可能熟悉 CS50黑客马拉松。 880 00:45:44,580 --> 00:45:48,120 那么,即将在今年12月,从8:00开始 PM至7:00 PM,在开始 881 00:45:48,120 --> 00:45:51,410 读期间,将有机会 以聚集与同学 - 882 00:45:51,410 --> 00:45:53,130 这将是在晚上9:00左右 - 883 00:45:53,130 --> 00:45:56,550 在此期间,你潜到你的最终 项目的实施旁边 884 00:45:56,550 --> 00:45:59,910 同学,朋友,和食物。 885 00:45:59,910 --> 00:46:03,680 这将是上午01点左右,当 首批食品抵达。 886 00:46:03,680 --> 00:46:08,470 这是上午4:00左右, 特别是今年在CS50黑客马拉松。 887 00:46:08,470 --> 00:46:12,000 >> 但真正的高潮当然是 为了CS50展,校园范围内 888 00:46:12,000 --> 00:46:15,790 展自己的最后项目, 家人和朋友都 889 00:46:15,790 --> 00:46:18,730 邀请,作为我们的招聘人员 我们从行业的朋友。 890 00:46:18,730 --> 00:46:22,170 ,例如,这是一个一瞥 谁参加过2,000人 891 00:46:22,170 --> 00:46:23,160 过去几年。 892 00:46:23,160 --> 00:46:27,180 像这样的表达式并不少见, 同样你 893 00:46:27,180 --> 00:46:29,660 同学们高兴的事情 你已经完成。 894 00:46:29,660 --> 00:46:33,170 >> 而实际上,为此,我们有 一开始的长期事件,以及。 895 00:46:33,170 --> 00:46:37,400 如果这样吸引你的东西,或 你至少好奇什么 896 00:46:37,400 --> 00:46:41,590 这一点,知道一个新的传统 当然,被称为天CS50谜。 897 00:46:41,590 --> 00:46:45,710 这是一对夫妇提起 几年前真正信号校园 898 00:46:45,710 --> 00:46:48,930 是不是该计算机科学 编程,它肯定不是 899 00:46:48,930 --> 00:46:51,960 拥抱只有那些学生 有以往的经验。 900 00:46:51,960 --> 00:46:54,200 这是真正的问题解决 更普遍。 901 00:46:54,200 --> 00:46:57,360 >> 所以益智日,在过去的几年 多年以来,已发展成为一个不错的 902 00:46:57,360 --> 00:47:00,500 合作伙伴与我们的朋友 脸谱,由此就可以神话般 903 00:47:00,500 --> 00:47:04,830 河对岸的奖品和比萨饼 I-实验室这个星期六。 904 00:47:04,830 --> 00:47:09,180 有两个或三个前往该URL 朋友,如果你想参加 905 00:47:09,180 --> 00:47:10,830 在这个新的传统。 906 00:47:10,830 --> 00:47:14,180 >> 所以我想问问,你保持一个 记住的东西,只是我们已经有了 907 00:47:14,180 --> 00:47:17,070 两分钟的剪辑 今天闭幕。 908 00:47:17,070 --> 00:47:19,640 73%以上的是要记住的数字。 909 00:47:19,640 --> 00:47:23,900 蛋糕,也将等待外 耳堂,因为我们在短短休会 910 00:47:23,900 --> 00:47:26,710 夫妇的时刻,这是一个传统 当然,也是如此。 911 00:47:26,710 --> 00:47:29,860 但是,这是关键报价从 课程的教学大纲,要牢记。 912 00:47:29,860 --> 00:47:32,820 最终在这个过程中重要 与其说是你在哪里结束 913 00:47:32,820 --> 00:47:36,580 相对于你的同学,但 你,在第12周,结束了相对于 914 00:47:36,580 --> 00:47:37,960 自己在星期0。 915 00:47:37,960 --> 00:47:43,670 >> 但窥,我们将离开你 在这里,今天这是最后一个在这里 916 00:47:43,670 --> 00:47:47,580 通过我们的但以理,谁做的 刚才wrdly视频。 917 00:47:47,580 --> 00:47:50,000 我离开你这个一瞥 什么样的景象。 918 00:47:50,000 --> 00:47:53,360 我们这样做,如果我们能有CS50 从前面的房间的工作人员 919 00:47:53,360 --> 00:47:57,280 最多的阶段来作画所有 以更多的视觉画面 920 00:47:57,280 --> 00:47:59,100 等待你今年 - 921 00:47:59,100 --> 00:48:00,350 越来越尴尬。 922 00:48:00,350 --> 00:48:02,200 923 00:48:02,200 --> 00:48:05,188 我们将结束 这里的屏幕上。 924 00:48:05,188 --> 00:48:18,634 >> [音乐播放] 925 00:48:18,634 --> 00:48:21,124 >> 国宝马兰:这是CS50。 926 00:48:21,124 --> 00:50:00,226 >> [MUSIC - 马特和KIM,“这是正常的” 927 00:50:00,226 --> 00:50:03,245 >> 扬声器1:我爱比猫多CS50。 928 00:50:03,245 --> 00:50:06,030 >> 扬声器2:Whoaaaa! 929 00:50:06,030 --> 00:50:06,990 >> [笑] 930 00:50:06,990 --> 00:50:08,140 >> 国宝马兰:那么,这是CS50。 931 00:50:08,140 --> 00:50:10,050 上周五,我们会​​看到你。 932 00:50:10,050 --> 00:50:13,370 >> [掌声和欢呼声] 933 00:50:13,370 --> 00:50:17,540 >> 旁白:在接下来的CS50,舞台 演示不按计划进行。 934 00:50:17,540 --> 00:50:19,080 >> DAVID马兰:我们希望找到迈克 史密斯在本电话簿。 935 00:50:19,080 --> 00:50:20,380 嗯,你的直觉是什么? 936 00:50:20,380 --> 00:50:23,750 我可能会跳大致的中间 电话簿,往下看,看到 937 00:50:23,750 --> 00:50:26,830 在M我,我现在知道,迈克 史密斯不是到左边。 938 00:50:26,830 --> 00:50:27,840 他必须是正确的。 939 00:50:27,840 --> 00:50:30,515 所以在这一点上,我们 可以从字面上撕 - 940 00:50:30,515 --> 00:50:33,300 在这一点上,我们可以从字面上撕裂 - 941 00:50:33,300 --> 00:50:36,490 在这一点上,我们可以比喻 撕电话簿一半。 942 00:50:36,490 --> 00:50:38,954 >> [UKELELE拨弄]