>> [音乐播放]
[MUSIC - 罗西尼，“RANZ DES VACHES“威廉告诉]
>> [MUSIC - 英文BEAT“三月 旋转头“]
>> [掌声和欢呼声]
>> DAVID马兰：所以这是CS50。
我的名字是大卫·马兰。
和73％，你有没有现成的经验 随着计算机科学，
相反，你可能会想到什么。
所以今天，我们认为我们会蚕食 ，缺乏熟悉，但也
给你的感觉，对于那些你 更舒适，指示
你可以去这个学期。
>> 因此，让我们开始。
我真的不知道里面有什么， 一台电脑，即使你一样，我
每天都使用它。
但它的一些怎样的箱子，而且也 投入不是很多。
微创，有，是什么？
可能是电源线。
>> 事实上，这一种成分， 电力，我们似乎能够
做相当多的这些天。
但是，在一天结束时，我们 有代表的东西
我们关心。
我们有代表信息 以某种形式。
你可能至少隐约 熟悉的想法二进制或
位以某种方式或其他，电脑 降低到零和一。
但我们可以拥抱，至少 放一点光？
>> 所以，我有这些小 这里的台灯。
这里我有一个电源插座。
我要提出这里面 我的电脑中的至少一个
这些事情，一些能够 被打开或关闭。
在这种情况下，它确实是一个台灯， 但在较低的水平，它的东西
称为“晶体管”。
>> 但是，在我们的世界，这是一个台灯，所以 我要继续前进，并堵塞这
到我这里的电力。
我要求使用这个简单的， 设备简单，这个简单的开关，我
可以代表信息。
例如，现在，我 代表什么，对不对？
我代表什么，我会打电话给0或 假的，相反的东西
实际上存在。
但如果我只是把这个开关， 现在，我代表1。
因此，使用这种非常简单的 内存，如果你愿意，我可以代表
信息。
>> 不幸的是，现在我的电脑 不能做所有的东西。
它只能表示两个值 在整个世界 -
0或1。
但是，什么是一个显而易见的解决方案，现在， 如果我们要扩大我们的电脑
内存和代表更多 不只是0和1？
>> 好吧，让我们抓住另一个等位。
让我们抓住另一台交换机，另一个 晶体管，但是你会喜欢
想想吧。
让我继续前进，堵塞这 进入我的电脑为好。
我要索赔，现在，由 多使用了一点电力和
越来越这些开关 的时候，我可以代表更多这样的
信息。
>> 所以，现在，这是1。
如果我想现在代表 2，我能做到这一点。
约定，但通常情况下，当我们将 最终会看到，有我这样做。
因此，这是0，这是1。
这将是2。
毫不奇怪的是，这将是3。
>> 因此，以这种方式，还可以 我们指望更进一步？
如果我得到第三位，第三开关， 什么是最高的数目，我现在能
计数到0？
所以，如果我从0开始的，对不对？
因为如果我把这个光 实际上堵塞这第三个和最后
这里光线转变成我的电源插座， 那么我有能力代表
这里的任何两个值，二值化 在这里，这里的两个值 -
这样我就可以代表2倍，2倍 2，或8个可能的值。
如果我开始为0，所以会计 这是0，1，2，3，4，5，6，7。
>> 所以这个二进制。
这真的是那样简单。
我认为，这实际上是 相当熟悉的大多数
每个人都在这个房间里。
让我继续前进，打开一个 小的文本编辑器。
>> 您可能还记得从小学 我们有像数百
的地方，十位， 和那些地方。
并记得，如果你有一些小数 像随机号码，
像123，你基本上 写出来的形式
这三列。
为什么是1，2，3是什么 我们知道123吗？
那么，在最左边的列，我们有 100加两个10秒，所以这是120，
加上三个1，所以这是123。
>> 现在这个世界上，我们只是照亮 完全一样的
你已经熟悉多年， 但现在，我们列
是不是权力10。
他们只是权力2。
而这的地方，这 将是三三两两的地方，这是
将是四肢位。
>> 因为我只用最简单的 机制来扭转乾坤
开启和关闭 - 电力流动 或用电不流淌 -
我不太有相同的表达 范围为0到9。
我们要保持它超级简单 在这个世界上的电脑。
我只有0或1 -
或关闭，或真或假。
>> 还等什么，我现在 是1，1，1，因为每个这些
灯亮起。
嗯，这给了我一个4加2，所以 6，加上一个1，这是7。
和ERGO这三个序列 位表示数字7。
>> 所以，这一切的时候，里面的 计算机上，已被任意数量的
晶体管，任意的比特数。
但是，在一天结束时，我们 可以代表信息
简单。
不幸的是，现在我们只算 高达7在CS50迄今为止，但
希望我们可以做一点 比此更好。
事实上，我们能做到。
>> 假设只是我们作为人类 擅自决定，我们将
相关联的数字，如1和2，3， 4，5，6，7，与特定的字母
字母表。
由于历史原因，我要去 开始有些武断，但我
会说，人类，我们要 决定为标准，全球范围内，
65代表数以字母A 66将代表B.点，点，点。
90将代表字母Z
>> 让我们假设，如果我们真的把一些 想到了进去，我们能想出
惊叹号与数字 和小写字母，而事实上，
其他人都为我们做到这一点。
所以，现在我们有位，我们可以 代表数字，数字
我们可以代表字母，并与 信我们现在可以开始撰写
电子邮件和打印字符 在屏幕上。
>> 因此，让我邀请了，如果我能， 8个勇敢的志愿者 -
谁不介意不仅出现 摄像头，但在互联网上 -
来这里，代表八个这样的 位，而不是这三种。
因此，如何对一，二？
如何约三个？
如何四光 蓝色，五就结束了吗？
关于有人在这里吗？
在前面六，七在前面， 和前八，以及。
>> 所以，我正巧有备而来 一大堆纸条。
这些纸片是数字 代表哪些列
你们要代表。
所以，你会是 - 你叫什么名字？
>> 学生：安娜·利亚。
>> 国宝马兰：安娜·利亚 将〜128秒的列。
你是谁？
>> 学生：克里斯。
>> 国宝马兰：克里斯将 是64S栏。
你是谁？
>> 学生：丹。
>> 国宝马兰：丹 是32S栏。
>> 学生：Pramit。
>> 国宝马兰：Pramit的 16列。
>> 学生：莉莲。
>> 国宝马兰：莉莲将787-8。
>> 学生：吉尔。
>> 国宝马兰：吉尔会 是的4s列。
>> 学生：玛丽。
>> 国宝马兰：玛丽将是2秒，？
>> 学生：大卫。
>> 国宝马兰：大卫将 是1S柱。
所以，如果你们能加强一点 着让每个人都可以看到。
你们没有看到的是， 这些纸条是一个
即将小小抄 这些8位指示为
举手或不 举手。
如果他们的手，他们 较1。
如果他们的手撑下来，他们 代表一个0。
>> 同时，我们的观众应该是 能够弄清楚，在此基础上
测绘，什么三个字母的单词，这些 人来说，拼出来。
因此，在短短的时刻，你要 关闭的背面的第一行读
你小抄，你要么 要提高或没有举手。
如果你是一个1，你提出，如果 你是0，你站在那里
笨拙，就像这样。
去。
什么样的数量，首先， 这些家伙是代表？
>> 66。
66，对不对？
我们有一个1在64S栏， 一个1在2S列。
这给了我66，所以出现 代表B.所以
你们有拼写 -
OK，这就足够了。
B.
>> 所以，现在让我们走上 我们的第二个字母。
去。
谁是最快的，在数学在这里？
因此，79。
同样，如果我们添加的所有列 有一个1，目前，只是
像我们以前那样用最简单的 7的例子，我们现在
得到79号。
根据我们的映射是 字母O，所以我们几乎没有。
B，O.最后，走了。
>> 他们代表了什么呢？
减共识。
这只是一个绝对的杂音。
是的，它实际上是87。
好。
>> 因此，如果我们现在映射备份 - 让我们 开始调用我们的ASCII表，
美国标准 信息交换。
这给我们的信 -
不“博”，但“弓”。这是一个完美的 你们采取了弓的线索
背部和头部。
非常感谢。
>> [掌声]
>> 国宝MALAN：你可以留住他们。
实际上，虽然会有人 像台灯，也？
>> [HOOT从观众]
>> 国宝马兰：台灯？
>> [笑]
>> DAVID马兰：真的吗？
台灯为大家？
好的。
所以非常简单的开始 原则，我们现在已经不能只算
从0一路攀升至7日，我们已经 只是投入更多的假设
位或更多的灯或多个晶体管 这个问题，我们可以
代表越做越大的数字， ERGO越做越大范围
字母，英语等。
只是让我们今天的信心 同样我们可以开始
代表图形和视频的，任何人 其他媒体，我们数
今天熟悉。
>> 因此，这是CS50，并在这个类 旁边的你，再次，很多
同学们少 你体验。
我提到这一点，只是因为相当 通常，包括最近为一体的
大一咨询活动和 去年春天的大二学生咨询
活动中，我们经常听到学生的声明 上来时，好了，到CS表
我一直在思考采取这一 介绍类，但我不是一个真正的
电脑的人。
或者，但大家肯定 知道比我多。
我把这个最大的字体 可能，传达这个消息，
这不是事实的情况下。
>> 如果你想知道，应该 事实上，我会在这里？
实现，不仅是这门课程的 标题介绍电脑
科学，它是计算机概论 科学一，所以确实是有
第二次这样的介绍。
所以，其实你不 在错误的地方。
而在今天我的目标是 缓和任何这样的顾虑，你
可能有，但也来画一个 什么样的店图片
学生少，更舒适 都在这个过程中。
>> 但首先，一个字一个讲义 你也有今天，其中
一些常见问题。
它已经有一段时间我们的愿景 现在引入一个新的分级
到这门课程的选项 - 即，SAT / UNSAT。
哲学对我来说，它是很多很多， 更重要的是
在这个类中的学生从事与 材料，受到挑战
材料，并担心远远少于约 力学的实际分数
和信学期的成绩 结束，而是真正拥抱
当然，它的材料。
真的，这种感觉，更普遍的是， 什么有趣起来，
感觉到有挑战和奖励，但 没有失败的恐惧。
>> 而事实上，这也是一个经常性 在这方面和其他入门的主题
在其他领域的课程，你有 当它涉及到这个诚惶诚恐
把一个人的脚趾 不熟悉的水域。
我早在1995年， 是大一新生。
我非常致力于成为 一个州长集中在这里。
但我始终长大带着几分 在计算机科学的兴趣。
我总是很好奇。
>> 但在当时，甚至，我有这种恐惧 甚至踏上CS50，这么多
所以，我什至没有购物 它大一。
唯一的原因，我把一只脚踩在 门大二的时候是因为我
被允许把它的通过/失败。
但是，即使通过/失败，我需要得到 鼓起勇气预约
教授与当时Kernehan， 把这个大的纸，问
他为他的签名和他的 允许探索
这些陌生的水域。
>> 但得益于近年来 这样做时，CS50，当我们
用于合格/不合格，同样会 你的同学数十或数百
都上来了，上帝保佑，在 桑德斯面前这种形式，即
在一些头脑表示无力， 我敢说，执行
是你的同龄人的水平。
这是荒谬的，但我认为 有这种心态。
而且也从来没有在这种文化 SAT /不满足，或通过/失败更多
一般来说，在这个过程中， 还是真的在这个校园里。
>> 所以今年我们改变了这一切。
我会欣喜若狂的一半 这个类或结束
占用了CS50 SAT / UNSAT。
在一年的时间里，这将是美好的 如果几乎每个人都。
此后，或许我们将继续努力 在哈佛大学的字母等级
学院更普遍。
但是现在，我们将做到这一点在我们的 自己的球，我会由衷地
鼓励您阅读这些常见问题 您认为合适的提问，使
希望你，不像我，不是很 有同样的恐惧因素时，
探索大概是什么 一个陌生的地方。
>> 那么，什么是CS50？
这是一个引进的 知识产权企业的计算机
科学与艺术的编程。
但是这究竟是什么意思？
>> 那么，迄今为止，我们谈到很简单 代表信息。
但是，假如我们真正想要 用它做什么。
我们需要引入的概念 我们就这么叫的一种算法。
算法的一个程序，一个进程， 一组指令，用于
做一些事情。
>> 算法可以是 超级简单的。
比如，中，例如，其中一些 你可能熟悉的是这样的
这里的事情。
所以这本书越来越 过时，但曾几何时，
包含了一大堆的名字 和电话号码。
的确，如果我想找到 有人在这个电话簿 -
说，一个叫迈克·史密斯 -
我能找到迈克·史密斯在任何数量 相当简单的方式。
我可以从头开始， 移动到第1页，不存在。
第2页，不存在。
第3页。
是算法， 过程中，是否正确？
>> 因此，它是正确的，对不对？
我做样的白痴 这种方式，但最终我会
找到姓S，希望麦克 在这一节中，我将成为
做我的算法。
但可以肯定它不是直观。
几乎每个合理的人在此 房间也不会那样做。
你会怎么做呢？
>> 你已经直 到中间，对不对？
大致中间。
而你知道，哦，这些都是女士 于是，姓氏是史密斯，麦克·史密斯
是不是清楚，然后在 书的左半部分。
他一定是朝 在右边的s。
而在这一点上，虽然我们大多数人 不这样做，我们就可以在现实中
这个问题，从字面上撕成两半。
>> [欢呼和掌声]
>> DAVID马兰：谢谢你。
>> [欢呼和掌声]
>> 国宝MALAN：你可以从字面上颠覆这个 问题的一半，留下我，
从字面上看，有问题的一半大。
因此，如果这个电话簿 - 大概是 - 约1000页，现在
它只有500。
如果我这样做，我再次意识到，哦， 该死的，我走的太远，我在TS
节中，我同样可以 -
比喻或字面上 -
翻录电话簿 - 它实际上是 容易得多。
我可以从字面上撕裂电话簿 一半，现在离开我
不是1000，不是500 -
250页。
我可以去125，其中半数， 一半一半，
直到最后我会留下 只有一个单一页面上。
>> [笑]
>> 国宝马兰：这是 第一部分失败。
一个单一的页面上 迈克希望。
现在，这些不同的算法可以 排序评估或评估
方式不同。
第一个是非常线性的，对不对？
打开网页，看看迈克。
这是非常线性。
如果有一个页面在手机 本书中，它可能会采取我
一个第二，一个单位时间， 但我们的计算时间。
>> 所以，我可能会得出这样这条线 这里的大小，从而
问题增加从左至右 -
电话簿变小做大 -
和时间将会增加 垂直轴，更大的
电话簿。
因此，n是只是一个普通的变量 计算机科学家用来代表
一定的价值，一些数字。
所以n的线性增加。
，它的规模翻番的电话簿 要带我的两倍多
时间，最有可能的是，找到迈克。
>> 现在，我本来是智能 这一点，对不对？
我得到迅速无聊。
可以这样做三三两两。
所以两页，然后四， 六，八。
我可以通过它开始飞 快一点，尽管轻微风险
超调迈克，但该曲线是不 将是所有不同。
它仍然将是一条直线 线，但速度稍快。
>> 但是我做了什么？
其实，我做了一件 从根本上更好。
我实现了，我们会打电话给数 时间日志，这个绿色的n
行有很多，很多，很多 直边少。
而相反，它表明，因为它排序 曾经如此逐渐趋于无穷大，
我其实可以采取1000页 电话簿，其规模翻番
明年 - 因为想了很多 越来越多的人进入城镇。
>> 所以，现在我已经得到了2000页，但如何 很多步，更聪明
算法要采取？
只有一个问题。
我的意思是，这是一个强大的东西。
如果我们去到4000页，明年 这是要带我
只有两个更多的步骤。
所以，你可以扔掉越做越大 我的问题，不像网页
投掷越做越大的问题 在谷歌和Facebook的每一天
这个世界，它不 这样一个大问题。
因为我把更多的思考和关怀 我的算法来解决
有效的问题。
>> 事实上，这将是一个 本课程的目标。
你会的，一路走来， 学习如何编程。
您将学习如何编程 任何数量的语言。
但是在一天结束的时候，当然是 解决问题和获得
更好地解决问题 - ，如 这样的情况下，解决问题
更有效率。
>> 现在，因此，到目前为止，我们已经做到了这一点 相当直观。
让我们的介绍相当的东西 一般称为伪代码。
所以，我们最终会得到的， 在这个过程中，
各种编程语言。
但今天我们会做类似英语 语法，其中你只是客气的说
你是什​​么意思，但你永远是这样 简洁，你不用担心
语法和完整的句子。
你只是表达自己 尽量简洁。
>> 因此，伪代码类似英语 语法代表
一种编程语言。
为此，让我提出， 我们现在模拟的过程中，我们只是
计数的东西一点点描述 不同，这一次采取了
看在这5分钟的视频制作 在TED的朋友，
定义什么是伪代码，定义了什么 算法的思想，甚至
虽然这个例子中，你将要看到的 ，本身，超级简单，它的
要开始给我们的精神 模型中，词汇，其中
做多，复杂得多 算法相当快。
>> [开始播放视频]
>> [音乐播放]
>> 旁白：什么是算法？
在计算机科学中，算法是一个 解决一些指令集
问题一步一步来。
通常情况下，算法执行 电脑，但我们人类有
算法，以及。
例如，你将如何去 清点人数
在一个房间里的人吗？
好吧，如果你像我一样，你可能会 在每个人点，一个在
一时间，从0计数。
1，2，3，4，等等。
>> 嗯，这是一种算法。
事实上，我们试图表达的 更正式一点的伪代码 -
类似英语的语法类似于 一种编程语言。
让N等于0。
每个人在房间，设置 N等于N加1。
>> 如何解释这个伪代码？
，线一条声明，可以这么说， 一个变量N和初始化
其值设置为0。
这意味着，在开始 我们的算法，东西
我们点的值为0。
毕竟，在我们重新开始计数， 我们还没有算什么呢。
调用此变量N 仅仅是一个惯例。
我可以把它称为几乎所有东西。
>> 线两条demarks的开始 循环中，一个序列的步骤，将
重复一定的次数。
因此，在我们的例子中，我们正在采取步骤 计数在房间里的人。
之下线两条线3条， 这究竟是如何描述
我们会去计数。
缩进意味着它 一行三人将重复。
>> 那么，什么的伪说 之后，从0开始，对于每个
人在房间里，我们将 N的增加1。
现在是这样的算法是否正确？
好吧，让我们一鼓作气，有点。
它的工作原理，如果有 两个人在房间里？
让我们来看看。
>> 第一行中，我们初始化N到0。
对于这两种人的， 我们再增加N的1。
因此，第一次通过 循环中，我们更新n从0到1。
在第二行通过同一 循环中，我们更新n从1到2。
因此通过此算法结束，n为2时 这的确匹配的数量
房间里的人。
>> 到目前为止，一切都不错。
怎么样一个角落里的情况下，虽然？
假设有0人 在房间里 - 除了我，
谁做计数。
第一行中，我们初始化N到0。
不过，这一次，行三不 执行，因为没有一个
人在房间里。
所以N保持为0，相匹配的 房间里的人的数量。
很简单，不是吗？
>> 但是，计数一次一个 是非常低效的，也没有吗？
当然，我们可以做的更好。
为什么不能指望两个人在一个时间吗？
而不是计数1，2，3，4，5，6，7， 8，等等，为什么不计数，2，
4，6，8，等？
这听起来甚至更快， 它肯定是。
>> 让我们来表达这种优化 在伪代码。
让N等于0。
对于每一对的人在房内， 设置N等于N加2。
很简单的变化，对不对？
而不是数人 我们的时间，而不是算
他们两个在同一时间。
因此，该算法的两倍 作为作为最后快。
>> 但它是正确的？
让我们来看看。
它的工作原理，如果有 两个人在房间里？
第一行中，我们初始化N到0。
对于一个对人， 我们再增加N的两个。
因此，该算法的末端，N是2， 这的确匹配的数量
房间里的人。
>> 假设下一个有 0人在房间里。
第一行中，我们初始化N到0。
像以前一样，三线不执行 ，因为没有任何对
在房间里的人。
所以N保持为0，这的确 的数目相匹配
房间里的人。
>> 但是，如果有三个 房间里的人吗？
该算法票价如何？
让我们来看看。
第一行中，我们初始化N到0。
对于那些人一对， 我们再增加N的2。
但是然后呢？
是不是又对人 在房间里，所以没有线两条
不再适用。
因此该算法的末端，N 仍然是2，这是不正确的。
>> 实际上，该算法的说是 越野车，因为它有一个错误。
让我们纠正了一些新的伪代码。
设n等于0为每对 人在房间。
设置N等于N加2。
如果一个人仍然未成， 设置N等于N加1。
为了解决这个问题，我们已经 介绍，四线，
条件，否则称为分支 如果有一个只执行
人，我们不能 与另一对。
所以现在，是否有一个或三个 或任何人在奇数
室，该算法 现在指望他们。
>> 我们可以做得更好？
嗯，我们可以指望3S或4S，甚至 5秒和10秒，但除此之外，它
要得到一点点 困难点。
在一天结束时，是否执行 通过电脑或人类，
算法只是一套 的指令
要解决的问题。
这些都是只有三个。
你会解决什么问题 的算法？
>> [END视频播放]
>> 国宝马兰：这是唯一的一次 我会以卡通的形式出现。
但离开了这个故事， 现在我们可以做的更好？
三五成群，我方要求，我们可以指望 人要快得多，但我们可以
从根本上做比这更好的吗？
我敢打赌我们能做到。
>> 如果我们引入了一点我们自己的 伪代码在这里，我向你求婚
我们能够实现这样的一条线。
我们不会指望人们 一，二，三，四。
我们不打算去两个， 四，六，八。
我们打​​算这样做从根本上更好 通过重新思考这个问题，并在此
的情况下，利用一个原本 未充分利用的资源。
>> 在短短的时刻，我希望你能原谅 哄我们站立在
的地方，在这一点上，我们要 请各位在你
心目中的数字1。
然后，你会越来越多地 笨拙，随着时间的推移，找到
是谁站在别人，结合 您的数字加在一起
通过将它们添加。
你坐就是那么回事出赛 下第一，其他人
重复。
>> 所以换句话说，播种所有 你有数字1，然后
，结合那些1到2和2 到4S，与大家越来越
坐了下来，我们应该在年底 这个算法，只有一个贷款
谁没有坐下的速度不够快，但灵魂 谁拥有整个观众数
在他或她的头脑。
>> 所以，如果你想，让我们继续前进， - 第一个步骤 - 中站起来的地方。
和执行。
>> [人群潺潺]
>> 国宝马兰：你知不知道 劳伦是什么？
729？
>> [人群潺潺]
>> 国宝马兰：没事吧？
>> [人群潺潺]
>> 国宝马兰：所有的权利，我们应该 即将结束。
我们看到一个家伙仍然站在这里。
还有谁需要进行配对？
如果你们要配对了。
有人往上顶。
我为什么不伸出援助之手。
对于极少数的人，谁仍然 站立，什么号码呢，你
有在你的心中吗？
>> 学生：78。
>> 国宝马兰：78加 -
谁站在这里吗？
>> 学生：39。
>> 国宝马兰：加39。
再加上还有谁仍然屹立不倒？
81？
OK，还有谁？
另外有81个？
哇。
然后在后面？
>> 学生：49。
>> 国宝马兰：49，加？
>> 学生：98。
>> 国宝马兰：98加？
那是别人吗？
12？
良好的工作。
>> [笑]
>> 国宝马兰：哦，112 -
哦。
干得好！
>> [笑]
>> [掌声]
>> 国宝马兰：其他任何人 仍然站立？
对不起？
>> 学生：99。
>> 国宝马兰：99。
其他人仍然站立？
而这里的学生总数 实际上是，根据 -
你有多少？
呵呵，实际人数 室，根据帐户
教学研究员在做什么 在每个人的方式，为729。
因此，出一屋子的哈佛学生 算自己的人，
答案是637。
>> [笑]
>> 国宝马兰：如此接近。
但仍。
OK，所以这是一个教学 此刻，对不对？
现在这是我们形容为一个错误。
沿途的某个地方，我们做了一些 算术错误，或者是有人坐了下来，
或向左，或出事了。
但是，这很好。
因为，我们甚至还在 八九不离十了。
我认为，我们得到了错误的 解答了很多比我快将有
使用线性方法我。
>> 因此，让我们假设其实我们没有得到 正确的，但认为现在大概什么
每次发生的，与我 自己的天真指向算法。
一，二，三。
如果确实有729人或637人 在这里，我将采取
从字面上637或729勾缝 手指和
我总计数递增。
我可以做的更好一点 去二，四，六，八，
这样的速度的两倍，甚至三倍或 翻两番，这取决于如何我可以
做到这一点在我的脑海计数。
>> 但是，这种方法了你们 是根本不同的。
因为在开始的时候， 大家站了起来。
因此，所有729。
然后从字面上一半 你坐了下来。
在这之后，另一 你的一半坐了下来。
>> 和的总次数，你 你们可能已经坐了下来大约是
八，九，十总次数， 这取决于我们的总数是什么。
我们可以做排序 这是另一种方式。
如果我们有1,024人在房间里， 总数的时候，你可以
减半1,024人是10。
>> 现在想想，在 其他方向。
假设，可笑的是，我们不得不说， 四十亿人在这个房间里，
稍大的房间。
我们已经多少次 通过此算法，使得半
该类坐下？
它只是要带32个这样的 操作，即使在一个类的大小
四十亿。
为什么呢？
因为4亿到以下两个 亿元，去到一百万，去
500万元，250 万，点，点，点。
我只能这样做，师约有32 时间，在这一点上，大家除了
一个人会罚站。
>> 而这，也同样是一个功能强大的排序 想法越来越多，我们将尝试
利用在这个过程中，并在 编程和计算机科学
一般来说，这些病菌的想法与 然后，我们可以解决问题了，
更有力。
因此，我们开始很简单 伪代码和一个男人在一个房间里，但
现在整个房间挤满了人 我们做了从根本上更好。
>> 好吧，让我们从现在过渡 伪代码的一些实际代码。
这种语言，你即将看到的 被称为JavaScript和
我们会回到这个走向 学期结束。
它是一种编程语言， 使用让网站和其他类似
软件的这些日子。
而我们也使用它，这要感谢朋友 我们在斯坦福大学进行编码
这里的一些隐藏信息。
这是艺术的隐秘， 可以这么说，在那里你可以隐藏
否则出现的信息 噪音或一个完全不同的
图像完全。
但在这个特殊的图像嵌入 的确是一个秘密的各种各样的消息。
>> 因此，让我继续前进，拉起 相同的图像在这里，这
在Web浏览器的时间。
我要挥挥手的一些 今天的细节，特别是
对于那些你谁，这看起来像 只有JavaScript，但希腊，作为一个
完全陌生的语言。
但是，这是一个例子的 一种编程语言。
>> 现在来看，信仰 这第一行代码 -
和代码，我只是意味着文本。
我可以从字面上输入的文本 到Microsoft Word中，如果我有
合适的软件，然后 用它做什么。
编程源代码，编程 代码，是真的只是文字，它
看起来不同，基于什么语言 你使用的，不像英语
西班牙和俄罗斯都期待不同 当你输入你的键盘。
>> 所以这第一行，现在 信仰，只需打开一个图形
互联网，这种吵闹的图形 我们刚才看到的。
这下一行，这里是一个例子的 循环，我们居然看到了同样的
在TED视频行话。
一个循环是再次发生 又一次，即使这
绝对看上去很神秘， 关键字，以及一些括号中，并
一些分号。
我们会回来用不了多久， 但循环本质上是有
讲程序，遍历所有 那些嘈杂的点，从左至右
右，从上到下。
>> 因为在一天结束时，一个图像 喜欢这样 - 实际上，你可以
样的这台投影机上看到它 -
真的只是一个网格点。
因此，我们可以识别每个这些点 由一个坐标的x，y，以及与此
程序，我们现在可以开始 做这些点东西。
>> 所以我要继续前进在这里， 做的是我要做出一些改变。
首先，我要继续前进，摆脱 所有，绿色和蓝色的
噪音，我要继续前进 并键入以下
诚然，语法晦涩。
IM的图像。
设置蓝色位置X，逗号， 位置Y为0。
换句话说，我想就 关闭所有的蓝色
照片中的点数。
>> 我要继续前进现在点击 运行/保存“按钮，你会
右侧的通知， 生成的图像出现。
现在，它的超级绿色，但是这并不 令人惊讶的，因为我从字面上变成
关闭，或者通过使1 0，所有 照片中的蓝色。
>> 好了，现在让我们做多一点。
IM的图像，X，Y，点setGreen。
只是意味着左迭代 到右，从上到下。
把它关掉的值 为0，以及。
保存。
而在投影机上，你不能真正 真正看到任何东西。
>> 我的笔记本电脑屏幕上，如果我只是在同行中 以正确的方式，我可以看到一个有点
形象，因为他们仍然 一些红色在那里。
如果你曾经听到的缩写RGB -
红，绿，蓝 -
它指此组合物 使用的图像
仅这三种颜色。
而现在，我们已经扔掉 全绿，全蓝，但
没有太多的红色。
>> 所以，让我杀青的红色。
我怎样才能做到这一点呢？
好吧，首先，我要问 这一计划的一个问题。
我要继续前进，让我们称它为 一个变量，就像代数。
你可以有x或y或z。
我要声明一个变量 就是说，把这个变量，
暂时的值 图像的getRed X，Y值。
>> 再次，我们会回来的所有 这些细节在将来。
但现在，只需要信仰 此行是要求程序，
红色的X，Y值是什么？
在那个特定的点？
>> 然后我会做一些事来。
然后我会做图像点集红色 在X，Y，Y，但这个时候我要去
提高做冲次， 比方说，10。
因此，增加了10倍。
让我现在缩小 点击可以运行/保存。
瞧，这是有整个 一次，尽管我们人类的眼睛
不太可能看到它。
>> 所以，现在是真正的代码， 例如，一种语言，我们就来
回到之前长。
但是实现，特别是那些你 没有这样的经历，这是相当
很快，我们自己将 写出这样的代码存在。
事实上，工具与你 有些熟悉，或许是CS50
自己当然购物工具，这是 实际上一些今年夏天重新开机
CS50自己以前的学生， 现在打开TFS。
>> 因此，这恰好是建立了一个网站 在一个叫做PHP语言。
它使用一个名为mysql的数据库，事情 我们将得到我们的手
后来在学期脏。
但相信它或没有，甚至一些 这样，最终减少对
最简单的循环和条件 分支，如我们看到的只是一个
刚才在TED视频。
>> 我想我会做什么，现在是份额不 只是我们的工作人员取得了
校园，而是东西 以前的一个学生 - 三
学生，其实 -
过去这一年，塞拉利昂，但以理， 山姆，最后一名没有事先
编程经验 当他拿着CS50。
而且，他们为他们的最终项目 展出，在CS50博览会，
应用程序名为wrdly，这是一个 他们的基于Web的程序
这个视频，我想我会分享 究竟什么是让你感受到
可能术语年底。
>> [音乐播放]
>> 国宝马兰：这是从周零 第12周在过去的一年。
>> [掌声]
>> 国宝马兰：作为传情，也真的 磨你的胃口是什么
可能的话，你可能已经看到了， 或可能很快就会看到，market.cs50.net，
新的工具，课程的团队 一直在努力，这次在
与哈佛学生 机构，例如，从今年起
并继续希望到这个 夏天来临，你就会有一个标准
在校园的机会，购买和 卖你感兴趣的东西。
通过HSA合作，你会 也可以掉落物品
HSA在一些实体店 在未来的点，以
代理的事情，尤其当你 毕业后不一定要
丢弃的东西，但实际支付 转发给乡亲可能会跟随你的人
在校园里。
所以来。
>> 但有点更具体而言，一个工具 CS50在最近的问世
年，其中有些人可能是 你熟悉和其他可能
现在，谷歌搜索，你会在CS50.net/2x 找到一个链接到一个Chrome扩展
这是示范如何可以 使用JavaScript，同样的语言，我们
艾菲尔铁塔前的时刻， 实施2X播放速度
为所有哈佛的iSites视频。
这是内置 到CS50自己的视频播放器。
但是它也同样，如果你开始挖 到源代码中，我们将
愉快，你会怎么看 你甚至可以解决这样的问题，
网站加速部件 你已经非常熟悉。
>> 所以一个字现在在球场上， 的期望和什么样的未来。
在一般情况下，我们确实会聚集在这里 在星期一和星期三 - 尽管
这个星期五，我们将齐聚一堂，因为 购物周 -
下午1:00至下午2:00，虽然 有时直到2:30。
鉴于，因此，你可能会想要或 下午2:00，必须采取一些类
以后，甚至在此之前，不实现 当然是支持什么叫做
同时招生，据此，我们将 支持一份请愿书，广告牌和
居民代表您院长，如果 你在此有冲突的地方
下午1:00至2:30的范围内。
头到该网址在线 更多的细节。
>> 但是，在所述支撑结构 特点CS50，为学生
越来越不舒服一样，我们 具有明显的轨道区段。
这是几个星期的假，但 用不了多久，你会问到
您的舒适程度。
你在那些不太舒服， 更舒适，或
介于两者之间？
>> 我们将有三个不同的 迎合的轨道
恰恰是那些观众。
所以你应该在任何时候，在长期 甚至觉得像你竞争
反对任何学生有更多 或背景比你少。
事实上，当然，就是要 更协作和多
比这更开放。
>> 在条款的问题集，你会 发现，那就是，除了
每个星期的问题标准版 设置，也往往是“黑客
版“意味着要针对性 在5％至10％左右的
的确是在那些人口 更舒适，更想了解更多
比标准的一个挑战 版那的pset预计。
那些更多细节 发现在教学大纲。
>> 但也有细节可以发现 课程下旬天。
通常问题集 周四到期。
但是，您可以扩展您的许多 截止日期从周四至今年秋天
周五简单地满足我们一半， 可以这么说，回答几场热身
的一周的问题中的一些问题 集，它会自动
然后给你一个额外的24小时。
我们也会下降的最低 得分，每教学大纲。
>> 为了给你的感觉是什么问题 集 - 因为它的确是
课程的问题集 几乎每一个最终定义
学生的经验，更何况比 讲座，超过的部分，更多的
所以比大多数其他任何 当然方面。
例如，去年，我们开始， 我们将在今年开始，从零开始。
特别是这个星期五，我们将使用， 短短一天的时间，图形
编程语言，我们会 通过拖动开始编程
仅丢弃的拼图碎片 组装身体是否有意义
这样做的逻辑。
>> 下周，我们会很快过渡到 C，一个相当老了，但非常小，
简单的语言，使我们能够 真正从0到60的过程
短短几个星期，然后过关 那些同样的技能和知识
基本的编程结构成 更高层次的语言，如PHP，
JavaScript中，而其他人还在。
>> 去年，第三pset的过程中 密码学，
特定领域的应用，使我们 要求学生实施任何
大量密码，程序 争相解读信息，
加密。
对于黑客版，相比之下， 我们给黑客学生档案
从一个标准的Unix计算机 用户名和密码，
其中后者是加密的， 我们这些挑战黑客
学生进行解密，尽其所能， 这些密码，仍然在那
同一个域。
>> 争夺，一个游戏，一些 你也许熟悉。
取证片，我们要求学生 一直恢复数据
否则从我自己的数字删除 相机的闪存卡，
其实写软件要弄清楚， 这里的0和1
，数码相机，以前 由JPEG图形？
>> 去年进行排序的一个挑战 涉及书面最快的
拼写检查的可能，竞 对朋友和同学，如果
他们想。
实施赫夫“蓬蓬， 一个压缩程序。
然后结束本学期CS50 金融，一个基于网络的应用程序，
您创建了一个ETRADE网站 购买和出售股票，所以
说话，实际上拉动近 实时报价雅虎
融资渠道。
>> 我们没有做什么去年 一个问题集，剩下的
仍然喜爱。
如果你从来没有去 shuttle.cs50.net，你会看到一个用户
接口有点像这样。
但两年前，类 使用谷歌地图和实施，
谷歌地球插件和一点点 的精明驾驶校园周围，
因此，本场比赛的目标是， 你可以看到一些面孔，
是推动校园周围寻找 人员，教学研究员和CAS，
当你做什么，把他们 到你的穿梭巴士。
实际上他们没有在这里似乎是， 所以我们要进入一个作弊的代码。
>> [笑]
>> 国宝马兰：我们走吧。
好的。
这里现在是工作人员 股价在整个校园。
正如你可以看到，在右手 屏幕的一侧，穿梭巴士
拥有空座位。
的目标是写 代码与模拟
驾驶拿起下降 关闭乘客。
那一个，也使用的语言 称为JavaScript。
因此，实现该方案一样，将 在我们的同样的轨迹
今年，以及。
>> 现在，在条款，额外的支持， 我们的办公时间。
正如你可能已经看到在自己的房子 食堂或在安尼伯格，
我们会在房子里用餐 大厅每周四晚 -
莱弗里特Pfoho，艾略特和安嫩伯格 今年，下午8:00至下午11:00。
而我们认为我们会做好今年 是有点不同的东西。
>> 如果你听到的传言去年 这是一个有点太紧张，这
今年的办公时间，我们将介绍 下周，将是更加有机，
抵达后，你会 派遣到一个特定的表
多个工作人员在那里等待， 我们会做的事情更
有机
没有更多的队列，没有更多的iPad，但 而有更亲密
只是围着一张桌子交谈 八左右的学生，使我们
近似​​的另有的触感 将是一个小得多的集体。
>> 我们提供的，以及这些事情，我们 称为演练，视频拍摄
提前一个课程的教学 的研究员，Zamyla，她
引导您通过本周的问题 套，提供的技巧和窍门
摆在面前的挑战。
反之，习题集后 由于今年我们还将释放
小卡子要求验尸， 实际上走你通过
代表性的解决方案，包括好的和 坏了，通过它，你可以推断出如何
你可以有或应该有 实施自己的解决方案。
>> 而我们将第一次提供 今年，特别是
这些学生利用自己的人 当然其他
资源，但仍然挣扎 所有太多，当然
本身将这些学生配对， 资源允许，以便与导师
你有一个更亲密 比房子食堂的机会
让一对一的援助。
>> 现在在一些人的最终一瞥 的高端游戏在望。
你可能熟悉 CS50黑客马拉松。
那么，即将在今年12月，从8:00开始 PM至7:00 PM，在开始
读期间，将有机会 以聚集与同学 -
这将是在晚上9:00左右 -
在此期间，你潜到你的最终 项目的实施旁边
同学，朋友，和食物。
这将是上午01点左右，当 首批食品抵达。
这是上午4:00左右， 特别是今年在CS50黑客马拉松。
>> 但真正的高潮当然是 为了CS50展，校园范围内
展自己的最后项目， 家人和朋友都
邀请，作为我们的招聘人员 我们从行业的朋友。
，例如，这是一个一瞥 谁参加过2,000人
过去几年。
像这样的表达式并不少见， 同样你
同学们高兴的事情 你已经完成。
>> 而实际上，为此，我们有 一开始的长期事件，以及。
如果这样吸引你的东西，或 你至少好奇什么
这一点，知道一个新的传统 当然，被称为天CS50谜。
这是一对夫妇提起 几年前真正信号校园
是不是该计算机科学 编程，它肯定不是
拥抱只有那些学生 有以往的经验。
这是真正的问题解决 更普遍。
>> 所以益智日，在过去的几年 多年以来，已发展成为一个不错的
合作伙伴与我们的朋友 脸谱，由此就可以神话般
河对岸的奖品和比萨饼 I-实验室这个星期六。
有两个或三个前往该URL 朋友，如果你想参加
在这个新的传统。
>> 所以我想问问，你保持一个 记住的东西，只是我们已经有了
两分钟的剪辑 今天闭幕。
73％以上的是要记住的数字。
蛋糕，也将等待外 耳堂，因为我们在短短休会
夫妇的时刻，这是一个传统 当然，也是如此。
但是，这是关键报价从 课程的教学大纲，要牢记。
最终在这个过程中重要 与其说是你在哪里结束
相对于你的同学，但 你，在第12周，结束了相对于
自己在星期0。
>> 但窥，我们将离开你 在这里，今天这是最后一个在这里
通过我们的但以理，谁做的 刚才wrdly视频。
我离开你这个一瞥 什么样的景象。
我们这样做，如果我们能有CS50 从前面的房间的工作人员
最多的阶段来作画所有 以更多的视觉画面
等待你今年 -
越来越尴尬。
我们将结束 这里的屏幕上。
>> [音乐播放]
>> 国宝马兰：这是CS50。
>> [MUSIC - 马特和KIM，“这是正常的”
>> 扬声器1：我爱比猫多CS50。
>> 扬声器2：Whoaaaa！
>> [笑]
>> 国宝马兰：那么，这是CS50。
上周五，我们会​​看到你。
>> [掌声和欢呼声]
>> 旁白：在接下来的CS50，舞台 演示不按计划进行。
>> DAVID马兰：我们希望找到迈克 史密斯在本电话簿。
嗯，你的直觉是什么？
我可能会跳大致的中间 电话簿，往下看，看到
在M我，我现在知道，迈克 史密斯不是到左边。
他必须是正确的。
所以在这一点上，我们 可以从字面上撕 -
在这一点上，我们可以从字面上撕裂 -
在这一点上，我们可以比喻 撕电话簿一半。
>> [UKELELE拨弄]