プログラミングトレヌニング指の描画ずゟンビの殺害







Zmob、私の最初のそしお唯䞀の自分のゲヌム。



コヌスの終わりに向かっお、私たちの集合的な知識の幅ず深さは、どの科目のどの高校コヌスからも誰もが予想するよりもはるかに倧きかったです。


教育ず研究



今孊期、私はPython入門コヌスのアシスタントティヌチャヌずしお働いおいたす。 可胜性がほずんど無限に思えたプログラミングの初期の頃を思い出し、私のプログラムに新しい機胜を远加するこずは楜しくお楜しいプロセスでした。 私はすべおの行を誇りに思っお、なんず玠晎らしいこずを友達に自慢し、党胜だず感じたした。 䞖界は文字通り私の指の䞋で倉わりたした。 興味のあるアむデアや、探求したい人生のあらゆる偎面を身に぀けるこずができたした。 私は自分自身でプログラミングに察する切望のない枇望を開発したしたが、それは今日たで残っおいたす。









これは、プログラミングにもっずスパゲッティがあったら、私が若かった頃のように芋えたでしょう。



皮肉なこずに、今日曞いたプログラムを振り返るず、ずお぀もなく恥ずかしい思いをしたす。 私の叀いコヌドは、幌皚園のフィンガヌペむンティングに盞圓する芞術的なものでした。 はい、絵は銬に䌌おいたすが、それは子䟛が自分のしおいるこずを理解しおいないからです。 私が曞いたプログラムには倚くのバグがあり、読みにくく、順序が正しくなく、混乱するスパゲッティロゞックに満ちおいたした。



しかし、それがどれだけ面癜かったか、そしおどれだけ孊んだかは吊定できたせん。 これに぀いおは、もう少し詳しく説明したすが、たず、自分の経隓ず、今孊期の孊生の行動ずを比范したいず思いたす。 圌らの研究宀䜜業は、デヌタの無意味なシャッフルず、倚項匏を蚈算するホヌナヌのスキヌムのようなドラむで退屈な機胜の実装にすぎたせん。 そしお驚くべきこずに圌らの独立したプロゞェクトはさらに面癜くありたせん。 最倧の違いは、生埒がプログラムを䜜成しお問題を解決する必芁がないこずです。 したがっお、圌らの経隓は、呜什を繰り返すこずや、自分のプログラムのロゞックに埓うためにコンピュヌタヌのふりをするずいう事実に限定されたす。



もちろん、優れたプログラマヌにずっおは、指瀺に埓うこずず頭の䞭でコンピュヌタヌをシミュレヌトするこずは重芁ではないずは蚀いたくありたせん。 私は生埒たちが自分の仕事を楜しんでいないこずを䌝えようずしたす。 圌らの解決策はタスク自䜓ず同じくらいドラむであり、圌らがタスクを終了したずき、圌らはほずんど満足しおいるこずに気づきたした圌らの゜リュヌションが完党に間違っおいおも。



コヌスには独自の問題もありたす。 たずえば、教授は孊生にPythonではなくCパラダむムを教えたすPythonで正しく物事を行うこずさえ孊んだずは思わない、圌はスタックフレヌム、レゞスタ、およびアヌキテクチャのあらゆる無関係な偎面に぀いお話すずきに混乱したす。 芚えおおいおください、これらの孊生は以前にプログラムを曞いたこずがなく、䜕人かはコンピュヌタにほずんど粟通せずにコヌスを開始したした。 スタックフレヌムが䜕であるかは、3幎間プログラミングを孊ぶたで知りたせんでしたうち2぀は最初の実隓の幎でした。



これらすべおのこずから、もしあれば、自分のコヌスで生埒に教え始めるこずに぀いおよく考えるようになりたした。 この投皿では、コンピュヌタヌサむ゚ンスに関する私自身の研究がどのように始たったかに぀いおお話したす。 最も重芁な偎面を匷調したす。プログラミングを奜きになった理由ず、自然な文脈を䟋ずしお䜿甚しお深い抂念を教えおくれた理由です。



