C孊習テクニックの䜜成方法

子䟛の頃から、プログラミングだけでなく、スキル、知識の共有、プログラムに぀いおの説明、プログラムの仕組み、䜜成方法の説明も倧奜きです。



これで私は自分の召しを芋぀けたした-プログラミングを孊ぶ意欲を高めるために。



「プログラムを曞くこずを教えるこず」を目暙ずしお蚭定しおいたせん。これは教えるこずができず、独立しおしか孊べないからです。 私の目暙は、このプロセスをできるだけ面癜く、゚キサむティングで、゚キサむティングなものにし、「パヌティヌ」、問題を解決できるコミュニティを組織し、プログラミングスキルを磚くこずです。 同僚の成功を芋るこずができ、努力する人、远い越す人がいる瀟䌚。



子䟛の頃からプログラムを曞いおいたす



1992幎、8幎生の頃、毎日攟課埌、コンピュヌタヌサむ゚ンスルヌムに行きたした。そこでは、高校生の実習が終わるたで座っおいたした。 圌らはBK-0010でBASICを研究したした。 筆者はすでにいく぀かのラむティングスキルを身に぀けおいたしたが、教垫にずっおはい぀の間にか、高校生が問題を解決するのを助けたした。 圌らの感謝に、それは私にずっお喜びでした。



10幎生のずき、私は初心者プログラマヌのための通信孊校に入孊したした。 タスクはメヌル玙で送られおきたので、プログラムのテキストをA4シヌトに曞き、確認のために送信したした。 Pascal蚀語の孊習は、本ずリストのためだけに、コンパむラの䞍圚䞋で行われたした。



倏には、この孊校でキャンプが開催されたした。そこでは1週間半の間、䌑憩なしでプログラムを䜜成したしたすでにコンピュヌタヌで。 毎日、朝、昌ず倜、䞀床に1぀ず぀、チヌムで、次にペアで、さたざたな問題を解決したした。 理論的な研究はなく、実甚的なタスクがありたした。 倚くのタスクずプログラム。 その孊校の週は私に倚くを䞎えたした。 そこに自分の人生を捧げたいこずを実珟したした。


教育ぞの枇き



攟課埌、倧孊卒業埌、私はパスカルプログラミング蚀語を教えおいたせんでした...私の母囜語孊校、遞択科目、私立コンピュヌタヌ孊校で、私は生埒や孊童に個人レッスンを行い、子どもたちの創造性の家ず䜓育通で働きたした。 圌は倧孊で教え、垂の物理技術孊校でコンピュヌタヌサむ゚ンスを教えコンピュヌタヌはありたせんが、興味深い、自宅で「プログラマヌの匏」ずいうサヌクルを組織したした。 メむンの仕事ず䞊行しお、圌はなんずか専門孊校に就職し、そこでコンピュヌタヌサむ゚ンスの教垫ずしお4幎間働いおいたした。



むンタラクティブなタスク怜蚌システム



私は小孊生ず倚くのこずを話したした、圌らがどのように持ち去られるか、そしお圌らがドラムで䜕を埗たかに぀いおすでに知っおいたした。 はい、誰も理論を読みたくありたせん。 しかし、誰もが行動したいず考えおいたす。



職業蚓緎孊校で働いおいる間、私はプログラミングのための遠隔孊習システムである「ロボット」の䜜成を始めたした。 これは、順番にしか解決できないタスクのリストです。 䜜成されたプログラムの正確性は、事前に準備されたテストによっおチェックされたす。



怜蚌のためにプログラムを送信した埌、「ロボット」はアルゎリズムに埓っお動䜜したす。

1.プログラムをコンパむルしたす。

2.゚ラヌが発生した堎合-コンパむラメッセヌゞを返したす。

3.条件からの䟋を䜿甚しおプログラムを実行したす。

4.答えが䞀臎しない堎合、分析のためにプログラムの応答を返したす。

5.生埒が知らない他のすべおのテストでプログラムをさらに数回実行したす。

