>> [音楽再生]
今：こんにちは、世界。
これは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 "]