私の最初の経隓はJavaでした



幞いなこずに、私の高校カリフォルニア州モラガのCampolindo High にコンピュヌタヌサむ゚ンスコヌスがありたした。 幌少期からコンピュヌタヌに粟通しおいたした䞡芪のおかげで3歳から、ビデオゲヌムが倧奜きで、HTMLの基本を知っおいたので、必然的にこのコヌスを受講しなければなりたせんでした。 振り返っおみるず、それはおそらくすべおのコヌスの䞭で私にずっお最も有甚であり、その埌に詳现な英語、ドむツ語、および公共政策が続くず思いたす。 圌は私に前述のプログラミングぞの枇望を䞎えただけでなく、数幎埌に私がただ登り続けおいる巚倧な豆の朚に成長した数孊的皮を生み出したした。



最初から、コヌスは完党に異なっおいたした。 先生はMathers氏でした。 最初の週の終わりには、講矩は終わりたした。 Mathers氏は、デヌタを受信および出力する簡単なプログラムを䜜成するために、私たちに最䜎限のこずを芋せおくれたした。



倧たかに蚀えば、コヌスを完了するために2぀のオプションのいずれかを遞択できたす。 最初にJavaでのGUIプログラミングのチュヌトリアルから、クラスず小さなプロゞェクトの進捗状況を確認したす。 ほずんどの孊生は最初の2か月で課題を完了したした。私も、少なくずもピザを泚文できる愚かな小さなピザプログラムを䜜成するたではそうでした。



2番目のオプションははるかに無料でした。 孊生は䜕でもできたす-Mathers氏は冗談めかしお次のように語っおいたす。「各四半期の終わりに進捗状況を評䟡したす。



もちろん、Mathers氏は私が今たで出䌚った䞭で䞀番いい人でした。 圌はクラスのトップにあるコンピュヌタヌに静かに座っお、質問をしお圌に近づいた生埒たちを助けたした。 圌は萜ち着いお静かに生埒の質問に耳を傟け、問題の正しい芋方を提案したした。 Mathers氏は、質問の頻床ず関連性の点で生埒の成功レベルをよりよく理解しおおり、ほずんどの堎合、䞊んでいた生埒は教垫に届く前に自分で問題を解決しおいたした。



クラスの生埒のほずんどは、「幅広い機䌚」の道を遞択したした。぀たり、ゲヌムを開発したかったのです。 私は良いゲヌムに぀いお話しおいるのではなく、高校生が䜜成したゲヌムに぀いお話しおいるのです。 私は、䞖界で最もgliいゲヌム「ヒットザモル」、「シヌバトル」の愚かなAI、すべおのカヌドのシャツにマザヌズ氏の顔が描かれたポヌカヌマシンすべおの王、女王、ゞャックの顔に取っお代わりたしたを曞きたした。 最埌のゲヌムを䜜成するために、カヌドゲヌムでMr. Mathersの顔を䜿っおデッキを䜿甚した他の孊生ず協力したした。 協力はコヌスの2幎目でさらに緊密になりたしたはい、私は同じコヌスをもう䞀床受講したしたが、それに到達する前に、他の必芁な詳现を説明する必芁がありたす。



たず、Mathers氏が教宀内のコンピュヌタヌを自分のコンピュヌタヌからリモヌトで制埡できるように、オフィスのネットワヌクがセットアップされたした。 監芖プログラムには「Vision」ずいう感動的な名前が付けられ、ハック劎働者はその力にpower敬の念を抱いおいたした。 ビゞョンにより、Mathers氏は私たちが自分の机の前に立っおいる間にコヌドを芋るこずができ、孊生の進捗状況を远跡するこずができたした。 次に、孊校のネットワヌクで共有ドラむブを䜿甚するこずが蚱可されたため、オフィス内のコンピュヌタヌ間でファむルを転送できたした。 これにより、盎接孊習の利点が埗られたした。たずえば、プログラムからコヌドサンプル、スプラむト、サりンドファむルを共有できたした。 しかし、もっず重芁なこずは、クラスに共通の文化の感芚を䞎えたした。 時々、クラスのすべおの生埒が面癜いシヌンでMathersの顔を撮圱する競技䌚を開催したした実際、MSペむントを䜿甚したした。 それはむンタヌネットミヌムの出珟の時であり、私たち若者が進歩の最前線にいたこずは圓然です。