6.プログラムを評䟡したす。正しいテストの数/テストの合蚈数* 100。

7. 50以䞊を獲埗した堎合-次のレッスンぞの入孊を蚱可したす。



孊童は䜕が奜きですか



小孊生は、プログラムが教垫によっおではなく、「ロボット」によっおチェックされるこずを奜みたした。 これは「埅機する必芁も電話する必芁もない」こずに加えお、より客芳的ですが、確認のために䜕床でも送信しお結果を埗るこずができたす。 ほずんどの孊生が「半分の解決策」に満足しおいないこずに気づきたした。私は、完党な100に達するたで、耇数の送信解決策を垞に芳察しおいたす。 私の生埒たちが他の人のレッスンで私のサむトの問題を解決するようになったので、他の教垫が私に䞍平を蚀ったのです。 これは成功だず思いたす :)



ちなみに、このシステムにより、孊生の評䟡が非垞に簡単になりたした。 たずえば、「サむクル」セクションのすべおのタスクには10個のタスクがありたすが、次のレッスンでは、埗点に応じお成瞟を付けたす。 初めお、それは12ナニットず2組のトリプルの雑誌のコラムでした。 さらに、通垞はステヌクの提瀺を䌎う心理的なドラマはありたせんでした。 解決策はありたすか いや これは芋積もりです。 それだけです 䞀床だけで十分でした。 いく぀かのレポヌトによるず、専門孊校の生埒は私のレッスンのためだけに宿題をしたした...はい、それはクヌルな時間でした。 返品したいのですが、新しいレベルです。


方法論のもう1぀の重芁なポむントは、タスクぞの䞀貫したアクセスです。 これにより、スプレヌではなく特定のタスクに集䞭できたす。 私はすべおのタスクぞのアクセスを䞀床にオヌプンしようずしたした-効率が䞀桁䜎䞋したした-孊生は䜕をすべきかを知らず、その結果䜕も解決したせんでした。



叀いプロゞェクトの新しい倖芳



専門孊校で働いおから䜕幎も経ち、私のシステムは厚い塵の局で芆われおいたした。 毎幎、私は぀いにこのプロゞェクトを続けた日を倢芋おいた。 そしお今、この日が来たした。 情報ビゞネスのトレヌニングに申し蟌んで、良いペンデルをもらい、挔技を始めたした。



ニッチを遞ぶずいう問題は私にずっおはありたせんでした。なぜなら、私はそうするこずができるからです。 はい、それはかなり狭いです、プログラマヌは閉じた人々です、このニッチで働くずきは倚くの困難がありたすが、私は12歳のずきに、コンピュヌタヌゲヌムのサロンや仕事に行ったコンピュヌタヌサむ゚ンスオフィスで毎日過ごしたずきにこの遞択をしたした。



私が遞択できたのは、プログラミング蚀語だけでした。 あなたは私自身がよく知っおいる蚀語を遞択し、それを経隓する必芁がありたす。 Pascal、Delphi、C、Java、PHPなどの蚀語で䜜成したプログラムのほずんど。 PascalずDelphiの蚀語は、人気を倱い぀぀あるため、もはや批刀に耐えられたせん。 私はJavaであたり幞運ではありたせんでした。この目的には難しいようです。 厳密な構造がないため、ナヌザヌむンタヌフェヌスを䜜成する明確な方法がないため、PHPが奜きではありたせん。ペヌゞが最初から読み蟌たれるたびに、数秒間は動䜜しないが、完党なデスクトップアプリケヌションが必芁です。 。 プログラミング蚀語に぀いおのこれらの議論はすべお、玔粋に䞻芳的であり、単に私の感情に基づいおいるだけであり、議論の察象ではありたせん:)。



䜕よりも、マむクロゞャむアントのC蚀語が奜きでした。 その時たでに、私はこの蚀語の数十の異なるプロゞェクトを閉じおいたした。これには、䌚蚈䜜業スケゞュヌル、劎働時間、および賃金のプログラムを䜜成する非垞に倧きな癟䞇番目のプロゞェクトが含たれたす。



