Top > メッセージ > プログラミング独習を強化するために

プログラミング独習を強化するために

ひとりって少し寂しげな感じがしますが、所詮プログラミングはじぶん一人で作るしかありません。複数人で一つのプログラミング作業を行っていても役割や範囲が違うのでじぶんの範囲ができなければ完成しません。教えてくれる人がいても

その名の通りの「ひとりプログラミング学習」です。「できる」方法を身につけて、基礎から応用、方法、手順、概念を効率よく学習できます。

学習コース

演習問題が理解できない、プログラムが想像できない

演習問題が全くわかりません。何がどうわからないかというと「これをこうして」という発想が出てこないです。演習問題を通して自力で解決する力と基礎ロジック能力を望んで います。現在その基礎ロジック能力がつかず悪戦苦闘している状態です。答えは今は調べたら幾つかのサイトで乗っていますがそれでは力つきませんから・・・ですからヒントやアドバイスを望んでいます。

言語基礎を理解する

この状況は「演習問題」以前の問題です。問い合わせを頂いた方とお話をしました。その原因がわかりました。

  • 教科書を読んで、文法がわかったつもりになっている
  • プログラムコードをStep実行してその振る舞いを確認していない
  • じぶんの理解・認識を基準にしている
  • 演習問題で なにがどう理解できないのか」がわからない

演習問題レベルなら、ほぼ100%たった7つのキーワードの組み合わせでプログラムを作ることができます。言語基礎学習は、一つ一つのキーワードの目的、機能、役割を理解し、理解したことと実際の結果や振る舞いを確認するだけなのです。仮に理解したことと実行結果が異なる場合、実行結果を正とします。この場合、理解のしかたが間違っているか、コードの間違いか、思い違いの何れかです。

重要なことは、理解していることと異なる結果になった状況を放置してはいけないという事です。言語基礎レベルでコンパイラに問題があるとは考えられません。書かれたコードの解釈と実行結果にずれがある場合、じぶんの方が間違っていると考え、徹底的に問題解決しなければなりません。

初心者にありがちなのですが、期待通りに動作するまで意味もわからずに「適当なコードに変更する」を繰り返す行為ですが、適当に書き換えても期待通りの結果にはなりません。

そのためには

  1. 7つのキーワードを徹底的に理解する
  2. デバッガでどのような結果になるのかを確認する
  3. じぶんの理解と実行結果を同期させる

「どうすればどういう結果が得られるのか」これが想像できるようになるまで繰り返します。プログラミング言語を「プログラムを作るためツール」として考えられるまで徹底した方がいいでしょう。

 次に演習問題です。

演習問題は、単純な要求仕様と考えることができます。つまり、こんな条件でこんな結果を出すプログラムを作りなさいという要求(指示)です。

ここで注意しなければならないことは、演習問題をいきなりプログラムコードで思考するような行為をしてはいけないという事です。

結果を想定し、条件に沿うように手順(ロジック)を考えます。矛盾がないかどうか、正しい結果になるかどうかをシミュレーションします。もし、手順(ロジック)が考えられない人は、フローチャートを書いて手順を視覚かしながら学習すればいいでしょう。

演習問題はプログラムコードよりもものが多いため、自然にプログラムコードで考えてしまいます。出題者もそのつもりで書いている場合が多いです。

ここはあえて「トレーニングの一環」と考えて、フローチャートで手順を考える習慣を身につけましょう。しばらくすると、フローチャートを書かなくても自然に頭に浮かんでくるようになります。それまでは継続して下さい。

論理矛盾のない手順を視覚化する

フローチャートでシミュレーションし、想定通りの結果が得られたら、フローチャート通りにプログラムコードを書いてコンパイルエラーがなければ完成です。

初心者の方にとっては、フローチャートは重要です。ロジックを視覚化してくれるツールです。プログラムを書く前に机上で手順の検証ができます。

フローチャートは、今更ではありません。フォローチャートが頭で描けるなら書く必要はありませんが、手順がわからないという事は「結果を導き出すための手順が想像できない」ということです。逆にフローチャートさえ描ければ基本的なプログラムは簡単に作れることを意味します。 

ここまでの説明だけでは不十分だと思われる方へ

ここで書いた内容を詳細に解説したテキスト教材があります。

プログラムが書けない、動かないという場合、手順が想像できないというケースがほとんどです。なぜなら、言語を勉強したらある処理の手順が書けるようになると思っている方が多いのですが、処理手順はプログラミング言語とは全く無関係です。言語の基本機能の概念は共通です。書き方が異なる程度です。言語仕様にはプログラムの書き方は規定されていません。従って、言語とは別に手順やプログラム構造などについては別途学習する必要があります。

本テキスト教材は、言語基礎、デバッグによるコードの実践学習、具体例を元に演習問題の解き方とフローチャートの書き方が短期間で習得できる構成になっています。

本格的に身につけたいなら、

  • 疑問が生じた場合のスポットSkypeサポート
  • 低価格な質問メールサポート
  • Skypeやメールを使った個別指導サポート

様々なサポートをご用意していますので、ご利用下さい。

▲ページトップに戻る