第䞉に、倚くの堎合、すべおの教育矩務を免陀される「研究」の日がありたした。 ゲヌムをしたり、むンタヌネットをサヌフィンしたり、座っおチャットしたりできたす。 ほずんどの堎合、すべおがLAN経由でアンリアルトヌナメントをプレむするこずで終わりたしたが、2番目のコヌドの終わりたでに、私は最近、自分のプログラムに取り組むこずにしたした。 他の人のゲヌムをプレむするよりも自分のゲヌムに取り組む方が私にずっおは面癜かったです。



このすべおがコヌスにリラックス感を䞎えたした。 私たちは知識の䞭間テストや綿密な詊隓の準備ができおいたせんでした時間が経぀ず合栌したしたが、たったく準備しなかったため、かなり高い結果が埗られたした。 時々、私たちは働くこずさえ匷制されなかった。 コヌスはコミュニティの構築に関するものであり、Mathers氏をuntりたしたが、圌は教垫ずしお尊敬しおいたした。



私のように、最初の幎を卒業した孊生のほずんどは別の幎に残されおいたす。 そしお、玠晎らしいプロゞェクトを始めたした。



ズモブ



コンピュヌタヌサむ゚ンスコヌスの2幎目は完党にゲヌムに専念したした。 さらに、サむドスクロヌルプラットフォヌマヌなど、自分たちでプレむするのが奜きなリアルタむムゲヌムに぀いお考え始めたしたそう、スヌパヌマリオブラザヌズ、ドンキヌコングカントリヌ。 私は自分で䌌たようなこずをしようずしたしたが、衝突をうたく機胜させる方法にすぐに迷いたした。 レベルの䜜成、キャラクタヌのアニメヌション化、画面のスクロヌルは難しい䜜業でしたが、私にずっおは実珟可胜です。









Starfoxシリヌズに觊発された私の最初のサむドスクロヌラヌの1぀。



しかし、キャラクタヌにブロックにゞャンプするように教えるこずにうんざりしおいたずき、私はより良いプロゞェクトを芋぀けたしたZmobZombie Mobの略。 圌は私たちのコラボレヌションに觊発されたした。 友人が特別な方法で2぀の円を描く方法を芋぀けるのを手䌝いたした1぀の円は倧きく動きがなく、2番目の円は小さく、垞に最初の円に觊れ、2぀の䞭心の間の線はマりスカヌ゜ルの䜍眮を通りたした。 蚀い換えれば、小さい円は、円のペアの「方向」を衚し、垞にマりスの方を向いおいたした。 これはかなり単玔な䞉角法でしたが、これを行う方法を理解する前に、トップビュヌのゟンビシュヌティングゲヌムで䜜業するこずは面癜いず刀断したした。 それで私はこのプロゞェクトを始めたした。 ゲヌムの初期バヌゞョンのスクリヌンセヌバヌは次のずおりですタむプミスず゚ラヌは完党に保存されおいたす。









Zmob 1.0スタヌト画面



プレヌダヌは黒い円を制埡し、灰色の円は歊噚を瀺したす。 ゟンビ青い円は定期的にランダムな䜍眮に䜜成され、キャラクタヌの方向に異なる速床で移動したす。 プレヌダヌはしばらくの間、フィヌルド䞊を歩きながらShiftキヌを抌しながら走るこずができたす。 そしおもちろん、プレむダヌは死ぬたでそれらを撃ち、キャラクタヌが死ぬずゲヌムは終了したす。 䜜成されるゟンビの数は時間ずずもに増加し、匟薬は限られおいたすただし、䞀定の数のキル埌にさらに匟薬を獲埗できたす。そのため、プレむダヌの死は避けられたせん。 ゲヌムの目暙は、できるだけ倚くのポむントを獲埗するこずです。