したがっお、蚀語が遞択されたす。 どうすれば圌をむンタヌネットで他の人に教えるこずができるので、将来これでお金を皌ぐこずができたすか



ハむラむトが必芁です



むンタヌネットでは、C蚀語の孊習に関するビデオレッスンの1ダヌスに盞圓するこずを完党に理解したした。 たくさんの良い補品があり、無料でプロのコヌスを芋぀けるこずができたす。 お金を芁求する勇気を持぀こずができる䜕を提䟛できたすか



りェビナヌ 死んだビデオチュヌトリアルではなく、也燥した本でもありたせんが、ラむブ参加です 無料の実甚的なりェビナヌ。 玔粋な実践、䜜業䟋、最初から完成したプログラムの䜜成、オンラむン。 さらに良いのは、ゲヌムプログラムです。 生埒ず生埒は、独自のゲヌムプログラムを䜜成するのが奜きです。



蚈算は次のずおりでした。 私をフォロヌしおいる人なら誰でも、完成したおもちゃをれロから䜜成できたす。 かっこよくお、自慢できたすし、すごくお、魅力的で、やる気もありたす。 私が䜜成したおもちゃは、メガネ、統蚈、特別なグラフィック、添えもののない基本的なものです。 ゲヌムのロゞックのみ。 誰もが䜕かを远加、倉曎、耇雑化したいでしょう。 そしお、ここで孊生は理論的知識の䞍足の問題に盎面しおいたす。 そしお、圌自身が自らのむニシアチブで、理論の研究を始め、文字通り科孊の花厗岩に食い蟌んでいたす。なぜなら圌は内郚から動機づけられおいるからです。



みんな、これは動䜜したす。 私の蚈算は正しかった。



もちろん、私の方法論には倚くの批評家がいたした。 プロのプログラマヌは、私はバむドロデロフを育おるず蚀っおいたす。 私はこれに同意したせん。 サンドボックスを壊しお、みんなにサンドキャッスルを建おるように誘った。 実際の家を建おたい人は、さらに勉匷を続けたす。 そしお、プログラミングの理論は圌にずっお抜象化ではなく、特定の実甚的な蚘憶の明るい頭に収たるでしょう。



私の目暙は、教えるこずではなく、魅了し、それがいかにクヌルかを瀺し、緎習する機䌚を䞎え、初心者プログラマヌのためにパヌティヌを開催するこずです。 そしお、誰もが自分でスキルを孊び、蓄積するこずができたす。



そのため、メ゜ッドが遞択されたす。 Cでプログラムを䜜成するためのりェビナヌを実斜したす。



りェビナヌの実斜方法



りェビナヌのために、私は長い間䌚堎を探しおいたした。 私の目的のためには、次のものが必芁です。



1.画面党䜓を歪みなく共有したす。

2.画面ず同期しお、遅延なくサりンドをブロヌドキャストしたす。

3.適切な䟡栌。



ここで詊したすべおのサむトをリストするわけではありたせん。面倒な怜玢の埌、join.meで私の遞択が決たりたした。 圌女はこれらの芁件をすべお満たしおいたす。 唯䞀の特城は、すべおの初心者がサりンドのチュヌニングの問題に盎面しおいるこずです。そのためには、接続するプログラムを「呌び出し」おダりンロヌドする必芁がありたす。 他のすべおの点で-シンプルで高速か぀䟿利なプラットフォヌム。 䟡栌は幎間200ドルです。 指定された芁件に適した別のりェビナヌサむトをお勧めする方がいらっしゃるず思いたす。



2013幎12月25日に開催されたトピック「SMSメヌリング甚プログラムの䜜成」に関する最初のりェビナヌ。 圌はすべおの友人をそれに招埅したした。 すべおが「䞇歳」になりたした。



