[音楽再生] 今:こんにちは、世界。 これはCS50LIVEです。 私たちはあなたのためにこのような良いエピソードを持っている。 YouTubeの最高経営責任者(CEO)、 Internet Explorerのバグ、 史上最悪のビデオゲーム、および バルブソフトウェアへのフィールドトリップ。 しかし、最初に東京への旅、日本 オバマ大統領は、最近再生した場合、 私の良き友人とサッカー。 [ビデオ再生] - うわー。 彼は動いている。 - 私もサッカーボールを蹴ることができる。 ここで私は行きます。 - ちょっと、良い仕事。 [ENDビデオ再生] DAVID:こんにちは、世界。 私はCS50自身コルトンオグデンにここにいる。 COLTON OGDEN:こんにちは、みなさん。 DAVID:そして他に誰が行っており 今日ここに私たちと一緒に持っている? COLTON OGDEN:これは今、私たちの フランスから少しロボットの相棒。 DAVID:だから私は実際には会った [横に?ロブ·ボーデン?] 彼と私は、アトランタにいたとき、 ジョージア数週間前 あなたがで思い出す可能性がある SIGCSE、スペシャルインタレスト コンピュータサイエンス教育のためのグループ、 文字通り歩き回っ場所 会議室の床には、この男だった。 まあそれは結局のところ、とき 私たちは、キャンパスに戻ってきた 我々はその教授が発見 ハーバード大学のロボット工学研究所の[聞こえない] 実際に今ここにキャンパス内にありました。 そして彼女は親切に私達を許可だ 今日は、あなたのために彼をプログラムします。 COLTON OGDEN:はい、実際には、デビッド、 私は今、あなたに挨拶したいと思います あなたは歩きたい場合は、 ここでテーブルを囲んで。 DAVID:右ここに? わかりました。 わかりました。 今:こんにちは、デビッド。 よろしくね。 DAVID:こんにちは、さん。 手を振る? COLTON OGDEN:シェイク 上下に彼の手。 DAVID:わかりました。 COLTON OGDEN:そして 彼が先に行くと座るだろう。 そして、あなたが興味があるなら、 私は実際にお見せすることができます 私は彼を取得することができたか あまりにも、これらすべてのことを行う。 DAVID:ええ、絶対に。 COLTON OGDEN:彼は少しだ オフ今朝バランス。 彼はまだ彼のコーヒーを持っていません。 DAVID:だから、これは我々に何を見ているのですか? COLTON OGDEN:だから我々は見ている 今ここでのコアのグラフは、ある グラフィカルプログラミング環境、 スクラッチと非常に類似している そのCS50は使用しています。 ここでは、それはセットの参照 フロー図のようにアップ。 そして、我々は、これらの束を持っている ここで少しのビルディングブロック。 今、私たちは、この1を見てみると 例えば、立ち上がると呼ばれています。 このブロックは、のために立ち上がると言う 彼が座っているのかどうかを今、 または何でも。 その後、我々はそれが入る参照 触覚ヘッド、基本的には の上にタップを待ち 先ほど見たように、彼の頭。 移動手段には、x、y及びzに移動する 特定の宛先への方向。 ハンドシェイクは、私が書いたモジュールであり、 これは基本的に言って、こんにちは、デビッド。 よろしくね。 握手を待ちます。 座るスタンドアップの反対です。 彼が先に行くと座るだろう。 して、頭の動き ループができると彼 ランダムな方向に頭を移動します。 DAVID:興味深い。 したがって、これらは見ていないにもかかわらず、 スクラッチからのパズルのピースのように、 それは実際には同じ考えです。 そして、あなたはプログラムを配線している これらのビルディングブロックを用いた。 COLTON OGDEN:はい、その通りです。 DAVID:だから、あなたが作ったと述べ そのうちの1、握手。 我々はその1を拡大表示することはできますか? COLTON OGDEN:確かに。 ここでは、ハンドシェイクを見てみましょう。 そして、我々はそれが非常にセットアップするのはわかります 他のフロー図に似。 我々は、ハローブロックから始める その[聞こえない]ダビデは、こんにちは、と言います。 よろしくね。 ここでこの権利は、ループです。 これは、腕の動きを検出する、と言います。 だから、無限にあるでしょう その腕までループ待機 上下に引き上げられました。 して、その一度起こった、 それが先に行くと、これらのことをするつもりだ。 [OK剛性を設定し、最後に移動し、 基本的に彼を送信することを意味する 彼のデフォルト位置に。 DAVID:興味深い。 あなただけに制限されています このグラフィカル環境を使用して このように、彼をプログラムする? COLTON OGDEN:実際にはありません。 我々は先に行くと、ダブルクリックした場合 これらのビルディングブロックのいずれか、 私たちは実際があることがわかります フードの下にPythonコード、 これらのビルディングブロックのそれぞれに電力を供給する。 DAVID:ああ、確かに。 これらの不慣れ、Pythonのためのそう インタプリタ言語であり、 その精神において非常によく似 我々はCS50で使用PHP、。 そして、はるかにあなたが使用できるように WebプログラミングのためのPHP、 また、コマンドラインで使用することができます。 そしてコルトンはここでやっているように このグラフィカルな環境では、 その後、プログラムの書き込み、 Wi-Fiを経由して送信 - COLTON OGDEN:正しい。 DAVID: - 今まで。 あなたは、いくつかを持っているでしょう 固執する時間? COLTON OGDEN:もちろんです。 DAVID:すべての権利。 さて、コルトンの前に戻ってくる 驚きの少しのための私達、 我々は今 - それを得る - ?60秒を持っている オーディション旧CS50の学生 教育の仲間になるために。 [ビデオ再生] ありがとう、ありがとうございます。 ここにいるために、皆をありがとうございます。 - ねえ、ミスターバニー。 この簡単なチュートリアルへようこそ - トゥインキーズと[聞こえない]楽しい。 待ち。 停止します。 - だから今、我々は問題を抱えている。 - そうではありません。 そして私はなぜあなたを伝えるつもりだ。 ループは次のように、繰り返しである - ブラックボックスのソート。 - [OK]をクリックします。 私はそれを得ると思います。 - すべての権利。 だから今、私は少し難しい部分にいるよ。 - そうなんです。 8ビットがバイトをする。 - あなたはバイトを取り、あなた 4の塊に分離。 ビープ音、ビープ音、ビープ音、ビープ音、ビープ音。 ビープ音、ビープ音、ビープ音、ビープ音、ビープ音。 - それは、過度に複雑と思われる。 - それでは、もう一度、これをやらせる。 私はあなたを混乱させる - 場合、お手数 私を停止して自由に感じる。 - しかし、ちょっと待って。 - さて、スライドを振り返ってみましょう そして段階的に物事を打破する。 あなたは覚えている場合 - 、メモリである バイトサイズの断片に分割。 - そこでここでは、最良のシナリオを持っている。 - これはかなりのものである 改善の上 - クロームのようなウェブブラウザ、。 - これは、任意のを解放するために常に必要です - - 人 - - あなたは全体で実行されることがあります。 コー​​ドが取得することができます やや扱いにくい。 - そして、それはあなたが必要とするすべてである。 ブーム! DAVID:今CS50自身の 最近ダンコフィーと私 外旅行する機会がありました カリフォルニア州マウンテンビューに これはどこに グーグルの本社がある。 そして、我々はとチャットする機会があった スーザンウォイッキやYouTubeの最高経営責任者(CEO)。 それはスーザンの中で実際にあった 90年代年前のガレージ Google自身であることが確認された ラリーとセルゲイによって開始された。 まあ、それはそのスーザンが判明 彼女は実際にCS50を取った 私は前に、わずか数年。 そして私はそれが印象的だと思う あなたはすぐに聞くことができますように、どれだけ コンピュータに多くの導入 科学はその彼女の人生に影響を与えた。 彼女は挨拶したいと思います。 SUSANウォイッキ:こんにちは、世界。 私はスーザンウォイッキだ。 私は、YouTubeのCEOだ。 私がいたとき、私はCS50を取った 1990年にハーバード大学のシニア。 私は実際の歴史だった と文学を専攻。 そして、私の後輩の夏の私 気づいたかもしれない私 何かを学びたいと思った コンピュータについて。 だから、私は戻ってきた。 私はCS50を取った。 それは大変でしたが、それがあった 私が取った最も驚くべきクラス。 それは私がすべてについてどのように考えるか変更しました。 そして、私はハーバード大学を卒業したとき 1990年に、私はシリコンバレーに行ってきました と私は仕事を得た。 そして、私は仕事をしてきた 以来テック中。 だから、CS50は私の人生を変えました。 私が学び、構築し続ける。 それは私に大きな基盤を与えた。 と私はすべてを学ぶために継続しています 技術の変化などの日。 そして、私はそれは素晴らしいことだと思う あなたはすべてのそれを取っていることを それは、世界がどのようなので 今後変更する予定。 ただより多くがあるように起こって より多くの機会と革新。 デジタルは、私たちに影響を与えるために起こっている それが既に持っているよりもさらに住んでいます。 そして、それは、その素晴らしいです すべてのCS50を取っている。 だから、これはCS50である。 DAVID:だからしてきた場合には 新しい理由を探している 特定のブラウザを使用しないように、 ここにあなたのために良い1です。 私は最近受け取った - みんなと一緒に ハーバード大学 - ここにこのメール。 ハーバードコミュニティの "親愛なるメンバー。 米国国土安全保障省 推奨して一時的にすべてのユーザー の使用を中止 Microsoft Internet Explorerの、すなわち、 重大なセキュリティ上の欠陥に起因する。 " これは、実際に文書化されています マイクロソフトセキュリティアドバイザリ2963983。 Internet Explorerの脆弱性により、 リモートでコードが実行される可能性があります。 さて、これは何を意味している と脅威は何ですか? さて、これを考慮 ここの図、その私たち について話をCS50で使用 HTTPまたはWebトラフィック。 ここでは、ウェブを使用している場合 サーバと反対側に ブラウザ - Internet Explorerの この場合は - もちろん、 ブラウザときに最初に Webページを要求 このようなHDPメッセージを送信することがあります。 バージョン1.1を使用してindex.htmlをGET HTTPというプロトコルの。 今、この場合は、悪い男が持っている場合 何とかこのWebサーバにアクセスしていた それにインストールされている いわば悪用し、 彼または彼女は納得することができるかもしれません Webサーバは、これを返す。 のみならず、自身てindex.HTML 要求されたが、内部に埋め込ま そのindex.htmlファイルの可能性、 もちろん、他の資産であること。 具体的には、何か exploit.SWFのような、 最終的には、フラッシュファイル このセキュリティを利用しています ある技術、ヒープ風水、 というのがファンシーな方法そのコード そのフラッシュファイルスプレーの内部 コンピュータの内部のいわゆるヒープ のすべての異なるチャンクとブラウザ 最終的には設計されていたメモリ ここでメモリの大きな塊を上書きします。 あなたは我々の議論からこれを思い出して ヒープとスタックのCS50中 メモリ管理、より一般的。 今のメモリー 実際にヒープに投げ 本当にフラッシュベクターオブジェクトと呼ばれます。 そして、これはで何かある あなたが精通しているかもしれない あなた自身が持っていた場合 前にフラッシュをプログラムする。 しかし、特にこれらのオブジェクトの1 フラッシュメディアサウンドオブジェクトとして知られている。 そしてここに機会があるためにあり これが何を悪用すると、その後の作業に移行する このチャンクの破損しています メモリ、メモリ内のこのオブジェクト、 それはこのようにしようとするように、 それによって、16進アドレスの実行可能ファイル、 最終的にはプログラムをだまししようとしている ので、いくつかのシェルコードを実行する 話すか、悪いやつのコードに、それはです 最終的にはここに、このアドレスに格納されている、 ダウンロードを介して注入した 無意識のうちにその特定のFlashファイル。 今最終的な結果は、どのような可能性が 敵は、コンピュータに何をしたい。 彼または彼女はあなたのファイルを削除することができ、 あなたのファイルを移動し、あなたのファイルを電子メールで送信、 あるいは本当にあなた自身は何もし そのコンピュータの所有者として行うことができます。 脅威はとても怖いですか、それはね。 それが可能にする上で、本当に誰 そのウェブサイトのあなたのインターネット 任意の実行に訪れるかもしれません お使いのコンピュータ上のプログラム。 今ありがたいことに、Microsoftは非常に 最近、このための修正を発表した 実際に問題のため 苦しんでのInternet Explorer 6 最大11までのすべての方法。 だから、それは非常にいくつかのために私たちとされているの 時間とごく最近になって発見された。 だから、自動更新がある場合 オンになって、あなたはすぐにOKにする必要があります。 しかし、念のため、あなたはきっとできた 少なくともいくつかの他のブラウザに切り替える その間に。 今ではそれも判明 マイクロソフトは非常に寛大に また、Windows XP用の修正プログラムをリリース のためのWindowsの古いバージョン サポートが正式に実際にあった ほんの数週間前に中止し、 しかし、この脅威はとても悪かったこと、彼ら また、そのOSの修正プログラムを展開 同様に。 現在、他のニュースで今週はこのでした。 アタリ2600、古いゲーム コンソール私のいとこ 実際には、どの育っていた 我々は、ビデオゲームをプレイするために使用される場合 我々は彼らの家を訪問する。 今どのような場合でも、これはなぜだった ニュースは次の理由のためだった。 戻る80年代には、同社 このデバイスの背後にある、アタリ、 で埋めることにしました ニューメキシコ州の埋立 古いゲームの全体の束 および取扱説明書 そのようなものです。 そうで売れ残ってしまった。 今の時間の経過とともに、これらの埋葬 ゲームは都市伝説のビットになる。 人々は本当に確かに知りませんでした これは実際にあっても何が起こったかどうか しかし、神話が行ったように、企業 でも、コンクリートの層を注ぎました 内のすべての上に 子供を防ぐために、埋立 実際にそれを介してカサカサから、 無料のビデオゲームを見つけようと。 まあ、それはドキュメンタリーことが判明 2014年現在、進められている。 とショベルのチームがしようとしている この物語の背後にある真実を掘るために それはそこに確かにいます。 そして、彼らが見つけたものと思います? まあ、それはまさにこの 男が、何千人も 彼のゲームのコピー、 リリースされた のリリースと一致 映画、E.T.地球外。 だから実際には、ほんのここ数日で 何十何百何千ものではないかの 最終的にこれらのカートリッジの 発掘され始めている。 今、彼らはなぜこのような埋葬でした 明らかに説得力のあるゲーム? まあ、それはことが判明 E.T.実際に評判が高い 史上最悪のビデオゲームだと多くの人。 部分的には、彼らが持っていたので、 開発するので、少しの時間 その前にゲーム 特にクリスマスシーズン、 だけでなく、それがあったので、 遊ぶことは特に硬い。 これは、もちろん、頼む 質問は、我々はそれを見ることができますか? はい、我々はできる。 それでは見てみましょう。 [ビデオゲームプレイ] 今では実際にはなかった 人々が異議を取ったグラフィック なぜなら、実際には、これは80年代ました これは、技術水準であった。 確かに、これはここに私の子供の頃だった。 しかし、何が難しかった このゲームについての、一つであった、 あなたの周りの映画のETを持っていた 画面を見 それらのほとんどの画素については、その リーシズピーシズを表していた。 しかし、漁獲量は、あまりにもあなたが落ちた場合、すなわち これらの暗いダイヤモンドの形状に、 あなたはに陥るだろう 実際にあったピット 非常に難しいと退屈から抜け出すために。 これにより、ETを埋葬された。 今もの砂漠で 後半これは、ここでワイオミング州にあった。 と混同しない原子力、 [? nucular、?]コントロールセンター。 そして実際には、あなたがダウンして見れば そこにコンクリートの下に このホワイトポールの近くに、あります 実際ミニットIIIミサイル、 、それは実際には核ミサイルだ のいくつかの技術によって保護され あなたが望む人がいるでしょうと同じくらい近代的ではない。 アメリカのテレビ番組、60 分は、最近、このことを明らかにした。 [ビデオ再生] - しかし、機器が古代である。 これは、例えば、 そのコンピュータの1 打ち上げを受け取ることになる 社長からのご注文。 これは、フロッピーディスクを使用しています。 本当に古い、大きなもの。 あなたは、ここであなたを得た前に、 おそらく1を見たことがなかった? - I'd 1まで見たことがない 私はこの穴の中に降りて。 [ENDビデオ再生] 今、あなたは考えているなら あなたはこれらのディスクを見てきました、 これらの5と4インチのディスク 1980から、UH-UH。 これは8インチのフロッピーです 1970からディスク。 今CS50自身のダン·コフィー そして私はまた機会がありました シアトルに旅行し、 ワシントン最近、どこに 我々は、バルブの私たちの友人を訪問しました。 実際には、あなたは私の60秒を思い出すこと これらの仮想現実ゴーグルを着用しています。 今、我々はまた、機会がありました Valveの技術者の3とのチャット 誰が何についての私達に話を聞いた それは、バルブで仕事をするようなものだ しかしいっそのこと、それは何 ビデオゲームを開発したい。 それでは見てみましょう。 [ビデオ再生] [ビデオゲームプレイ] - 私の名前はブライアンヤコブソンです。 私は種類のバルブに私の方法を作った 少し遠回りにある。 私は実際にコンピュータではなかった 大学でのプログラマー。 そして、私は、バックアップに使用された 高校なのに プログラミングを行うと取得することができ アイデアから実装までのもの わずか数分または数時間内。 私は楽しんで、その開発の急速なペース そして、私のアイデアを見ることは生命に来る。 - 私の名前はYahnベルニエです。 私はバルブでここにしてきた 16年以上にわたって。 だから、僕は用を書いてしまった Quakeのための楽しいレベルエディタ バイナリに基づいて、BSPと呼ばれる 空間分割の木。 つまり、前菜のようなものだった。 そして最終的にだったゲイブ·ニューウェル、 バルブの創設者、マイク·ハリントン 私にソフトウェアを言ってメールを送った 開発エンジニアの機会。 - 私の名前はジョン·クックです。 私はソフトウェアエンジニアだ バルブに勤務。 私は、私たちのオンラインシステムに焦点を当て、 スケーリング、およびアーキテクチャ。 友人と私、実際に 大学にいた チームフォートレスと呼ばれるゲームに取り組んで。 そして、私たちはただのゲームを作った、 インターネット上でそれを広げた。 それは、に加えていた ゲーム、クエイク、当時。 だから、現代​​の一種だった そのゲームの延長。 その後、我々は終わった バルブに接触してき そしてこっち来る。 - さて、私のためにGraphicsクラスだった おそらく最も該当するコース 私は確かに大学で取った。 三角法、線形代数。 私が持っていたロボット工学のコースを取った 焼きの線形代数種類の束 それ、それはキーストーンの一つですへ 任意の3Dグラフィックスのための数学の概念。 これは、すべての方向についてですとやって のような、私はあなたを探しています以上の数学、 私はあそこを目指したいと思います。 そして、どのように私は私がどのように回転しない 私が動くか見ているところを見つけ出す。 つまり、すべての線形代数である。 - 一人称シューティングゲームの本質 私は銃のサイトに目を通すことです。 私の目でとを目指す 何かと引き金を引く そして私はそれをヒットしたいと思います。 つまり、あなたを設計する必要が レイテンシーに対処するための技術。 だからジョン·カーマックは戻った と私は何をする必要があるか、ああ、言った クライアント上で予測されている 私のプレーヤーの入力をもたらし、 そしてちょうどそれをすると、 我々どこからレンダリング 彼はなるだろうと思うし、次にしましょう サーバが戻ってきて私のためにそれを修正する。 - だから、について考えているとき ゲームを行うためにゲームエンジンを用いて、 より多くのオプションが今あります​​。 ゲームエンジンは優しい インフラの あなたがゲームを構成している。 これは、描画を担当することだ 世界、世界をシミュレートするための、 すべてのサウンドを再生するため、 ゲームコードを支援するため どんな敵を見つけ出す AIが何に行くつもりです。 - 通常、人々が開始する方法です 彼らはそのロジックの一部がかかると思います そして、それを変更してください。 同様に、[OK]を、今まさにみましょう ロケットランチャーを変更 代わりに200ダメージを与える 100ダメージを与えること。 それは非常に簡単です、のように、ちょうど取る ゲームロジックのいくつかの既存の作品 そしてあなたが好きか、それを微調整。 - 他のより高いレベルの層 通常、ゲームコードと呼ばれています。 そしてゲームのコードは、通常、 すべてのゲームのルールについてですもの。 私が持っているという事実のような この特定の武器 それは特定の方法で動作します。 またはそこにあるという事実 headcrabモンスターその これらの特定の行動を持っています。 物事のこれらの種類があります 通常、ゲームのコードとして検索します。 - そしてそこから、実際に、それらと 作品や反復のプロセスの種類、 あなたのような何かから行くことができます ハーフライフのようなものに地震。 - 半減期はサイエンスフィクションであり、 一人称シューティングゲーム。 それは、陰鬱な世界に設定だ。 前半期はで設定された この地下研究施設 ブラックメサと呼ばれる。 そして、あなたはキャラクターを演じた ゴードン·フリーマンという。 そして、それは基本的にだった エイリアンの侵略について それは時に挑発した 実験は間違っていた。 第二試合、ハーフライフ 図2に示すように、約10年後に設定し、 基本的に、エイリアン 地球を引き継いだ。 そして今、あなたゴードン·フリーマンなど 基本的に救出しなければならなかった あなたが出会う友人、アレックス、。 とバックビートにしよう エイリアンと惑星を取り戻す。 - 確かに、のようなプロジェクト ポータル2は、それだけだった 小さなチーム、5人 ゲームのアイデアに取り組んで。 彼らはいくつかのことを発見した彼ら 面白いと思っていた、 ゲームのために興味深いものになる可能性があります。 彼らは20人に拡大した。 彼らは、これらのアイデアを肉付け。 あなたは、いくつかのより多くの人々を追加しました。 彼らはOKのようだし、今、私たち 3コンソール上で出荷する。 我々はもっと多くの人々を必要としています。 皆と同じように、このゲームを見ています。 それは素晴らしいです。 それはちょうど束を必要とします の成し遂げるために働く。 突然あなたが持っている 半分会社が働いて、 あなたは120人が働いている それを成し遂げるために、このゲームに。 明らかに、数 他の場所でのプロジェクトの契約、 しかし、誰もがスーパーです 彼らは知っているので幸せ 彼らはこの上で作業している 本当に素晴らしいですもの。 本当に素晴らしいことの一つは、 一般的にこの仕事とこの業界 物事はすべての時間を変更することです。 あなたがしている事 今年は起こっているそう から非常に困難であるために 来年やる事。 そしてそれは実際にすべてを保持 新鮮な、実際には、可愛らしいエキサイティング。 あなたは、常に新しい学習している 物事とか新しい種類をやって。 [ENDビデオ再生] DAVID:それはCS50LIVEのためにそれだ。 そんなにこのおかげ 今週の貢献者。 そんなにCS50自身のコルトンのおかげ オグデンとカメラの後ろのチーム。 これはCS50た。 [MUSIC - LOSデル·リオ、「MACARENA "]