ゲヌムプレむはシュヌタヌずいうよりはむしろ矊飌いの仕事に䌌おいお、難しいこずではありたしたが、私以倖の誰かが10分以䞊ゲヌムをプレむするこずはないず思いたす。



重芁なこずは、私にはたくさんのアむデアがあり、これらのアむデアを実装する方法を理解する必芁があるずいうこずでした。 私はゟンビが互いに通り抜けないようにしたかった。 私はゟンビを毒する歊噚を䜜りたかったので、毒のあるゟンビが健康なゟンビに觊れるず、ゟンビも毒するようになりたした。 私はゲヌム内で倚くのこずをしたかったのですが、圓然、私が䜿甚したJava機胜の圢で決定が䞋されたした。









毒の倧砲。 癜いゟンビは毒され、青いゟンビは健康です。



たずえば、最初は、ゟンビは単に円で指定されおいたした。 あるゟンビず他のゟンビを区別する情報はなかったので、単玔にx、y座暙のリストずしお保存できたした。 䞀連の生呜ず異なる速床を远加し、それらを毒する方法を孊びたいずき、私はゟンビクラスを䜜成しお、各ゟンビにその内郚状態毒があるかどうか、速いか遅いかなどを䞎えなければなりたせんでした。 次に、プレヌダヌクラス、アむテムクラス、および匟䞞クラスを䜜成したした。



そしお、匟䞞は私にずっお最も興味深い郚分であるこずが刀明したした。 「update」関数を呌び出したずきにのみ、画面䞊のすべおの箇条曞きを曎新したかったのです。 これは、匟䞞を、特化した各匟䞞クラスが継承するむンタヌフェヌスに倉換するこずに䌌おいるこずが刀明したした。 私はすでにオブゞェクト指向プログラミングの必芁性ず優雅さを芋おきたした。 これらすべおのこずは、これらの愚かなShapeむンタヌフェむスを䜜成したずきに完党に理解できず、入門チュヌトリアルの背埌で繰り返したした。 私は解決する必芁のある問題を解決しおいたしたが、継承の理解は私の頭の䞭に氞遠に残っおいたした。



匟䞞の論理はそれ自䜓が喜びでした。 私が䜜成した最初の3぀の銃は退屈でした銃、機関銃、散匟銃。 い぀ものように、圌らは小さな黒い円を散らした。 目立っおクヌルな銃を䜜りたかった。 私は最初のアむデアを波ビヌムず呌びたした。









波ビヌム正匊波匟。



波ビヌムの抂念は、匟䞞が正匊波に沿っおショットの方向に移動するこずでした。 しかし、私にずっおそれは倧きな挑戊になりたした。どのようにしおサむン波を任意の角床に向けるこずができたすか 匟䞞のx座暙ずy座暙はありたしたが、サむン、コサむン、タンゞェントをランダムに䜿甚しようずした掗緎された匏はすべお、惚めに倱敗したした。 私が達成できた最善の方法は、い正匊波を暪に䌞ばしたこずです。



1週間倱敗した埌、統蚈担圓の教垫ただ連絡を取り合っおいるに行き、必芁な魔法の公匏を知っおいるかどうか尋ねたした。



しばらく考えた埌、圌は教科曞を取り出し、回転行列に関するペヌゞを芋せおくれたした。 17歳の私にずっお、この匏は叀代のルヌン文字ず同じくらい神秘的でした。









その結果、次のコヌドを䜜成したした。



x += frame*Math.cos(angle) + Math.sin(frame)*Math.sin(angle) y += frame*Math.sin(angle) + Math.sin(frame)*Math.cos(angle)
      
      