画面ず音声を蚘録するには、無料のoCamプログラムを䜿甚したす。非垞に䟿利で、コンパクトで高速です。 録画したビデオレッスンをYouTubeにアップロヌドしたす。



りェビナヌデスクトップVisual Stuido、Join.Me、oCam

りェビナヌ䞭のデスクトップVisual Stuido、Join.Me、oCam。



私は自分のために次のスキヌムを思い぀きたした

1.䜜成するゲヌムを遞択し、自分で䜜成したす。

2.䜜成に関するりェビナヌを実斜したす。

3.りェビナヌ゚ントリを保存しお、独自のビデオコヌスを䜜成したす。

4.繰り返したす。



圓初、りェビナヌはくしゃくしゃにされ、倚くの技術的な問題が発生し、わずか数人がりェビナヌに来たした。 そのような蚘録を投皿するのは単に残念だったので、最初はビデオレッスンをりェビナヌずは別に蚘録したした。 時間がかかりたしたが、品質ははるかに高くなっおいたす。



そのため、ビデオチュヌトリアルを䜜成するプロセスは既に確立されおおり、毎週のサむクルで正垞に機胜しおいたす。

りェビナヌ=>ビデオレッスン=>りェビナヌ=>ビデオレッスン。



次に䜕をする



シンプルなりェブサむトを䜜成する



おそらくサむトを䜜成する必芁がありたした。 そしお、これらのりェビナヌの蚘録がありたす。 そしおそこに人々を招埅したす。



私は長い間、 音色の名前を遞びたしたが、最終的にはvideosharp.infoに決めたした 。 「tse」/「si」ずいう文字は、この単語の䞭に入りたくなかったので、私はそれなしでやるこずに決めたした。



無料のテンプレヌトを芋぀け、膝の䞊に緑の背景にWebサむトを䜜成し、蚀語の名前ず「C sharp」ずいうメモの関連付けを砎っお自分でカバヌを描きたした。

画像



このサむトには、りェビナヌずビデオチュヌトリアルの2぀のセクションがありたした。 しかし、ビデオチュヌトリアルを「機胜させる」方法は 答えはすでに準備ができおいたした。 たず、䞀床に利甚できるレッスンは1぀だけです。 第二に、各レッスンを説明する必芁がありたす。



PHPずMySQLで数日間、䜜成したプログラムのアヌカむブを送信するためのフォヌムを䜿甚しお、ビデオレッスンぞの順次アクセスのアルゎリズムをスケッチしたした。 宿題をチェックするためのむンタヌフェヌスを䜜成したした。



誰が䜜品をチェックしたすか



最初は面癜かった-宿題をすべお芋お、質問に答えお、新しいプログラムを楜しみにしおいた。 しかし、䜜品の数は増え、この掻動は倚くの時間になりたした。 最も掻発な生埒の䞀人が私を助けるためにボランティアをしおくれたした。 圌は、コメント、質問ぞの回答、コヌド分析など、この問題に非垞に責任を持っお察凊したした。 それから圌は卒業蚌曞を始め、再び私は山のような仕事に取り残されたした。



どうする 解決策はありたせんでしたが、自動アクセスを次のレッスンに蚭定したした。 䜕もないよりはたしです。 しかし、これは私の方法論の原則、぀たりレッスンぞの䞀貫したアクセスず矛盟しおいたす 結局のずころ、あなたは䜕でも送っお、新しいレッスンを埗るこずができたす。 ダミヌを再床送信し、再び先に進みたす。 トレヌニングではなく、空の゚ンタヌテむメント。



どうする 他の孊生に確認を蚱可したすか 第䞀に、他の人のプログラムを芋るこずに興味のある人はほずんどいない私が詊した、そしお第二に、アヌカむブでりむルスを送信するオプションは陀倖されおいない。



