1 00:00:00,000 --> 00:00:15,059 >> [MUSICのPLAYING] 2 00:00:15,059 --> 00:00:19,170 >> これはCS50--ハーバードあります 大学の紹介 3 00:00:19,170 --> 00:00:22,070 知的に コンピュータサイエンスの企業 4 00:00:22,070 --> 00:00:23,800 そして、プログラミングの芸術。 5 00:00:23,800 --> 00:00:27,020 そして、私の名前はデビッド・マランであり、 私はちょうど今朝考えていました、 6 00:00:27,020 --> 00:00:33,120 驚くほど、今日20年、それをされています 君たちが今どこにいるので、私は最後に座っていました。 7 00:00:33,120 --> 00:00:33,840 >> それは1996年でした。 8 00:00:33,840 --> 00:00:37,550 私は二年生だった、と私は取っていました 非常に初めてCS50。 9 00:00:37,550 --> 00:00:40,890 そして、私も神経を得ていませんでした 年生、それを自分自身を取るために、 10 00:00:40,890 --> 00:00:42,500 一部のための時間。 11 00:00:42,500 --> 00:00:44,782 私にコンピュータサイエンス 種類のMEH、のようでした。 12 00:00:44,782 --> 00:00:46,990 私は成長しているオタクのビットでした アップが、私は本当にしませんでした 13 00:00:46,990 --> 00:00:49,180 いかなる知的を持っています 見えるものに興味 14 00:00:49,180 --> 00:00:51,920 ただの全体の束であることを すべての時間をプログラミングする人。 15 00:00:51,920 --> 00:00:53,904 >> そして、私は正直に言うと怖がっていました。 16 00:00:53,904 --> 00:00:56,820 もちろん、コンピュータサイエンスより 一般的に持っていたし、ある程度、 17 00:00:56,820 --> 00:01:01,230 まだフィールドのこの評判を持っています 私たちのためだけで非常に多くの場合、注意してください 18 00:01:01,230 --> 00:01:04,410 それに慣れていないし、それがわかりません。 19 00:01:04,410 --> 00:01:08,480 私が買い物をするまで、それは本当にありませんでした このクラスその年生fall-- 20 00:01:08,480 --> 00:01:10,880 その後も、私は入学します professor--理由 21 00:01:10,880 --> 00:01:13,950 私の最初の指導者の1、ブライアン 今Princeton--でカーニハン 22 00:01:13,950 --> 00:01:15,700 私は失敗し、クラスパスを取ることができました。 23 00:01:15,700 --> 00:01:18,020 そして実際、それが理由です 今日我々ができるようにと奨励します 24 00:01:18,020 --> 00:01:20,030 このクラスを取るために学生がUNSAT /座っていました。 25 00:01:20,030 --> 00:01:22,040 >> だけにして、によって 学期末 26 00:01:22,040 --> 00:01:24,870 私はこれ、すごい、のように実現しませんでした このようななじみのないフィールドではありませんでした。 27 00:01:24,870 --> 00:01:26,850 実際、これがありました 非常にフィールドに権限を与えます、 28 00:01:26,850 --> 00:01:28,970 そしてより多くのエキサイティングな、 特に後に、 29 00:01:28,970 --> 00:01:32,809 私は中にコースを取ったとして、 演劇芸術101とラテンA 30 00:01:32,809 --> 00:01:34,600 そしてその後、最終的に 大学院の考古学、 31 00:01:34,600 --> 00:01:37,860 私は本当に見始めました このフィールドの交点、コンピュータ 32 00:01:37,860 --> 00:01:41,979 科学、人文科学と、 自然科学、芸術、医学、 33 00:01:41,979 --> 00:01:42,520 等が挙げられます。 34 00:01:42,520 --> 00:01:44,420 そして、そのためには、これだけ何です コンピュータサイエンスに関するきちんとしました 35 00:01:44,420 --> 00:01:46,930 最終的には、として私たちは、あなたがいただければ幸いです see--その適用であります 36 00:01:46,930 --> 00:01:50,280 これらの他の分野、そしてどのようにすることができますへ 今日のいくつかを取り、学期の 37 00:01:50,280 --> 00:01:53,070 アイデアや実践的なスキル バック独自のドメインに、 38 00:01:53,070 --> 00:01:58,200 そして実際にこの交差点を探ります リベラルアーツと科学の。 39 00:01:58,200 --> 00:02:02,690 >> あなたのだから73%、最後の場合 今年は、任意の指標です、 40 00:02:02,690 --> 00:02:04,390 前のCSのコースを取ったことがありません。 41 00:02:04,390 --> 00:02:06,389 だから私のように、あなたが、場合 少し感じ 42 00:02:06,389 --> 00:02:09,190 怖い、または率直に言って、あなたがないです あなたもここにいる理由を本当に確認してください。 43 00:02:09,190 --> 00:02:11,510 おそらく、あなたはいくつかの続き 今サンダースに渡って友人。 44 00:02:11,510 --> 00:02:12,490 それは完全に罰金です。 45 00:02:12,490 --> 00:02:15,059 ここでの目標は、フックすることです あなたとあなたを安心させるために 46 00:02:15,059 --> 00:02:17,100 そのあなたが見なければ 左と右に、 47 00:02:17,100 --> 00:02:21,480 あなたがクラスメートを参照してくださいするつもりです ほとんど、あるいは同じくらいの経験など 48 00:02:21,480 --> 00:02:22,890 あなた自身が持っているかもしれません。 49 00:02:22,890 --> 00:02:25,280 そして実際、私たちは共有します いくつかの統計以降の今日 50 00:02:25,280 --> 00:02:28,120 どのような人口統計についての クラスは、通常、のように見えます。 51 00:02:28,120 --> 00:02:31,440 >> コメントを追加しましたreassurance--この私たちのような 私はもちろん引き継いだので意味ですか 52 00:02:31,440 --> 00:02:33,252 何年かago--で コー​​スのシラバス 53 00:02:33,252 --> 00:02:35,460 そのthis--が何であるかを最終的に このコースで事項 54 00:02:35,460 --> 00:02:38,040 そんなにあなたが終わるところではありません あなたのクラスメートからの相対まで、 55 00:02:38,040 --> 00:02:43,110 11週ではなく、どこの終わり 学期は、自分自身に対して終わります 56 00:02:43,110 --> 00:02:46,280 週0で、あります 私たちは今日ここにある場所。 57 00:02:46,280 --> 00:02:48,704 そして、これは私が実現するものです すべてのそれらの年前。 58 00:02:48,704 --> 00:02:50,620 そして、私は多くのを知っています クラスはこれを言うが、それはです 59 00:02:50,620 --> 00:02:52,450 コンピュータサイエンスは特にそう。 60 00:02:52,450 --> 00:02:55,320 一日の終わりに、このフィールド それが私にあったように不慣れです 61 00:02:55,320 --> 00:02:58,590 そしてあなたにかもしれないが、実際にあります ただ問題解決について。 62 00:02:58,590 --> 00:03:01,324 そのようなものとして、これを持っています 他のフィールドを取得するために適用可能。 63 00:03:01,324 --> 00:03:03,490 そして実際に、私たちがしようとした場合 これが何を意味するのか蒸留するために、 64 00:03:03,490 --> 00:03:06,897 これは問題解決であります その本質的に、私はあえて。 65 00:03:06,897 --> 00:03:09,480 何でもそれはとてもinput--あります あなたが解決しようとしているということです。 66 00:03:09,480 --> 00:03:12,264 うまくいけば、ある出力は、あります その問題の解決策。 67 00:03:12,264 --> 00:03:14,180 そして、私たちと同じように コンピュータサイエンスで言います、 68 00:03:14,180 --> 00:03:17,310 このブラックボックスがあります あなたは必ずしもない真ん中 69 00:03:17,310 --> 00:03:19,450 それがどのように動作するかを気にする必要があります。 70 00:03:19,450 --> 00:03:22,230 あなた自身は、最終的にかもしれません その箱の中に何を実装。 71 00:03:22,230 --> 00:03:25,194 しかし、今日の目的のために、より 一般的に生活の中で、あなたが気にすべての 72 00:03:25,194 --> 00:03:26,610 これらの問題を解決してしまうことがあります。 73 00:03:26,610 --> 00:03:29,340 >> そして、このコースは何ですか 最終的には約模索しています 74 00:03:29,340 --> 00:03:31,700 の交差点 これらの入力および出力、 75 00:03:31,700 --> 00:03:34,410 これらは、いわゆる アルゴリズム、我々はすぐにわかりますように、 76 00:03:34,410 --> 00:03:37,450 それが何であるかを実装します 下にあり、フード。 77 00:03:37,450 --> 00:03:40,487 しかし、これらの入力およびこれらoutputs-- ことは、実際に何を意味するのでしょうか? 78 00:03:40,487 --> 00:03:43,570 まあ、一日の終わりに、我々は必要 情報を表すいくつかの方法。 79 00:03:43,570 --> 00:03:46,660 これは、コンピュータでは特に真実であります それのように空想と複合体として 80 00:03:46,660 --> 00:03:48,160 見えるかもしれませんが、かなりダムデバイスです。 81 00:03:48,160 --> 00:03:52,240 それはからかどうかelectricity--取り ケーブルまたはinput--としてバッテリー 82 00:03:52,240 --> 00:03:55,820 そしてそれは、いくつかを生成します 画面上preprogramed回答。 83 00:03:55,820 --> 00:03:57,970 >> しかし、どのように我々は、から入手できますか そこに最初から最後まで? 84 00:03:57,970 --> 00:03:59,470 まあ、解決すべき問題は何ですか? 85 00:03:59,470 --> 00:04:01,050 まあ、多分私達は、AT、かもしれません いずれの学期の開始、 86 00:04:01,050 --> 00:04:02,841 出席を取るしよう このような部屋インチ 87 00:04:02,841 --> 00:04:04,750 だから私は1、2、3のように行う可能性があります。 88 00:04:04,750 --> 00:04:07,060 それとも、私はそれをしなかった場合 並べ替えを追跡するために 89 00:04:07,060 --> 00:04:10,560 myself--のthings--を追跡するために 私はすぐに指を使い果たす可能性があります。 90 00:04:10,560 --> 00:04:14,650 だから、僕はハッシュmarks-- 1になるかもしれません 人、2つ、3つ、4つ、5、6、 91 00:04:14,650 --> 00:04:15,431 7つ、8つ。 92 00:04:15,431 --> 00:04:17,930 そして、私たちのすべては、おそらく持っています かどうかをあなたの手で、これを行って 93 00:04:17,930 --> 00:04:19,680 または紙の上に。 94 00:04:19,680 --> 00:04:22,140 そして、これはちょうど、実際にあります 単項notation--と呼ばれるもの 95 00:04:22,140 --> 00:04:26,130 どこに一つだけの手紙を持っている場合 あなたのアルファベットの、1またはハッシュ 96 00:04:26,130 --> 00:04:29,440 マークこの場合は、すべてのための あなたがカウントする入力、 97 00:04:29,440 --> 00:04:32,330 あなたはこれらのいずれかを下に置く必要があります これらのマークのいずれかをletters--。 98 00:04:32,330 --> 00:04:32,510 >> 大丈夫。 99 00:04:32,510 --> 00:04:34,790 それはすべての罰金と良いことだと すべてが複雑ではありません。 100 00:04:34,790 --> 00:04:37,800 しかし、コンピュータは、すべてではありません そのはるかに複雑。 101 00:04:37,800 --> 00:04:40,770 確かに、あなたのほとんどは、おそらく あなたが本当にいませんでした場合でも知っています 102 00:04:40,770 --> 00:04:44,080 、これが何を意味するのかと考えています コンピュータはゼロのみを理解します 103 00:04:44,080 --> 00:04:45,870 いわゆる二元系ones--。 104 00:04:45,870 --> 00:04:49,390 私たち人間は、対照的に、そのようにしています はるかに洗練されたものであれば 105 00:04:49,390 --> 00:04:51,770 私たちは、ナインを通じてゼロを理解するように。 106 00:04:51,770 --> 00:04:55,740 >> しかし、バイナリは最初に、であっても 一見、すべてではないというおなじみの、 107 00:04:55,740 --> 00:05:00,330 それはそれだけのシステムのようなものだが判明します そして、我々はすでに知っているアイデア。 108 00:05:00,330 --> 00:05:02,420 だから例えば、これを考慮してください。 109 00:05:02,420 --> 00:05:03,896 これは、シンボルのちょうどシーケンスです。 110 00:05:03,896 --> 00:05:05,770 そして、あなたのすべて、時 おそらく、それをちらっと見 111 00:05:05,770 --> 00:05:09,380 123--何も考えていません そこに本当に面白いです。 112 00:05:09,380 --> 00:05:11,940 しかし、なぜそれがこの数、123ですか? 113 00:05:11,940 --> 00:05:14,440 これらは、ちょうど上のグリフです screen--だけパターン 114 00:05:14,440 --> 00:05:16,387 その誰かが描かれたか、入力した可能性があります。 115 00:05:16,387 --> 00:05:18,970 しかし、あなたは私に似ている場合、あなた おそらく小学校から覚えています 116 00:05:18,970 --> 00:05:21,610 ソートのがあることを ここでは、列または場所。 117 00:05:21,610 --> 00:05:25,340 1の場所とあります 10の位と百の位。 118 00:05:25,340 --> 00:05:29,820 これは123であることを理由に 3つの記号だけではなく、パターン 119 00:05:29,820 --> 00:05:33,090 である、なぜならもちろん、私たちの場合 、百の位に1を持っています 120 00:05:33,090 --> 00:05:36,610 あなたは、100倍の1の計算を行います そしてその後、10の代わりに2。 121 00:05:36,610 --> 00:05:41,390 だから、10回2だし、その後で3 1の場所、それが1回3です。 122 00:05:41,390 --> 00:05:45,670 そして、あなたはの、それらのすべてを追加するとき もちろん、あなたが100プラス20プラス3を​​得ます。 123 00:05:45,670 --> 00:05:48,220 >> だから我々は単にパターンで開始しました symbols-- alphabet--の 124 00:05:48,220 --> 00:05:51,670 しかし、我々は上に意味がマッピングされました それこれらの列を介​​して。 125 00:05:51,670 --> 00:05:54,450 まあ、それはことが判明します コンピュータは本当にありません 126 00:05:54,450 --> 00:05:56,300 あなたと私からすべてが異なります。 127 00:05:56,300 --> 00:06:01,840 しかし、その代わりに10の累乗を使用するのではなく、 そう1、10、100、1000、speak--します 128 00:06:01,840 --> 00:06:04,330 万場所とそう 実際に彼らforth-- 129 00:06:04,330 --> 00:06:08,930 ただの力を使用2-- そのように一2,4、および 130 00:06:08,930 --> 00:06:12,810 我々はより多くの数字を入れた場合、8、16、 32、64、128、等。 131 00:06:12,810 --> 00:06:16,050 だから、これはどのようにコンピュータであり、 番号0を表すことになり、 132 00:06:16,050 --> 00:06:17,300 ちょうど私たち人間のように。 133 00:06:17,300 --> 00:06:21,660 >> 0、0、0--とあなたはおそらく推測することができます 0と1のどのようなパターン、 134 00:06:21,660 --> 00:06:24,610 コンピュータできる場合にのみ 0話したり1--何 135 00:06:24,610 --> 00:06:29,110 パターンが表現するために起こっています 数私たち人間は、1として知っていますか? 136 00:06:29,110 --> 00:06:30,590 0、0、1 Yeah--。 137 00:06:30,590 --> 00:06:31,090 大丈夫。 138 00:06:31,090 --> 00:06:35,900 だから、0、0、1、我々が表す方法です 1、あなたはその後、傾斜する可能性があります 139 00:06:35,900 --> 00:06:39,510 あなたが持っている場合は、数2を表現します 4の場所と2の場所 140 00:06:39,510 --> 00:06:48,290 1場所として、あなたも、言うかもしれないが、 我々は1の位に1を持っている場合、 141 00:06:48,290 --> 00:06:50,430 そして今、私たちがしたいです あなたがかもしれない、2までカウント 142 00:06:50,430 --> 00:06:53,310 これを行うと、ゼロになるこのままにしておきます。 143 00:06:53,310 --> 00:06:56,397 しかし、もちろん、これはどのようにではありません 十進法はどちらか動作します。 144 00:06:56,397 --> 00:06:58,230 あなたはに数字を置く場合 これらの列の両方、 145 00:06:58,230 --> 00:06:59,563 あなたは、算術演算を行うようになってきました。 146 00:06:59,563 --> 00:07:01,930 それでは、数は私がやりました 偶然だけで表現しますか? 147 00:07:01,930 --> 00:07:06,710 >> だからそれは、3です2回1プラス1理由 回1は、もちろん、私たち3を与えます。 148 00:07:06,710 --> 00:07:08,340 だから、これは2になります。 149 00:07:08,340 --> 00:07:12,730 ビットは一種の0をとして、いわば、フリップ はるかに超える9役割のように、1になります 150 00:07:12,730 --> 00:07:14,840 あなたは1を運ぶときには0になります。 151 00:07:14,840 --> 00:07:16,510 そして、これは当然の3になります。 152 00:07:16,510 --> 00:07:20,170 別の興味深いですFour-- ものはロールオーバーところ、たまたま 153 00:07:20,170 --> 00:07:21,750 あなたはいわば、1を運びます。 154 00:07:21,750 --> 00:07:23,320 これは、もちろん、4です。 155 00:07:23,320 --> 00:07:25,160 >> しかし、今早送りであれば、 行く最大の番号は何ですか 156 00:07:25,160 --> 00:07:26,660 コンピュータが表すことができることは? 157 00:07:26,660 --> 00:07:30,420 158 00:07:30,420 --> 00:07:32,380 だから、このケースでちょうど7は、右ですか? 159 00:07:32,380 --> 00:07:35,570 あなたは4人に1人を持っているので、 2で1、1で1。 160 00:07:35,570 --> 00:07:36,900 だから、4プラス2プラス1です。 161 00:07:36,900 --> 00:07:37,972 だからそれはあなたに7を与えます。 162 00:07:37,972 --> 00:07:39,680 そして実際、それは希望 一見すると思われます 163 00:07:39,680 --> 00:07:43,750 コンピュータが数えることができること このよりも高くありません。 164 00:07:43,750 --> 00:07:45,210 >> しかし、もちろん、これは真実ではありません。 165 00:07:45,210 --> 00:07:48,243 私たちが望むときに私たち人間は何をしますか 999のようなより高いカウントしますか? 166 00:07:48,243 --> 00:07:51,000 167 00:07:51,000 --> 00:07:53,900 ちょうど1を運ぶだけ 左に4桁目を追加します。 168 00:07:53,900 --> 00:07:55,070 だから確かに、我々は可能性があります。 169 00:07:55,070 --> 00:07:57,900 私たちは、8のを持つことができます 場所と16の位、 170 00:07:57,900 --> 00:08:02,000 そして32の場所、64、128--とあなた ただ無限大までに続けることができます。 171 00:08:02,000 --> 00:08:04,640 したがって、これらの零点とones-- いわゆるバイナリsystem-- 172 00:08:04,640 --> 00:08:10,290 どのようなコンピュータ科学者が希望しています 一般的にビット、または二進数字を呼び出します。 173 00:08:10,290 --> 00:08:13,590 >> しかし、今、どのように我々は、から入手できますか コンセプトやこれらの事のグラフィックス 174 00:08:13,590 --> 00:08:14,620 実際のコンピュータに? 175 00:08:14,620 --> 00:08:17,170 ここではステップをスキップしているように見えます。 176 00:08:17,170 --> 00:08:20,210 最後にさて、入力のみ その日の、ここで私のラップトップへ 177 00:08:20,210 --> 00:08:22,060 電力のこの流れです。 178 00:08:22,060 --> 00:08:24,560 それは長い間されていたとしても あなたがについて考えてからの時間 179 00:08:24,560 --> 00:08:26,580 または考えたことはありません どのように電気の作品、 180 00:08:26,580 --> 00:08:30,909 中を流れる電子はありますか アウト、それは入力の私のようなものです。 181 00:08:30,909 --> 00:08:34,659 >> だから、私たちがしていることすべてだ場合 ここで入力として取得し、 182 00:08:34,659 --> 00:08:36,830 私たちは、その情報で何ができるのでしょうか? 183 00:08:36,830 --> 00:08:40,040 まあ、我々はゼロとして考えるかもしれません 電気のちょうど不在。 184 00:08:40,040 --> 00:08:42,540 何もflowinwされていない、何もありません 移動、何も起こりません。 185 00:08:42,540 --> 00:08:44,690 それはゼロstate--単にデフォルトです。 186 00:08:44,690 --> 00:08:48,200 しかし、電気が流れるがある場合は、なぜ 私達はちょうど任意ませんが、全体的に 187 00:08:48,200 --> 00:08:50,250 一貫して、1ことを呼び出します。 188 00:08:50,250 --> 00:08:54,760 >> だから、単純にパワーを持たないことで、 我々は、ゼロ、はい力を持っています 189 00:08:54,760 --> 00:08:57,520 我々は電力なし選ぶ - はい、力を持っています。 190 00:08:57,520 --> 00:09:01,520 そして、そのように、何かを使用して、 より多くの物理的または電子的 191 00:09:01,520 --> 00:09:05,340 私たちは、この概念を実現するために開始します 何かが1または0のいずれかです。 192 00:09:05,340 --> 00:09:07,230 確かに、私たちはここの上でそれを行うことができます。 193 00:09:07,230 --> 00:09:10,590 だからここに、私は持っていない3が、 8電球、その各々 194 00:09:10,590 --> 00:09:11,810 独自のスイッチがあります。 195 00:09:11,810 --> 00:09:15,760 >> そして、私が表現したかったそうである場合 数7ここでは、 196 00:09:15,760 --> 00:09:18,510 私は、これらの3つの電球をオンにする可能性があります。 197 00:09:18,510 --> 00:09:21,470 そして実際、内部 私のコンピュータは、何百万人であり、 198 00:09:21,470 --> 00:09:25,650 ちょうどある物事の十億 より小さいと呼ばれるトランジスタ 199 00:09:25,650 --> 00:09:27,330 スイッチ、あなただけのオンとオフにすること。 200 00:09:27,330 --> 00:09:30,420 したがって、これらは比較的big--されています 私laptop--内部big--スイッチ 201 00:09:30,420 --> 00:09:32,150 多くの、多くの、多くのであり、 より多くのスイッチ。 202 00:09:32,150 --> 00:09:35,160 しかし、彼らはすべてが正確ですthat-- 何かを入れ、何かをオフにします。 203 00:09:35,160 --> 00:09:38,076 そのようなものとして、コンピュータを表すことができ、 それらの何百万または数十億と 204 00:09:38,076 --> 00:09:40,480 トランジスタ、たくさんのと 0と1のたくさん。 205 00:09:40,480 --> 00:09:43,160 そして、他のハードウェアは、それがまだあります あなたは情報の長期保存でき、 206 00:09:43,160 --> 00:09:45,243 そのため、あなたが引くとき プラグ、あなたはそれを失うことはありません。 207 00:09:45,243 --> 00:09:46,900 しかし、それは別の日の話です。 208 00:09:46,900 --> 00:09:51,170 >> だから我々は、これらのビットで何ができるのでしょうか? 209 00:09:51,170 --> 00:09:54,309 私達はちょうど取るかもしれません me--のオフ圧力 210 00:09:54,309 --> 00:09:56,600 誰かが来てほしいことがあります ここまでとデモを提供していますか? 211 00:09:56,600 --> 00:09:57,516 私が最初にこの手を見ました。 212 00:09:57,516 --> 00:09:58,709 あなたの名前は何ですか? 213 00:09:58,709 --> 00:09:59,250 メイディ:メイディ。 214 00:09:59,250 --> 00:10:00,542 DAVIDマラン:メイディは、アップに来ます。 215 00:10:00,542 --> 00:10:01,250 はじめまして。 216 00:10:01,250 --> 00:10:02,390 メイディ:はじめまして。 217 00:10:02,390 --> 00:10:02,930 >> DAVIDマラン:この方法で来ます。 218 00:10:02,930 --> 00:10:04,182 私はあなたをリップする必要はありません。 219 00:10:04,182 --> 00:10:04,682 大丈夫。 220 00:10:04,682 --> 00:10:11,090 だからここに、私たちは、1 notice--、two-- 我々はout--それを編集します1、2、4、 221 00:10:11,090 --> 00:10:13,350 8、16、32、64、128。 222 00:10:13,350 --> 00:10:14,220 これは意図的なものです。 223 00:10:14,220 --> 00:10:17,370 8ビットがありますhere-- digits-- 0と1のバイナリ。 224 00:10:17,370 --> 00:10:21,460 そして、ビットはmeasure--の便利な単位であります 測定単位として有用ではありません 225 00:10:21,460 --> 00:10:21,999 それ自体の上に。 226 00:10:21,999 --> 00:10:24,290 通常は、少なくともたい これらの事の8、別名 227 00:10:24,290 --> 00:10:24,790 バイト。 228 00:10:24,790 --> 00:10:26,230 だから我々は、ここでのビットのバイトを持っています。 229 00:10:26,230 --> 00:10:31,130 >> だから、私たちがあなたに挑戦したい場合は、 例えば、バイナリで、綴ります、 230 00:10:31,130 --> 00:10:33,230 この値が42をhere--。 231 00:10:33,230 --> 00:10:35,140 その時に刺しを取るしたいですか? 232 00:10:35,140 --> 00:10:36,034 >> メイディ:[聞こえません]。 233 00:10:36,034 --> 00:10:38,700 DAVIDマラン:ええ、ちょうどプッシュ 正面に小さな白いスイッチ。 234 00:10:38,700 --> 00:10:41,290 そして、あなたはスペルたいです 42アウト、容易に手に入ります 235 00:10:41,290 --> 00:10:44,061 このCS50ストレスがあります ボールあなたはこれを取得する場合。 236 00:10:44,061 --> 00:10:44,560 大丈夫。 237 00:10:44,560 --> 00:10:46,420 だからあなたは32を持っています。 238 00:10:46,420 --> 00:10:48,430 私たちは42が必要になるだろう。 239 00:10:48,430 --> 00:10:51,410 だから、8ですので、それは40です。 240 00:10:51,410 --> 00:10:54,160 そしてexcellent--非常にうまく行って。 241 00:10:54,160 --> 00:10:55,186 ありがとうございました。 242 00:10:55,186 --> 00:10:58,790 >> [拍手] 243 00:10:58,790 --> 00:10:59,290 大丈夫。 244 00:10:59,290 --> 00:11:00,623 だから我々は、1以上のストレスボールを持っています。 245 00:11:00,623 --> 00:11:03,595 我々は可能性がある場合の、このもう一度やってみましょう。 246 00:11:03,595 --> 00:11:05,368 もう一つのボランティア? 247 00:11:05,368 --> 00:11:07,970 無料のストレスボール、無料のストレスボール。 248 00:11:07,970 --> 00:11:08,470 OK。 249 00:11:08,470 --> 00:11:11,640 こちらに途中で、 あなたがダウンして来てほしいですか? 250 00:11:11,640 --> 00:11:14,100 大丈夫。 251 00:11:14,100 --> 00:11:15,552 知っている。 252 00:11:15,552 --> 00:11:16,360 そうしよう。 253 00:11:16,360 --> 00:11:20,818 >> だから数字はhere--ダウンに来ます。 254 00:11:20,818 --> 00:11:21,567 お名前は何ですか? 255 00:11:21,567 --> 00:11:21,984 >> DAVEY:デイビー。 256 00:11:21,984 --> 00:11:22,820 >> DAVIDマラン:デイビー。 257 00:11:22,820 --> 00:11:23,320 OK。 258 00:11:23,320 --> 00:11:24,810 、アップデイビーさあ。 259 00:11:24,810 --> 00:11:25,890 はじめまして。 260 00:11:25,890 --> 00:11:28,639 そして、私たちはあなたを持ってしようとしているもの あなたがそこに残ることができればspell-- 261 00:11:28,639 --> 00:11:32,810 ちょうど1 moment--の番号50です。 262 00:11:32,810 --> 00:11:36,293 しかし、しかし、しかし、しかし、しかし、これらは、 理由のための小学校磁石。 263 00:11:36,293 --> 00:11:39,370 264 00:11:39,370 --> 00:11:43,327 ただ、すべての権利、少し難しくなりましたか? 265 00:11:43,327 --> 00:11:44,160 8はまだあります。 266 00:11:44,160 --> 00:11:46,820 267 00:11:46,820 --> 00:11:47,320 大丈夫。 268 00:11:47,320 --> 00:11:48,486 それでは、我々はそこにありますか? 269 00:11:48,486 --> 00:11:51,356 私たちは32を持っています。 270 00:11:51,356 --> 00:11:54,344 ニース。 271 00:11:54,344 --> 00:11:58,610 32プラス16は、私たちを与える48--とても近いです。 272 00:11:58,610 --> 00:12:00,390 そして素晴らしいです。 273 00:12:00,390 --> 00:12:02,831 デイビーにおめでとうと同様。 274 00:12:02,831 --> 00:12:05,720 >> [拍手] 275 00:12:05,720 --> 00:12:06,516 >> 大丈夫。 276 00:12:06,516 --> 00:12:09,390 だから私たちは一日中、これを行うことができ、 それはすべてがはるかに取得していません 277 00:12:09,390 --> 00:12:10,800 興味深く、より挑戦。 278 00:12:10,800 --> 00:12:13,250 しかし、それは本当にpoint--です どのように比較的簡単です 279 00:12:13,250 --> 00:12:16,930 それは、一日の終わりに、何aは コンピュータは、情報を記憶するようにし、 280 00:12:16,930 --> 00:12:21,740 最終的に入力とを格納します 保存したり、それらの出力を表します。 281 00:12:21,740 --> 00:12:23,750 しかし、数字だけではありません すべてのことは興味深いです。 282 00:12:23,750 --> 00:12:26,069 >> 人間だから、何年か前に、 決めた、あなたは何を知っていますか? 283 00:12:26,069 --> 00:12:27,860 これは、ifいいだろう コンピュータはただではなかったです 284 00:12:27,860 --> 00:12:31,030 算術演算のための計算機 操作が、実際にできました 285 00:12:31,030 --> 00:12:35,209 ワープロのようなものを行う、または 電子メール、またはより近代的な化身 286 00:12:35,209 --> 00:12:36,500 技術のこれらの種類の。 287 00:12:36,500 --> 00:12:40,680 それで世界が決めました 任意に、しかし、普遍的、 288 00:12:40,680 --> 00:12:44,380 あなたが資本を保存したい場合は、その コンピュータ内の文字A、あなたは何を知っていますか? 289 00:12:44,380 --> 00:12:47,730 ちょうどすべてを保存することに同意してみましょう いくつかのゼロのパターンとones-- 290 00:12:47,730 --> 00:12:52,422 bits--その最終的に 進数65を表します。 291 00:12:52,422 --> 00:12:53,630 私達はちょうどすべてのことに同意します。 292 00:12:53,630 --> 00:12:56,620 >> 66 Bを表すことになり、 67 Cを表すことになり、 293 00:12:56,620 --> 00:13:00,210 との他のパタ​​ーンの房があります 0と1、または基礎となる数字、 294 00:13:00,210 --> 00:13:02,224 それが表すことになります まだ他の文字。 295 00:13:02,224 --> 00:13:04,390 もしそうなら、あなたの種類の精神 一瞬のためにこれを吸収し、 296 00:13:04,390 --> 00:13:10,900 私は意図的に通ってAを設置します I、H 72、私は73です。 297 00:13:10,900 --> 00:13:15,830 コンピュータであれば、その後の文脈で ワープロソフトや電子メール、 298 00:13:15,830 --> 00:13:19,620 持っているフードの下に明らかにしました bits--パターンのこれらのパターン 299 00:13:19,620 --> 00:13:22,500 表すビットの 次いで72、73、33-- 300 00:13:22,500 --> 00:13:26,640 これは、そのプログラムの中で何を綴るかもしれませんか? 301 00:13:26,640 --> 00:13:28,150 >> だからこんにちは、次に何か。 302 00:13:28,150 --> 00:13:31,460 私たちは、必ずしも実際に知らないが、 33--ないチャート上earlier-- 303 00:13:31,460 --> 00:13:33,170 単に感嘆符でした。 304 00:13:33,170 --> 00:13:38,870 だから72はH、73 33が起こるIであり、ました まだ感嘆符があることにします。 305 00:13:38,870 --> 00:13:41,719 しかし、それはすべての罰金と良いことです、 そして実際には、今日ではなく、 306 00:13:41,719 --> 00:13:43,760 ちょうど7か8を使用 ビット、何かに感謝 307 00:13:43,760 --> 00:13:46,530 対照的に、ユニコードと呼ばれます 一日で戻ってASCIIに、 308 00:13:46,530 --> 00:13:50,010 私たちは、実際にはさらに多くを表すことができ、 ちょうどより興味深い文字 309 00:13:50,010 --> 00:13:52,980 これらのオリジナルの英語の手紙をバイアスされています。 310 00:13:52,980 --> 00:13:56,030 しかし、我々はまたしても表すことができます 色のような滑らかな印象のもの。 311 00:13:56,030 --> 00:13:59,750 >> あなたは頭字語を聞いた場合 赤、緑、青のRGB、その 312 00:13:59,750 --> 00:14:03,510 単にコンピュータということを意味 典型的にbits-- 3組を使用して 313 00:14:03,510 --> 00:14:06,760 表すビットのいくつかの数 あなたが望むどのくらいの赤の番号、 314 00:14:06,760 --> 00:14:08,940 以下のためのビットの別のセット どのくらいの緑したいです、 315 00:14:08,940 --> 00:14:11,430 そして、のための別のセット番号 どのくらいの青いしたいです。 316 00:14:11,430 --> 00:14:14,457 だから、大きな数は、たくさんのことを意味します 赤、小さな数が赤いことを意味しません。 317 00:14:14,457 --> 00:14:16,290 それで、これらは親切です ここの中央値。 318 00:14:16,290 --> 00:14:20,180 >> だから、私にいくつかの赤を与え、私にいくつかを与えます 緑、私は青の少しを与えます。 319 00:14:20,180 --> 00:14:24,260 そして、あなたはこれらの3つの色合いを混ぜた場合 この場合、色の一緒に、 320 00:14:24,260 --> 00:14:26,850 あなたはこの暗い陰を取得します 黄色や茶色の。 321 00:14:26,850 --> 00:14:32,330 しかし、8のパターンプラス 8プラスeight--ので2​​4 bits-- 322 00:14:32,330 --> 00:14:36,550 左から右へ、どのようにコンピュータであり、 その特定の色を表すことになります。 323 00:14:36,550 --> 00:14:38,090 さて、これは画面上だけのドットです。 324 00:14:38,090 --> 00:14:42,230 あなたがお使いのテレビで本当に近い見てみると、あなたの コンピュータには、ドットまたはピクセルが表示されます。 325 00:14:42,230 --> 00:14:45,420 そして、あなたは全体のグリッドを持っている場合 画素、水平方向および垂直方向に、 326 00:14:45,420 --> 00:14:46,630 あなたがイメージを持っています。 327 00:14:46,630 --> 00:14:49,029 そして、あなたが取る場合 画像とその後の洗浄 328 00:14:49,029 --> 00:14:52,070 自分で別の画像を表示し、別の 画像、別の画像、別の画像、 329 00:14:52,070 --> 00:14:54,760 本当に速く、もちろんあなたが映画を持っています。 330 00:14:54,760 --> 00:14:56,109 >> だから、我々はスタート地点に気づきます。 331 00:14:56,109 --> 00:14:57,650 我々は、これらの0と1を始めています。 332 00:14:57,650 --> 00:15:00,570 私たちは、小数にそこから働いていました 数字は、我々は彼らをどのように表現します。 333 00:15:00,570 --> 00:15:02,070 今、私たちは、アルファベットの文字を持っています。 334 00:15:02,070 --> 00:15:05,664 しかし、他のコンテキストでは、我々が使用することができ、待ちます いくつかのより多くのビットと色を表します。 335 00:15:05,664 --> 00:15:07,830 すぐにあなたが持っているように 色を表現する能力 336 00:15:07,830 --> 00:15:11,200 あなたが表現する能力を持っています 写真、アニメーションGIF 337 00:15:11,200 --> 00:15:13,780 画面上および他のそのような文字。 338 00:15:13,780 --> 00:15:17,160 そして、あなたはの全体の束を持っている場合 画像は、一度に人間が飛びます 339 00:15:17,160 --> 00:15:21,480 それは、映画のように見えます ので、あなたにもビデオを取得します。 340 00:15:21,480 --> 00:15:23,460 >> だから、非常にこれらを使用して、 単純なプリミティブは、我々を行います 341 00:15:23,460 --> 00:15:28,070 表現の方法を持っています 最終的にはすべてのメディアのこれらの形態の。 342 00:15:28,070 --> 00:15:30,450 そして、我々は再び抽象化してきました そして、何度も何度も、私たちまで 343 00:15:30,450 --> 00:15:33,467 最低レベルから取得 この最高レベルに。 344 00:15:33,467 --> 00:15:35,550 だから、これは私たちに与えます 抽象化の一般的な考え方。 345 00:15:35,550 --> 00:15:36,990 しかし、我々はここに始まりました。 346 00:15:36,990 --> 00:15:38,790 >> ここで今、私たちはかもしれません コンピュータで表現します 347 00:15:38,790 --> 00:15:41,920 0と1との入力、 0と1で私たちの出力は、 348 00:15:41,920 --> 00:15:43,640 しかし、何がボックスの内部に入りますか? 349 00:15:43,640 --> 00:15:46,080 それはどこにコンピュータです 科学は面白いです。 350 00:15:46,080 --> 00:15:49,770 あなたが実際にあなたをもたらすところです 問題を解決するために負担する自身の心。 351 00:15:49,770 --> 00:15:52,590 私たちは今のところ、規定することができます 学期の残りの部分、はい。 352 00:15:52,590 --> 00:15:53,870 私はどのようにバイナリ作品を知っています。 353 00:15:53,870 --> 00:15:57,942 私はどのようにアスキーまたはUnicode--を覚えています 作品をletters--へのマッピング。 354 00:15:57,942 --> 00:15:59,650 そして、それは確かに立っています その私たちを理由に 355 00:15:59,650 --> 00:16:03,470 赤と緑表すことができ、および ブルー、同様にマルチメディアを表します。 356 00:16:03,470 --> 00:16:05,390 しかし、これは面白いです。 357 00:16:05,390 --> 00:16:09,790 これは、誰かが作るものです 問題を解決することができます。 358 00:16:09,790 --> 00:16:11,980 >> そしてそのような問題 私たちは、確かに、やりたいです 359 00:16:11,980 --> 00:16:15,345 出席を取って、またはされています アルゴリズムこれを行います。 360 00:16:15,345 --> 00:16:16,470 そして再び、私はこれを行う可能性があります。 361 00:16:16,470 --> 00:16:19,580 私は、1つ、2つ、3つ、4つを行うかもしれません 5、6、7、8 9。 362 00:16:19,580 --> 00:16:21,520 そして、私はそれを書くことができます それを追跡するためにダウン。 363 00:16:21,520 --> 00:16:23,769 しかし、それはどれだけ私が希望です 情報を表します。 364 00:16:23,769 --> 00:16:27,550 または私は、このfaster-- 2、4を行うことができ 6は、8、10、12、14、16、18、20、 365 00:16:27,550 --> 00:16:30,380 22--それは二回のように感じています 早くそれはまだです 366 00:16:30,380 --> 00:16:32,050 時間の全体の多くを取るつもり。 367 00:16:32,050 --> 00:16:35,990 >> 我々はまだ活用している場合しかし、それは、判明します 別のresource--、実際のコンピュータ 368 00:16:35,990 --> 00:16:38,940 これらの日は、複数のCPUや脳を持っています。 369 00:16:38,940 --> 00:16:41,970 これは、コンピュータをすることができ判明します 一度に多くのものを行い、 370 00:16:41,970 --> 00:16:44,460 実際、私たちは、この部屋で、 正確にこれを表すことができます。 371 00:16:44,460 --> 00:16:47,130 >> だから、社会的に少しです 厄介な、しかし、あなたはユーモア私を希望する場合 372 00:16:47,130 --> 00:16:51,550 わずか3ステップのプロセスのために、みましょう 私はそこだけの場所で皆を頼みます 373 00:16:51,550 --> 00:16:54,640 一瞬のために立ち上がるします。 374 00:16:54,640 --> 00:16:57,380 立ち上がる。 375 00:16:57,380 --> 00:17:01,580 だから、自分自身に考えて、数 、この部屋に誰も選びます - 376 00:17:01,580 --> 00:17:05,010 なかった人を除きます 義務付ける、ナンバーワンを考えています。 377 00:17:05,010 --> 00:17:06,510 だから、今、あなたの番号です。 378 00:17:06,510 --> 00:17:09,399 それは、第1のステップである、または コンピューター科学者やプログラマ 379 00:17:09,399 --> 00:17:11,827 通常、我々はつもりだ、だろう ゼロからカウントを開始します。 380 00:17:11,827 --> 00:17:14,410 我々はできる最小数の場合 これらの電球で表します 381 00:17:14,410 --> 00:17:17,410 ちょうどそれらを残すことによって、ゼロであります すべてのオフ、私は同様かもしれないだけ 382 00:17:17,410 --> 00:17:19,271 からカウントを開始 ゼロではなく1です。 383 00:17:19,271 --> 00:17:21,020 そしてそうそれは何です コンピュータ科学者が行います。 384 00:17:21,020 --> 00:17:23,750 だから、ゼロステップ立ち上がって ナンバーワンを考えます。 385 00:17:23,750 --> 00:17:26,339 次のステップはthis--ペアです 立って誰かとオフ 386 00:17:26,339 --> 00:17:27,660 そして、一緒にあなたの番号を追加。 387 00:17:27,660 --> 00:17:30,660 388 00:17:30,660 --> 00:17:32,850 素晴らしい。 389 00:17:32,850 --> 00:17:37,640 >> だから、この時点で時間内に、 文字通り誰もが参加します 390 00:17:37,640 --> 00:17:41,930 除いて、数2の考えています 1奇数人のために我々が持っている場合 391 00:17:41,930 --> 00:17:43,450 部屋の人々の奇数。 392 00:17:43,450 --> 00:17:50,640 そして今、ここに第3のステップはに起こっています 座るべきであるあなたのthis--一つです。 393 00:17:50,640 --> 00:17:54,490 あなたの一つは座ってする必要があり、 そしてあなたはまだ立っている場合には、 394 00:17:54,490 --> 00:17:56,590 ステップ1に戻ります。 395 00:17:56,590 --> 00:18:44,799 396 00:18:44,799 --> 00:18:45,790 大丈夫。 397 00:18:45,790 --> 00:19:00,760 398 00:19:00,760 --> 00:19:01,650 大丈夫。 399 00:19:01,650 --> 00:19:03,880 だから、より多くの人々 座ってする必要があります。 400 00:19:03,880 --> 00:19:08,280 これが誘導されていることに注意してください サイクルのloop--いくつかの種類。 401 00:19:08,280 --> 00:19:11,983 あなたのいくつかは、ぎこちなくスタックであるべき ステップ1の間で前後に行きます 402 00:19:11,983 --> 00:19:14,180 そして2、1と2、1と2。 403 00:19:14,180 --> 00:19:21,190 404 00:19:21,190 --> 00:19:21,810 それで大丈夫です。 405 00:19:21,810 --> 00:19:22,630 私たちの最初のバグ。 406 00:19:22,630 --> 00:19:24,740 我々はそれに対処します。 407 00:19:24,740 --> 00:19:25,320 大丈夫。 408 00:19:25,320 --> 00:19:27,370 私は物事に沿って拍車をかけるしてみましょう。 409 00:19:27,370 --> 00:19:31,454 >> 理論的には、一人だけが立っています 誰もがオフにペアリングし続けています。 410 00:19:31,454 --> 00:19:33,870 しかし、私は物事をスピードアップしましょう 人々はまだ立っています。 411 00:19:33,870 --> 00:19:35,480 何番あなたが考えていますか? 412 00:19:35,480 --> 00:19:36,070 46。 413 00:19:36,070 --> 00:19:36,570 OK。 414 00:19:36,570 --> 00:19:37,820 先に行くと座ります。 415 00:19:37,820 --> 00:19:39,190 君たちはまだ立っています。 416 00:19:39,190 --> 00:19:42,130 誰がまだ立っていますか? 417 00:19:42,130 --> 00:19:45,240 何番あなたが考えていますか? 418 00:19:45,240 --> 00:19:46,160 OK。 419 00:19:46,160 --> 00:19:47,900 >> だから我々はあなたに戻ってきます。 420 00:19:47,900 --> 00:19:49,630 後ろに? 421 00:19:49,630 --> 00:19:50,790 それは何ですか? 422 00:19:50,790 --> 00:19:53,100 22。 423 00:19:53,100 --> 00:19:56,540 [OK]を他の誰かアップtop--ええ? 424 00:19:56,540 --> 00:19:57,720 34。 425 00:19:57,720 --> 00:19:58,300 OK。 426 00:19:58,300 --> 00:20:02,780 ここに私のright--アップにこっち? 427 00:20:02,780 --> 00:20:06,820 132、非常に素晴らしいです。 428 00:20:06,820 --> 00:20:08,380 22? 429 00:20:08,380 --> 00:20:08,990 >> OK。 430 00:20:08,990 --> 00:20:10,031 そして、誰がまだ立って? 431 00:20:10,031 --> 00:20:11,000 こっち? 432 00:20:11,000 --> 00:20:14,520 46、非常に素晴らしいです。 433 00:20:14,520 --> 00:20:16,890 72。 434 00:20:16,890 --> 00:20:18,220 私ははるかに長いス​​トールすることはできません。 435 00:20:18,220 --> 00:20:20,520 ええ? 436 00:20:20,520 --> 00:20:22,490 30、素敵。 437 00:20:22,490 --> 00:20:24,120 こっち? 438 00:20:24,120 --> 00:20:26,200 23? 439 00:20:26,200 --> 00:20:27,270 23。 440 00:20:27,270 --> 00:20:30,920 >> そして、私はそれが誰だと思います 皆さん、無加圧除きます。 441 00:20:30,920 --> 00:20:32,860 あ、ちょっと待って。 442 00:20:32,860 --> 00:20:33,360 28? 443 00:20:33,360 --> 00:20:37,500 444 00:20:37,500 --> 00:20:38,281 ちょうど8。 445 00:20:38,281 --> 00:20:38,780 OK。 446 00:20:38,780 --> 00:20:41,030 ちょうど8。 447 00:20:41,030 --> 00:20:42,580 ここでダウン? 448 00:20:42,580 --> 00:20:44,570 30。 449 00:20:44,570 --> 00:20:47,344 23。 450 00:20:47,344 --> 00:20:47,843 24。 451 00:20:47,843 --> 00:20:50,810 452 00:20:50,810 --> 00:20:52,310 18。 453 00:20:52,310 --> 00:20:54,690 これは最悪の実装です このアルゴリズムの今まで。 454 00:20:54,690 --> 00:20:55,190 OK。 455 00:20:55,190 --> 00:20:59,760 だから誰? 456 00:20:59,760 --> 00:21:00,421 他の誰? 457 00:21:00,421 --> 00:21:00,920 OK。 458 00:21:00,920 --> 00:21:03,300 もう一つ。 459 00:21:03,300 --> 00:21:04,400 16? 460 00:21:04,400 --> 00:21:04,900 OK。 461 00:21:04,900 --> 00:21:05,510 16。 462 00:21:05,510 --> 00:21:06,010 大丈夫。 463 00:21:06,010 --> 00:21:09,070 だから私は誰を逃していない場合 ここでまぶし、私はEnterキーを押したときに、 464 00:21:09,070 --> 00:21:13,091 我々は、アルゴリズム、表示されます サンダースの人々の合計数。 465 00:21:13,091 --> 00:21:16,340 再び、それは誰かのようなので あなたがダウンして座って、あなたの番号をオフに合格 466 00:21:16,340 --> 00:21:19,215 他の誰かに、他の誰かに、 他の誰かに、理論的にはそのように、 467 00:21:19,215 --> 00:21:22,304 最後に、一つだけぎこちないです 人は放置されるべきです。 468 00:21:22,304 --> 00:21:22,970 しかし、それは大丈夫です。 469 00:21:22,970 --> 00:21:24,290 私たちは、手動で物事をスピードアップ。 470 00:21:24,290 --> 00:21:27,590 これは、参照することが特に難しいです この特定の空間インチ 471 00:21:27,590 --> 00:21:34,200 >> そして、人々の総数 我々はここにありますが546だと思います。 472 00:21:34,200 --> 00:21:37,330 私は左利きだった総数 指導員により、 473 00:21:37,330 --> 00:21:40,660 誰がそれを古いをしました 学校遅い方法は、820でした。 474 00:21:40,660 --> 00:21:43,660 >> [笑い] 475 00:21:43,660 --> 00:21:47,170 >> [拍手] 476 00:21:47,170 --> 00:21:48,670 >> それで大丈夫です。 477 00:21:48,670 --> 00:21:50,740 だからきっと、その後、これらのバグがあります。 478 00:21:50,740 --> 00:21:51,460 そして、それは大丈夫です。 479 00:21:51,460 --> 00:21:53,810 ので、この上に戻って考えます 初めて何か 480 00:21:53,810 --> 00:21:55,420 あなたは必ずしも動作しません書きます。 481 00:21:55,420 --> 00:21:57,620 これは、ここにも私に起こっています。 482 00:21:57,620 --> 00:22:00,844 しかし、それでは、どのように我々はかもしれない考えてみましょう 何かにこれと同じ考え方を適用 483 00:22:00,844 --> 00:22:03,760 あなたは、前に見たかもしれません この古い学校の技術がありますhere-- 484 00:22:03,760 --> 00:22:05,130 本当に大きな電話帳。 485 00:22:05,130 --> 00:22:09,380 そして、この電話帳を考えます 1,000ページ1,000名を持っています 486 00:22:09,380 --> 00:22:11,360 そして、数字アルファベットそれの内部。 487 00:22:11,360 --> 00:22:14,860 >> さて、私たちは種類の類似を適用することができます この非常に物理的な問題への考え方、 488 00:22:14,860 --> 00:22:16,270 私だけを使用しました。 489 00:22:16,270 --> 00:22:18,810 私はちょうど種類のだまさ あなたのすべてを活用することにより、 490 00:22:18,810 --> 00:22:23,240 異なるCPUの多くとたくさんの または脳は、いくつかのアルゴリズムを実行します。 491 00:22:23,240 --> 00:22:25,440 しかし、それはほんの少しだ場合 古い私、私はまだすることができます 492 00:22:25,440 --> 00:22:29,630 アイデアと同じ本質を活用 その問題を分割し、征服の 493 00:22:29,630 --> 00:22:32,970 何度も何度も、それによってあなたの半分、 あなたの半分、あなたの半分、あなたの半分、 494 00:22:32,970 --> 00:22:35,830 理論的には、座っ保た 我々が残っていたまでは、理論的には、 495 00:22:35,830 --> 00:22:36,990 ただ一人で。 496 00:22:36,990 --> 00:22:39,810 >> この古い学校でだから technology--我々にはありません 497 00:22:39,810 --> 00:22:43,030 これはこれをmap--必要 古い学校の技術、 498 00:22:43,030 --> 00:22:47,300 我々は誰かを探し始めるかもしれません マイク・スミス、一度に1ページのような。 499 00:22:47,300 --> 00:22:49,410 そして、私はありません、マイクはここではないことがわかります。 500 00:22:49,410 --> 00:22:51,110 私はAセクションにまだです。 501 00:22:51,110 --> 00:22:53,900 結局、私が見つけます 自分Bセクションインチ 502 00:22:53,900 --> 00:22:56,910 そして、これはalgorithm--です ステップバイステップの命令。 503 00:22:56,910 --> 00:22:59,890 先頭と1ページで開始 一度、マイク・スミスを探します。 504 00:22:59,890 --> 00:23:03,410 これは、これをcorrect--されます アルゴリズム又はアプローチ? 505 00:23:03,410 --> 00:23:04,550 >> ええ、それは正しいです。 506 00:23:04,550 --> 00:23:06,840 マイクはここにある場合は、最終的に 私は彼に取得します。 507 00:23:06,840 --> 00:23:08,139 しかし、それは効率的ではありません。 508 00:23:08,139 --> 00:23:09,180 これは明らかに非常に遅いです。 509 00:23:09,180 --> 00:23:11,340 だから私は、活用することができます 同じtw​​osiesが近づきます。 510 00:23:11,340 --> 00:23:15,350 私は2つの並べ替えを行うことができ、 4個、6個、8個、10、12。 511 00:23:15,350 --> 00:23:16,330 それは二倍の速さです。 512 00:23:16,330 --> 00:23:18,290 私はマイクを取得するつもりです 彼がそこにいた場合より速いです。 513 00:23:18,290 --> 00:23:20,770 それが正しいか? 514 00:23:20,770 --> 00:23:22,320 はい、私はlittle--なしを聞きました。 515 00:23:22,320 --> 00:23:24,200 今、私はノーを聞きました。 516 00:23:24,200 --> 00:23:24,700 うん。 517 00:23:24,700 --> 00:23:26,190 潜在的なバグがあります。 518 00:23:26,190 --> 00:23:29,374 多分マイクは単に誤って取得します 2つのページの間に挟まれ、 519 00:23:29,374 --> 00:23:31,290 私が通って飛んでいますので、 当時のこの2。 520 00:23:31,290 --> 00:23:33,580 だから、少なくとも我々はいくつかを必要とします 条件修正の一種。 521 00:23:33,580 --> 00:23:35,330 私は、ちょっと、言う必要があります 私はその人をヒットした場合 522 00:23:35,330 --> 00:23:39,190 名前は、Tの代わりにSで始まります 私はより良い戻って少なくとも1ページを倍増します。 523 00:23:39,190 --> 00:23:40,767 だから、最初はバグが多いが、固定可能。 524 00:23:40,767 --> 00:23:43,850 しかし、私たちのどれものために見に行くされていません 千ページ電話を通じてマイク・スミス 525 00:23:43,850 --> 00:23:45,290 一度に1ページを予約。 526 00:23:45,290 --> 00:23:48,486 やろうとして普通の人は何ですか? 527 00:23:48,486 --> 00:23:50,860 あなたは、Sさんに行くつもりです、 あなたはここで、Sさんを知っていた場合。 528 00:23:50,860 --> 00:23:54,230 あなたは真ん中にほぼ行くかもしれません またはわずかに最後に偏っ。 529 00:23:54,230 --> 00:23:56,850 そして、私はここでダウンして見て、 私は、M個のセクションにいますよ。 530 00:23:56,850 --> 00:23:58,952 しかし、あなたは何を知っていますか 今、この問題について、 531 00:23:58,952 --> 00:24:02,160 私たちは、必ずしも前に知らなかったこと 私たちのすべてにちょうど自分自身を数えます 532 00:24:02,160 --> 00:24:03,030 等価的に? 533 00:24:03,030 --> 00:24:06,010 まあ、マイクは明らかに起こっています 本のこの半分になるように 534 00:24:06,010 --> 00:24:07,920 彼は全然ここにある場合には、並べ替えているため。 535 00:24:07,920 --> 00:24:10,160 >> だからあなたは非常にdramatically--することができます 536 00:24:10,160 --> 00:24:11,250 >> 【あえぎ] 537 00:24:11,250 --> 00:24:12,300 >> 知っている。 538 00:24:12,300 --> 00:24:16,940 >> [拍手] 539 00:24:16,940 --> 00:24:19,450 >> これは、実際にあれば本当に簡単です あなたはそこに背骨をそれを行います。 540 00:24:19,450 --> 00:24:22,070 しかし、あなたは、次に投げることができます 離れて、問題の半分。 541 00:24:22,070 --> 00:24:25,950 今、私は同じproblem--が残っています 電話でマイク・スミスを見つけますbook-- 542 00:24:25,950 --> 00:24:29,610 しかし、今の電話帳は、Mで始まります 及びZに行くが、それは半分に大きいです。 543 00:24:29,610 --> 00:24:30,890 >> しかし、これは印象的だものです。 544 00:24:30,890 --> 00:24:34,170 ただ、理論的には、皆さんのような あなたのすべては、一度に半分しか座っ 545 00:24:34,170 --> 00:24:37,150 この問題は、大きなとして半分得 何度も何度も、大きなとして半分。 546 00:24:37,150 --> 00:24:40,260 したがって、この問題になっています 同じ問題が、同じ大きさの半分。 547 00:24:40,260 --> 00:24:42,670 今では、250ページの問題です。 548 00:24:42,670 --> 00:24:45,340 できるだけ早く私は、私は、ああ、実現するとして Tセクションで偶然。 549 00:24:45,340 --> 00:24:46,590 私はあまりにも遠くに行ってきました。 550 00:24:46,590 --> 00:24:48,500 私はその半分を投げることができます 離れて電話帳の。 551 00:24:48,500 --> 00:24:50,410 今、私はダウンによ 問題の四半期。 552 00:24:50,410 --> 00:24:53,910 >> そして、あなたは繰り返す、繰り返すことができ、 理論的には、あなたがしている、まで繰り返します 553 00:24:53,910 --> 00:24:55,460 1ページだけを残し。 554 00:24:55,460 --> 00:24:59,010 そして、マイクはそのページ上にある場合、 私は今、この問題を解決することができます。 555 00:24:59,010 --> 00:25:00,810 しかし、どのようにすぐに私はそれを解決しましたか? 556 00:25:00,810 --> 00:25:05,420 最初のケースでは、それはのように私を取りました マイク・スミスを見つける多分千手順。 557 00:25:05,420 --> 00:25:09,260 これは、撮影している可能性がありますme-- 私は電話帳をピックアップ 558 00:25:09,260 --> 00:25:11,440 そして、私は探し始めました 一度に1ページ、 559 00:25:11,440 --> 00:25:13,480 そして、マイクは1,000ページ以降である可能性があります。 560 00:25:13,480 --> 00:25:16,020 >> 第二のアプローチかもしれません 500ステップに私をとり、 561 00:25:16,020 --> 00:25:17,960 私は飛んでいますので、 一度に2つの貫通。 562 00:25:17,960 --> 00:25:21,082 そして、しかし第三のアプローチ、 それは特に強力です。 563 00:25:21,082 --> 00:25:23,790 しかし、それでは、実際にどのような我々考えてみましょう この第三の方法で行いました。 564 00:25:23,790 --> 00:25:27,590 私はちょうどこれらを呼ぶものを持っています ここに文を1つずつ。 565 00:25:27,590 --> 00:25:28,560 電話帳をピックアップ。 566 00:25:28,560 --> 00:25:30,130 電話帳の真ん中に開きます。 567 00:25:30,130 --> 00:25:31,419 名前を見てください。 568 00:25:31,419 --> 00:25:33,960 そして、物事が少しを取得 より知的に興味深いです、 569 00:25:33,960 --> 00:25:35,170 まだ簡単な場合。 570 00:25:35,170 --> 00:25:38,350 スミスは、間にある場合 その現在のページ上の名前、 571 00:25:38,350 --> 00:25:40,170 その後、条件付きで何かをします。 572 00:25:40,170 --> 00:25:41,840 これは、道路の分岐点のようなものです。 573 00:25:41,840 --> 00:25:42,660 マイクを呼び出します。 574 00:25:42,660 --> 00:25:44,930 マイクは、名前の中にある場合 そのページで、マイクと呼ばれます。 575 00:25:44,930 --> 00:25:49,720 しかし、唯一の行ならば行4を行います ツリーは、あなたがする場合は、trueです。 576 00:25:49,720 --> 00:25:51,590 その質問への答えはイエスです。 577 00:25:51,590 --> 00:25:55,520 >> 他にスミスは以前book--である場合 言い換えれば、私はMセクションにいる場合 578 00:25:55,520 --> 00:25:58,540 そして私は誰かのを探しています 左は、私は何をすべきか 579 00:25:58,540 --> 00:26:00,300 非常に類似したものです。 580 00:26:00,300 --> 00:26:03,440 それから私は、真ん中に開く必要があります 本の左半分の。 581 00:26:03,440 --> 00:26:07,930 それでは、左に行くと、 ステップ2に戻ります。 582 00:26:07,930 --> 00:26:09,290 そこに名前を見てください。 583 00:26:09,290 --> 00:26:12,779 >> だから、他の言葉で、同じことを行います、 しかし、問題に半減しているなら。 584 00:26:12,779 --> 00:26:13,570 あなたは他に何を知っていますか? 585 00:26:13,570 --> 00:26:16,470 スミスは本の中で、後にある場合 私は見ていますページに基づいて、 586 00:26:16,470 --> 00:26:18,790 の真ん中にオープン 本の右半分 587 00:26:18,790 --> 00:26:22,050 そして再び戻って 2つelse--に進みます 588 00:26:22,050 --> 00:26:24,000 ここで第四可能性があります。 589 00:26:24,000 --> 00:26:28,830 マイクのいずれかここか左に またはそこに右またはしないように。 590 00:26:28,830 --> 00:26:30,570 そして、ここで私たちはより良いこのことを検討してください。 591 00:26:30,570 --> 00:26:33,360 そして実際に、あなたは今まで持っていた場合 お使いのコンピュータはあなたにクラッシュし、 592 00:26:33,360 --> 00:26:36,822 それは時々ですが、常にではないが、 ちょうど人間のプログラマの結果ではありません 593 00:26:36,822 --> 00:26:39,280 実現する、あああり、撃ちます 実際にこの第四シナリオ。 594 00:26:39,280 --> 00:26:41,650 そして、あなたはコードを記述していない場合 そのシナリオを処理するため、 595 00:26:41,650 --> 00:26:43,220 時々、あなたは知りません コンピュータは何を行う可能性があります。 596 00:26:43,220 --> 00:26:44,770 そして実際のプログラムがクラッシュすることがあります。 597 00:26:44,770 --> 00:26:47,550 >> しかしこの場合、私は思いました それについて、私は言った、他に終了し、 598 00:26:47,550 --> 00:26:49,850 それは、第四のだから 論理の可能なシナリオ。 599 00:26:49,850 --> 00:26:51,950 今、ちょうど追加してみましょう 我々ので、いくつかの語彙 600 00:26:51,950 --> 00:26:55,320 用語の周りに投げるために始めることができます そうでなければ、かなり直感的です。 601 00:26:55,320 --> 00:26:57,870 私はきたすべてのものだけ ここでは黄色で強調表示され、 602 00:26:57,870 --> 00:27:00,140 私はちょうどに行きますよ ファンクションまたはプロシージャ。 603 00:27:00,140 --> 00:27:01,590 彼らは、アクションのちょうど一種です。 604 00:27:01,590 --> 00:27:04,900 だから、見て開いて、拾います で、コール、オープン、オープン、 605 00:27:04,900 --> 00:27:09,170 これらは単なるアクションですquit--、または私達はよ 、より正式な機能をそれらを呼び出します。 606 00:27:09,170 --> 00:27:11,410 >> 一方、今黄色で、 私は物事を強調してきました 607 00:27:11,410 --> 00:27:14,084 that--ちょうど呼び出しを開始しましょう それらの条件または分岐します。 608 00:27:14,084 --> 00:27:16,750 これらは、決定ポイントどこにあります あなたはこの道を行くかもしれないが、このようにして、 609 00:27:16,750 --> 00:27:18,100 または他のいくつかの方向はまだ。 610 00:27:18,100 --> 00:27:19,430 だから、それらが条件となります。 611 00:27:19,430 --> 00:27:20,930 そして今、この1は少し手の込んだです。 612 00:27:20,930 --> 00:27:24,600 それでは、これらの質問を呼ぶことにしましょう ブール式、 613 00:27:24,600 --> 00:27:26,530 姓ブールを持つ人の後。 614 00:27:26,530 --> 00:27:28,340 >> そして、ブール式 ちょうど何かであります 615 00:27:28,340 --> 00:27:30,290 それは、真または偽ません、yesまたはno。 616 00:27:30,290 --> 00:27:35,870 だから、その答えはあなたの質問です そう状態でのように、気に 617 00:27:35,870 --> 00:27:39,210 答えを取り戻すdecision--行い、 そして、左または右、または何かを行きます 618 00:27:39,210 --> 00:27:40,450 完全に他の。 619 00:27:40,450 --> 00:27:42,860 >> そして最後に、これらの ラインはhere--戻って 620 00:27:42,860 --> 00:27:44,737 ステップ2に、戻って 我々は可能性がtwo--進みます 621 00:27:44,737 --> 00:27:46,320 さまざまな方法でこのアイデアを実装しています。 622 00:27:46,320 --> 00:27:49,028 それから、あなたのものと プログラミング経験が行っている可能性があります 623 00:27:49,028 --> 00:27:50,670 または異なってこれをやって想像することができます。 624 00:27:50,670 --> 00:27:53,170 しかし、今日の目的のために、それはです 重要ちょうど考え。 625 00:27:53,170 --> 00:27:55,400 これは、誘導されたもの 我々は、一般的に呼ぶことにします 626 00:27:55,400 --> 00:28:00,110 なぜならサイクルのloop--いくつかの種類、 私が再び何かを作っています。 627 00:28:00,110 --> 00:28:03,340 >> だから今、ちょうど考えてみましょう このアルゴリズムは、どのように良いです。 628 00:28:03,340 --> 00:28:03,899 あたりです。 629 00:28:03,899 --> 00:28:06,940 マイクの本の中でなら、それはの一つです 何度も何度もこれらの4 scenarios-- 630 00:28:06,940 --> 00:28:08,023 そして再び、我々は彼を見つけることができます。 631 00:28:08,023 --> 00:28:08,890 しかし、それはどのように良いのですか? 632 00:28:08,890 --> 00:28:10,150 まあ、我々は持っていません ここでは、あまりにも形式的でします。 633 00:28:10,150 --> 00:28:12,066 しかし、単にプロットしてみましょう 取得するには何か、xとy、 634 00:28:12,066 --> 00:28:14,470 この問題の形状の感覚。 635 00:28:14,470 --> 00:28:17,160 >> ここではX軸上にあります 私の問題の大きさ。 636 00:28:17,160 --> 00:28:20,256 ここで彼らは、y軸 解決するための時間になります。 637 00:28:20,256 --> 00:28:21,630 だから、多分これはページ数です。 638 00:28:21,630 --> 00:28:24,400 多分これは秒ですか どんなturns--ページ。 639 00:28:24,400 --> 00:28:27,290 しかし、あなたがカウントしたいです この絵は何を表します。 640 00:28:27,290 --> 00:28:30,630 そして、その最初のアルゴリズムは、私が行きますよ ちょうど直線として記述します。 641 00:28:30,630 --> 00:28:33,120 中のnページがある場合は 電話帳、それは 642 00:28:33,120 --> 00:28:36,010 多くのように私を取る可能性があります nステップとしてマイクを検索します。 643 00:28:36,010 --> 00:28:38,930 ベライゾンまたは電話会社の場合 来年1より多くのページを追加し、 644 00:28:38,930 --> 00:28:42,170 それは私に1以上かかることがありますstep-- マイクを見つけるために時間の1以上の単位。 645 00:28:42,170 --> 00:28:44,230 だから1の比率にこの1つだけあります。 646 00:28:44,230 --> 00:28:45,970 これは、直線の傾きです。 647 00:28:45,970 --> 00:28:49,110 >> 一方、その第二 私は場合algorithm-- 648 00:28:49,110 --> 00:28:51,570 time-- 2で2を行きます、 4個、6個、8個、またはdouble-- 649 00:28:51,570 --> 00:28:54,550 二回ページを経由 一度に、一度に2、 650 00:28:54,550 --> 00:28:55,710 それはまだ直線です。 651 00:28:55,710 --> 00:28:58,720 二から一は今あります 比率が、ちょうど少し低いです。 652 00:28:58,720 --> 00:29:02,240 したがって、この多くのページがあるかどうか ここでは、黄色のチャート上で、 653 00:29:02,240 --> 00:29:04,800 それは私にこれを取ることがあります 多くのステップまたは秒、 654 00:29:04,800 --> 00:29:07,980 それ以外の場合は、私を取るために起こっています 赤のライン上の二倍の。 655 00:29:07,980 --> 00:29:10,190 >> しかし、緑色の線は本当のお持ち帰りです。 656 00:29:10,190 --> 00:29:12,290 これは、一般的に私たちです logorithm--ログを呼び出します 657 00:29:12,290 --> 00:29:13,840 nは、nはページ数です。 658 00:29:13,840 --> 00:29:16,450 しかし、それは重要な形状です 今日、私たちは持っていないので、 659 00:29:16,450 --> 00:29:17,950 でも、ポイントをプロットについて考えます。 660 00:29:17,950 --> 00:29:19,830 >> 極端なシナリオについて考えてみよう。 661 00:29:19,830 --> 00:29:23,070 Verizonは明日が2倍と仮定 その電話帳のページ数、 662 00:29:23,070 --> 00:29:24,900 1000〜2000まで。 663 00:29:24,900 --> 00:29:28,440 最初のアルゴリズムでは、I 余分千を無駄かもしれません 664 00:29:28,440 --> 00:29:32,080 手順は、という理由だけで、マイクを探して Verizonは本のサイズを倍増しました。 665 00:29:32,080 --> 00:29:34,740 それalgorithm--第かもしれません 私に余分な500の手順を実行します。 666 00:29:34,740 --> 00:29:38,370 千以上​​のページでは、私は2つを行きます マイクを見つけるために500以上のステップtime--。 667 00:29:38,370 --> 00:29:41,020 >> しかし、第3のアルゴリズム 一種の魔法です。 668 00:29:41,020 --> 00:29:44,270 Verizonは数を倍増します 1000〜2000頁の、 669 00:29:44,270 --> 00:29:47,730 しかし、どのように、より多くのステップがありません それはマイクを探すために私を取りますか? 670 00:29:47,730 --> 00:29:51,220 私はちょうどすることができますので、それは、ただ一つです 電話帳をもう一度涙 671 00:29:51,220 --> 00:29:55,280 2000ページの問題からへ 千ページの問題、出来上がり。 672 00:29:55,280 --> 00:29:57,030 私はそれのうち大規模な一口を取りました。 673 00:29:57,030 --> 00:29:59,405 >> そして、あなたは本当に極端に行く場合は、 電話帳と仮定する 674 00:29:59,405 --> 00:30:03,600 同社は、のようなクレイジーなものを持っていました 40億ページの電話帳。 675 00:30:03,600 --> 00:30:07,020 まあそれはどのように多くのステップかかる場合があります 40億にマイク・スミスを見つけるために 676 00:30:07,020 --> 00:30:09,990 ページの電話帳? 677 00:30:09,990 --> 00:30:16,450 これは大きな数だが、わずか4億円 20億5億に億1に、 678 00:30:16,450 --> 00:30:18,720 まだ250 million-- 大きな数字のように聞こえます、 679 00:30:18,720 --> 00:30:20,980 しかし、私は非常に迅速によ 小さい値になって。 680 00:30:20,980 --> 00:30:24,790 >> そして実際に、私は数学を行う場合 右、私は分割することができ40億 681 00:30:24,790 --> 00:30:28,750 およそ32倍の前に 私はちょうど1に取り掛かります。 682 00:30:28,750 --> 00:30:31,640 だから、電話帳が4であれば 億ページの長さ、大したことありません。 683 00:30:31,640 --> 00:30:35,270 数秒以内に、多分32 秒は、私は半分に分割することができ 684 00:30:35,270 --> 00:30:39,560 そして最終的にはマイクまたはを見つけます 彼はそこではないと結論しています。 685 00:30:39,560 --> 00:30:42,219 そして、それはの本質です 良いアルゴリズムをalgo​​rithm--。 686 00:30:42,219 --> 00:30:44,260 そして、それはの一つです このようなクラスの目標、 687 00:30:44,260 --> 00:30:47,350 私はどのように行う把握しようとしています だけではなく、正しく問題を解決するため、 688 00:30:47,350 --> 00:30:52,360 私はいつもそれを1つずつ実行する方法を知っていたように time--でページが、正しく、よく。 689 00:30:52,360 --> 00:30:55,034 どうすれば良い設計ん 問題の解決策? 690 00:30:55,034 --> 00:30:57,200 それでは、ここで少し時間をとってみましょう そして今、あなたの感覚を与えます 691 00:30:57,200 --> 00:31:00,260 CS50 itself--が紹介コースの いくつかのコースのスタッフ。 692 00:31:00,260 --> 00:31:02,010 ちょうど二時前に、我々はよ ひと休みします 693 00:31:02,010 --> 00:31:03,520 あなたのようにそれら 誰がすることができます買い物をしています 694 00:31:03,520 --> 00:31:05,130 ダックアウトと取ります 他のいくつかのクラスを見て 695 00:31:05,130 --> 00:31:06,580 このオンラインの残りの部分を見て。 696 00:31:06,580 --> 00:31:09,250 しかし、今のところ、私が紹介しましょう CS50、クラス自体、 697 00:31:09,250 --> 00:31:11,330 特に新しいものです。 698 00:31:11,330 --> 00:31:13,960 >> だから過去の春、私たち time--のかなりを費やし 699 00:31:13,960 --> 00:31:17,911 コー​​スのスタッフとI--思考 それが何であるかについて、我々はCS50になりたいです、 700 00:31:17,911 --> 00:31:19,910 そして最初に戻ります いわば原則、 701 00:31:19,910 --> 00:31:22,760 それは私たちが望むであるかを検討します このコースは、次のようになりとされるように 702 00:31:22,760 --> 00:31:23,740 その学生のためのように。 703 00:31:23,740 --> 00:31:26,480 そして、あなたは問題に表示されます 、同様に招待をゼロに設定 704 00:31:26,480 --> 00:31:28,780 その見を取ります 要約するURL 705 00:31:28,780 --> 00:31:33,270 背後にある動機の一部 秋2016の次のような特徴。 706 00:31:33,270 --> 00:31:35,570 >> あなたが収集している可能性がありように、 TLから:DRの配布資料、 707 00:31:35,570 --> 00:31:39,060 シラバス今日だけでなく、から コー​​スカタログ、CS50で今年、 708 00:31:39,060 --> 00:31:42,540 あなただけ出席するために期待しています だから仕事もdone-- today-- 709 00:31:42,540 --> 00:31:45,960 11月21日の最後の講義。 710 00:31:45,960 --> 00:31:49,150 そして、あなたは歓迎しているが、予想されません 途中でこれらの講義に出席し、 711 00:31:49,150 --> 00:31:51,180 私たちがやっているので、 今年は、撮影されています 712 00:31:51,180 --> 00:31:52,661 リアルタイムコースの材料インチ 713 00:31:52,661 --> 00:31:54,660 だから、すべてはとどまります 現在および組み込ま 714 00:31:54,660 --> 00:31:57,410 最良として、私たちは現在のイベントをcan-- その人々がかもしれないとの会話 715 00:31:57,410 --> 00:32:00,400 業界で持つこと 世界が、その材料を製造します 716 00:32:00,400 --> 00:32:03,892 結果として、利用可能な、でもearlier-- 全文転写物との完全な 717 00:32:03,892 --> 00:32:05,850 そして、検索性と 他のリソースへのリンク。 718 00:32:05,850 --> 00:32:07,930 >> そして実際、我々がしてきました いくつかの時間を主張 719 00:32:07,930 --> 00:32:10,830 私たちは今、これを信じています 私たちが作成することができ、デジタルで、 720 00:32:10,830 --> 00:32:15,170 より魅力的な、より没入 対照的に、教育経験、 721 00:32:15,170 --> 00:32:19,110 ここではいくつかの23倍を収集します 個人的に、私のような誰かを聞い 722 00:32:19,110 --> 00:32:22,925 単にコンピュータサイエンスの話を、 より積極的に従事するとは対照的です。 723 00:32:22,925 --> 00:32:25,800 だから、コースのシラバスに表示されます ここ学期のスケッチ、 724 00:32:25,800 --> 00:32:27,840 時講義意志と一緒に これはあなたがしているために、撮影さ 725 00:32:27,840 --> 00:32:29,710 歓迎するが期待できません、 そして、するとき、彼らは意志 726 00:32:29,710 --> 00:32:31,640 コー​​スのウェブサイト上でリリースされます。 727 00:32:31,640 --> 00:32:34,300 >> そして、我々は上のここでやるもの 来週から毎週水曜日、 728 00:32:34,300 --> 00:32:37,362 多くのだけで、より密接です 参加したいものを人々、 729 00:32:37,362 --> 00:32:39,820 いわゆるウォークスルーであり、 ここで、Iとコースの頭 730 00:32:39,820 --> 00:32:41,730 実際に物事を行います もう少し親密 731 00:32:41,730 --> 00:32:44,313 ここではオーケストラでダウン セクション、まだいくつかの技術を持っています 732 00:32:44,313 --> 00:32:46,365 とを歩きます 現在の週の問題のセット、 733 00:32:46,365 --> 00:32:50,020 そして、の間であれば、あなたがparticularly--提供しています 小さいものcomfortable--すべての詳細 734 00:32:50,020 --> 00:32:52,790 あなたが望むかもしれない指導や 今週の挑戦のために必要。 735 00:32:52,790 --> 00:32:55,820 同様に、誰ができない人のため 人のもの、大したことないに出席。 736 00:32:55,820 --> 00:32:58,486 同様でそこに主導されます コー​​スの上級スタッフの1、 737 00:32:58,486 --> 00:33:02,650 Zamalya、埋め込まれた同じ機会 問題で自分自身を設定します。 738 00:33:02,650 --> 00:33:04,960 >> 問題は、今年設定します 金曜日に発売されます 739 00:33:04,960 --> 00:33:08,080 もはや、7日後に行いません しかし、10日later--故意 740 00:33:08,080 --> 00:33:10,910 それぞれの問題と重複 より良い収容するように、設定され、 741 00:33:10,910 --> 00:33:13,050 我々願って、干満 学生のスケジュールで、 742 00:33:13,050 --> 00:33:16,550 場合は特に中間試験や陸上競技 あるいは学者やextracurriculars 743 00:33:16,550 --> 00:33:18,465 行ったり来たりする傾向があります 特に半ば学期。 744 00:33:18,465 --> 00:33:21,340 それはあなたにもう少しを与える必要があります あなたかどうかを前面にとして裁量 745 00:33:21,340 --> 00:33:25,690 CS50または背面負荷であなたの週をロード それの代わりに、次の週末に。 746 00:33:25,690 --> 00:33:28,817 だから、コースのシラバスに見えます ここではそのスケジュールの。 747 00:33:28,817 --> 00:33:30,900 そして、あなたはあまりにも間でわかります 変更は今年、 748 00:33:30,900 --> 00:33:34,082 に慣れています 過去のプログラミング、 749 00:33:34,082 --> 00:33:36,290 我々は、学期を開始します 我々は、スクラッチで、今日意志 750 00:33:36,290 --> 00:33:39,730 言語に特に焦点を当てます Cと呼ばれ、その後はない移行 751 00:33:39,730 --> 00:33:43,430 PHPに、しかしと呼ばれる言語へ 学期の終わりに向かってのPython 752 00:33:43,430 --> 00:33:46,565 ウェブプログラミングの文脈において、 SQLおよびJavaScriptと共に、 753 00:33:46,565 --> 00:33:48,930 HTML、CSS、およびさらにより。 754 00:33:48,930 --> 00:33:51,790 >> そして、FAQへの答えで、 それは確かにケースです 755 00:33:51,790 --> 00:33:55,520 CSはかつて私と同じくらい怖いではないこと それはと思ったが、それは、多くの仕事であります 756 00:33:55,520 --> 00:33:57,280 私は聞いていたようである可能性があります。 757 00:33:57,280 --> 00:34:03,210 しかし、これは、ここでいくつかはあると言うです 秋2015生徒の体からの統計情報、 758 00:34:03,210 --> 00:34:06,460 これにより、水平の青い線 時間の平均数を表します 759 00:34:06,460 --> 00:34:06,960 報告。 760 00:34:06,960 --> 00:34:10,570 そして、あなたは、平均が表示されます 多分16を12--する10の6 761 00:34:10,570 --> 00:34:14,580 かそこらなどが、と 明確にするために、高分散。 762 00:34:14,580 --> 00:34:18,570 そして、そうではないだけがあることを実感 より快適に、より少ない学生 763 00:34:18,570 --> 00:34:22,150 コー​​スで快適、 しかし、対応するサポート 764 00:34:22,150 --> 00:34:25,699 これらの学生を取得するための構造 首尾よく学期。 765 00:34:25,699 --> 00:34:29,409 >> 確かに、よくある質問への答えでは、すべきです あなたが最初の年としてCS50を取りますか? 766 00:34:29,409 --> 00:34:30,139 絶対に。 767 00:34:30,139 --> 00:34:32,690 そして実際に、私は後悔しません 私の方法を見つけたではありません 768 00:34:32,690 --> 00:34:35,170 または新しいフィールドを見つけました 同様にその最初の年。 769 00:34:35,170 --> 00:34:39,149 そして、あなたはでCS50を取る必要があります 確かに他のコース、well-- 770 00:34:39,149 --> 00:34:41,940 そして、我々は可能性のある一般的なアドバイス 、そのCS50はおそらくだ学生を与えます 771 00:34:41,940 --> 00:34:44,929 ないクラスの種類やイントロクラス あなたは3と取るべきであること 772 00:34:44,929 --> 00:34:47,199 他のまたは他の4つのp-設定したクラス。 773 00:34:47,199 --> 00:34:50,583 しかし、あなたは他の二つのp型セットを取っている場合 クラス、何か他のもの、およびCS50、 774 00:34:50,583 --> 00:34:51,499 絶対に扱いやすいです。 775 00:34:51,499 --> 00:34:54,900 私は、多くの学生を持っていました 過去にはかなり正常に行って。 776 00:34:54,900 --> 00:34:57,490 >> そして、それに向かってあなたを取得します 正常にフィニッシュライン、 777 00:34:57,490 --> 00:35:00,260 コー​​スは持っているんsections-- 学生のための別々のトラック 778 00:35:00,260 --> 00:35:03,100 より快適に、より少ない快適な、 そして、どこかの間で、 779 00:35:03,100 --> 00:35:04,850 それによりコースの中 第一の問題点セット、 780 00:35:04,850 --> 00:35:06,360 あなたは自分自身を記述するように求められます。 781 00:35:06,360 --> 00:35:09,151 そして、あなたは少ないものの中にある場合 快適な、それは事のようなものです 782 00:35:09,151 --> 00:35:10,420 あなただけではなく知っています。 783 00:35:10,420 --> 00:35:13,010 そして実際、それがされています CS50で成長している人口統計学的 784 00:35:13,010 --> 00:35:14,090 かなりの数年間。 785 00:35:14,090 --> 00:35:17,680 >> 最後の秋のように 例えば、クラスの58% 786 00:35:17,680 --> 00:35:20,560 自分自身を説明し 少ない快適なものの中で、 787 00:35:20,560 --> 00:35:23,210 より多くのもののうち、9%と 快適、そしてその後 788 00:35:23,210 --> 00:35:25,900 そこに他の学生で 自分自身を記述した赤 789 00:35:25,900 --> 00:35:27,890 間でどこかのように。 790 00:35:27,890 --> 00:35:31,980 そして、あなたは全体のここでのトピックを参照してくださいよ スケジュールセクションの、その全ての 791 00:35:31,980 --> 00:35:34,820 で、人に提供されています コー​​スの持つリアルタイム、 792 00:35:34,820 --> 00:35:38,320 指導員の素晴らしいスタッフ 誰のいくつかのコースのアシスタント、 793 00:35:38,320 --> 00:35:39,660 あなただけの瞬間に会うでしょう。 794 00:35:39,660 --> 00:35:42,993 >> セクション自体、あなたがわかるように、意志 月曜日と火曜日と水曜日であること、 795 00:35:42,993 --> 00:35:45,910 あなたがダイビングすることを可能にするように だから場合は、従事した後で 796 00:35:45,910 --> 00:35:48,110 コー​​スの中で、選択しました 講義早くその週。 797 00:35:48,110 --> 00:35:51,420 そして、営業時間、どの 確かに、年を追うごとに、 798 00:35:51,420 --> 00:35:54,110 の劣ら行われていません コー​​スに挑戦。 799 00:35:54,110 --> 00:35:57,040 そして今年、我々はない計画しています オフィスhours-- 1を保持するだけ 800 00:35:57,040 --> 00:36:00,300 ヘルプのための1つの機会に 水曜木曜学生 801 00:36:00,300 --> 00:36:03,790 そして日曜日、それらの最後の 設計によって午後にいます 802 00:36:03,790 --> 00:36:06,910 その応力の一部を減少させます 常に深夜に発生します 803 00:36:06,910 --> 00:36:10,180 締め切りとp型settting looming-- しかし、営業時間も提供されます 804 00:36:10,180 --> 00:36:14,920 月曜日と火曜日と 水曜日、金曜日と土曜日、 805 00:36:14,920 --> 00:36:17,080 HSAで私達の友人に感謝。 806 00:36:17,080 --> 00:36:20,330 >> CS50は現在、独自のスペースがあります 学生とCS50のスタッフのために、 807 00:36:20,330 --> 00:36:23,070 67マウントオーバーン・ストリートの上、 右がハーバードスクエアインチ 808 00:36:23,070 --> 00:36:26,340 CS50のことであるためのビジョン 週を通してのTFとのCA、 809 00:36:26,340 --> 00:36:29,052 最もを通してかなり 日は、サポートのためにあるでしょう。 810 00:36:29,052 --> 00:36:30,760 だから、あなたには、いくつかを持っている場合 p型セットに質問 811 00:36:30,760 --> 00:36:33,093 またはあなたは少しを感じています ブロックまたは少し混乱し、 812 00:36:33,093 --> 00:36:35,640 そして一体、あなたは時間を持っていますか、 クラス間の半時間、 813 00:36:35,640 --> 00:36:38,920 特に次のことができsquare--で でポップとその質問に答える必要があり 814 00:36:38,920 --> 00:36:41,720 混乱を持ってclarified-- 精神で非常に多く、 815 00:36:41,720 --> 00:36:45,490 あなたは数学の、精通しています 部門の独自の数学の質問センター、 816 00:36:45,490 --> 00:36:49,300 しかし、クロック当たり約かなり [? Googleカレンダー?]我々はオンラインで掲載する予定という。 817 00:36:49,300 --> 00:36:52,400 >> 家庭教師はまた、それらのために利用可能です 自由にコースの学生、 818 00:36:52,400 --> 00:36:54,750 ご希望の場合は自分のスタッフ 1上のより親密な1、 819 00:36:54,750 --> 00:36:58,940 または二、三のクラスメートだけ、ワーキング コー​​スのスタッフのメンバーの一人で。 820 00:36:58,940 --> 00:37:02,320 そして実際、ここでこれらは単なるです コー​​スのスタッフの一部、 821 00:37:02,320 --> 00:37:04,120 いくつかのあなたはよ 一瞬で会います。 822 00:37:04,120 --> 00:37:07,440 実際には、CS50自身 ヘッドティーチング・フェロー、 823 00:37:07,440 --> 00:37:09,790 ヘッドコース アシスタント、および教師、 824 00:37:09,790 --> 00:37:12,998 アップ時に来ることができ、許可 それらは挨拶します。 825 00:37:12,998 --> 00:37:22,498 >> [拍手] 826 00:37:22,498 --> 00:37:23,456 SPEAKER 1:[聞こえません]。 827 00:37:23,456 --> 00:37:51,842 828 00:37:51,842 --> 00:37:57,856 >> [拍手] 829 00:37:57,856 --> 00:37:58,814 SPEAKER 2:[聞こえません]。 830 00:37:58,814 --> 00:38:17,240 831 00:38:17,240 --> 00:38:27,238 >> [拍手] 832 00:38:27,238 --> 00:38:28,196 SPEAKER 3:[聞こえません]。 833 00:38:28,196 --> 00:38:58,951 834 00:38:58,951 --> 00:39:03,120 >> [拍手] 835 00:39:03,120 --> 00:39:06,740 >> DAVIDマラン:そして、私たちができるようにします CS50の最ものボード2に持ち込みます 836 00:39:06,740 --> 00:39:09,730 シニアスタッフ、ならびにロブとZamayla。 837 00:39:09,730 --> 00:39:15,120 >> [拍手] 838 00:39:15,120 --> 00:39:17,226 >> 実際、両方のロブと Zamaylaは私たちとされています 839 00:39:17,226 --> 00:39:19,940 あまりにも長い間、私ができたこと CS50のアーカイブに移動するには 840 00:39:19,940 --> 00:39:22,470 これは非常にSD見つけます それらの映像参加 841 00:39:22,470 --> 00:39:25,402 何年か前にステージ上で自分自身。 842 00:39:25,402 --> 00:39:26,110 ROB:[聞こえません]。 843 00:39:26,110 --> 00:39:53,660 844 00:39:53,660 --> 00:39:59,247 >> [拍手] 845 00:39:59,247 --> 00:40:00,080 ZAMAYLA:[聞こえません] 846 00:40:00,080 --> 00:40:50,888 847 00:40:50,888 --> 00:40:52,467 >> [拍手] 848 00:40:52,467 --> 00:40:53,425 DAVIDマラン:ありがとう。 849 00:40:53,425 --> 00:40:56,160 850 00:40:56,160 --> 00:40:58,030 したがって、これらに加えて、 ここでは、チームメンバー、 851 00:40:58,030 --> 00:41:01,662 CS50は、ほぼ100のチームを持ってい 人のスタッフ全員、 852 00:41:01,662 --> 00:41:04,370 セクションのために利用可能になります そして、営業時間およびそんなに多く。 853 00:41:04,370 --> 00:41:06,920 ロブがあまりにも言うように、これは 最も重要なオーバーホール 854 00:41:06,920 --> 00:41:09,534 その10年間でCS50の 私は[聞こえない]にしてきました。 855 00:41:09,534 --> 00:41:12,200 [聞こえない]特に焦点を当てました 支持構造を提供します、 856 00:41:12,200 --> 00:41:14,050 の多くを離れてトリミング されていますバルク 857 00:41:14,050 --> 00:41:16,870 10年間に蓄積されました 反復開発の 858 00:41:16,870 --> 00:41:18,120 コー​​スの問題セットに。 859 00:41:18,120 --> 00:41:21,470 >> だから今年だけでなく、クラスではなく また、当然の問題の形で 860 00:41:21,470 --> 00:41:24,800 セットは、あなたがするものを見つける必要があります より合理化され、トリマー、はるかに 861 00:41:24,800 --> 00:41:26,700 より管理しやすいです 我々として、過去数年間で 862 00:41:26,700 --> 00:41:31,330 だ荷物の一部を流します 進化年の性質によって開発されました 863 00:41:31,330 --> 00:41:32,970 年と反復後。 864 00:41:32,970 --> 00:41:35,110 だから、新しく改良され、今日から始まります。 865 00:41:35,110 --> 00:41:37,860 >> あなたは、いくつかのより多くを満たしています [聞き取れない]でアウトコースのスタッフ 866 00:41:37,860 --> 00:41:40,186 我々はサーブ2時30分、で、 伝統として、ケーキ。 867 00:41:40,186 --> 00:41:42,060 もう少しケーキがあります それよりも、しかし、あなたはよ 868 00:41:42,060 --> 00:41:44,690 まだエリンとトビアスなどを満たしています。 869 00:41:44,690 --> 00:41:46,470 そして、私はあなたを与えてみましょう ツアー我々は聞く前に 870 00:41:46,470 --> 00:41:49,600 他のスタッフの一部から クラス内だけでなく待って何の。 871 00:41:49,600 --> 00:41:52,730 実際には、我々は常にCS50のを開始します 学期は、今週の土曜日来て、 872 00:41:52,730 --> 00:41:54,330 CS50パズルの日と呼ばれるものです。 873 00:41:54,330 --> 00:41:56,710 >> これは、とは何の関係もありません コンピュータ科学それ自体が、 874 00:41:56,710 --> 00:41:58,669 しかし、約問題で より一般的に解きます。 875 00:41:58,669 --> 00:42:01,210 そして、あなたはそのように分かち合うことを選択した場合、 招待状の一部につき、 876 00:42:01,210 --> 00:42:03,460 あなたがドアを見ている可能性があります 落としたり、ここでステージ上で、 877 00:42:03,460 --> 00:42:05,830 それは、チーム内の機会です 2つまたは3つまたは​​4つの、 878 00:42:05,830 --> 00:42:10,680 パズルやピザのために参加します そして、賞品とmore--今週の土曜日、 879 00:42:10,680 --> 00:42:12,560 もっと用にチューニング滞在。 880 00:42:12,560 --> 00:42:15,082 >> あなたはそのすべてのあまりにも見つけることができます 金曜日、火と氷で、 881 00:42:15,082 --> 00:42:16,790 CS50は持参ん 学生の全体の束 882 00:42:16,790 --> 00:42:19,100 昼食に、大きなを作るために クラスは、より親密な感じ 883 00:42:19,100 --> 00:42:21,820 そして一般的にまとめます 産業界からの卒業生や友人 884 00:42:21,820 --> 00:42:24,710 彼らがしてきたことについて話をします 卒業以来最大となって。 885 00:42:24,710 --> 00:42:27,820 同様に、今年、我々はなります 発足初CS50 50 886 00:42:27,820 --> 00:42:31,390 contest--半ば学期をコーディング 皆を許可する機会 887 00:42:31,390 --> 00:42:35,430 基礎オプトインで、持っています クラスメートに対する知恵の挑戦、 888 00:42:35,430 --> 00:42:39,250 再び2または3つのチームで それだけでプログラミングを使用して4、 889 00:42:39,250 --> 00:42:41,920 あなたは下の持っている精通しました わずか6または7の後にあなたのベルト 890 00:42:41,920 --> 00:42:44,710 クラスの週、および参加 競争のこの種で 891 00:42:44,710 --> 00:42:50,261 あなたがあなた自身を磨くしたい場合はonline-- その挑戦でスキルなおさら。 892 00:42:50,261 --> 00:42:52,760 学期の終わりにあります いわゆるCS50 Hackathon-- 893 00:42:52,760 --> 00:42:56,970 午前7時から始まり、機会 PM 7:00 AMに終了し、道に沿って 894 00:42:56,970 --> 00:43:01,900 ダイビングに12夜の時間はあります コー​​スの最後のproject--へ 895 00:43:01,900 --> 00:43:04,820 設計する機会と 関心のほとんど何かを実装します 896 00:43:04,820 --> 00:43:06,980 ご教示にあなたに 仲間の指導。 897 00:43:06,980 --> 00:43:09,600 9:00の周りに一般的に我々を行います 、ピザ、午前1:00にサービスを提供 898 00:43:09,600 --> 00:43:13,210 フィリップさん、そして私たちの数 午前5時にまだ起きている人、 899 00:43:13,210 --> 00:43:16,310 シャトルはダウンしてバス接続されています 朝食のためのIHOPへの道。 900 00:43:16,310 --> 00:43:19,340 >> そして数日後 いわゆるCS50ですfare-- 901 00:43:19,340 --> 00:43:23,450 学期の展覧会の最後に どれだけ遠くにそう多くの祭典 902 00:43:23,450 --> 00:43:28,200 CS50の学生はから来ています 0週目の週のすべての方法、 903 00:43:28,200 --> 00:43:32,610 そのうちの73パーセントということを念頭において クラスメートとあなたが今年持っています 904 00:43:32,610 --> 00:43:34,840 前のCSのクラスを取ったことがありません。 905 00:43:34,840 --> 00:43:39,226 実際には、ここでは、できるだけ多く再び強調します CS50のスタッフから数以上の顔です。 906 00:43:39,226 --> 00:43:40,184 SPEAKER 4:[聞こえません]。 907 00:43:40,184 --> 00:43:45,909 908 00:43:45,909 --> 00:43:46,867 SPEAKER 5:[聞こえません]。 909 00:43:46,867 --> 00:43:51,332 910 00:43:51,332 --> 00:43:52,290 SPEAKER 6:[聞こえません]。 911 00:43:52,290 --> 00:43:55,276 912 00:43:55,276 --> 00:43:56,234 SPEAKER 7:[聞こえません]。 913 00:43:56,234 --> 00:44:01,727 914 00:44:01,727 --> 00:44:02,643 SPEAKER 8:[聞こえません] 915 00:44:02,643 --> 00:44:10,066 916 00:44:10,066 --> 00:44:11,024 SPEAKER 9:[聞こえません]。 917 00:44:11,024 --> 00:44:14,475 918 00:44:14,475 --> 00:44:15,461 >> SPEAKER 4:[聞こえません]。 919 00:44:15,461 --> 00:44:16,461 >> SPEAKER 10:[聞こえません]。 920 00:44:16,461 --> 00:44:21,456 921 00:44:21,456 --> 00:44:23,438 SPEAKER 11:[聞こえません]。 922 00:44:23,438 --> 00:44:24,438 SPEAKER 12:[聞こえません]。 923 00:44:24,438 --> 00:44:30,438 924 00:44:30,438 --> 00:44:31,396 SPEAKER 13:[聞こえません] 925 00:44:31,396 --> 00:44:37,360 926 00:44:37,360 --> 00:44:40,342 >> SPEAKER 14:[聞こえません]。 927 00:44:40,342 --> 00:44:42,863 >> SPEAKER 13:[聞こえません]。 928 00:44:42,863 --> 00:44:43,821 SPEAKER 15:[聞こえません] 929 00:44:43,821 --> 00:44:48,785 930 00:44:48,785 --> 00:44:49,785 SPEAKER 16:[聞こえません]。 931 00:44:49,785 --> 00:44:53,761 932 00:44:53,761 --> 00:44:55,252 >> SPEAKER 11:[聞こえません] 933 00:44:55,252 --> 00:44:57,773 934 00:44:57,773 --> 00:44:58,731 SPEAKER 5:[聞こえません]。 935 00:44:58,731 --> 00:45:11,250 936 00:45:11,250 --> 00:45:15,130 DAVIDマラン:チームの一部 自身がクラスを買い物をしています。 937 00:45:15,130 --> 00:45:17,760 しかし、もしそれらのメンバー CS50スタッフのここにあります、 938 00:45:17,760 --> 00:45:19,230 ちょっとアップに来ることができました。 939 00:45:19,230 --> 00:45:23,450 CS50ののTFとCAと[?スタッフは?] メンバーは、これらはほんの一部に過ぎませんhere-- 940 00:45:23,450 --> 00:45:28,880 ちょうどあなたのfaces-- 1の 見て、いくつかのother--といくつかの他 941 00:45:28,880 --> 00:45:30,020 まだ。 942 00:45:30,020 --> 00:45:33,242 なぜ我々は先に行くと、許可されていません。 君たち5分間の休憩を。 943 00:45:33,242 --> 00:45:35,450 あなたはに出カモに必要がある場合 店のクラスは、それは大丈夫です。 944 00:45:35,450 --> 00:45:38,900 そして、5分で、我々は、再開します Scratch--最初のを見てみ 945 00:45:38,900 --> 00:45:42,420 私たちのプログラミング言語、大会の コー​​スのスタッフここにいくつかのより多くの、 946 00:45:42,420 --> 00:45:45,020 そして最終的に焦点を合わせます 問題にゼロを設定します。 947 00:45:45,020 --> 00:45:46,710 だから我々は5分で戻ってきます。 1 00:45:46,864 --> 00:45:47,370 >> 大丈夫。 2 00:45:47,370 --> 00:45:48,590 だから我々は戻ってきました。 3 00:45:48,590 --> 00:45:51,330 そして、私たちの残りで 時間の今日、ゴール 4 00:45:51,330 --> 00:45:54,320 活躍の場を平準化することです いくつかの用語の観点から、 5 00:45:54,320 --> 00:45:55,297 いくつかのアイデアの観点インチ 6 00:45:55,297 --> 00:45:57,380 確かに、あたりなどのため、 以前のチャートの一部、 7 00:45:57,380 --> 00:46:00,130 の範囲があるように起こっています クラスでの経験のレベル、 8 00:46:00,130 --> 00:46:03,210 いくつかのその学生が持っています 前にいくつかのプログラミングを取られ、 9 00:46:03,210 --> 00:46:04,200 誰のいくつかはそうではありません。 10 00:46:04,200 --> 00:46:07,430 ので、この最初の問題で 設定し、この第一言語と 11 00:46:07,430 --> 00:46:10,830 我々が開始する機会を持っています 今日の後に付与するために取ります 12 00:46:10,830 --> 00:46:12,960 いくつかの一般的な語彙やアイデア。 13 00:46:12,960 --> 00:46:15,590 >> そして、我々はの方法によりこれをやります もちろん初languages​​-- 14 00:46:15,590 --> 00:46:21,070 CとPythonとに加えて、 JavaScriptとSQLとHTMLとCSS、 15 00:46:21,070 --> 00:46:24,450 我々は最初に注力することがあります そして、だけの問題ではゼロを設定 16 00:46:24,450 --> 00:46:28,160 このグラフィカル言語で、呼ばれます MITのメディアラボが開発したスクラッチ、 17 00:46:28,160 --> 00:46:30,880 道の下、支援します 特に学生や子供たち 18 00:46:30,880 --> 00:46:35,070 自分自身を表現algorithmically-- 何とより一貫性のある方法で 19 00:46:35,070 --> 00:46:37,300 我々は、計算の考え方を呼ぶかもしれません。 20 00:46:37,300 --> 00:46:40,985 >> ので、それは便利な言語です 非常に迅速に来週1週間で、 21 00:46:40,985 --> 00:46:44,360 私たちは、よりに移行ん 呼ばれる伝統的な難解な言語 22 00:46:44,360 --> 00:46:46,370 純粋なテキストであるC、。 23 00:46:46,370 --> 00:46:48,930 あなただけであなたのキーボードを使用します 命令を記述するために 24 00:46:48,930 --> 00:46:50,230 画面上でこれらのような。 25 00:46:50,230 --> 00:46:52,840 しかし、あなたは見たことがない場合でも、 前のプログラミング言語 26 00:46:52,840 --> 00:46:55,170 ただ一瞥で これは、すべてのそれは不可解なこと、 27 00:46:55,170 --> 00:47:00,010 あなたはおそらくことを推測することができます おそらくのHello Worldを出力します。 28 00:47:00,010 --> 00:47:02,050 しかし、多くのがあります そこに構文上のオーバーヘッド。 29 00:47:02,050 --> 00:47:05,770 奇妙なハッシュがあります トップアップ記号またはハッシュタグ。 30 00:47:05,770 --> 00:47:08,900 角カッコはいくつかあります 括弧、中括弧、半colon-- 31 00:47:08,900 --> 00:47:11,880 視覚だけでそんなにがあります 邪魔になる構文。 32 00:47:11,880 --> 00:47:13,940 私たちは、コースを開始します スクラッチを取得するように 33 00:47:13,940 --> 00:47:17,600 それらのすべての過去の知的 つまらない気晴らし、 34 00:47:17,600 --> 00:47:20,290 そして、アイデアに代わりに焦点を当てます。 35 00:47:20,290 --> 00:47:22,540 >> 実際には、これは前にあるかもしれません。 36 00:47:22,540 --> 00:47:24,830 これは、これのために、週後でなければなりません。 37 00:47:24,830 --> 00:47:26,760 これは、このグラフィカルで 言語スクラッチ、 38 00:47:26,760 --> 00:47:29,870 あなたはその同じを実装する方法です 、実行プログラムをprogram-- 39 00:47:29,870 --> 00:47:31,340 単に世界が挨拶します。 40 00:47:31,340 --> 00:47:34,740 そして、何スクラッチの良いのはあります それがこのグラフィカルなプログラミングだこと 41 00:47:34,740 --> 00:47:38,780 パズルのピースを使用する環境や のみ一緒に連動することをブロック、 42 00:47:38,780 --> 00:47:40,440 それはそうするように論理的な意味がある場合。 43 00:47:40,440 --> 00:47:43,810 そして、スクラッチであなたが開発することができます アニメーションやインタラクティブなゲーム 44 00:47:43,810 --> 00:47:47,270 アート、物事の任意の数およびその あなたは、あなた自身の心の中で想像するかもしれません 45 00:47:47,270 --> 00:47:51,200 単にによってそれらを実装します ドラッグ&パズルのピースを落とします。 46 00:47:51,200 --> 00:47:54,265 >> そして実際、私たちは能力を持っています 同じアイデアのいくつかを表現します 47 00:47:54,265 --> 00:47:56,890 私はちょうど瞬間を述べていること 前マイク・スミスとの関連で 48 00:47:56,890 --> 00:48:00,670 電話book--物事を検索 関数のように、ただのアクション、 49 00:48:00,670 --> 00:48:03,070 実行ループのようなもの 何度も何度も物事、 50 00:48:03,070 --> 00:48:05,170 ある変数、 私たちが紹介何か、 51 00:48:05,170 --> 00:48:08,086 それから、おそらくおなじみです プレースホルダのほんのいくつかの種類algebra-- 52 00:48:08,086 --> 00:48:10,840 あなたがかもしれないいくつかの値を格納します later--ブール式を必要とします、 53 00:48:10,840 --> 00:48:13,720 ここで、それらはいいいえまたは真 前から偽の質問。 54 00:48:13,720 --> 00:48:17,117 条件は、中のものフォークです road--それらの枝はいわば。 55 00:48:17,117 --> 00:48:19,700 そして、いくつかの愛好家があります 私たちは今日も表示されます機能、 56 00:48:19,700 --> 00:48:22,850 呼ばれるアレイおよびスレッドと イベントは、我々はその後、オーバー再訪だろうと 57 00:48:22,850 --> 00:48:24,460 異なる言語での時間。 58 00:48:24,460 --> 00:48:26,790 しかし、スクラッチたちを可能にします これらのすべてを探索します。 59 00:48:26,790 --> 00:48:30,779 そこでここではスクラッチで、この紫 ブロックは、関数は、一般的には何かということです 60 00:48:30,779 --> 00:48:31,570 以下のように見えるだろう。 61 00:48:31,570 --> 00:48:35,620 いくつかを持って、この紫色のパズルのピース 単語と言うように、アクションあり、 62 00:48:35,620 --> 00:48:38,490 そしてそれが持っているかもしれません いくつかの方法引数またはparameter-- 63 00:48:38,490 --> 00:48:41,140 カスタマイズの種類 何そのブロックがありません 64 00:48:41,140 --> 00:48:45,182 それにより予め決めていないよう MITこの紫のブロックは言います。 65 00:48:45,182 --> 00:48:47,390 実際には、あなたがに表示されます 私は入力することができるよ瞬間 66 00:48:47,390 --> 00:48:49,931 ハローワールドのような言葉、または こんにちはデビッド、またはハローZamayla、 67 00:48:49,931 --> 00:48:53,750 またはものは何でも私は引数で、したいです そのパズルに白いボックスをpiece-- 68 00:48:53,750 --> 00:48:54,251 そこ。 69 00:48:54,251 --> 00:48:57,166 私はループをしたい場合一方、我々はよ そのパズルのピースがあることを参照してください。 70 00:48:57,166 --> 00:48:58,640 このような小さなオレンジ色に見えます。 71 00:48:58,640 --> 00:49:01,690 そして、彼らの形状は、この種のことを示唆しています 何かが何度も何度も起こります 72 00:49:01,690 --> 00:49:02,680 サイクルインチ 73 00:49:02,680 --> 00:49:06,800 >> だから私は挨拶世界のブロックをラップする場合 永遠にスクラッチでブロックすると、 74 00:49:06,800 --> 00:49:10,307 ちょうどこんにちは言い続けるだろう 世界永遠に、文字通り。 75 00:49:10,307 --> 00:49:12,390 一方、別のがあります スクラッチのループの種類 76 00:49:12,390 --> 00:49:14,348 我々は繰り返しをsee--だろうと block--どこに、あなたの場合 77 00:49:14,348 --> 00:49:17,940 事前に知って何回 あなたはループを実行したいです 78 00:49:17,940 --> 00:49:21,850 fact--あなたの中に有限回 番号を入力してそれを指定することができます 79 00:49:21,850 --> 00:49:25,380 あるいは、変数に差し込みます 私たちが見るようxまたはyのような。 80 00:49:25,380 --> 00:49:27,690 >> 実際には、変数のよう この場合は私、これ 81 00:49:27,690 --> 00:49:30,109 一般的な名前はのためにあります 整数変数こと 82 00:49:30,109 --> 00:49:31,900 ちょうどnumber--を保存します 整数があるかもしれません、 83 00:49:31,900 --> 00:49:35,470 にここでこのオレンジ色のブロックを使用するには ゼロに私のような変数を設定します。 84 00:49:35,470 --> 00:49:38,900 ここでの緑の中の例です。 スクラッチでブール式。 85 00:49:38,900 --> 00:49:43,700 これは数学のように見えるにもかかわらず このような式、数学不等式 86 00:49:43,700 --> 00:49:45,320 本当にブール式です。 87 00:49:45,320 --> 00:49:46,570 これはtrueまたはfalseのいずれかです。 88 00:49:46,570 --> 00:49:48,300 私は50未満です。 89 00:49:48,300 --> 00:49:51,815 それは、イエスかノーの答えのどちらかです または真または偽の答え。 90 00:49:51,815 --> 00:49:53,940 そして、我々は一般的に呼ぶことにします これらのブール式。 91 00:49:53,940 --> 00:49:55,148 そして、それは50である必要はありません。 92 00:49:55,148 --> 00:49:57,970 これは、yよりも小さいxをすることができます -Y-に等しく、yよりも大きいです 93 00:49:57,970 --> 00:50:00,020 他の任意の数の 質問が求められる場合があります。 94 00:50:00,020 --> 00:50:03,250 >> さて、一見、これは見えるかもしれません 突然非常に大胆ここで、それがあります。 95 00:50:03,250 --> 00:50:06,540 しかし、コンセプト賢明な、それはです 前からかなりおなじみ。 96 00:50:06,540 --> 00:50:09,370 xがyよりも小さい場合には、できるだけ多く言うより。 97 00:50:09,370 --> 00:50:12,230 xが大きい場合にさもなければ Yよりも、その後同じくらい言います。 98 00:50:12,230 --> 00:50:14,260 そうでなければxがyに等しいと言います。 99 00:50:14,260 --> 00:50:17,220 だから我々は、例を持っています そこに第三scenario--の 100 00:50:17,220 --> 00:50:20,600 唯一の第三possibility-- xはいずれかであります より小さい、より大きい、または等しいです。 101 00:50:20,600 --> 00:50:22,420 だから我々は道路の3ウェイフォークを持っています。 102 00:50:22,420 --> 00:50:26,290 >> そして、クールhere--スクラッチ何に気付きます それはちょうど1パズルを持っている、と思われます 103 00:50:26,290 --> 00:50:28,840 ピース、この場合、elseブロックインチ 104 00:50:28,840 --> 00:50:32,090 そして、まだそれはあなたを暗示することができますように思われます 唯一の道で2ウェイフォークを持っています。 105 00:50:32,090 --> 00:50:34,631 あなたは左または右に行くことができますが、 何その第3のシナリオは? 106 00:50:34,631 --> 00:50:35,760 どのようなxがyに等しい場合は? 107 00:50:35,760 --> 00:50:36,500 大きな問題ではない。 108 00:50:36,500 --> 00:50:39,640 1パズルのピースを取り、置きます それの別の1内側 109 00:50:39,640 --> 00:50:45,759 意味的等価物を作成します 他の場合は、今すぐあなたをelse--と、場合 110 00:50:45,759 --> 00:50:47,300 道路での3ウェイフォークを持っています。 111 00:50:47,300 --> 00:50:49,091 そして、我々が表示されますよう、 スクラッチパズルのピース 112 00:50:49,091 --> 00:50:51,820 延伸し、成長することができますので、 その中より多くのものを詰め込むするように。 113 00:50:51,820 --> 00:50:54,420 あなたがフィットする必要はありません デフォルトのサイズですべてのもの。 114 00:50:54,420 --> 00:50:56,690 >> これは、我々がよものです 間もなく配列と呼ばれる参照してください。 115 00:50:56,690 --> 00:51:00,880 それはlist--いくつかの方法のようなものです 複数の情報を保存します 116 00:51:00,880 --> 00:51:02,886 変数だけでなく、数インチ 117 00:51:02,886 --> 00:51:05,760 これらの我々はの代表が表示されます マルチスレッドと呼ばれるもの。 118 00:51:05,760 --> 00:51:08,280 実際には、すべてのあなたの MacとPCのこれらの日 119 00:51:08,280 --> 00:51:10,810 マルチスレッドをサポートし、 これは文字通り、あなたができることを意味します 120 00:51:10,810 --> 00:51:12,390 一度に複数のことを行います。 121 00:51:12,390 --> 00:51:15,390 あなたにはMicrosoft Wordをアップすることができます 前景、いくつかのエッセイに取り組んでいます。 122 00:51:15,390 --> 00:51:17,160 あなたは、ブラウザを持っている可能性があります 背景開口部に 123 00:51:17,160 --> 00:51:18,720 GメールやFacebookなど。 124 00:51:18,720 --> 00:51:22,730 お使いのコンピュータには、複数のことを行うことができます 今日ではマルチスレッドであるため、 125 00:51:22,730 --> 00:51:26,390 そして、プログラムが彼らが中にいます 特に、マルチスレッド化されています。 126 00:51:26,390 --> 00:51:28,970 >> 物事と呼ばれるイベントなどがあります よくスクラッチの世界では、 127 00:51:28,970 --> 00:51:32,640 そして、その後の方法は作るために、あまりにもあります 私たち自身のカスタムパズルのピースのものであれば 128 00:51:32,640 --> 00:51:34,810 実際には、事前に存在しません。 129 00:51:34,810 --> 00:51:38,260 だから、次のようにのは、このことを動機付けしてみましょう。 130 00:51:38,260 --> 00:51:40,580 何年か前、ときに私が 最初のスクラッチを発見し、 131 00:51:40,580 --> 00:51:43,530 私は実際にあったとき MITの大学院生、我々 132 00:51:43,530 --> 00:51:45,640 自分自身は宿題をするために仕事を課されました。 133 00:51:45,640 --> 00:51:47,614 そして、私はimplemented-- これは、振り返ってみると、 134 00:51:47,614 --> 00:51:50,780 それはだから非常に悪い決断でした 世界で最も腹立たしいの歌 135 00:51:50,780 --> 00:51:53,321 8時間に耳を傾けます あなたのhomework--に取り組んでいる間 136 00:51:53,321 --> 00:51:57,180 私はオスカー時間と呼んでいたものを、 これはおそらく、おなじみの曲です。 137 00:51:57,180 --> 00:51:59,820 >> CS50s所有ヨルダン林の1 私たちのより多くのシニアスタッフ、 138 00:51:59,820 --> 00:52:03,920 2015年のためにそれをアップグレードしましたし、 今2016年、戻って一日で以来、 139 00:52:03,920 --> 00:52:06,610 私は行くすべてのものを持っていました オスカーのごみ箱へ。 140 00:52:06,610 --> 00:52:09,320 今、私たちは、リサイクルや堆肥をサポートしています。 141 00:52:09,320 --> 00:52:12,050 >> しかし、絵をペイントします 我々はここで何ができるかの 142 00:52:12,050 --> 00:52:14,130 との一部をやる気にします 下位レベルの例、 143 00:52:14,130 --> 00:52:16,400 我々は他のものを得ることができます ちょうど上で来てボランティア 144 00:52:16,400 --> 00:52:18,331 そして、私の最初のを再生 これまでの宿題? 145 00:52:18,331 --> 00:52:18,830 アップさあ。 146 00:52:18,830 --> 00:52:19,250 あなたの名前は何ですか? 147 00:52:19,250 --> 00:52:20,030 >> HENRY:ヘンリー。 148 00:52:20,030 --> 00:52:22,660 >> DAVIDマラン:ヘンリーは、アップに来ます。 149 00:52:22,660 --> 00:52:24,190 アップさあ。 150 00:52:24,190 --> 00:52:27,070 どちらの方法でもヘッド、 あなたは、一瞬で表示されます 151 00:52:27,070 --> 00:52:29,870 私は先に行くとヒットするつもりです 右上の緑色のフラグ 152 00:52:29,870 --> 00:52:31,100 行く意味コーナー、。 153 00:52:31,100 --> 00:52:33,320 小さな停止標識のアイコン ストップを言うために起こっています、 154 00:52:33,320 --> 00:52:35,490 あなたが起動したとき、それはです そして、プログラムを停止します。 155 00:52:35,490 --> 00:52:36,450 はじめまして。 156 00:52:36,450 --> 00:52:36,950 大丈夫。 157 00:52:36,950 --> 00:52:39,100 だから我々は、手順を参照してくださいするつもりです 一瞬で画面上に。 158 00:52:39,100 --> 00:52:41,450 そして、ちょうどこのゲームをプレイすることにより、 私を信頼しseconds--ためのいくつかの、 159 00:52:41,450 --> 00:52:43,670 我々がプレーしたいするつもりはありません あなたは意志end--のすべての方法 160 00:52:43,670 --> 00:52:45,470 プログラムが何をするかの感覚を得ます。 161 00:52:45,470 --> 00:52:49,170 ちょうどヘンリーに焦点を当てるよりも、より このゲーム、焦点で良いか悪いかであること 162 00:52:49,170 --> 00:52:52,600 そして、どのようにそれは私によって実装されました もともと、その後ヨルダンによります。 163 00:52:52,600 --> 00:52:54,640 言い換えれば、どこに変数がありますか? 164 00:52:54,640 --> 00:52:55,520 ループはどこにいますか? 165 00:52:55,520 --> 00:52:56,520 機能はどこにありますか? 166 00:52:56,520 --> 00:53:00,700 我々が表示されていない場合、私たちは表示されます ボンネットの下にそれら。 167 00:53:00,700 --> 00:53:03,660 >> クリックするだけでゴミをドラッグ 適切なビンに。 168 00:53:03,660 --> 00:54:02,100 >> [MUSICのPLAYING] 169 00:54:02,100 --> 00:54:02,600 大丈夫。 170 00:54:02,600 --> 00:54:03,160 それは非常に良いことです。 171 00:54:03,160 --> 00:54:04,286 なぜ我々はそこに停止しないでください。 172 00:54:04,286 --> 00:54:04,786 ありがとうございました。 173 00:54:04,786 --> 00:54:05,830 ヘンリーおめでとう。 174 00:54:05,830 --> 00:54:07,002 ありがとうございました。 175 00:54:07,002 --> 00:54:10,690 >> [拍手] 176 00:54:10,690 --> 00:54:12,450 >> ちょうどそのプログラムのデバッグを想像してみてください。 177 00:54:12,450 --> 00:54:15,880 問題2がある場合 song--しかしそうに分 178 00:54:15,880 --> 00:54:17,430 ここでは実際に何が起こっているのですか? 179 00:54:17,430 --> 00:54:20,900 それがかもしれないような複雑なよう 時間をかけて取得するように見えるを開始し、 180 00:54:20,900 --> 00:54:22,910 確かに、より多くの ものは落下開始しました、 181 00:54:22,910 --> 00:54:25,370 何についての興味深いです example--この種の 182 00:54:25,370 --> 00:54:27,270 私たちはいくつかが表示されます others--であるあなたの場合 183 00:54:27,270 --> 00:54:30,416 複雑過ぎて見ますか ゲームの高度化、 184 00:54:30,416 --> 00:54:33,040 非常にシンプルな建物があります それらのすべてをplay--ブロック、 185 00:54:33,040 --> 00:54:35,840 あなたがそれらにそれらを蒸留場合 ビルディングブロックは、非常にアクセス可能です 186 00:54:35,840 --> 00:54:37,401 そして自分自身かれ実装可能。 187 00:54:37,401 --> 00:54:39,150 例えば、それはです いくつかの時間がかかったが、私はよ 188 00:54:39,150 --> 00:54:42,900 私が最初にときに何をしたかかなり確信して 初めてこのゲームを作ります 189 00:54:42,900 --> 00:54:44,787 私は完全にprocrastinatedのようでした。 190 00:54:44,787 --> 00:54:47,120 私が上で、すべての焦点を当てていませんでした ロジックやパズルのピース、 191 00:54:47,120 --> 00:54:50,810 私はグラフィックや発見に焦点を当てました ストリートポストとゴミ箱 192 00:54:50,810 --> 00:54:51,540 そしてそのすべて。 193 00:54:51,540 --> 00:54:53,456 しかし、これらは、必要でした 最初は食材。 194 00:54:53,456 --> 00:54:57,220 そして、私は先延ばし終わったらと 包括的なフレームワークをレイアウト、 195 00:54:57,220 --> 00:55:00,337 私は私が1つだけにしましょう​​、決めました 空からゴミの秋の作品。 196 00:55:00,337 --> 00:55:02,170 そして、我々はスクラッチが表示されます 呼ばれるものをサポートしています 197 00:55:02,170 --> 00:55:06,386 そのことができますsprites--文字 ので、彼らのさまざまな衣装を持っています 198 00:55:06,386 --> 00:55:07,010 異なって見えます。 199 00:55:07,010 --> 00:55:09,660 >> そして、私はゴミを置きます そのようなスプライト上の衣装。 200 00:55:09,660 --> 00:55:12,007 そして、私はそれを必要と 空から落下します。 201 00:55:12,007 --> 00:55:14,590 そしてそれは結局のところ、スクラッチ、 ほとんどのプログラミング言語のように、 202 00:55:14,590 --> 00:55:18,099 乱数をサポートしていますか 技術的には擬似コード乱数、 203 00:55:18,099 --> 00:55:20,390 そのドラッグすることなど 特定のパズルのピースをドロップ、 204 00:55:20,390 --> 00:55:22,890 私はゴミを持っていることができました 最初は左から来ます。 205 00:55:22,890 --> 00:55:25,580 そして次回は、それから、落ちました 途中から右と。 206 00:55:25,580 --> 00:55:28,060 そして、すべてのゲームがわずかだったんでした ゴミ箱空から落下しています。 207 00:55:28,060 --> 00:55:29,770 あなたはそれを指し示すか、それをクリックしませんでした。 208 00:55:29,770 --> 00:55:31,103 あなたはゴミ箱を開くことができませんでした。 209 00:55:31,103 --> 00:55:32,160 あなたは何もできませんでした。 210 00:55:32,160 --> 00:55:34,450 しかし、それは赤ん坊のステップでした 私の究極のビジョンに向かって。 211 00:55:34,450 --> 00:55:36,720 >> そしてその後、私は実際に いくつかの種類を実装 212 00:55:36,720 --> 00:55:41,230 あなたがクリックしなかった場合ように、センシングの ゴミ箱の作品にドラッグします 213 00:55:41,230 --> 00:55:44,350 ゴミ箱、オスカーのオーバー ふたが開閉だろう。 214 00:55:44,350 --> 00:55:47,650 何もゴミ箱に起こらないだろうが 少なくとも蓋が開いたり閉じでしょう。 215 00:55:47,650 --> 00:55:49,642 それでは、2のステップ2を確認してください。 216 00:55:49,642 --> 00:55:52,100 そして、これはあることを行っているものであり、 ゼロを設定し、両方の問題で鍵 217 00:55:52,100 --> 00:55:55,970 より一般的なプログラミングににあります これらの非常に意図的な赤ちゃんの手順を実行します。 218 00:55:55,970 --> 00:55:59,390 そのためだけでなく、それはあなたがすることを可能にしてい はるかに正直に熟達した感じ 219 00:55:59,390 --> 00:56:01,250 それはですquickly-- 世界で最悪のこと 220 00:56:01,250 --> 00:56:06,149 オスカー時間のすべてを実装しようとします、 その後、時間後に緑の旗を打ちます、 221 00:56:06,149 --> 00:56:08,440 そして期待通りに何も動作 どこにも、あなたを行うため、 222 00:56:08,440 --> 00:56:11,150 デバッグするかに始めます そのプログラムのトラブルシューティング? 223 00:56:11,150 --> 00:56:12,470 それはちょうど圧倒的です。 224 00:56:12,470 --> 00:56:16,792 >> だから本当にこのアイデアを採用 再びsteps--赤ちゃんのステップを取ります 225 00:56:16,792 --> 00:56:19,000 そして、again--構築 最後に、何か、 226 00:56:19,000 --> 00:56:23,672 本当に印象的で複雑であるが、 最初は、ほぼ同じくらいそうではありません。 227 00:56:23,672 --> 00:56:24,630 実際には、はこのやろう。 228 00:56:24,630 --> 00:56:28,989 私は先に行ってみようand--スクラッチ自体 Scratch.MIT.eduでウェブ上に存在し、 229 00:56:28,989 --> 00:56:30,780 あなたは次のように言われるでしょう ずっと再び問題で 230 00:56:30,780 --> 00:56:34,200 ゼロ、仕様のセット これはCS50のウェブサイトにすでにあります。 231 00:56:34,200 --> 00:56:35,725 >> しかし、これは、それ自体があるスクラッチものです。 232 00:56:35,725 --> 00:56:38,210 そして、本当にあります 3主要なエリア。 233 00:56:38,210 --> 00:56:40,980 そこに残さ上部には いわゆるステージがあります。 234 00:56:40,980 --> 00:56:41,810 これはスクラッチです。 235 00:56:41,810 --> 00:56:43,710 デフォルトの衣装は猫です。 236 00:56:43,710 --> 00:56:46,950 そして、これは矩形の世界です これはあなたがダウン、アップmove--することができ、左、 237 00:56:46,950 --> 00:56:48,130 右といくつかの他のもの。 238 00:56:48,130 --> 00:56:51,839 中央には、ここで私たちのカテゴリがあります パズルのピースのか、私たちのパレット、 239 00:56:51,839 --> 00:56:53,630 そして、異なる色 異なるものを意味します。 240 00:56:53,630 --> 00:56:56,520 あなたの周り突くなら、あなたが表示されます ループや条件のようなもの 241 00:56:56,520 --> 00:56:58,160 変数と他の成分。 242 00:56:58,160 --> 00:57:00,060 >> そして、こっちのスクリプトエリアがあります。 243 00:57:00,060 --> 00:57:03,020 私はドラッグアンドドロップすることができる場所です 物事を行うには、これらのパズルのピース。 244 00:57:03,020 --> 00:57:04,690 それでは、そのようなことをやらせます。 245 00:57:04,690 --> 00:57:06,630 私は先に行ってみようand-- それがどこにあると私は知っています。 246 00:57:06,630 --> 00:57:10,110 だから私はすぐにクリックするつもりです 私が知っているところのものは、準備ができています 247 00:57:10,110 --> 00:57:13,140 しかし、ポインティングとクリックして、 チャンスをうかがっは避けられません。 248 00:57:13,140 --> 00:57:15,320 だから、グリーンフラッグがクリックされたとき、 私は何をすべきかをしたいですか? 249 00:57:15,320 --> 00:57:17,100 私はこれを行うつもりです。 250 00:57:17,100 --> 00:57:20,699 私はこの紫色のパズルをドラッグするつもりです 作品は、2秒間の挨拶します、 251 00:57:20,699 --> 00:57:21,490 そして、私はズームインしましょう​​。 252 00:57:21,490 --> 00:57:23,865 >> そして、私はこれを変更するつもりです 私はそれがbe--たいものであることを 253 00:57:23,865 --> 00:57:26,471 ハロー2秒間の世界で結構です。 254 00:57:26,471 --> 00:57:28,970 今、私はクリックするつもりです 緑の旗、または私が本当にしたい場合は、 255 00:57:28,970 --> 00:57:31,820 私は完全にそれをスクリーニングしてから戻ってくることができます。 256 00:57:31,820 --> 00:57:34,060 それだけで維持されます 一つのウィンドウ内のすべて。 257 00:57:34,060 --> 00:57:36,141 グリーンflag--ハローワールド。 258 00:57:36,141 --> 00:57:36,640 大丈夫。 259 00:57:36,640 --> 00:57:38,789 すべてが面白くありません。 260 00:57:38,789 --> 00:57:40,080 だから私は先に行くと、これをやらせます。 261 00:57:40,080 --> 00:57:41,038 私は別のものを試してみましょう。 262 00:57:41,038 --> 00:57:44,740 緑色のフラグがしてみましょうclicked--とき 音のような何かをします。 263 00:57:44,740 --> 00:57:46,880 そして外のことに気付きます あなたが得る自由のための箱 264 00:57:46,880 --> 00:57:49,910 猫の音のような、デフォルトのスプライトです。 265 00:57:49,910 --> 00:57:52,380 だから今私が先に行くとしましょう 今緑の旗を打ちます。 266 00:57:52,380 --> 00:57:53,224 >> 【MEOWING] 267 00:57:53,224 --> 00:57:54,490 >> おやおや。 268 00:57:54,490 --> 00:57:55,370 それは愛らしいです。 269 00:57:55,370 --> 00:57:57,040 私はプログラミングです。 270 00:57:57,040 --> 00:57:58,550 だから私は何をしましたか? 271 00:57:58,550 --> 00:58:00,430 これは、プログラムと同じです。 272 00:58:00,430 --> 00:58:01,600 これは明らかに超簡単です。 273 00:58:01,600 --> 00:58:05,300 それは本当にすべてがあまりかかりませんでした 努力とMITは、ほとんどの作業を行いました 274 00:58:05,300 --> 00:58:07,890 私は関数と呼ばれています。 275 00:58:07,890 --> 00:58:08,940 私は、関数を使用しています。 276 00:58:08,940 --> 00:58:12,480 私はちょうど使用して、いくつかのアクションを行いました 1紫のパズルのピースという。 277 00:58:12,480 --> 00:58:15,960 >> まあ、私が何をしたい場合 行の3 meows? 278 00:58:15,960 --> 00:58:18,570 私が先に行くと2と3をやってみましょう。 279 00:58:18,570 --> 00:58:20,910 そして、そのときに気付きます 近くのパズルのピースを置いて、 280 00:58:20,910 --> 00:58:22,970 小さな白いラインが表示されます 磁気の並べ替え、 281 00:58:22,970 --> 00:58:25,190 それがスナップされます 一緒にあなたを手放すとき。 282 00:58:25,190 --> 00:58:26,600 それでは、ここで何が起こるか見てみましょう。 283 00:58:26,600 --> 00:58:27,920 >> 【MEOWING] 284 00:58:27,920 --> 00:58:32,390 285 00:58:32,390 --> 00:58:34,510 >> バグがあります。 286 00:58:34,510 --> 00:58:35,650 私は1鳴き声を聞きます。 287 00:58:35,650 --> 00:58:37,440 それはなぜでしょうか? 288 00:58:37,440 --> 00:58:39,001 ええ? 289 00:58:39,001 --> 00:58:39,500 うん。 290 00:58:39,500 --> 00:58:41,650 私たちは本当にそれを聞いていません、 それは良い直感です。 291 00:58:41,650 --> 00:58:43,400 彼らはすべて同時に演奏しています。 292 00:58:43,400 --> 00:58:44,000 どうして? 293 00:58:44,000 --> 00:58:46,587 さて、コンピュータだけで起こっています あなたがすることを教え何をすべきか。 294 00:58:46,587 --> 00:58:48,670 あなたが言うのであれば、サウンドを再生、 サウンドを再生する、サウンドを再生、 295 00:58:48,670 --> 00:58:52,887 しかし、あなたはまで再生するためにそれを教えていません あなたは、あなたが行っているまで再生すると、完了です 296 00:58:52,887 --> 00:58:54,970 吹き抜けになるだろう プログラム本当に速いです 297 00:58:54,970 --> 00:58:56,830 そしてあなたがするそれを言うことだけを行います。 298 00:58:56,830 --> 00:58:59,040 >> だから私は実際に修正する必要があります いくつかの方法でこの。 299 00:58:59,040 --> 00:59:00,623 私はちょうどこのを取り除く、これを行うことができます。 300 00:59:00,623 --> 00:59:04,180 私は、この他のパズルをしてみましょう 行われるまでpiece--、音鳴き声を再生 301 00:59:04,180 --> 00:59:07,072 そして、その後の3をドラッグ これらおよび[再生]をクリックします。 302 00:59:07,072 --> 00:59:09,430 >> 【MEOWING] 303 00:59:09,430 --> 00:59:13,350 >> それは本当にありませんvery-- 非常に自然なyou--に感謝。 304 00:59:13,350 --> 00:59:16,590 なぜ聞かせI--はありません 私はここに制御するために行きます。 305 00:59:16,590 --> 00:59:17,090 ニース。 306 00:59:17,090 --> 00:59:22,230 1秒を待って、今私は戻ってみましょう サウンド、および再生音に行われるまで、 307 00:59:22,230 --> 00:59:24,620 そしてその後、私は1秒を待ってもらいましょう。 308 00:59:24,620 --> 00:59:28,692 そして、私が行くと1を取得してみましょう 音より、ここで私達は行きます。 309 00:59:28,692 --> 00:59:31,350 >> 【MEOWING] 310 00:59:31,350 --> 00:59:35,930 >> もう少し自然が、 これは非常に効率的ではありません。 311 00:59:35,930 --> 00:59:39,830 私は退屈だったように、すべてのこと それは簡単に、前後にクリック 312 00:59:39,830 --> 00:59:42,724 そして本当に私work--を複製 かなりのコピーと貼り付け。 313 00:59:42,724 --> 00:59:44,640 実際、私がコントロールしている場合 、クリックまたは右クリック 314 00:59:44,640 --> 00:59:46,500 私はコピー&ペーストしている可能性があります。 315 00:59:46,500 --> 00:59:49,870 より良い使用するように構築何でしょうか? 316 00:59:49,870 --> 00:59:51,090 前から何のアイデア? 317 00:59:51,090 --> 00:59:51,990 >> うん、そうループ。 318 00:59:51,990 --> 00:59:54,580 そして実際に、私たちは周りつついている場合、 私たちはまさにそれを見つけるかもしれません。 319 00:59:54,580 --> 00:59:57,730 私はイベントや、むしろコントロールへ行こう。 320 00:59:57,730 --> 00:59:59,650 だから私はしないでくださいrepeat-- それは10倍になりたいです。 321 00:59:59,650 --> 01:00:01,370 それはすぐに迷惑取得するつもりです。 322 01:00:01,370 --> 01:00:03,380 しかし、私は3回繰り返します。 323 01:00:03,380 --> 01:00:06,355 私は音に戻りましょうと それが行われるまで、サウンドを再生します。 324 01:00:06,355 --> 01:00:08,480 私がコントロールに戻りましょう そしてちょうど1秒を待ちます。 325 01:00:08,480 --> 01:00:10,271 そして、通知は、あなたがかもしれません それが収まらないと思います、 326 01:00:10,271 --> 01:00:13,520 しかし、再び場合、磁気あなたがそれを聞かせて スナップ場所で、それは埋めるために成長します。 327 01:00:13,520 --> 01:00:14,971 それが今プレイ何ですか? 328 01:00:14,971 --> 01:00:18,500 >> 【MEOWING] 329 01:00:18,500 --> 01:00:19,000 OK。 330 01:00:19,000 --> 01:00:19,660 ニース。 331 01:00:19,660 --> 01:00:22,540 そして、これはと呼ばれるものであり、 また、正しいですプログラム。 332 01:00:22,540 --> 01:00:27,590 これは、3回かなりmeowed 当然、それはよりよく設計されています。 333 01:00:27,590 --> 01:00:29,580 私はあまり冗長性を使用しています。 334 01:00:29,580 --> 01:00:30,970 私は何をコピーして貼り付けていませんでした。 335 01:00:30,970 --> 01:00:32,470 私はちょうど良いアイデアを使用しました。 336 01:00:32,470 --> 01:00:35,340 >> さて、これはまだそのすべてではありません スクラッチで興味深いのはやっていません 337 01:00:35,340 --> 01:00:35,930 何でも。 338 01:00:35,930 --> 01:00:37,388 それでは、代わりに何かをやらせます。 339 01:00:37,388 --> 01:00:38,670 のは永遠に何かをしてみましょう。 340 01:00:38,670 --> 01:00:39,420 そして、あなたは何を知っていますか? 341 01:00:39,420 --> 01:00:40,470 動きが面白いようです。 342 01:00:40,470 --> 01:00:45,760 彼は10を移動させるのは、持ってみましょう ステップと今遊びを打ちます。 343 01:00:45,760 --> 01:00:46,570 >> OK。 344 01:00:46,570 --> 01:00:49,300 まあ我々はできる、ドラッグの種類 彼に戻って、彼はまだです 345 01:00:49,300 --> 01:00:51,250 彼は永遠にこれをやっているので、実行しています。 346 01:00:51,250 --> 01:00:53,150 だから、ループしています 何をすべきかを言って、 347 01:00:53,150 --> 01:00:54,650 これはすべてのこと興味深いものではありません。 348 01:00:54,650 --> 01:00:55,310 これをやろう。 349 01:00:55,310 --> 01:00:59,870 私は制御ブロックを追加してみましょう、と1を使用します 初めてこれらの条件の。 350 01:00:59,870 --> 01:01:03,119 >> だから、10 steps--を移動するために起こっています 10ドット、screen--に10ピクセル 351 01:01:03,119 --> 01:01:04,660 この質問をするために起こっています。 352 01:01:04,660 --> 01:01:09,340 何かが真であれば、その後の作業 このブロックの中の何か。 353 01:01:09,340 --> 01:01:13,060 だから、それが判明センシングは、全体を持っています ブールexpressions--の束 354 01:01:13,060 --> 01:01:16,580 イエスの質問がないか、真 私はこれをやらせるform--偽。 355 01:01:16,580 --> 01:01:19,260 >> touching--場合、次にあります メニューダウンこの小さなドロップ。 356 01:01:19,260 --> 01:01:20,410 私はそれをパラメータ化することができます。 357 01:01:20,410 --> 01:01:23,010 触れる場合みましょうedge-- そのような何か。 358 01:01:23,010 --> 01:01:27,310 そうであればedge--触れます 私は運動に戻ってみましょう。 359 01:01:27,310 --> 01:01:32,281 そして、なぜしない私たちだけ 周りに180度回転? 360 01:01:32,281 --> 01:01:32,780 大丈夫。 361 01:01:32,780 --> 01:01:35,070 だから永遠に、10のステップを移動します。 362 01:01:35,070 --> 01:01:37,670 あなたが触れている場合 エッジ、180度回転。 363 01:01:37,670 --> 01:01:39,720 そして、それはプログラムの終わりではありません あなたは永遠にブロックにしているので、 364 01:01:39,720 --> 01:01:42,053 再度行くだろうと 何度も何度も何度も。 365 01:01:42,053 --> 01:01:43,980 それでは、何が起こるか見てみましょう。 366 01:01:43,980 --> 01:01:44,785 OK。 367 01:01:44,785 --> 01:01:48,270 少しバギーはなく、一種のクール。 368 01:01:48,270 --> 01:01:51,710 >> そして、我々はこれにいくつかの愚かなものを追加することができます すべてが知的ではないこと 369 01:01:51,710 --> 01:01:52,270 面白い。 370 01:01:52,270 --> 01:01:57,210 しかし、我々はこの少しヒットした場合 マイクbutton--痛いです。 371 01:01:57,210 --> 01:01:58,480 私はこれをクリーンアップしてみましょう。 372 01:01:58,480 --> 01:02:01,540 私のようにこれを強化してみましょう 彼らはテレビで言うでしょう。 373 01:02:01,540 --> 01:02:05,400 それをクリーンアップし、保存し、 今すぐスクリプトに上がります。 374 01:02:05,400 --> 01:02:07,500 >> そして今、私は音に行ってみましょう。 375 01:02:07,500 --> 01:02:09,002 私はそれに名前を付けましょう。 376 01:02:09,002 --> 01:02:12,440 私はこの痛いと呼ぶことにします。 377 01:02:12,440 --> 01:02:13,840 そして今、サウンド痛いを果たしています。 378 01:02:13,840 --> 01:02:16,520 それが表示されます注意してください ダウンメニュー少しドロップ。 379 01:02:16,520 --> 01:02:17,612 どれどれ。 380 01:02:17,612 --> 01:02:20,444 >> 【OUCH] 381 01:02:20,444 --> 01:02:24,377 >> [笑い] 382 01:02:24,377 --> 01:02:25,835 しかし、我々はその場で彼のtを変更することができます。 383 01:02:25,835 --> 01:02:28,106 私たちは、二倍のいらいらすることができます。 384 01:02:28,106 --> 01:02:31,760 >> 【OUCH] 385 01:02:31,760 --> 01:02:35,332 >> あるいは我々は次のようにそれを作る場合 time-- 1,000ステップ 386 01:02:35,332 --> 01:02:39,900 387 01:02:39,900 --> 01:02:40,670 >> OK。 388 01:02:40,670 --> 01:02:42,295 だから我々だけでは、その1を残すつもりです。 389 01:02:42,295 --> 01:02:45,290 だからもう一度、私をblocks--構築 超簡単なもので開始し、 390 01:02:45,290 --> 01:02:47,930 そして私は、機能を追加し、 機能を追加し、機能を追加しました。 391 01:02:47,930 --> 01:02:50,721 そして、私はもはや心配する必要はありません どのようにそれらの特徴の第一 392 01:02:50,721 --> 01:02:53,690 私は続けるとして実装されました 上に物事をレイヤに。 393 01:02:53,690 --> 01:02:55,430 だから実際には、私はここで他のいずれかの操作を実行してみましょう。 394 01:02:55,430 --> 01:03:00,580 私が先に行くと、そのファイルを開いてみましょう 私は羊と呼ばれる、事前にもたらしました。 395 01:03:00,580 --> 01:03:03,970 >> だから、それはわずかに異なるがあります このように見える文字。 396 01:03:03,970 --> 01:03:07,370 そして、私ができないなら、私は見てみましょう カウンタを使用して何かをします 397 01:03:07,370 --> 01:03:09,310 この中で、いわゆる変数をcase--。 398 01:03:09,310 --> 01:03:15,540 私は先とEvents--下に行くつもりです 私は緑の旗をクリックもらいましょう。 399 01:03:15,540 --> 01:03:19,030 そして、私は私が知っているデータへ行こう 直前に遊んでから、 400 01:03:19,030 --> 01:03:20,214 変数がどこにあるかです。 401 01:03:20,214 --> 01:03:21,880 そして、私は先に行くと、これをドラッグするつもりです。 402 01:03:21,880 --> 01:03:25,144 >> カウンターと呼ばれるように可変し、 私はゼロに初期化するつもりです。 403 01:03:25,144 --> 01:03:27,560 私はanything-- xまたはそれを呼び出すことができます Yまたはz--が、プログラミングで、 404 01:03:27,560 --> 01:03:30,410 意味的に何かを呼び出します カウンターのような便利な方法、 405 01:03:30,410 --> 01:03:34,540 それはそれはだ、それが何であるかについて説明します 後にコードを読み取ることが非常に簡単。 406 01:03:34,540 --> 01:03:37,460 私が先に行くと取得してみましょう ここで永遠にブロックします。 407 01:03:37,460 --> 01:03:41,289 そして、私はルックスに行こう ページとセイブロックをください。 408 01:03:41,289 --> 01:03:44,330 しかし、どのような変数についてのクールなのは私です ちょうど何かを入力する必要はありません 409 01:03:44,330 --> 01:03:47,850 我々はすでにきたハローのような世界、 行って、私の代わりにデータに行くことができます 410 01:03:47,850 --> 01:03:50,690 そして、さえ私の変数をドラッグし、 形状はなく、かなりんが 411 01:03:50,690 --> 01:03:53,000 それが収まるべきのように見えます、 それは埋めるために成長します。 412 01:03:53,000 --> 01:03:58,396 そして、私はちょうど1のカウンターを言いますよ second-- spoiler--彼はカウントになるだろう。 413 01:03:58,396 --> 01:04:00,380 私たちは、1秒間にそれを言いますよ。 414 01:04:00,380 --> 01:04:02,840 それから私は行くつもりだし、 彼は1秒待つ必要があり、 415 01:04:02,840 --> 01:04:04,650 それはあまりにも速くカウントされません。 416 01:04:04,650 --> 01:04:08,430 そして最後に、カウンタを変更 他の言葉で選ぶ - により、 417 01:04:08,430 --> 01:04:13,520 1によってカウンタをインクリメント 付加価値と永遠にこれを行います。 418 01:04:13,520 --> 01:04:16,129 >> だから羊すぎる、など プログラマは、0からカウントします。 419 01:04:16,129 --> 01:04:20,350 420 01:04:20,350 --> 01:04:23,740 そして、我々は十分に長く待っていれば、 彼は永遠にこれを行います。 421 01:04:23,740 --> 01:04:27,740 しかし、それはので、正確に真実ではありません 実際に、私たちは週1で発見するだろうとして、 422 01:04:27,740 --> 01:04:31,871 より一般的には整数とコンピュータ、 技術的にのみfinite--も持っています、 423 01:04:31,871 --> 01:04:33,829 コンピュータ、むしろ 彼らは整数を表し、 424 01:04:33,829 --> 01:04:35,670 唯一の有限数のビットを持っています。 425 01:04:35,670 --> 01:04:37,860 そこにこれらの電球 唯一の非常に高いカウントすることができます 426 01:04:37,860 --> 01:04:39,239 あなたは電球の外出前に。 427 01:04:39,239 --> 01:04:41,590 あまりにも、コンピュータ、 だけなので多くのメモリを持って、 428 01:04:41,590 --> 01:04:44,640 唯一の非常に多くのトランジスタを持って、 それだけで非常に高いカウントすることができます。 429 01:04:44,640 --> 01:04:47,409 >> だから、羊ことが判明します 私は、20億に数えることができる、と思います 430 01:04:47,409 --> 01:04:48,409 またはかなり大きなもの。 431 01:04:48,409 --> 01:04:50,325 だから我々はするつもりはありません これが起こるのを待ちます。 432 01:04:50,325 --> 01:04:54,850 しかし、最終的にいくつかのバグが発生します それはいくつかの非常に現実の世界を持つことができます 433 01:04:54,850 --> 01:04:55,970 波及効果。 434 01:04:55,970 --> 01:04:58,861 しかし、羊を超えて、その 単に変数を導入しています。 435 01:04:58,861 --> 01:05:01,110 それでは、先に行くと開いてみましょう 私は事前に作られたもの 436 01:05:01,110 --> 01:05:07,430 ここCat--ペットと呼ばれます こっち猫をペット。 437 01:05:07,430 --> 01:05:10,420 そして、それは少数だここに気付きます ブロックが、ときに緑の旗 438 01:05:10,420 --> 01:05:12,474 永遠に次のことをやって、クリックされました。 439 01:05:12,474 --> 01:05:15,265 あなたはマウスに触れている場合 ので、画面上のカーソルをpointer-- 440 01:05:15,265 --> 01:05:18,529 arrow--演奏音ニャー そしてその後2秒待ちます。 441 01:05:18,529 --> 01:05:19,570 そして、ちょうど永久にこれを行います。 442 01:05:19,570 --> 01:05:22,619 ただ、常に待ちます pointer--かどうかを確認します 443 01:05:22,619 --> 01:05:24,710 猫はポインタに触れている場合。 444 01:05:24,710 --> 01:05:26,060 >> だから私はプレーを打ちます。 445 01:05:26,060 --> 01:05:26,920 何も起こっていないです。 446 01:05:26,920 --> 01:05:28,980 しかし、私は猫の上にカーソルを移動すると、 447 01:05:28,980 --> 01:05:31,960 >> 【MEOWING] 448 01:05:31,960 --> 01:05:34,750 >> そして、私はそれを離れて移動する場合、ありません もう猫を愛撫。 449 01:05:34,750 --> 01:05:38,090 だから、いくつかの条件付きロジック ループの内部にネスト。 450 01:05:38,090 --> 01:05:43,070 どのようにこの例について、故意に 猫をペットしないでくださいと呼ばれますか? 451 01:05:43,070 --> 01:05:45,253 これは何を行うに起こっているのですか? 452 01:05:45,253 --> 01:05:47,880 >> 【MEOWING] 453 01:05:47,880 --> 01:05:50,215 >> なぜあなたは猫をペットべきではないのですか? 454 01:05:50,215 --> 01:05:59,440 >> 【MEOWING] 455 01:05:59,440 --> 01:06:00,699 >> OK。 456 01:06:00,699 --> 01:06:03,880 だから、これは他の場合の例です。 457 01:06:03,880 --> 01:06:06,482 これは、決定点だと それはループに座っているので、 458 01:06:06,482 --> 01:06:07,690 彼らは両方にチェックマークが付い取得しています。 459 01:06:07,690 --> 01:06:08,280 これは本当ですか? 460 01:06:08,280 --> 01:06:08,760 これは本当ですか? 461 01:06:08,760 --> 01:06:09,250 これは本当ですか? 462 01:06:09,250 --> 01:06:09,791 これは本当ですか? 463 01:06:09,791 --> 01:06:11,880 そして最終的に、のいずれか それらは適用しようとしています 464 01:06:11,880 --> 01:06:16,480 そのため、あなたは鳴き声またはいずれかを聞きます その場合のライオンの轟音。 465 01:06:16,480 --> 01:06:21,400 >> さて、もう少し派手なものをやらせます 私は、スレッドtoo--事前に行われていること。 466 01:06:21,400 --> 01:06:25,210 だからスレッドが一つだけあります コンピュータが行うことができますもの。 467 01:06:25,210 --> 01:06:29,349 だから、マルチスレッドプログラムでは、プログラムであります それは、一度に複数のことを行うことができます。 468 01:06:29,349 --> 01:06:31,140 そして、これらの例の全て これまで持っていました 469 01:06:31,140 --> 01:06:35,980 そうspeak--するだけのスクリプト、 ここでこのアップのような一つのプログラム。 470 01:06:35,980 --> 01:06:38,810 しかし、このプログラムは持って気付きます 2スプライト、2つの文字。 471 01:06:38,810 --> 01:06:40,020 一つは鳥です。 472 01:06:40,020 --> 01:06:40,870 一つは猫です。 473 01:06:40,870 --> 01:06:45,080 >> そして、私はこれらのダウンをクリックしたときに気付きます 左、彼らはそれぞれ独自のスクリプトを持っています 474 01:06:45,080 --> 01:06:47,120 またはそれらに関連するプログラム。 475 01:06:47,120 --> 01:06:49,420 そして、それらの両方 プログラム、通知、スタート 476 01:06:49,420 --> 01:06:52,600 グリーンフラッグとclicked-- cat--を見てみましょう 477 01:06:52,600 --> 01:06:54,030 緑色のフラグがクリックされたとき。 478 01:06:54,030 --> 01:06:58,220 だから確かに、私は今プレーを打ったとき、 二つのことを一度に起ころうとしています。 479 01:06:58,220 --> 01:07:01,750 猫と鳥は両方とも 同時に動作する予定 480 01:07:01,750 --> 01:07:03,815 この効果を作成することができます。 481 01:07:03,815 --> 01:07:05,440 そして、あなたは何が起こっているのか想像するかもしれません。 482 01:07:05,440 --> 01:07:08,340 ループと鳥があります そして、猫はループです。 483 01:07:08,340 --> 01:07:11,270 鳥は同じようにバウンスされます 私は私が痛い言ったときに前にありました。 484 01:07:11,270 --> 01:07:13,040 しかし、猫は明らかに利点を有しています。 485 01:07:13,040 --> 01:07:16,040 別のセンシングブロックがあります それは意図的に猫を指します 486 01:07:16,040 --> 01:07:19,836 ここで、この場合の鳥に。 487 01:07:19,836 --> 01:07:22,960 だから我々は見ることによって、離れていじめることができ これらのブロックを介して、何が起こっています。 488 01:07:22,960 --> 01:07:25,460 しかし、ここで重要な成分は1です。 489 01:07:25,460 --> 01:07:28,520 鳥、このゲームではないように、 完全boring--またはこのanimation-- 490 01:07:28,520 --> 01:07:30,060 ランダムな方向で開始します。 491 01:07:30,060 --> 01:07:32,890 そして、コンピュータは、選んでいます 90と180の間の数 492 01:07:32,890 --> 01:07:36,110 基本的に、それは少しだように、 異なるアニメーション毎回。 493 01:07:36,110 --> 01:07:39,480 >> そして、もしここに気付きます 猫はその後、鳥に触れています 494 01:07:39,480 --> 01:07:42,030 轟音sound--ライオン4をプレイ。 495 01:07:42,030 --> 01:07:46,330 しかし、一方で鳥の中で パレットは、我々はこれを持っています。 496 01:07:46,330 --> 01:07:49,229 いつまでも、猫に触れていない場合は、 わずか3ステップを動かし続けます。 497 01:07:49,229 --> 01:07:50,770 そして、ここでは別のパズルのピースです。 498 01:07:50,770 --> 01:07:52,030 あなたはエッジにしている場合は、バウンス。 499 01:07:52,030 --> 01:07:54,840 だから、鳥はちょうど一種のです 自身のビジネスを気に、 500 01:07:54,840 --> 01:07:57,330 ただ周りに飛んで バウンス、それは本当にです 501 01:07:57,330 --> 01:08:01,780 条件ロジックを持っていた猫 それは鳥を捕まえていたかどうかを判断します。 502 01:08:01,780 --> 01:08:02,280 大丈夫。 503 01:08:02,280 --> 01:08:08,800 それでは、ここでは他のいずれかの操作を実行してみましょう、 この1こんにちはこんにちはこんにちはと呼ばれています。 504 01:08:08,800 --> 01:08:15,100 そして、この1はここだけでありません 永遠にループでこれ。 505 01:08:15,100 --> 01:08:18,925 しかし、我々はどのように停止しますnotice-- この非常に迷惑なプログラム? 506 01:08:18,925 --> 01:08:21,600 507 01:08:21,600 --> 01:08:22,640 スペースバーを押してください。 508 01:08:22,640 --> 01:08:27,990 私はそれを行う場合ので、 左手program-- 509 01:08:27,990 --> 01:08:31,550 それは常にだ気づきますlistening-- 鍵空間のプレスがあります。 510 01:08:31,550 --> 01:08:34,090 スペースバーを押すと、 もしそうなら、それは何をするのでしょうか? 511 01:08:34,090 --> 01:08:35,980 これは非常に一般的な技法を行います。 512 01:08:35,980 --> 01:08:38,590 これは、いくつかの値に等しい変数を設定します。 513 01:08:38,590 --> 01:08:39,741 しかし、それは、その値を切り替えます。 514 01:08:39,741 --> 01:08:41,490 [?だから外観?] 私はshape--に基づいて、 515 01:08:41,490 --> 01:08:43,160 私の変数を持っています 呼ばれる事前に書きました 516 01:08:43,160 --> 01:08:44,770 ミュート、これだけでイエスと言うかいいえ。 517 01:08:44,770 --> 01:08:45,880 音をミュートするかしませんか? 518 01:08:45,880 --> 01:08:46,990 正しいか間違っているか? 519 01:08:46,990 --> 01:08:51,580 予告、私は場合this--言っています ミュート、1に変更した後、ゼロであります 520 01:08:51,580 --> 01:08:53,840 他のゼロにミュート設定。 521 01:08:53,840 --> 01:08:55,540 だから、ゼロから1に値を反転させます。 522 01:08:55,540 --> 01:08:58,320 私はそれを変更done--持つことができ 2から3と三から二に 523 01:08:58,320 --> 01:09:00,162 または四から五または六から四。 524 01:09:00,162 --> 01:09:01,870 しかし、それは問題ではありません。 私は使用数、 525 01:09:01,870 --> 01:09:04,090 あまりにも長い間、私は保つよう それに反対を変えます。 526 01:09:04,090 --> 01:09:07,290 >> そして、ほとんどすべてのプログラマは、単に希望 、ゼロを選択し、偽と真選びます - 527 01:09:07,290 --> 01:09:09,510 オフとon--これを表現します。 528 01:09:09,510 --> 01:09:10,930 そして、これはまだ実行されています。 529 01:09:10,930 --> 01:09:12,190 私は再びスペースバーをヒットした場合 530 01:09:12,190 --> 01:09:13,590 >> 【SEALはSOUNDS] 531 01:09:13,590 --> 01:09:15,440 >> プログラムがまだ実行されています。 532 01:09:15,440 --> 01:09:18,400 この他のスクリプトがありますので それは永遠には、次の操作を行いますと言います。 533 01:09:18,400 --> 01:09:21,390 534 01:09:21,390 --> 01:09:24,770 ミュート変数が等しい場合 zero--ので、あなたがミュートになっていない場合 535 01:09:24,770 --> 01:09:29,609 それが偽かどうlogic--です またはnoの場合、サウンドを再生、 536 01:09:29,609 --> 01:09:30,650 あなたがミュートされていないので。 537 01:09:30,650 --> 01:09:33,358 その後、サウンドを再生し、する必要があります 2秒間こんにちはこんにちはこんにちは思います 538 01:09:33,358 --> 01:09:35,790 そして、次に待って、それを行います 何度も何度も何度も。 539 01:09:35,790 --> 01:09:40,760 >> だから、このように我々はのための方法を持っています プログラムが対話するために人々がto--。 540 01:09:40,760 --> 01:09:43,120 そして、彼らがする必要はありません 他の人のように日付を記入すること。 541 01:09:43,120 --> 01:09:46,280 実際には、around--突っつい しゃれintended-- 542 01:09:46,280 --> 01:09:49,250 誰かが膨大な量を費やし 実装インターネット上の時間 543 01:09:49,250 --> 01:09:51,580 スクラッチでPokemonGo。 544 01:09:51,580 --> 01:09:55,440 それも、であなたをgeolocates ケンブリッジまたはオールストンこちら。 545 01:09:55,440 --> 01:10:03,120 だから、あなたも何人を見たい場合は 行うことができますthis--非常に凝ったメニューです。 546 01:10:03,120 --> 01:10:04,780 こちらをクリックしてください。 547 01:10:04,780 --> 01:10:07,430 >> これは、今、私の矢印キーで私です。 548 01:10:07,430 --> 01:10:09,446 私はこの後に行くつもりです。 549 01:10:09,446 --> 01:10:09,946 クリック。 550 01:10:09,946 --> 01:10:12,949 551 01:10:12,949 --> 01:10:14,240 そして今、あなたはPokeBallをクリックします。 552 01:10:14,240 --> 01:10:17,130 553 01:10:17,130 --> 01:10:20,260 私が意味する、私はあなたがいると思います PokeBallをクリックすることになって。 554 01:10:20,260 --> 01:10:20,760 大丈夫。 555 01:10:20,760 --> 01:10:22,680 だから私はそれをしました。 556 01:10:22,680 --> 01:10:23,950 私はこっちに行くことができます。 557 01:10:23,950 --> 01:10:27,790 そして、この人はいくつかの詳細を実装しました here-- 3 PokeBallsオーバーPokeBalls。 558 01:10:27,790 --> 01:10:29,950 >> 我々は、このへのリンクを掲載します オンラインあなたがプレイできるようにします。 559 01:10:29,950 --> 01:10:32,364 しかし、通知がちょうどあります いくつかの基本的なビルディング・ブロック。 560 01:10:32,364 --> 01:10:33,780 これは、多くの愛好家に見えますが、それがあります。 561 01:10:33,780 --> 01:10:35,905 これは印象的な、よりです 我々は通常と比べて 562 01:10:35,905 --> 01:10:37,740 期待して、確かに問題のためにゼロを設定します。 563 01:10:37,740 --> 01:10:40,809 私はどのくらい見当がつかない この人はオンラインで過ごしました。 564 01:10:40,809 --> 01:10:41,850 しかし、それだけでループすべてです。 565 01:10:41,850 --> 01:10:43,180 音の演奏があります。 566 01:10:43,180 --> 01:10:44,850 ループのいくつかの種類があります 私はかどうかのリスニング 567 01:10:44,850 --> 01:10:47,558 上矢印または下を打ちます 矢印または左と右、 568 01:10:47,558 --> 01:10:49,834 そうであれば、次に、それが動いています そのピクセルのいくつかの数。 569 01:10:49,834 --> 01:10:51,750 そして私は、上のクリックした場合 別のスプライトは、あります 570 01:10:51,750 --> 01:10:53,390 そこにあれば条件のいくつかの種類。 571 01:10:53,390 --> 01:10:54,806 うん、これはあまりにも強烈なっています。 572 01:10:54,806 --> 01:10:56,100 私たちは停止するつもりです。 573 01:10:56,100 --> 01:10:57,750 これは、これらすべての基本的なビルディング・ブロックです。 574 01:10:57,750 --> 01:11:01,530 他のいかなる他の成分はありません 我々はすでに見てきたものよりも。 575 01:11:01,530 --> 01:11:04,670 >> そして、まだここでは、させて頂きます 例の一つ最終セット 576 01:11:04,670 --> 01:11:06,960 それはあまりにも映像を塗ります あなたがここに何ができるかの。 577 01:11:06,960 --> 01:11:10,481 ここでは非常に単純なプログラムだという ちょうどthis--咳、咳、咳をします。 578 01:11:10,481 --> 01:11:12,480 そして、のみに基づいてどのような 我々はこれまで見てきました、 579 01:11:12,480 --> 01:11:14,570 ここで明らかです 改善の機会。 580 01:11:14,570 --> 01:11:15,570 このプログラムは正しいです。 581 01:11:15,570 --> 01:11:17,980 これは、三回の咳 これは私が意図したものです。 582 01:11:17,980 --> 01:11:19,650 しかし、それはあまり実装です。 583 01:11:19,650 --> 01:11:20,600 これはひどい設計されています。 584 01:11:20,600 --> 01:11:22,000 どうして? 585 01:11:22,000 --> 01:11:22,500 うん。 586 01:11:22,500 --> 01:11:23,230 これは、ループではありません。 587 01:11:23,230 --> 01:11:24,610 そして、それはそんなにありません それはループではないことを、 588 01:11:24,610 --> 01:11:26,400 それは多くの冗長性があることです。 589 01:11:26,400 --> 01:11:28,830 そこにコピーされ 貼り付けコード、いわば。 590 01:11:28,830 --> 01:11:31,830 おそらく、およびソリューション 確かにループです。 591 01:11:31,830 --> 01:11:34,350 だから私は先に行ってみましょう その時に改善。 592 01:11:34,350 --> 01:11:36,250 そして、私はこっちこれらをドラッグするつもりです。 593 01:11:36,250 --> 01:11:39,986 私が先に行くとリピートを取得してみましょう ブロックは、3に変更します。 594 01:11:39,986 --> 01:11:41,860 私は捨てるつもりです これらのブロックの一部。 595 01:11:41,860 --> 01:11:43,150 >> そして、あなたはそれはかなり直感的に気づくでしょう。 596 01:11:43,150 --> 01:11:45,691 あなたはドラッグ&ドロップすると、物事 表示され、最終的には消滅します。 597 01:11:45,691 --> 01:11:49,170 そして、私はちょうどここでこれをドラッグして、することができます 今私はまだクリーンなバージョンがあります。 598 01:11:49,170 --> 01:11:50,730 しかし、あなたは何を知っていますか? 599 01:11:50,730 --> 01:11:52,940 この機会があります 今abstraction--用 600 01:11:52,940 --> 01:11:56,350 新しい語彙を定義するために開始します MITは予想していなかったこと。 601 01:11:56,350 --> 01:11:59,110 待って、リピートあります 永遠とあれば、 602 01:11:59,110 --> 01:12:02,590 しかし、私が紹介したい場合はどう ブロックとしてワード咳? 603 01:12:02,590 --> 01:12:06,230 私は、パズルのピースをしたい場合 その目的は生活の中で咳をするのですか? 604 01:12:06,230 --> 01:12:10,720 >> さて、このバージョンを見てみましょう ここでは、次のように私が作っています。 605 01:12:10,720 --> 01:12:13,579 魔法、私が作成しました ここでは、このパズルのピース、 606 01:12:13,579 --> 01:12:14,870 これはスクラッチあなたが行うことができます。 607 01:12:14,870 --> 01:12:16,787 そして、実際にCとPython そして、JavaScriptです 608 01:12:16,787 --> 01:12:18,370 あなたにもこれを行うことができるようになるだろう。 609 01:12:18,370 --> 01:12:21,830 独自のカスタムを作成することができます あなたが欲しいものを呼び出すの作品。 610 01:12:21,830 --> 01:12:24,890 この場合、咳は感じています 合理的な定義など。 611 01:12:24,890 --> 01:12:27,880 そして、これらの作品でダウン ここであなたはそれが何を意味するかを定義することができます。 612 01:12:27,880 --> 01:12:30,290 >> 私はドラッグとからドロップ このパレットはhere--より 613 01:12:30,290 --> 01:12:33,500 この大きな紫色のblocks-- 私は咳で入力したブロック、 614 01:12:33,500 --> 01:12:35,290 私の新しいパズルのピースの名前として。 615 01:12:35,290 --> 01:12:39,920 そして、私は、ユーザーの任意の時間を言っています この新しい咳パズルのピースを呼び出し、 616 01:12:39,920 --> 01:12:41,770 言うと、待機を行います。 617 01:12:41,770 --> 01:12:46,160 だからここまで私のリピートブロックで、 私はちょうど3回咳をすることができます。 618 01:12:46,160 --> 01:12:49,972 >> そして、私は特に、主張するだろう 今場合は、この詳細を非表示にします。 619 01:12:49,972 --> 01:12:51,430 誰が咳がどのように実装されるか気に? 620 01:12:51,430 --> 01:12:54,390 私のように気にすべての 私は咳をすることができますプログラマ。 621 01:12:54,390 --> 01:12:56,280 私は言うがどのように実装されるか気にしません。 622 01:12:56,280 --> 01:12:58,620 私はちょうどことを気に 猫は何かを言うことができます。 623 01:12:58,620 --> 01:13:02,720 私はでき抽象化、その詳細と ここでしか画面に何に焦点を当てます。 624 01:13:02,720 --> 01:13:04,400 しかし、私はさらに、この一歩を取ることができます。 625 01:13:04,400 --> 01:13:08,070 >> ここでは、私が持っていることに注意してください ループ3回実施しました。 626 01:13:08,070 --> 01:13:11,560 しかし、どのような場合には代わりに私はこのバージョンをつかみますか? 627 01:13:11,560 --> 01:13:14,640 そして、何の代わり場合 ここでは、このバージョンでは、 628 01:13:14,640 --> 01:13:18,730 私はちょうど取るために私のパズルのピースを変更します それ自体が引数と入力? 629 01:13:18,730 --> 01:13:21,100 そして、その入力をすることができます 3のような数。 630 01:13:21,100 --> 01:13:24,580 だから今、私はプログラムを書いていた場合 そして、私は猫が咳をしたいです、 631 01:13:24,580 --> 01:13:28,270 私は実際にパズルを伝えることができます 咳をする回数をつなぎ、 632 01:13:28,270 --> 01:13:31,990 ここでは一番下に、愛好家のため これらのカスタムパズルのピースのバージョン 633 01:13:31,990 --> 01:13:34,500 私はそれを指定することができます 咳は実際にかかります 634 01:13:34,500 --> 01:13:36,951 input--は、このような引数を取ります。 635 01:13:36,951 --> 01:13:37,700 そして、あなたは何を知っていますか? 636 01:13:37,700 --> 01:13:38,890 たぶん私はちょっと待って、実現しています。 637 01:13:38,890 --> 01:13:40,680 咳はsame--です それは根本的です 638 01:13:40,680 --> 01:13:42,120 くしゃみと同じ考え方。 639 01:13:42,120 --> 01:13:44,040 それはちょうど違います 画面上の単語。 640 01:13:44,040 --> 01:13:46,550 私は、抽象離れてすることができます さらに、実施 641 01:13:46,550 --> 01:13:48,750 この最終版 咳、これは一見 642 01:13:48,750 --> 01:13:50,660 探している方法より複雑です。 643 01:13:50,660 --> 01:13:52,140 しかし、私が何をやったかがわかります。 644 01:13:52,140 --> 01:13:55,930 私は今持っているジェネリックgeneralized-- このパズルのピースをreally-- 645 01:13:55,930 --> 01:13:59,900 呼ばれる単語をn回言います。 646 01:13:59,900 --> 01:14:04,410 >> そして今、私は2つの新しいパズルのピースを持っています ダウンここで咳をn回定義します。 647 01:14:04,410 --> 01:14:06,790 そして、咳機能は何をするのでしょうか? 648 01:14:06,790 --> 01:14:08,420 私のカスタムパズルのピースは何をするのでしょうか? 649 01:14:08,420 --> 01:14:11,996 それはちょうど発言ブロックを呼び出し、 私が言いたい言葉を渡し、 650 01:14:11,996 --> 01:14:13,870 番号を渡します 時代の私は言いたいです。 651 01:14:13,870 --> 01:14:18,210 今私が実装することができますので、 単にハクション!と言ってくしゃみ、 652 01:14:18,210 --> 01:14:20,320 この場合は、何回か。 653 01:14:20,320 --> 01:14:22,360 >> そして私は層化とレイヤーしています。 654 01:14:22,360 --> 01:14:25,690 そして再び、ここで重要ではありません どのように私はそれを実装し、実際 655 01:14:25,690 --> 01:14:28,070 その場合、私だけ文字通り 画面をオフにこれらを移動し、 656 01:14:28,070 --> 01:14:31,280 見てどのように単純ではない場合 かなり私のプログラムは今見えます。 657 01:14:31,280 --> 01:14:33,930 それは何をしているので 私は抽象化しました、と言います 658 01:14:33,930 --> 01:14:37,640 そのブラックボックスの内側に離れたものです。 それがここに紫色のボックスであることを起こります、 659 01:14:37,640 --> 01:14:41,430 内部に何が、私は離れて邪魔しました 私はそれがどのように動作するか気にしないので。 660 01:14:41,430 --> 01:14:43,650 私はちょうど今、それが動作することを気に。 661 01:14:43,650 --> 01:14:46,375 >> そして実際、問題で ゼロを設定する、これは正確です 662 01:14:46,375 --> 01:14:49,250 アイデアの階層化の種類ますよ 探求する機会を持っています。 663 01:14:49,250 --> 01:14:53,510 それは、まさにへの機会です 問題解決の手法を適用し、 664 01:14:53,510 --> 01:14:55,550 おそらく何に 不慣れな環境。 665 01:14:55,550 --> 01:14:57,890 そして、あなたがプログラムされていないたかどうか 前または前にプログラムされ、 666 01:14:57,890 --> 01:14:59,500 あなたはそこだことがわかります 少し何か 667 01:14:59,500 --> 01:15:00,874 皆のためのこのような環境インチ 668 01:15:00,874 --> 01:15:02,770 そして、問題に​​設定 週の時間で1、 669 01:15:02,770 --> 01:15:06,630 私たちは、フォーカシングに移行されます 呼ばれる、より高いレベルの言語での 670 01:15:06,630 --> 01:15:09,290 C--というより低いです 呼ばれるレベルの言語 671 01:15:09,290 --> 01:15:11,347 さらに多くのですC-- それはだにもかかわらず、強力な 672 01:15:11,347 --> 01:15:12,930 もう少し、一見不可解。 673 01:15:12,930 --> 01:15:16,740 >> そして、あなたは、今日のTLごとに実現します:DRを、 設定されたこの問題は、より短いがあることを 674 01:15:16,740 --> 01:15:19,880 将来のものよりも時間の窓は、単に あなたはそれをかなり見つける必要がありますので、 675 01:15:19,880 --> 01:15:20,420 アクセス可能。 676 01:15:20,420 --> 01:15:22,211 そして、ても心配することはありません あなたは遅れてクラスを追加します。 677 01:15:22,211 --> 01:15:23,920 私たちは、その前に長い対処します。 678 01:15:23,920 --> 01:15:28,480 私たちはケーキのため休会前と、してみましょう わずか2分の表情でフィニッシュ 679 01:15:28,480 --> 01:15:30,500 CS50ここであなたを待って何で。 680 01:15:30,500 --> 01:15:40,950 681 01:15:40,950 --> 01:17:20,803 [MUSICのPLAYING] 682 01:17:20,803 --> 01:17:21,302 大丈夫。 683 01:17:21,302 --> 01:17:22,690 つまり、CS50のためのそれです。 684 01:17:22,690 --> 01:17:23,650 私たちはすぐに表示されます。 685 01:17:23,650 --> 01:17:25,526 ケーキは現在提供しています。 686 01:17:25,526 --> 01:17:28,998 687 01:17:28,998 --> 01:18:14,267 [MUSICのPLAYING] 688 01:18:14,267 --> 01:18:16,350 SPEAKER 17:あなたは聞いたことがあります サバティカル、チーフの? 689 01:18:16,350 --> 01:18:29,490 690 01:18:29,490 --> 01:18:31,920 SPEAKER 18:おそらくあります フードの下より。 691 01:18:31,920 --> 01:18:38,279