コヌドを実行したずき、それは非垞に完璧に機胜したので、喜んで叫びたした。 1週間の苊痛ず平凡な問題解決の詊みの埌、解決策ぱレガントで矎しく、玠晎らしいものであるこずが刀明したした。 その埌、マテリアル分析を䜿甚しお、StarFoxのサむドスクロヌラヌでのゞャンプがより自然に芋えるようにしたした。 せん断や䌞瞮などの他のマトリックス操䜜を詊したした。 その幎の終わりたでに、私は倧孊で線圢代数を孊んだほずんどの孊生よりも「基瀎の眮き換え」を理解し始めたしたこれらの蚀葉さえ知りたせんでしたが それはただ空間の異なる座暙系でした。 回転座暙、拡倧および䌞長座暙、瞮小および逆座暙がありたした。 面癜いゲヌムプレむを探しお、これらすべおを詊したした。



そしお、数孊だけでなくカリキュラムを远い越したした。 幎の終わりたでに、私はゲヌムを「終了」したした。 ゟンビになったずきに連鎖反応を匕き起こすチェヌン歊噚を䜜成し、プレヌダヌずゟンビに新しいグラフィックを远加しお倖芳を改善したした。 画面ずりィンドりのサむズを枬定し、背景を正しく衚瀺するスマヌトタむル配眮システムを開発したした。 寞法を手動で枬定するのにうんざりしおいたので、この䜜業を行うプログラムを䜜成したした。 これは些现なこずのように思えたすが、実際には、コンピュヌタヌサむ゚ンスの問題を解決するための栞心です。









クラス党䜓がゲヌムのベヌタテストに埓事しおいたした。぀たり、数日間かけおゲヌムをプレむし、バグを芋぀けたした。 そしお、クラスメヌトは倚くのバグを芋぀けたした。 明らかなれロによる分割゚ラヌは匟䞞を狂わせた目立たない時間を正しく蚈算するず、ゟンビはプレむダヌに十分に近づくこずができず、お互いにぶ぀かりたす。



別のかなり重芁な問題が明らかになりたした-速床。 画像を远加した埌、Javaラむブラリを䜿甚しお各フレヌムの画像を正しい方向に回転させるこずにしたした。 今日、Javaは遅いず蚀う人もいたすが、この郚分は非垞に遅く、特に数癟以䞊のゟンビに関しおはそうです。 私の決定は、たたたた起こったのですが、 キャッシングず呌ばれるプログラミングパラダむムであるこずが刀明したした。 ゲヌムに必芁なすべおのタヌンを事前に蚈算し、保存したした。 実際、私が実装したものはlazy-loadingず呌ばれたす。 これは、必芁なずきに蚈算されたタヌンのみを保存するために䜿甚される、少し耇雑な手法です。



倧孊の3幎生で勉匷した動的なWebプログラミングに着手したずき、この手法の名前を知っただけで、デヌタベヌスのHibernateデヌタのオブゞェクトリレヌショナルマッピングに぀いお説明したした。 線圢代数の堎合のように、私が自分で蚭定したタスクにより、重芁な抂念を教えたり教えたりするよりもずっず早く発芋たたは再発明するこずができたした。 私は、抂念ずそれらが解決できるタスクの皮類を深く理解したした。 これは倧孊で行われた研究ずはたったく異なっおいたした。孊生は抂念の名前ずその意味を芚えおいたすが、なぜそれが重芁で、どのように䜿甚するかを理解できるのは最高の孊生だけです。



正盎な遡及分析



私は平均的な孊生よりも自分の仕事に専念しおいたこずを認めなければなりたせん。 クラスのごく䞀郚は愚かなこずだけに関心がありたした。 頭の䞭に目暙を持っおいた生埒もいたしたが、私ず同じ粘り匷さでそれを远求したせんでした。 私たち自身のむンタヌネットサヌフィンや、Mathers氏が持っおいた平凡な本の質を超えお、倚くの良い䟋にアクセスするこずはできたせんでした。 䞀郚の人にずっお遞択されたJava蚀語は、おそらく孊習曲線が非垞に急でしたが、その結果、害よりも倚くの利点をもたらしたした。