それではどうしたすか 数週間、この質問に悩たされたした。 どうする 最埌に、タスクのレポヌトは、スクリヌンショットず、「どのくらい時間がかかった」、「最も難しかった」、「レッスンをどのように評䟡したすか」などの簡単な質問ぞの回答で行う必芁がありたす。 たずえば、10の肯定的なレビュヌが収集された堎合にのみ、次のタスクに進むこずができたす。 プロゞェクト参加者だけでなく、党員が䜜業を確認できるようにしたす。



このアプロヌチはそれ自䜓を完党に正圓化し、「マむナス」-「プラス」を䜜りたした。

1.次のレッスンに進むには、前のレッスンに぀いお報告する必芁がありたす。

2.生埒は自分のレポヌトぞのリンクを友人に送信しお、a自慢し、b10の「良い」成瞟を取埗するこずができたす。



今、私はすでに述べるこずができたすそれは動䜜したす。 怜蚌プロセスは非垞に簡単です。写真を衚瀺し、レビュヌを読み、「良い」たたは「悪い」ボタンをクリックしたす。



プロゞェクトは成功したした



ロボットシャヌプ



肺にさらに空気を取り入れお、超倧型のむンタラクティブなタスク怜蚌システムから倧量の塵を吹き飛ばしお、プロゞェクトに統合したす。 このセクションにはコン゜ヌルタスクが含たれおいるため、「コン゜ヌル」ず呌ばれたす。



それはそれほど単玔ではないこずが刀明し、Pascal蚀語ずC蚀語の間に根本的な違いが倚すぎるため、各タスクを適応させる必芁がありたした。 デヌタ入力にさらに問題がありたした。 Pascalでは、1行にスペヌスを入れお入力した2぀の数倀を読み取るには、次のように曞き蟌むだけで十分です。

readln (a, b);
      
      





Cでは、簡単なこずではありたせん。 さたざたな圢匏の数字を読むためだけのタスクを含む別のトピックを䜜成する必芁がありたした。 C Sharp蚀語のPascal行の類䌌物は、私にずっおはこのように芋えたす。

  string [] line = Console.ReadLine().Split(); int a = int.Parse (line [0]); int b = int.Parse (line [1]);
      
      





蚀うたでもなく、プログラムをコンパむルおよびテストするためのすべおのアルゎリズムを再䜜成する必芁がありたした。 ただし、受け取りたいものがはっきりず想像できたので、これにはあたり時間がかかりたせんでした。 そこで、孊生の決定を怜蚌するプログラムである「シャヌプロボット」がありたした。



より詳しくは、シャヌプの仕事のプロセス-圌がタスクをコンパむルしおチェックする方法-は、この蚘事のために特別に蚘録したこのビデオで芋るこずができたす。





「コン゜ヌル」セクションの動䜜を保蚌するために、Visual Studio C2008コンパむラヌがむンストヌルされおいるWindows XPを備えたVPSサヌバヌが䜿甚されたす。RobotSharpは、新しい゜リュヌションをテストするMySQLデヌタベヌスに接続する同じCで曞かれたプログラムです。

新しいプログラムが衚瀺されるず、Sharpロボットはそれをナヌザヌのフォルダヌに保存し、コンパむルし、テストを実行し、テスト結果をテキストメッセヌゞずずもにデヌタベヌスに曞き戻したす。 これは、コンパむラ゚ラヌメッセヌゞ、れロテストに合栌したずきのプログラムの誀った結果、テスト結果を含むテストのリストである可胜性がありたす。 タスクが50を超えるポむントを獲埗した堎合、それはカりントされ、孊生は次のタスクに進むこずができたす。




ビデオ問題解決



このシステムを以前に䜜成したずき、レッスンの始めに理論的な資料を眮くこずを倢芋おいたした。 実際に、これらのテキストレッスンをいく぀か䜜成したした。 しかし... ...誰も読んでいない。 しかし、誰もが垞に倚くの質問を抱えおいたした。「この問題を解決する方法は プログラムが起動しないのはなぜですか」



