[音楽再生] -Alright! - これはCS50である。 - これはCS50である。 - これはCS50である。 [ミュージック - IGGY AZALEA、「ファンシー」] CS50から - 私の好きな​​メモリ 私はデイパズルに行ったときだった。 -Probablyちょうど時間 問題のあるセットでの作業に費やした ウォールド私の友人や人々と 最終的には私のblockmatesになる。 から - 私の一番の思い出 CS50はハッカソンである。 -The CS50ハッカソン。 -Hackathon。 -Hackathon。 -Hackathon。 -Theハッカソン -Robボーデン。 彼についてちょうどすべて。 [ミュージック - IGGY AZALEA、「ファンシー」] 私がいた時 - 私の好きな​​メモリである ステージと私は権威ある役割を果たした ノード[の?リンクされた中?] [?リスト。 ?] 私達はすべて自由Dropboxの容量を持って毎期と ダビデはあなたの席の下に見える、のようだった。 そして、それはすべての人のためのスペース、のようだった! [ミュージック - IGGY AZALEA、「ファンシー」] いずれについて - 私のアドバイス 入ってくる生徒だろう 本当に作業すること 友人とP-セット。 -Office時間は非常にあなたの友達です。 あなたの経験の中で最も-make することができますようにと多くの人を満たしています。 助けを求めることを恐れてはいけ-Don't。 初期の週におけるPセットを-start。 最大のものは、にあると思い-I すべてのリソースを活用する そのCS50があります。 初期の週の営業時間に-go。 -Definitelyショートパンツを見る。 あなたのP-セットに先延ばし-Don't。 あなたは素晴らしいグループを検索してください-make とP-セットで動作するように人々の。 あなたは多くの楽しみを持つことができます と仕事を一緒に片付ける。 自分自身をプッシュすることを恐れ-Don't。 時にはハッカー版のために行く。 紙の上-Write物事の前に あなたは今までお使いのコンピュータに触れる。 -CS50は、本当に素晴らしいです 助けを得るための方法を提供する。 アドバイスの-My一枚は、睡眠です。 誰がそれを言っていますか? 確かにスリープ、。 それを行うのは容易ではないですが、 あなたがそれを行うために持っていると思います。 -Iは本当に精神的に調製することだと思います あなたがそれを好きになるだろうからである。 [ミュージック - IGGY AZALEA、「ファンシー」] - これはCS50である。 - これはCS50である。 - これはCS50である。 [ミュージック - IGGY AZALEA、「ファンシー」] - これはCS50である。 [拍手] DAVID J.マラン:これはCS50である これは0週目の終わりです。 そして、それはほんの一部だった CS50のスタッフの方 あなただけではなくセクションで待つ と営業時間、しかし、 また、今度の週末 CS50パズルの日で。 どの、再び、ではない すべてのプログラミングについて。 実際に、あなたと期待だ 何をプログラムする必要はありません、 むしろ使用して問題を解決 あなたと一緒に知恵と友人。 私たちは、いくつかによって結合されます Facebook--での私たちの友人の あなたはhere--を登録する人 過去数年間、 実際に書いている 私達とこれらの課題。 だから、彼らはものになります 最終的にパズルの日実行されている。 だから、あなたは挑戦されます 物事の正確な種類を持つ 問題の人で Facebookは考えるのが好きです。 だから明日です。 cs50.harvard.edu/registerで登録します。 カップルでの今の単語 特にスタッフの。 これは、ここで、アンセル·ダフです 実際に1人である これらのバイナリの共著者の 私たちは水曜日に見た球根、 CS50自身のダン·ブラッドリーに加えて。 アンセル·ダフも、前者だった 3年前に私の新入生助言を受ける人 そして彼は、実際にあっても、この書見台を建てた。 彼が行うに逝ってしまった エンジニアリング科学など。 さて、ここで彼の写真は実際にある CS50ハッカソンで3年前アンセル 彼は私たちのいずれかを借りたとき バルーンは、彼のラップトップにそれを貼り付け、 そして、次の12いくつかの奇妙なため 彼の最終的なプロジェクトに焦点を当てた時間、 のみ開くように休憩を取って ハッカソンでお菓子の袋。 しかし、彼は最近になって上に行きました 私たちと一緒にこの過去の夏を過ごす、 そのスタッフのCS50、それ以来 今の学生は学期、 独自の3Dプリンタを持っています。 そして、一言で言えば3Dプリンタである 非常にこのようになりますデバイス。 あなたは、プラスチック製のスプールでそれを埋める そのデバイスによって溶かされている あなたが物事を構築 文字通り何もないから。 インクジェットプリンタのように多くは、あなたが開始 プラスチックの小さなドットを吐き出す そのフォームは一緒に オブジェクト全体を形成している。 例えばだからアンセル、以前 この夏は、iPhone 5を有している そして彼は本当に決めました 彼の机の上にを下支えする。 しかし、彼はしたくなかった 外に出て何かを購入 アップルストア等から、彼 座って何かを描き始めました。 彼はいくつかの測定値を取った どのように厚いに関して と彼のiPhoneはどのように広がっていた、 彼は、ここでこのイメージを描きました 彼は彼が望むことを決定 75度の傾斜を持っている それは凝視したとして そこに彼の机の上に彼。 彼はそれを用いて、これをオンに 3D CADモデルにソフトウェア、 それが少し見えた このようなもの。 そして彼は進行し、 最終的には、実際にそれを作成します。 だから実際には、ここでの、もしあれば、おそらく 私は投げることができるの行に、持っている 私たちはiPhoneで人々を持ってそこにan-- 5、そしてここでは、さらに2つを持っている。 今、負けじとしないように、CS50自身の チェンゴングもこの夏着手 かなりの数のものを構築すると、 実際には、まだ理由のために 不明で、ゆっくりとしている 象の軍隊を印刷 腕やトランクを連接した。 のカップルがここにあれば実際に 誰もが今象をlike--だろう。 すべての権利、。しかしチェンはまた、何をしたか 私たちのために彼は非常に親切にカメラを設置されている その象ので、 それを信じるかどうか、 取り、いくつかの2と 印刷に時間半。 でも、iPhoneのスタンドがかかった 印刷に時間半。 そして、チェンは先に行って、何をしたか フロントでの素敵なカメラを設置した この3Dプリンタで、時間の撮影 そしてアンセルのデザインなどの半分が印刷された。 私たちは、いくつかのセクシーを重ねて 順番にそれへの音楽 あなたにこれを与えることを探したい 3Dプリントがどのように機能するかで。 そして、これでもかの プラスチックに実際にある、 このエリアである場合と認識 学問的に興味を持たれ、 皆さんはの中で、ある ここではそれらジェニファー·ルイス の学校で 実際にエンジニアリング、 3Dプリントに取り組んで プラスチックのオブジェクト。 しかし、たとえ、ますます、 解決するために生物学的物質 人間のための生理的な問題。 しかし、ここで少しはある CS50から何か。 [LOUD機械ノイズ] DAVID J.マラン:それは鳴りません 現実にはそのようなこと、 それはそれを見て非常に涼しいです その速度で、その音で。 さて、水曜日に、どのように まず、ここで手に入れた? 私たちは、コンピュータの話を始めた 科学と私たちはそれが何であったか尋ねた。 そしてそれは、多くのことについてですと 非常に多くの異なる方向があります あなたが向かうことができる CS50のようなコースの後。 実際には、1を拾った場合 これらの非公式のガイド CSの外部に、冊子に 私たちは、あなたがしているかどうかを、提供してきました ただCS50を取ることを考えて、 または多分、二次をやって または多分集中 CSで、そのめくっん。 そして、あなたはダイアグラムが表示されます 終わりに向かって、その あなたに多くの異なる方向を示している CSにあなたがオフに行くことができます。 しかし、今日のために、私たちは上に、再び、注目します 本当に基本的なビューのいずれか、 おそらく、あなたはどこを持っている 問題への入力、 あなたがからの出力を持っている 問題は、あなたが持っている 作成したアルゴリズム これらの入力からそれらの出力。 そしてその一例は、であった もちろん、ここでは、この電話帳。 そして、私たちは行くことを例として使用 正しかったアルゴリズムを通して。 そして、もう1だった 修正しますが、少し速く。 ちょっとした後、別の1 より劇的な、しかし根本的に 速い。 そう、この電話帳たち 約1,000ページを持っていたと主張した。 そして、どのように何回は、私が持っていた 半分に電話帳を引き裂く マイク·スミスのような人を見つけるために、 最大限に、千ページの本にある? だから、10が与えるか、または取る。 だから私はこの事を引き裂いた後、 半分、あるいは単に、より尚早、 半分に分け、それだけだ 千のうち、10ページ。 そして、あなたは、少し外挿する場合は、 非現実的な電話帳のために、 この電話帳は、いくつかの4があった場合 その中の十億のページなので、完全に 扱いにくい物理的に、どのように多くの 回あなたが40億を分割でください 半分にページの電話帳? だから、与えるか、または取る、実際に32です。 だから32回のみ、タイムアウト 40億のページの、することができます あなたはマイク·スミスのような人を見つける。 そして、それは効率です。 それは良いアルゴリズム、あえて言うのです。 しかし、その後、私たちはそのから移動 それを形式化しようとする。 そして、私は、この擬似コードコードを提案した。 擬似コードのコードでは、正式なものではありません。 それはあなたが覚えるものではありません。 それはちょうどあなたが表現するものだ かなり直感的に英語を使用して、 または任意の言語は本当に、その 簡潔にあなたのアイデアを伝える。 しかし、何が約鍵だ 擬似コードコードは、ということです すべてを予想しよう 起こるかもしれない可能なケース。 そして実際、この擬似コード コー​​ド、本当に3つのケースがありました たびに私は、電話帳を分けた。 マイクは左にある可能性があります。 マイクは右にある可能性があります。 それとも彼は私が上だページ上正しいかもしれない。 または第四コーナーケースは、いわば。 悪いシナリオは1かもしれません which--何が起こっているの? マイクは中だけではありません 電話帳では、すべての。 そして、プログラムは時crash--ときマック 君たちが実行され、PCソフトウェア 時には、あなたのコンピュータ上の ハングアップしたり予期せず終了する、 それは、一般的にその一部を意味し、 プログラマ、すぐにあなたのようないくつかのヒト、 ただめちゃくちゃといくつかのミスを犯した。 多分、多分そこにそれを予想していなかった 電話帳にはマイク·スミスではありません。 そして、あなたが実際に書いていない場合は、 そのような状況を処理するコード、 一般的には予測できない 事が起こる可能性があります。 あなたのマシンがフリーズすることができます。 これは、再起動することができます。 プログラムが終了することができます。 だから、これらすべての そのあなたがかもしれstupidities 実際に遭遇した 生命はちょうど、コンピュータを使用 ますますばかりになります この直感離れ説明 とは何のこの理解 実際にボンネットの下に起こっている。 それでは、見てみてみましょう より一般的な問題で。 取るのではなく のような場所での出席 これは、非常に遅くなるであろう 一つ、二つ、三つ、四つを行う。 それとも2つ、4つ、6つ、8。 それでは上、その代わりに、焦点を当ててみましょう 私たちは形式化する方法 による処理のアルゴリズム その私たちは出席を取ることができる。 そして道に沿って、のは始めましょう いくつかの命名法を適用する 時実際に私たちは私たちは今日を使うだろうと 言語でプログラミングを開始。 だから私は、今4分間のビデオをあなたを与える 私たちは友人と一緒に入れていることを TED、組織から。 私たちは、スクリプトを供給することにより、および 彼らは、負担する彼らのアニメーターをもたらした 実際に2Dを作成 アルゴリズムは何であるかのアニメーション。 私たちは照明を暗くことができれば。 [音楽再生] ナレーター:アルゴリズムは何ですか? コンピュータサイエンスでは、 アルゴリズムはセットです 解決命令の いくつかの問題のステップバイステップ。 一般的に、アルゴリズムは、 コンピュータによって実行される、 私たち人間も同様のアルゴリズムを持っている。 例えば、どのようにでしょう あなたは、カウントについて行く 部屋の人数? あなたが私に似ている場合にはさて、あなたはおそらくしたい 一度に一人一人1における点 ゼロからカウントアップ。 一つ、二つ、三つ、四つ、など。 まあ、それはアルゴリズムだ。 実際には、のはそれ表現してみましょう 擬似コード·コードにより正式にビット。 英語のような構文こと プログラミング言語に似ている。 をn 0に等しい。 部屋に一人一人のために、 集合Nに等しいnのプラス1。 擬似コードを解釈するには? さて、ライン1は、宣言してい そう、変数を話す nおよび初期化と呼ばれる 0ちょうどこの、その値 意味での このアルゴリズムの始まり、 私たちがしているどのとの事 カウントは0の値を有する。 結局のところ、私たちはカウントを開始する前に 私たちはまだ何もカウントされていません。 この変数を呼び出す nは単なる慣習である。 私はほとんど何もそれを求めている可能性があります。 今2マーク解除を裏打ち ループの開始、 一連のステップ意志 何回か繰り返します。 だから私たちの例では、ステップ私たちはしている 撮影は、部屋に人を数えている。 ライン2の下のラインである 説明します3 正確にどのように私たちは、カウントについて行くよ。 インデントはことを意味します それが繰り返される行3です。 だから、擬似コードコードである ことわざは、後には0から始まるということです それぞれの人のために 部屋私たちは1のnを増やします 今、このアルゴリズムは正しいか? さてそれでは、その上に少し強打しましょう​​。 がある場合には機能していますか 部屋に二人? 見てみましょう。 行1では、0 nに初期化します。 これら二人のそれぞれについて、 私達はそれから1によってn個をインクリメント。 〜第旅行でそう ループは、0から1までのnを更新します。 その介して第旅行で 同じループ、私達は1から2のnを更新します。 そしてそうすることによって、このアルゴリズムの エンド、nが、2である 確かに番号と一致 部屋の中の人。 これまでのところ、とても良い。 どのようにもコーナーケースはどうですか? 0人がいるとします です私の他にroom--、中 カウントを行う。 行1では、再​​びnを0に初期化します。 しかし今回は、ライン 3は全く実行されない 部屋に人が存在しないからである。 だからnは確かに一致する、0のまま 部屋の人数。 かなりシンプルでしょ? しかし、一度人1を数える いや、あまりにも、かなり非効率的なのですか? 確かに私たちはより良い行うことができます。 なぜ一度に2人をカウントしませ、 代わりに計数する一つ、二つ、三つ、 四つ、5つ、6つ、7つ、 8個など。 なぜカウントしない2つ、4つ、 6個、8個、というように? それも、より速く鳴ります。 そして、それは確かにある。 それではこの最適化を表現してみましょう 擬似コードコード中。 をn 0に等しい。 中の人の各ペアについて 部屋、セットnからn +2に等しい。 プリティ簡単な変更、右? のではなく、人一つずつ数え、 私たちは代わりに一度に2を数える。 このアルゴリズムの、したがって、 最後の2倍の速さ。 しかし、それは正しいか? 見てみましょう。 がある場合には機能していますか 部屋に二人? 行1では、0 nに初期化します。 人の1組については、 私たちは、その後2でnはインクリメント。 だからこのアルゴリズムのことで エンドnが2であり、これ 確かに番号と一致 部屋の中の人。 があることを次の仮定 客室内にゼロ人。 行1では、0 nに初期化します。 前と同じように、ライン3 それをすべて実行しません 人々のいずれかのペアが存在しないので、 客室内に、などnは0のままです。 どの確かに一致する 部屋の人数。 しかし、何がある場合 部屋に3人? どのようにこのアルゴリズム運賃のですか? ライン1に、見てみましょう、 私たちは0 nに初期化します。 それらの人々の対に対して、 私たちは、その後2でnはインクリメント。 しかし、その後、何? 別の完全ではありません 部屋の中の人のペア、 そうライン2は適用されなくなりました。 だから、このアルゴリズムの終わりまでに、 nが正しくありませんこれはまだ2である。 実際、このアルゴリズムのはに言った それは間違いがあるため、バグが。 いくつかにレッツ救済 新しい擬似コードコード。 をn 0に等しい。 中の人の各ペアについて 部屋に等しいN +2 Nを設定してください。 一人が対になっていないままである場合、 1からnプラスとNが等しくなるように設定。 この特定の問題を解決するために、き 直列4条件で導入され、 そうでないとして知られている ブランチ、のみ実行 1人があるかどうか、私たち 別のとペアリングできませんでした。 それで今、どうか 1、または3があります、 あるいは部屋の中の人のいずれかの奇数、 このアルゴリズムは、ここでそれらをカウントします。 私たちはより良い行うことができますか? さて、私たちは3つずつ数えることができる、 または四つんばい、あるいはファイブと数十、 それを超えて、それを得るために起こっている ポイントに難しい少し。 一日の終わりには、どうか コンピュータまたは人間によって実行される、 アルゴリズムはちょうどです 命令のセット これの問題を解決する。 これらはわずか3だった。 どのような問題、あなたでしょう アルゴリズムで解く? DAVID J.マラン:だから意図的に、 非常に簡単なプログラム、 非常に単純なアルゴリズム、 何かを達成するための 非常に単純な、数え 部屋の人数。 しかし、ここで離れていじめるしましょう 代表者の一部 実際にそのここにあります 場合にも便利になるだろう ほとんどの実装 ソフトウェアの複雑な。 だから例えば、この最初の行に、 私たちは、変数と呼んでいるものがあり、 と代数から、あなたがしている 一般的に馴染みのxとyを使用して、 およびz時には、など。 しかし、プログラミングにおいて、変数 一日の終わりに、まだ、 と非常に似。 しかし、それは考えて、おそらく簡単です ちょうどコンテナとして変数の。 そして、実際には、いくつかのビット数の あなたのハードディスクに何らかの形で実装さ または、コンピュータのメモリ内に、 将来的にはその上で、より多くの。 それはちょうどコンテナです。 そして、あなたが何かを言うなら 様ましょnは0に等しい、 よくそれはこのガラスを呼ぶようなものだ ボウルここでnは、単に任意の名前、 そして、最初はその中に何も入れていない。 この値だから 今のボウルはゼロです。 そしてもちろん、あなたが感じる場合は、 その後の行に、 実際にいくつかの行をインクリメントする ここで、この3行目のようなコード、 1で、それは何と言ってようなものだ n個の電流値は、それが、0、1を加えただ のようなものを置く ここでボールをピンポンピンポン。 これの今価値 変数には、非常に単純に1である。 そして、あなたは非常に迅速に外挿することができ、 今ではのように、今では3ですが、2だ、と。 だから、すべての変数があるのです。 これは、ストレージの一部だ 実際にいくつかのデータを格納します。 今のところそれはピンポン玉だ。 があり、それは数だ。 しかし、それは内の単語かもしれない スペルチェッカーのような辞書、 私はのために水曜日に示唆した 昨年の問題セットのいずれか。 今別のキーアイデア、同様にその 、私が主張するだろう、かなり直感的です ループのものである。 その過程でループ 皆を数える もちろん、同じことをしている 再び実物とagain--いずれか1 当時の時刻または2で。 そして、あなたは英語でこれを表現するか、することができます 擬似コードコード、任意の数の方法で、 しかし」を「この前置詞を使用した それを行うのは非常に一般的な方法です。 部屋に一人一人のために、これを行う。 何度も何度も。 そして、実際にはそれがだと インデント、行3、 ただ何をすることを意味 あなたが行うことになっている インデントのものがある ライン2自体を以下。 ちょうど人間の慣習、 しかし一般的なもの 私たちは、実際より高いに表示されますように レベルプログラミング言語。 さて、もう少し面白いです あなたはコーナーケースで取得するとき。 例えば、コーナー ケースがあった場合はそこに 三人、または5、または7であった、 あるいは部屋の中の人のいずれかの奇数、 補数ブレーキによってそれを行う理由 最終的にはあなたが行くので、 のいずれかで、誰かを欠場する 非常に最初または最後の最後 あなたがそれを行う方法に応じて。 だから、今、私はこの分岐を有していて、または 条件、一人が残っている場合、 先に行くと、そのいずれかを取り扱う 取得していない寂しい人 誰か他の人とペアに。 だから、私たちが呼ぶものだ 条件、またはブランチ。 今擬似コードコード より一般的にすることができ 問題は、任意の数を解決するために書かれた。 そして、私たちは何をしようと思いました ここで行う時間を割いている 招待し、私たちは、CS50年代言わなければならない ステージ上で自身のロブ·ボーデン 2人のボランティアが参加するためには、 誰が待っていますか全くわかりません。 私はそれを言ったように、手とすぐにダウンしました。 あなたはどう上 アップ時に来て、ここで終わり。 そして、どのように遠くから約 離れて、どのように後ろに道に関する。 後列は、あなたの手を上にしてまで来る。 さてさて、あなたの名前は何ですか? ANITA:アニタ。 DAVID J.マラン:アニータ。 さて、はじめまして。 私はロブボーデンをご紹介しましょう​​。 これはアニタです。 そして、あなたの名前は何ですか? KIERSTEN:Kiersten DAVID J.マラン:Kiersten。 Kierstenは、アップ時に来て、 ロブボーデンとアニタを満たしています。 よろしくね。 KIERSTEN:はじめまして。 DAVID J.マラン:さてさて、ロブ。 ROBボーデン:はじめまして。 DAVID J.マラン:アニータ。 KIERSTEN:こんにちはアニタ。 DAVID J.マラン:あなた 数百のクラスメート。 だから、今私が先に行くとプルましょう ここだけの簡単なプログラムアップ Mac OSでは、それは私をもらおう 実際にいくつかのメモを書き留める。 そして、皆さんがそれぞれにしたい場合取る そこにこれらの学校の一つの位置、 私が先に行くとリストを開始しましょう 可能ならば、擬似コードのコード。 そして、私はここに何をしたいのか、 最終的にあなたのためのタイプです その私たちのいくつかの命令 聴衆のメンバーが実際に 私たちのために暗唱する予定。 私は先にだけ行ってみよう 番号付きリストに変更する 私たちはそこに何をしていたかにマッチする。 そして、私はをどうするつもりだ何を あなたの助けは、プログラムを書くです 擬似コードでは、これと これらの人は行く ピーナッツを実装する バターとゼリーのサンドイッチ。 だから、おそらくaproposのです あなた方のうちの何人か何かを表示 インターネット上で見ているかもしれません ただ簡単に迷惑な一瞬。 [MUSIC BUCKEWHEAT·ボーイズ、「ピーナッツバター  JELLY TIME "] DAVID J.マラン:わかりました。 それはそれの十分です。 だからここその間、私が持っている グーグル眼鏡れる 私たちはCS50自身のロブ·ボーデンに出してあげる 彼の目を通して世界を見ることができます。 そして、私たちはポストに最善を尽くします 実際に織るために生産 ロブが見ているものの映像 今、この実際の講義に 両国でビデオ 彼の横にボランティア。 だから、私はするつもりです ですが、私はタイピストになるでしょう。 私たちはここの目標を持っている 実際にプログラムを書く これでできるようにするには、最終的には、 ピーナッツバターとジャムのサンドイッチ、 これらの3つが動作するようにしようとしている 彼らはコンピュータであるかのように。 そして、一日の終わりにコンピュータ、、 実際にはかなりダムデバイスです。 彼らは超高速だが、彼らは唯一の缶 行うには、文字通り、彼らは何と言われている。 あなただけのピーナッツをすると言うことはできません バターとゼリーのサンドイッチ。 あなたはそれを行うためにそれらをプログラムする必要があります。 あなたはそれらを指示する必要があります 精度で何をすべきか、 あまり物事が恐ろしく行くと、 うまくいけば、面白おかしくゆがんで。 そうは言ってそう、私たちは必要 聴衆からのコールアウト ステップべきもののために 1としては、ここでの目標は、if ピーナッツを作ることです バターとゼリーのサンドイッチ。 はい? 聴衆:パンの[聞き取れない]のバッグ。 DAVID J.マラン:パンの袋を開きます。 3競技者がもしそう 文字通りそれを行うに進みたい。 パンの袋を開け。 [聴衆は笑い] DAVID J.マラン:それでは、そのようになったはずです。 かしこまりました。 だから、2ステップ、how-- それではこれをさらにましょう。 うん、前で。 聴衆:[聞こえない]パン。 DAVID J.マラン:それは何ですか? 聴衆:パンを削除してください。 DAVID J.マラン:パンを削除してください。 同様に簡潔。 ありがとう。 [拍手] DAVID J.マラン:それは? [OK]を、ので、ステップ2が起こっている パンを削除することができます。 さてさて、誰かがしたい 私たちに長い文章を書くのか? 他の誰か? もう少し[聞き取れない]。 いや、今は何も。 はい? 聴衆:場所2 隣同士にスライス。 DAVID J.マラン:場所2 隣同士にスライス。 [聴衆は笑い] DAVID J.マラン:場所2 隣同士にスライス。 ステップ4。 はい? 聴衆:あなたを取る 手は軽くそれを設定 ピーナッツバターのふたの上に。 [聴衆は笑い] 聴衆:[聞き取れない] ピーナッツバターの隣にあります。 DAVID J.マラン:何? もう一度言う。 聴衆:ふたを外し、置く それピーナッツバターの隣にそっと。 DAVID J.マラン:そっと置く ピーナッツバターの隣にあります。 [OK]を、進歩。 ステップ5。 優秀。 はい? ナイフを拾う。 DAVID J.マラン:ナイフを拾う。 [OK]を、ステップ6。 うん? 聴衆:ハンドルナイフを持ってください。 DAVID J.マラン:ホールド ハンドルによるナイフ。 ハンドルでナイフを持ってください。 ステップ7。 はい? 聴衆:ピーナッツ中[聞き取れない]ナイフ バターとわずかアウト[聞き取れない]。 DAVID J.マラン:私in--ナイフを入れて 「ピーナッツバターにナイフを入れて聞いた そしてできるだけを取り出します。 " ちなみに、最初の用紙を取り除きます。 すべての権利、ステップ9。 ステップ9。 ステップ9。 私たちは、実際にはまだサンドイッチを行っていない。 はい? 聴衆:ピーナッツバターナイフを使用して、 言ったパ​​ンにピーナッツバターを適用します。 DAVID J.マラン:ナイフの使い方 ピーナッツバターは、上にピーナッツバターを適用 パンは言った。 [聴衆は笑い] DAVID J.マラン:すべての権利のステップ10。 ステップ10。 はい? 聴衆:味ピーナッツ バターは、品質を確保する。 [聴衆は笑い] DAVID J.マラン:ステップ11。 ステップ11。 ステップ11。 さあ。 うん? すぐそこ。 聴衆:慎重にゼリーを拾う。 DAVID J.マラン:慎重にゼリーを拾う。 [OK]をクリックして、別の手がアップした。 あなたの後ろに右。 うん、青。 聴衆:すべての権利、削除 [聞き取れない]から蓋、ええ、 ゼリーから蓋を取り外します。 [聴衆は笑い] DAVID J.マラン:ゼリーから。 ハハ。 [聴衆は笑い] DAVID J.マラン:そして? 聴衆:そしてやっと いずれかの[聞き取れない]スイープ。 [聴衆は笑い] 聴衆:もちろん、[聞こえない]の前に、 ゼリーから用紙を取り除いてください。 DAVID J.マラン:ゼリーから用紙を取り除きます。 ステップ14。 私たちはほとんどがしています。 はい? 聴衆:反転ゼリーボトル すべてが抜ける前に。 DAVID J.マラン:反転ゼリー ゼリーの前にボトルが脱落。 ステップ15。 聴衆:キャップを交換してください。 DAVID J.マラン:キャップを交換してください。 ステップ16。 うん? 聴衆:[聞き取れない] DAVID J.マランは:もう一度言う。 聴衆:あなたのゼリーのオフにキャップを取る。 DAVID J.マラン:あなたのゼリーオフ。 だからおっとreally--。 さあ。 キャップを交換してください。 あなたが言ったcap--入れ ゼリーからキャップを取り外します。 私たちは、ループのビットにいるように感じる。 ステップ17。 はい? 聴衆:[聞き取れない] DAVID J.マランは:もう一度言う。 聴衆:[聞き取れない] DAVID J.マランは:step--に戻る 聴衆:[聞き取れない] DAVID J.マラン:取り外し ピーナッツバターからキャップ。 はい? 聴衆:すべてのドロップ パン上のゼリー。 DAVID J.マラン:ドロップすべて パン上のゼリー。 DAVID J.マラン:私たちはほとんどがしています。 ステップ19。 聴衆:過剰ゼリーを削除してください。 DAVID J.マラン:ハハ、ゼリー。 [拍手] DAVID J.マラン:なぜwe--はありません この家を取るために一歩。 もう一段階、その後 私たちはサンドイッチを提供します。 はい? 聴衆:[聞き取れない] DAVID J.マラン:どんなサンドイッチながら 食べt​​his-- remains--レッツインデント。 [観客の笑い] DAVID J.マラン:すべての権利、ありがとうございました ここに私たちのボランティアにお。 [拍手} DAVID J.マラン:私たちはいくつかの素晴らしいを持っている あなたのそれぞれにプレゼントを別れ。 あなた自身のピーナッツバター、ゼリー、 そして家に持ち帰るためにパン。 ありがとう。 KIERSTEN:ありがとうございます。 DAVID J.マラン:[聞こえない]歓迎します。 [拍手] DAVID J.マラン:だから、これは、の もちろん、とんでもない例。 右? しかし、それは一種のどのように明らかにしない 人間はただ当たり前の明瞭さを取る。 そして、実際には、私がしてきた 別の人間に話して、 彼または彼女はちょうどあなたが何を意味するか知っています。 コンピュータが進んでいない あなたが何を意味するか知っている、 として使用した場合であっても 今日は何しようとしている、 スクラッチで何かをプログラムにドラッグ と、パズルピーススタイル言語をドロップします。 でも、若いのために設計され 子どもたちは、あなたが持っている とても明示的およびにとてもリテラルであることが あなたがあなたのプログラムが何をしたい。 さて、最終的に、私たちはしている プログラミングをする予定 しない擬似コードコード内の、 構文のような英語、 しかし、コードまたは、より適切に、ソースコード。 ソースコードは変わった方法である あなたが実際にコードを記述するための のキーボードで書く ていない英語のそれ自体において。 これは、CやJavaやC + +や何かだ そのように、私たちはすぐに表示されますように。 そして実際には、単に怖がらせるために 一見、あなたのいくつかの、 これは言語で記述されたプログラムである C.しかし、あなたのいくつかの非怖がらせるために呼ばれ、 あなたが完全になります 何が起こっているかを理解する 来る次の月曜日上のときにそれを このようなものになる。 率直に言って、これは古い言語です。 これはかなり難解ですが、 それが代表だ これらの日多くの言語のこと 括弧と中括弧がたくさんある ブレースと引用符とセミコロン。 そして、このたくさんの ではない統語もの すべての知的面白いで。 確かに、それは全くの気晴らしだ 非常にシンプルなアイデアから それは顔で私たちを見つめている。 このプログラム、あなただけの想像のように、 誰かのコンピュータ画面に出力し 言葉「こんにちはコンマの世界。 " それだけです。 だから、明らかに、あります だ多くのもの の邪魔になって そこにいくつかの自明性、 それは非常に迅速に滑るために起こっている 離れて、完全に直感的であること。 確かに、私たちがやろうとしている 今日、これはかなり複雑な蒸留されている もう一度あなたが来る見てプログラム、 すぐに理解することが、何かに はるかに簡単。 ちょうど私たちが何を意味するか言ってみましょう。 それでは私たちが何を意味するかの絵を描いてみ、 ここでは、これらのパズルのピースを経由して。 だから、これはプログラミングです スクラッチとして知られている言語。 それは、MITのメディアラボで開発されました。 そして、あなたが問題に表示されます何が、ゼロに設定 これは、後で今夜発表される 私たちは、あなたがこのに行く必要があります ここscratch.mit.edu URL。 そして、彼らはウェブを持っている 経由ベースのインターフェイス あなたの最初のプログラムを書きます。 またはその前であなたのそれらの 経験、2番目のプログラム、 しかしだ環境で、 おそらく少し不慣れとその 何かを作成することをプッシュします この非常にビジュアル環境を使用して。 今、私はここでやろうとしているもの プログラム自体を開いている。 これは、Webブラウザとしてだけでなく、存在している、 だけでなく、ダウンロード可能なプログラムとして あなたが実際にそれを使用できるように、 あなたはインターネット回線を持っていない場合。 そして、私はそれをするつもりだ ここにおいて、サンダースは、ちょうど 場合には、Wi-Fiがない スーパーうまく協力する。 そして、私がやろうとしてたんだけどポイントです このプログラムのいくつかの機能が不足しています。 だから、明確にするために、私はちょうど二重持っている 私のデスクトップ上のアイコンをクリックし、 または同等に、scratch.mit.eduに行って そしてそれはこのウィンドウをプルアップだ。 これは、プログラミング環境です。 それは、そのソフトウェアの一部です MITの私たちの友人の何人か みましょう、私たちとあなたが書くことを書きました スクラッチと呼ばれる言語でプログラム。 さて、これはあることを起こる また、スクラッチという名前の猫 これは彼が住んでいる彼の世界である。 これはステージであり、いわば、その 左上隅に四角形。 そして、彼は猫のように見える必要はありません。 あなたは彼が見えるようにすることができます 何でも、あなたのような このような多くのスプライトを持つことができ、 またはプログラム内の文字、。 一方、こっち遠い上 右、大きな白紙状態である。 そして、これは、瞬間に、どこにあるの 私たちはプログラミングを開始しようとしている ドラッグ&ドロップによる これらのグラフィカルなパズル 正しいピース ここに真ん中に。 そして、より彼らのやり方それだけではありません ここではクラス内に時間を費やす あなたはそれを見つけることができますので、 それらはすべて、かなり直感的だ。 ここでも、設計されています 子どもたちが、私たちのために それらのいくつかを離れていじめるためにそれを使用 変数、ループの基本的なアイデア、 条件、および、すぐに、物事 関数とイベントのような スレッド、私たちはよ、他の空想のもの 実際に作成する前に長いに行く スクラッチから何か。 しゃれが意図した。 今、私はここで行うつもりだことはある しない運動が、コントロールをクリックしてください。 そして、これはただである here--の分類 と私は別のを参照してください ブロックで設定した色。 しかし、いくつかおなじみの言葉に注目してください。 そして「もし、他の ""もし "と"リピート " そして、あなたはおそらく推測することができます それは、ブランチを彷彿とさせるだ または私達が見た状況、 でも、ループ構造。 そこで、ここでは同じようなブロックを持っています。 しかし、最も興味深いの 1は、ここで、この一つです。 このグリーンフラッグがクリックされると、 この前プログラミングとのそれらのため 経験は、等価です 主な機能に。 しかし、慣れていない人のために、 これは、パズルのピースである それは私達の全体のプログラムを起動キックされます。 私が行くときには、文字通り、この中で、意味 プログラム、グリーンflag--をクリックします あなたがここまで見ることができる UIの左上隅、 そうグリーンフラッグを参照してください 赤いストップサインの横に? 私はそれをクリックすると、私の プログラムを実行しようとしている。 今、私は何かをするつもりだ スクラッチで超簡単。 私が先に行くつもりです そしてルックスパネルに移動 ここで、私が抱えている場合、 紫色のパズルのピースの、 と私は先に行くとするつもりです 何かが超簡単のように、言う。 そして、これに気付くthen-- 白いボックス内のテキスト 私が言うつもりeditable--です ちょうど私達のような「こんにちは、」 そのテキストの中でやった 先ほどバージョン。 そして今、私は行くと、これをクリックすると グリーンフラッグ、私は今プログラムした。 それは特にありません 興味深いプログラム、 しかし、私は、コンピュータが何かを作った。 私がプログラムを開始し、それ 私はそれが何を言ったことでした。 今、私はドラッグ&ドロップし続けることができます これらのパズルピースのますます 彼らは連動するつもりが、だ それではここで、いくつかの用語を平手打ちしましょう 私たちは定期的な表示されますことを コー​​スを通して、 本当にコンピュータサイエンスを通して より一般的にプログラミングする。 これは、ブロック、紫で、してみましょう」と言う」 ただ文を呼び出しを開始。 それは事実の声明のようなものだ。 これを行います。 だから、それはの範疇だ 説明書あなた 一部としてコンピュータを養うことがあります プログラムまたはアルゴリズム。 そして、明確にするには、次のようにしました おそらく当たり前の お使いのコンピュータ上のプログラムを持っている。 そして、彼らは一種のアルゴリズムのだが、 プログラムは、実際にアルゴリズムの束です 一部の人間が書いた。 彼らはそれをパッケージ化し、 彼らはあなたに、それを販売し、 またはそれらはウェブサイトに掲載 あなたがダウンロードするため。 だから、プログラムはただです 0と1の全体の束 それは、どういうわけか、人間が作成しました。 とゼロのこれらのパターンと ものは、最終的に、物事を表し、 「挨拶の世界」や「遊びのような この音楽」や「このビデオを再生する」 または「Eメールを送信します。 " しかし、私たちは中に戻ってくる 道より詳しく何 ときにプログラムである、 自分自身、それらを書く。 ここで別のステートメント - です 「1秒間待ってください。 " 私はまだこれを使用しませんでしたが、私はしたい場合 一瞬一時停止する私のプログラム 何かをする、私はそうするように、それを伝えることができます。 1秒待ちます。 今、もう一方は "サウンドを再生。」かもしれない だから、これは、それスクラッチに固有のものである サウンドを再生する能力を持っています。 だから、文は私がかもしれない 使用は「サウンドを再生」、ここでは、ある 一方、ブール式、 これは愛好家の言葉です 氏ブールというただの男にちなんで名付けられた、 これは、すべての質問についてです。 Trueまたはfalse--マウスがダウンしている? ブール式はただである 英語でいくつかの表現 それはtrueまたはfalseのいずれかです。 オンまたはオフ。 1か0のどちらか。 あなたはそれを考えることができます 任意の数の方法において、 それはどちらか本当だか 最終的には、この誤った。 だから、「マウスダウン疑問符、 " それはブール式になります。 そして、あなたはおそらく、他のものと考えることができます。 例えば、「左の数である 右の数より少ない? " それは、あまりにも、となる ブール式。 「より小さい」ブール式です。 「マウスポインタに触れる。 "あまりにもこの1、 私は、なぜ彼らはよく分からない マウスポインタと呼んだ。 それはちょうどで、カーソルがあることを意味 猫に触れると、画面上の矢印、 たとえば。 または画面のいくつかの他の側面。 そしてそれは、再び、質問だと それはブール式を表す。 そのあなたがかもしれない何か 条件で使用したい。 だから私たちは一瞬のものに来る。 あなたが一緒にできます "と"もの。 だから、あなたはこのかどうかを確認したい場合は ケースであり、そうではあり、 あなたはこのような "と"ブロックを使用することができます。 そして、ここでその条件です。 小さな開口部の形状に注目してください この黄色のパズルピースの上部にある、 それは、形状を連想させるだ 私たちはちょっと前に見たこと。 これらのブール式はそれぞれ これらの尖ったエッジを有する 左右に。 MITの人たちが決めたので、それはだ 視覚的な形状を伝えることで、その、 あなたはこの種の人々を助けることができる、 同様に、学生や子供、 種類の文字通り空白を埋めるために。 今ではことpuzzle-- 開口部は、少し小さいです 私たちは、プログラムで表示されますように、 スクラッチでは、フィットするように成長します。 これは、最終的に、その形状を維持する。 だから、条件はあなたが決めるましょう 「私が何かをするべきではありませんか? " 論理式 実際の質問です 私はに行くかを決定するために使用している 左または私は右に行くのですか 私はこれが発生したとき 道路の分岐点、いわゆる? 次の2つの支店を持つことができます。 何かが真であれば、何 これは、他には、その道を行く またはあなただけの時に何もできない すべて、このブロックは、暗黙として。 同様に、私たちは巣これらのことをすることができます。 だから、中にフォークを3倍にしたい場合は、 道は、これかこれかそれを行うのどちらか、 あなただけの巣これらの事を一緒にすることができます。 そして、それは少しを得るために開始します 醜い、最終的には、確かに、 が、ロジックは同じです。 文字通り読むことができます 下へこのトップ そしてそれはこの場合means--何と言う trueの場合、これを行うには、他の他の場合。 ループは、スクラッチが簡単取得していません。 フォーエバー次の操作を行います。 今、あなたはあなたを思うない可能性があります そこではないので多くを行うことができます トップとの間に多くのスペース このパズルピース開口部の底。 しかし、あなたはスクラッチをしようとしている表示されます などの多くのパズルのピースに合わせて成長する あなたはそこに詰め込むしたいよう。 もう一つのループは次のようになります。 リピートで表現。 あなたが事前にわかっている場合は、「私 何かを10回やってみたい」 あなただけのスクラッチを伝えることができます 何かを10回行う。 そして、その間、私たちは、変数を持つことができます。 だからここに任意のものです、 それは、この場合、オレンジ色の これは旋風のツアーです。 繰り返しますが、これは非常にアクセスできます あなたがポイントしクリック起動一回。 私は私の変数nと名付けたが、私だ それを私が欲しいものを名付けたかもしれない、 と私はで、それをここに設定してい この任意の例はゼロに。 今ハローのようなプログラムを見て 世界は、すべてのこと説得力はありません それでは、実際に何かを開いてみましょう 元学生が作った。 私が先に行くと開いてみましょう、 例えば、これは、ここで、 そのために私は大好きだ ボランティアを持っている。 すべての権利、どのようにの遠く行きましょうabout--。 はい、アップ時に来る。 あなたの名前は? ABBY:アビー。 DAVID J.マラン:アビーは、アップ時に来る。 だから、あなたは今まで演じてきた 前にこのゲーム? ABBY:いいえ DAVID J.マラン:すべての権利。 デビッド、はじめまして。 オーバーさあ。 そして、あなたのプログラミングは何ですか 背景があれば。 ABBY:私はいくつかのC + +のことを学びました。 DAVID J.マラン:あなたはいくつかのC + +のことを学びました。 そして、あなたのゲームは何ですか 背景をプレイ? ABBY:ないたくさん。 DAVID J.マラン:OK、私たちはそれを取るよ。 だからここにゲームが動作するように起こっている方法です。 私が先に行くつもりだと これ、グリーンフラッグをクリック ここで右上のアップです。 クラスで今すぐあなたの前任者 ここにあなたにいくつかの指示を与えている。 そして、ちょうど瞬間に、それを 「スペースを開始します。」と言う だから先に行くと、スペースキーを押してください。 コンピュータゲーム:ピカチュウ。 DAVID J.マラン:そして目標は、であることが そこに描かれているように、食べ物をキャッチ 左の。 そして、[聞こえない]へ [ゲーム音楽の再生] DAVID J.マラン:awwは、よく、 演奏していただきありがとうございます。 ここではほとんどない あなたのための贈り物を別れ。 私たちは、CS50ストレスボールを持っている あなたが選ぶしたい場合。 良いすべての権利、あなたを満たすことができます。 来て挑戦していただきありがとうございます。 だから私たちはそのように、より多くのストレスボールを持っている それではやる気にさせるもう一つの例を実行してみましょう。 ボランティア? 方法についてのすべての権利、 右ここ正面に。 あなたの名前は? PHILLIP:フィリップ。 DAVID J.マラン:フィリップ。 、フィリップをご利用下さい。 だから、フィリップがあることを行っている 別のゲームでチャレンジ あなたの前任者の1 問題の一部がゼロに設定され、書いた アイビーの難しいゲームと呼ばれる。 そして、私たちはただで表示されます これで意味ているものの瞬間。 フィリップ、はじめまして。 あなたの背景は何ですか? PHILLIP:コーディングの多くを完了。 あまりにも、ちょっとゲームを完了。 DAVID J.マラン:わかりました。 あまりにも、ゲームの多くを得た。 そして、あなたは前に、このゲームをプレイしている? PHILLIP:いいえ DAVID J.マラン:すべて 右ので、ここで私達は行く。 私が先に行くつもりです と緑の旗をクリックします。 [ゲームミュージック] [MUSIC MCハマー、「Uはこれを触れることができない "] PHILLIP:[聞き取れない] DAVID J.マラン:[聞き取れない] PHILLIP:[聞き取れない] [笑い] [MUSIC MCハマー、「Uはこれを触れることができない "] DAVID J.マラン:[聞き取れない] それを耕す。 PHILLIP:[聞き取れない] DAVID J.マラン:さあ、どうぞ。 [MUSIC MCハマー、「Uはこれを触れることができない "] DAVID J.マラン:すべての権利。 おめでとうございます。 [拍手] DAVID J.マラン:私たちは意志 ポスト、オンライン後でので、 あなたが先延ばしにできること それにも同様。 プリンストンは、その後、次回来る。 だから今のは、実際に進んでみましょう ゼロからスタートして、 いわば、実際にまで構築 私たちは、これらのアイデアのいくつかを離れていじめることができます さらには、何かに到達 年末までに、より複雑。 私はこちらに行くつもりだと私は行くよ 先に行くと、新しいファイルを作成します。 だからもう一度、問題セットが歩いていく これらのステップのいくつかを経て、あなた。 しかし、私がしたすべては、外出先であった [ファイル]メニューにと私 そんなにマイクロソフトのように、「新しい」と述べ Word、またはそのような任意のプログラム。 そして、それではnow--先に行かせ、私たち 先ほどの「Hello World」を実施し、 しかしそれでは少し可愛い何かをやらせる。 私はイベントにまで行くつもりです。 そして、私は時、「するつもりです 緑色のフラグがクリックしました。 " そして私は、使用するつもりです 私たちは、枝を言わなければならない。 だから私は「IF」条件を使用するつもりです。 そして、どのようにすぐに私は近づくように注意してください それには、一緒にスナップしたいと考えています。 だから私は行かせ、それが一緒にスナップします。 そして今、私は面白い何かを行うことができます。 私がここをスクロールした場合、私は行くよ ブロックの全体の束を見ることができます。 私は、「データ」に行けば - 私にズームin--ましょう 変数に関するものがある。 私はに行くと「動き」のことができます 明らかに事態を好転。 私は、「事業者」に行けば - ああ、これは面白いです、 私は、乱数を選ぶことができます。 だから私だけで何かをやらせる ある確率、という理由だけで。 私が先に行くつもりだと このパズルピースをドラッグし、 これ未満である ブロック、それだけですので、 「それよりも、この数少ない? " しかし、私は、ハードコードの番号を望んでいない そのため、かなり無意味である。 だから私はこの作品をドラッグするつもりです ここで、それが中スナップ様子がわかり、 そして今私が先に行くとあれば "と言ってみましょう 無作為に選んだの番号 次の操作を行い、6個未満である。 " さて、なぜ6個未満? これは事実上どのような確率である ただ直感的に、私を与えるつもり? 約50%、右か? それでは、ランダムに推測する番号の場合 1と10との間に、6個未満である 明らかにそれは、1つ、2つですが、 3つ、4つまたは5つ。 そしてそうそれは私を与えるために起こっている 何が起こって50%の確率? さてそれではようなことをやらせる これは、「音ニャーを果たしている。 " そして、再び、気付く パズルのピースが成長する 限り形状が一致するように、フィットする。 それは重要なものだ。 私はスクラッチに引き継が行こう ここと「遊び」をクリックします。 何も起こりません。 そのバグはありますか? いいえ、必要ありません。 それはちょうど、そのAかもしれない より大きな数を選択した。 それでは、もう一度やってみましょう。 何もない。 [MEOW] DAVID J.マラン:ありそうである。 [MEOW] DAVID J.マラン:アゲイン。 いいえ [鳴き声] DAVID J.マラン:あなたがしたのであれば これまでに、もちろん、ゲームをプレイし ものがランダムに起こっている場合には、 悪者のように来たりしていない の画面に来るか、 物事は転倒や落下していない、 それはちょうど何かスーパーためだ このような単純なが起こっている。 乱数を選び、そうで それは、いくつかの値未満だ 多分これを行うか、多分それを行う。 私たちは、組み込むことができます 条件にその。 それでは別の何かをやってみましょう。 私はそれを捨てるましょう。 次の方法でものを取り除くことができます ちょうど左にそれをドラッグする そして手放す。 私が先に行くと永遠にブロックをやってみましょう 非常に迅速に迷惑な何かをする。 私は先に行ってみようと 「音ニャーを果たしている。」と言う しかし、私は、これはあまりにもなりたくない 迷惑なので、私はこのブロックをつかむしましょう 「1秒待って」と予告 それのためのより多くの部屋はありません。 しかし、あなたは十分に近い行けば、 それはそこに行きたい。 だから私は行かせ、それが意志 ブロックを埋めるために成長する。 だから今、これがループです。 [鳴き声] DAVID J.マラン:私は 文字通り永遠にこれを行う。 何度も何度も。 それはちょうど自然なではありません。 私が先に行くと、これを変更してみましょう しない1秒、2秒に そしてEnterキーを押します。 そして、何スクラッチのいいのはです あなたが対話的にプログラムすることができるよう。 変更を行い、多分入力または再生ヒット 再び、それだけで続けるでしょう。 さて、今、なぜ行っておりません ちょっと可愛い何か? ゼロからすべてを行うのではなく、 私が先に行くと、事前を開いてみましょう 、私は焼きたての事前という、ひとつになって 「ペットの猫」と呼ばれる そして、私たちはすべてを投稿します オンラインこれらのファイル、 そして、問題が設定され、ゼロを教えてくれます どのようにそれらにアクセスし、それらを開きます。 そして、通知は、これは非常に単純です。 しかし、事前に、私がつかんでいるように見える 「永遠に」ブロックが、私はループを持っている。 そして私は「IF」条件を持っている。 私は、ブール式を持っている。 英語のように、ただでかすめる あなたが初めてだない場合は特に、この、 ただ直感的に、前にプログラムされ、 このやろうとして、このプログラムは何ですか? [観客のおしゃべり] DAVID J.マラン:あなたは猫をペットする場合は、 猫は右、ニャーに行くのですか? で「永遠にチェックを外す」ため、 マウスポインタが猫に触れる。 だから、明確にするため、と私は言っていない この前に、これらのパズルのすべて 作品やスクリプト 私達はにそれらを組み合わせている、 いわば、スクリプトはと同義で このプログラムは、実際には、この猫に属します。 そしてその理由は、予告のでis-- どのようにここでは、この同じ猫が強調表示され、 ダウンここに作成できる 本当に第二猫や犬や あなたがグラフィカルに何でも。 あなたが何かをインポートすることができます フォトショップ等から、 あなたの場合、何かを統合 プロジェクトのためにそれを作りたい。 そして、あなたは何を見つける、 最終的に、あなたということです パズルを追加し、スクリプトを追加することができます 個別の文字の部分、。 したがって、これらのすべてが所属 この特定の猫。 だから今、私は先に行くと、再生する場合 このプログラムは、何も起こっていないだ。 しかし、それは実行されています。 プログラムは、この永遠にループしている、 種類の何が起こるのを待っている? [観客のおしゃべり] DAVID J.マラン:猫をペットに。 だから私はhim--に向かって私のマウスを移動する場合 [鳴き声] DAVID J.マラン:だから今 私は猫をなでています。 一方で、私たちは二重のブランチを持つことができます。 私が先に行くと開いてみましょう アップ猫ペットはありません。 私たちも、このオンラインを投稿します。 これはもう少しです 複雑であるが、言わずに あなたはおそらく推測することができます 何が起こるだろう。 [鳴き声] DAVID J.マラン:猫です 鳴き声、壮大な昔。 しかし、このプログラムは勿論である いわゆる「猫のペットしないでください」 そうはっきりと、私は猫をペットにする。 [轟音] DAVID J.マラン:猫をペットしないでください。 それでは、見てみましょう ここにもう一つの例で。 この1が呼び出されます 「やあ、やあ、こんにちは、 "理由のために それがあるため、明らかであろう とすぐに私はこのthing--を実行すると [SEALの吠える] DAVID J.マランさんへの非常に簡単 迷惑なスクラッチプログラムを書く。 [SEALの吠える] DAVID J.マラン:今、私たちは行くことはありません これらのすべてと非常に詳細に、 が、そこで気付く ここで新機能のいくつか。 と呼ばれる変数、「ミュート」は、あります した後、条件の束があります。 そして今のために、私を聞かせて ただ言ってあなたをいじめる この男はあまりにも厄介な取得する場合、その、 私は、スペースキーを打つことができるし、彼は停止します。 役割は次式で演奏されているので これら二つのスクリプトは以下のようである。 そのうちの一つは、やっている 数秒ごとに吠える。 もう一つは、ただ待っている 私のためにスペースバーをヒットする。 そして、私は、スペースバーをヒット行う場合は、 それは変更するつもりだ この変数の状態、値 この変数の、それは明らかだ いわゆる「ミュート」と私は呼んでいなかった nのような退屈な、それは何か、 私は「ミュート」、英語の単語と呼んで 0〜1または0〜1。 真から偽またはfalseに忠実に。 だから、あなたが実際にすることができます あなたことを、今を参照してください。 2つのスクリプトを持つことができ、2 プログラムは、同時に実行している 両者は、座っている可能性があります ループの中で何かをして。 人間がするのを待って スペースバーを打つようなもの。 [SEALの吠える] DAVID J.マラン:そして今 彼は再び彼の方法でだ。 [SEALの吠える] DAVID J.マラン:だから何他 私たちは、これらの例をどうでしょうか? さて、先に行くとやらせる 羊を数えるとの例。 ここではラインに沿って、これを続けます of--のは羊の例を開いてみましょう。 そして予告、ずっと前のように、この1、 ありがたいことに、少し面倒です。 私はhere--プレーヒットしたら ああ、いや、これは迷惑です。 彼は、BAAに起こっている ある確率で。 それでは、もう一度これをプレイしてみましょう。 [シープBLEETING] DAVID J.マラン:唯一の違いは、 私たちは、いわば、衣装を変更しました 私たちは半分と言うしている その実際の数は何ですか。 さてそれでは先に行くとしましょう さらにこの1歩を踏み出す。 そして、私はであなたをいじめるしましょう ここに一つの他の特徴。 それでは先に行くと開いてみましょう スレッドと呼ばれるプログラム。 あまりにも多くのあなたがいずれかを持つことができますように スプライト、複数のスクリプトを持つ、 次の2つのスプライト、鳥の中に持つことができます 猫は、それぞれ独自のスクリプトを有する。 それらのそれぞれができる 同時に動作する。 あなたが今まで聞いたことがある場合は 単語 "マルチスレッド" コンピュータは、「マルチスレッド」手段であり、 それは、一度に複数のことを行うことができます そして、実際に、そのようにスクラッチすることができます。 そして今、鳥が種のダムで気づく。 それだけでランダムに物事をやっている、 画面を跳ね返る。 明らかに、猫がプログラムされている 種類の求める能力を持っている 鳥上のホームへの理由 彼はいつも彼を指しています。 最終的にまで、彼 実際の鳥をキャッチします。 だから私は、細部にこだわることはありません ここが、あなたはこの種の缶 同じ形状の、いくつかを垣間見る 条件の "if"、いくつかの変数、 おそらくいくつかのループであり、 最終的には同じことをやって。 今、私が先に行くと、開いてみましょう 完全に何か他のものまで、 特に、あなたのいくつかをいじめるために より快適なもの、 実際にこれで何を行うことができます。 私が先に行くつもりです ここでボタンを開きます。 そして、これはスーパーで 単純見せかけプログラム、 しかし何が起こるか見て I--は何を見たとき 私はそれは、このバージョンを開いたときの動作、 ここではブラウザ、scratch.mit.edu中。 そして、私はこの大きな赤いをクリックすると ボタンは、何が起こるかに注目してください。 それでは、ここで起こっている? より多くの複雑さは、実際にあります ボンネットの下に起こって、 私が実装されたにも関わらず、 この、または率直に言って、ダン·ブラッドリー そう、単純にこれを実装しました。 彼は独自のスクラッチパズルを設計しました スクラッチ拡張機能として知られている作品、、 彼はトグルと呼んだ。 そして、何の切り替えが行うのは、送信するある インターネットを介したメッセージ。 そして、そのメッセージ自体 少し不可解に見える。 しかし、これは、あまりにも、あなたはよ 任期の終わりまでに理解しています。 彼が実際に送信者からのメッセージ このような小さなものになります。 それは単なるテキストです。 謎めい。 あなたは、時間によってそれを理解するでしょう 私たちは、問題が7に設定し得る。 それだけでテキストメッセージを送信しています サーバーにインターネット経由で。 そして、そのサーバーには、最終的には、ある この電球、と話している これらの空想の電球のいずれかを持って その中に話している、それ自体、という ここで、ネットワーク内のWi-Fiと、 ここで、ローカルデバイスダウンhere-- そして、最終的に、それは実際の オンとオフ、その光を回す。 しかし、私たちはより多くのことを行うことができます それでも面白い。 ダンはまた、私たちのために何をしたかに注目してください。 彼は、それぞれを複数のスプライトを作った そのクリックを待っているスクリプトを持っています。 私は赤をクリックした場合と、それが赤くなります。 私は青を取得する場合は、青みを帯び行く。 緑、黄色、オレンジ。 そして、これがすべてによって起こっている インターネット上に道外出、 背部の下、ここに 電球、オンとオフ。 そして、あなたはit--を信じることができる、これがある場合 最も複雑なスクラッチのおそらく1 プロジェクト誰かがimplemented--あります 彼は一日に、公正さに、それをやった。 そして、それは私たちがダウンして投げた挑戦だった ダンに私たちは、バイナリ球根を持って見たとき、 私たちはどのように、スクラッチを持っている 私たちはそれらを組み合わせることができますか? そして、確かに、これは絶対にあり この部屋で何か誰 学期のend--は彼ですかによって行うことができます 使用して再実装バイナリ球根 だった同じインターフェイス 水曜日に私たちのiPadで。 今では、私が実際にそうであれば こちらにプラスをクリックし、 私たちは一、二、三を持つ。 私は16をヒットし、そのいずれかをオンにすることができます。 128などが挙げられる。 今だけではそれが持っている場合 そしてあなたの心を吹き、 あなたがはるかにアクセス可能なことを行うことができ、 確かにハードウェアを含まない。 ただ、画面自体に物事。 そして、実際に、どのようなほとんどの学生 ゲームのいくつかの種類でやってしまう、 いくつかの芸術的作品、あるいは インタラクティブなアニメーションのいくつかの種類。 そして、私は私達ののいずれかを言うだろう お気に入りはこの1つであった。 私たちならば、私は思った 照明を暗くできた、 私たちは、この最後の時に垣間見るを取るよ 結論としてスクラッチプロジェクト。 しかし、あなたのように、心に留めておく必要があります 私は1つの最後の細部であなたをいじめることができ、 切片は来週開始されます。 営業時間は来週開始されます。 問題設定ゼロが掲載されます CS50.harvard.edu後で今日。 そして、あなたは迎えられるでしょう 問題にゼロを設定する 誰CS50自身Zamylaチャンへ ガイドたちのチュートリアルのほとんどを。 これらは、動画に埋め込まれている 問題セット内 それがたくさんを通してあなたの手を開催します 初期セットアップの多くのスルー 可能な設計上の決定。 だから、あなたがその感情を持っていた場合は、 宿題をピックアップする際 と疑問に、どこで始めるのですか? 彼女はあなたのためにその答えがあります。 そして今、最終的なプログラム あなたの前任者の一方から 質問への答えでの 「キツネは何と言っていますか? " [ミュージックYLVISは、「FOXは何と言っていますか?] YLVIS:(SINGING)犬は横糸を行く。 猫がニャーを行く。 バードつぶやきを行くとマウスが鳴き行く。 牛はMOOを行く。 カエルは、しわがれ声を行く。 そして象は警笛を鳴らす行く。 アヒルはいんちきと魚がブラブ行くと言う。 そして、シールは流れ流れ流れなりますが、 誰も知らない1音があります、 キツネは何を言っていますか? そして DAVID J.マラン:それはCS50は終わりです。 私たちは時にお会いします 昼と月曜日にパズル。 [拍手] [ミュージックYLVIS、「FOX SAYを何? "] ナレーター:そして今、深い 祈るファーナムによる思考、。 私は当たった今日 電話帳に直面しています。 私が私のように、混乱 オンライン見て家。