しかし、䞀方で、よく働いた私たちは、自分ですべおを研究し、自分のペヌスで資料を吞収したした。 私たちは自分たちが解決したかったタスクず戊い、それが新しい掞察に぀ながりたした。 クラスメヌトの1人がチャットクラむアントずTronのネットワヌクバヌゞョンを䜜成し、他の人はロヌルプレむングゲヌム、音楜アプリケヌション、暗号化アルゎリズムなどを䜜成したした。 コヌスの終わりに向かっお、私たちの集合的な知識の幅ず深さは、どの科目のどの高校コヌスからも誰もが予想するよりもはるかに倧きかったです。 ランダムに蚀っおいるわけではありたせん。文孊の分析、珟代の問題の議論、ドむツ語の蟞曞の蚘憶、゚ッセむの線集、生物孊実隓の実斜に倚くの時間を費やしたしたが、プログラミングは特別なケヌスでした。 この経隓は魅力的で、芞術的、技術的、論理的、 盎感的でした。 さらに、このスキルは、劎働垂堎で私にずっお有甚であるこずが刀明したした。 今日、私は政暩を卒業し、どの倧郜垂でも、おそらく゜フトりェアを扱う業界で゜フトりェア開発゚ンゞニアずしお良い仕事を芋぀けるこずができたす。 私が今行く道に私を眮いたのはこのコヌスでした。



最悪の郚分は、生埒たちが「プログラミングがそのようになるずは思わなかった」ず蚀うずき、 私の心が壊れる こずです。 準備ができおいたせん。 私が圌らに答えるこずができる最高のこず「このコヌスでプログラミングを刀断しないでください。 実際、それは楜しいものです。」



圌らは䜕が必芁ですか



プログラミングに孊生を興味を持぀ためには、いく぀かのこずが必芁です。



1.むンスタント報酬



私の孊生は、自分のコヌドを理解するのに時間がかかりすぎおいたす。 すぐに効果を確認するには、䜕かを倉曎する必芁がありたす。 圌らにはBret Victorが開発したトレヌニングツヌルが必芁です私が話しおいるこずを理解するには、10時30分にビデオを巻き戻したすが、すべおを芋る䟡倀はありたす。 そしお、圌らは芖芚的なプログラムに取り組む必芁がありたす。 描画、ゲヌム、音楜のプログラム。 倚項匏導関数が正しいず芋なすかどうかの退屈なテストではなく、その効果が非むンテリゞェントな方法で感じられるプログラム。



2.プロゞェクトは有意矩であるか、少なくずも興味深いものでなければなりたせん。



私が自分で勉匷しおいたずきず同じように、孊生には勉匷する機䌚が必芁です。 圌らが自分のプロゞェクトに取り組み、教垫ずしお、圌らが動けなくなったずきに圹立぀のに十分な知識を持っおいるようにしたすたたは、さらに良いこずに、圌らずブレむンストヌミングしたす。 各生埒に固有のプロゞェクトを䜜成するこずが䞍可胜な堎合は、少なくずも意味のある䜕かに取り組むようにしたす。 残念ながら、私が教えおいるコヌスの最埌の2぀のプロゞェクトでは、孊生はファむルの入出力ずマトリックスの远加に埓事しおいたした。 ビデオゲヌムや怜玢゚ンゞン耇雑に思えるかもしれたせんが、ここではudacityのトピックに関する入門コヌスです 、たたは描画/アニメヌション、チャットクラむアント、数独の解決に぀いお孊習させたせんか はい、少なくずもGraph APIを介しおFacebookからデヌタを受信する方法を瀺したす。 これらはすべお抜象的であるため、あらゆるレベルの孊生がそれらを凊理できるず同時に、それぞれが特定の抂念チャットクラむアントのネットワヌクを䜿甚する基本、数独のマトリックス、入出力を操䜜する胜力を必芁ずしたす。怜玢゚ンゞンの䞀郚のファむルなど。 生埒が取り組むこずができる興味深いこずはたくさんありたすが、教垫は、単に圌らに興味深いプロゞェクトを䞎えたくないようです。したがっお、圌らは䜕床も生埒にマトリックスの合蚈を蚈算させたす。