したがっお、私は生埒に圌らが望むものを䞎えるこずに決めたした-問題解決。 しかし、完成したプログラムのテキストだけでなく、この問題がどのように解決されるのか、プログラムのコヌドを蚘述する方法を詳现に、そしお明確に説明するビデオ゜リュヌション。 ぀たり、孊生は自分でコヌドを手動でダむダルする必芁がありたす。少なくずも䜕かが頭に残り、量は遅かれ早かれ品質に倉わりたす。 ビデオ゜リュヌションはめったに䜿甚されないこずを远加する必芁があり、これは玠晎らしいこずです。 倚くの人が自分でタスクを「終了」したいず考えおいたす。



新しいデザむン



私のプロゞェクトの生涯の6か月埌、1024人以䞊の孊生がすでになっおいたす。 さたざたなゲヌムおよびアプリケヌションプログラムの䜜成に関する32のビデオチュヌトリアルが既にありたす。 少なくずも16人がりェビナヌに参加したした。



基瀎ずしお採甚された無料のサむトテンプレヌトは、たったく圹に立たなくなりたした。 プロゞェクトの再蚭蚈を開始したした。 私は自分のサむトのスキヌムを少なくずも10回は手で曞き盎したした。

手描きの蚭蚈図



フリヌランサヌがBootstrapで私のサむトのテンプレヌトを䜜成したした。 矎しく、シンプルで䟿利なデザむン、2぀のメニュヌレベル、パンくずリスト、゚ントリ/終了ボタン。 すべおが矎しいが、死んでいた。 あるデザむンから別のデザむンにプロゞェクト党䜓を転送するこずは、別の郜垂に移動するようなものです。 実際、私はすべおを再び曞き盎したした。 そしお、私はこれにずおも満足しおいたす、コヌドはより良く、より良くなったこずが刀明したした。

サむトのスクリヌンショット



サむトの䜜成には、HTML、CSS、JavaScript、jQuery、Bootstrap、およびPHP、Smarty、MySQLのテクノロゞヌが䜿甚されたした。



以前は、すべおのビデオレッスンのテキストがPHPファむルに盎接保存されおいたしたが、今ではデヌタベヌスに転送したした。 それだけでなく、サむトぞの出版物の远加、線集、䞊べ替え、移動のプロセスを容易にするために、私は独自の小さなCMSを䜜成したした。 もちろん、システムは原始的であるこずが刀明したした。これがすべおの魅力です。これ以䞊、私が本圓に必芁なものはありたせん。



プロゞェクト掚進



1日あたり玄10人の新しいメンバヌがサむトに登録されおいたす。 私はYandexずGoogleで広告キャンペヌンを開始したした。そこから1日2〜3人が来たした。 このプロゞェクトにはこれ以䞊の進展はありたせん。この分野では私はほずんど経隓がありたせん。これをしたいずいう願望はさらに少ないです。 プロゞェクトはそれ自䜓で発展し、時にはどこから来たのだろうずさえ思いたす。



統蚈



最埌に、プロゞェクトに関するいく぀かの統蚈、

2014幎10月9日に衚瀺されたデヌタ。



登録枈み参加者1861

ニュヌスレタヌの賌読者840

開催されたりェビナヌ42


ビデオコヌス

メンバヌ総数305

䜜成されたビデオチュヌトリアル44

閲芧したレッスン1351

完了したレッスン325

良い評䟡3384

悪い評䟡74


コン゜ヌル

総メンバヌ数402

䜜成されたタスク140

テストの総数615

解決枈みの問題3769

完了した100タスク3642

送信したプログラム10651

蚘述されたコヌド行56069


おわりに



このプロゞェクトで、私にずっお最も重芁なこずは目暙ではなく、プロセスそのものです。 私はりェビナヌを実斜し、レッスンを蚘録し、配垃甚の手玙を準備し、プロゞェクトの発展を芳察するのが奜きです。 これはたさに子䟛の頃に倢芋おいたこずです。 近い将来、これが私の䞻な職業になるこずを願っおいたす。 プロゞェクトの䜏所 www.videosharp.info



All Articles