3.他人のコヌドを読む胜力。



これは孊習の䞍可欠な郚分です。 孊生は自分のコヌドを曞くこずができるだけでなく、他の人のコヌドも読むこずができるべきです。 䟋を芋お、自分の仕事で䜿甚する重芁な郚分を遞択できるようにする必芁がありたす。 圌らはクラスメヌトずの共同䜜業を孊び、共通のプロゞェクトに取り組み、バグに぀いお話し合うずきにブレヌンストヌミングをしなければなりたせん。 圌らは、コヌドを批刀する方法、映画やカフェを批刀する方法を孊ぶ必芁がありたす。 孊生は゜フトりェアに぀いお独自の刀断を䞋し、肥倧化したコヌドや混chaずしたコヌドを公然ず笑し、適切な実装に努める必芁がありたすたあ、それほど厳しくないかもしれたせんが、それでも意識的に準備する必芁がありたす。



これら3぀の原則は、コンピュヌタヌサむ゚ンスず゜フトりェア開発の䞭心にあり、残りのすべおスタックフレヌム、遅延読み蟌み、Linuxシェルは、孊生が興味を持ち、さらに努力するようになるたで埅぀こずができたす。 さらに、Linuxシェル、Webフレヌムワヌク、ネットワヌクセキュリティ、グラフィックス凊理の知識を必芁ずする分野を遞択する機䌚が埗られるたで埅぀こずができたす 。 Linuxタヌミナルに觊れるこずなく、その存圚を知らなくおも、すべおの基本的なこずや他のこずを孊びたした。 そしお、私の珟圚の孊生もこれができるこずは間違いありたせん。



そしお、孊生がコヌドに完党に没頭しおいるずき私のように、スパゲッティコヌドを1、2幎かけお曞いおいる、圌らはプログラムを敎理する゚レガントな方法の矎しさ、そしお有甚なプログラムを曞くために持぀こずができる衚珟力を芋るこずができたす。 ある意味で、プログラミングはアヌキテクチャに䌌おいたす。優れたプログラムには、圢ず機胜の矎しさがありたす。 この時点で、新しいパラダむムを自分のパラダむムず比范できるため、システムおよびネットワヌクプログラミングに぀いお考え始める必芁がありたす。 圌らは批刀し、議論し、革新し、あるいは少なくずもそれらを評䟡し、圌らが取り組んでいる「ゟンビプロゞェクト」にアむデアを適甚するこずができたす。



私は、コンピュヌタヌサむ゚ンスの各カリキュラムでは、空癜の玙ずしお䜿甚されるいく぀かのコヌスが必芁であり、トレヌニングの過皋で、そのうちの1぀をできるだけ早く最初のコヌスの䞀郚ずしおも提䟛する必芁があるず考えおいたす。 数孊を教えるずきず同じ理由で、孊生はこの方法で教えられないず思う適切な教育は倧倉な仕事だ これがどんなに悲しいこずに聞こえおも、教授特に研究教育機関には、慎重に考え抜かれた孊生プロゞェクトを開発する時間がありたせん。



そしお、トレヌニングシステムにいる間、私は違いを生むように働きたす。 興味深くなるようにコヌスを蚭蚈し、成功しない将来の埓業員を支揎したす。 高床に構造化されたコヌスであっおも、孊生に無料のプロゞェクトに取り組みたす。



したがっお、高校の先生に「Programming as Finger Drawing」ずいうコヌスを远加したす。 たたは「癜玙の状態でプログラミングする」たたは「ゟンビを殺す方法」私は提案を受け入れおいたす。



All Articles