情報科のプログラミング課題、「写経でいいライン」と「自分で考えるライン」を決めてみた
情報科のプログラミング課題、「写経でいいライン」と「自分で考えるライン」を決めてみた
情報科のプログラミング課題って、「とりあえず写経」で乗り切れちゃうことが多いと思います。
教科書どおりに打ち込めば動くし、先生のサンプルコードをコピペすればエラーも減る。
でもその一方で、
テストになるとまったく書けない
「これ、自分で書けって言われたら無理だな…」とモヤモヤする
レポートの「工夫した点」が思いつかない
みたいな違和感を、僕自身ずっと抱えていました。
そこで今回は、「どこまでなら写経(ほぼコピペ)でOKにして、どこから先は自分で考えるべきか」というラインを、自分なりに言語化してみます。
同じように情報科でプログラミングを勉強している人の、ひとつの目安になればうれしいです。
「写経でいいライン」は“道具の使い方”まで

まず結論から言うと、僕は「言語やツールの“使い方”を覚えるところまでは、写経でいい」と考えています。
たとえば、こんな場面です。
初めて習う文法(for文、配列、構造体など)
新しいライブラリや関数(printf の書式指定、rand の使い方など)
開発環境のテンプレ(Cのmain関数の雛形、VS Codeの設定ファイル など)
このあたりは、正直「見ながら書く」フェーズがないとキツいです。
完全にゼロから暗記で書こうとすると、そもそも文法を覚える前に心が折れます。
僕もC言語を触り始めた頃は、先生のスライドや教科書のサンプルを“ほぼそのまま”写していました。
目的は、「文法に慣れる」「タイピングしながら形を覚える」「コンパイルエラーの出方に慣れる」あたりです。
この段階では、写経を「カンニング」じゃなくて「トレース練習」と割り切ったほうがうまくいくと感じています。
スポーツで言えば、フォームを固めるための素振りみたいなものですね。
「自分で考えるライン」は“中身を設計するところ”から

じゃあ、どこからが“自分で考えるライン”なのか。
僕の基準では、
「条件の中身」「ループの回し方」「データの持ち方」を決めるところからは、自分の頭を使うゾーン
としています。
具体的には、こんなイメージです。
if文で「どんな条件を書いたらいいか」を考えるところ
for文・while文で「どこから、どこまで、どうカウントアップするか」を決めるところ
配列や構造体を使うかどうか、どんな変数名を付けるかを決めるところ
複数の処理を「関数に分けるか、そのまま書くか」を選ぶところ
このあたりを、丸ごとサンプルコードに頼ってしまうと、
「コードは書けたけど、なぜそう書いているのか説明できない」という状態になりがちです。
たとえば、こんな課題があったとします。
1〜100までの整数のうち、3の倍数だけを表示するプログラムを作れ。
このとき、
for文の書き方自体(for (i = 1; i <= 100; i++))は写経でOK
でも「3の倍数かどうかの判定(i % 3 == 0)」は、自分で考えてみる
みたいな分け方が、僕の中の“ライン”です。
一度、自分の頭で
「3の倍数」って、どうやってプログラムに判断させればいいんだ?
を考えてから、教科書やネットの答えを見る。
この「一回は自分で考えてみる」をサボらないことが、伸びる人とそうでない人の分かれ目かなと感じています。
僕がやっている「写経→自力コード」の2段階練習

ここからは、僕が実際に情報科の授業や課題でやっている勉強ルールを、もう少し具体的に書いてみます。
1. 授業中:まずは写経で“動く状態”まで持っていく
授業中は、とにかく「先生が黒板やスライドで示したコードを、ほぼそのまま写して動かす」と割り切っています。
タイピングしながら、構文の形・カッコの位置・セミコロンの場所を体で覚える
コンパイルエラーが出たら、その場で原因を探す練習をする
入出力のパターンを変えて、どう挙動が変わるかを確認する
このフェーズでは、「オリジナリティを出そう」とはあまり考えません。
まずは“正しいフォーム”でスイングできるようになるのが優先。
2. 家・自習時間:ノーヒントで同じ課題を書き直す
本当に力になるのは、授業のあとです。
家や自習時間に、あえて
スライドや教科書を閉じた状態で、同じ課題を最初から書いてみる
というのをやっています。
まずは何も見ずに、自分の頭の中に残っている知識だけでチャレンジ
どうしても思い出せなかった文法だけ、ピンポイントで調べる
それでも分からないところは、「どこまで自分で組み立てられたか」をメモしておく
こうすると、「理解したつもりだったけど、自分では書けないパーツ」がハッキリ見えてきます。
その部分こそが、“次に集中して練習すべきところ”です。
写経だけで終わらせてしまうと、この「自分の穴」が見えないままになります。
一度ノーヒントで書いてみることで、写経の効果をちゃんと自分の力に変換できる感覚があります。
ネット検索・AI活用は“ヒント”までにする

最近は、ネット検索やAI(僕もよく使います)を使えば、ほぼどんな課題のコードも見つかります。
これ自体は、正直かなり便利です。
ただ、ここにも自分ルールを一つ決めています。
いきなり丸コピはしない
まずは「自分ならどう書くか」を考えてから、答えとして検索やAIを見る
見つけたコードは、コピペではなく“見ながら手で打つ”
こうしておくと、
自分の解き方と答えの違いが分かる
分からない行が出てきたとき、「なぜこの書き方なのか」をちゃんと気にする癖がつく
というメリットがあります。
AIから返ってきたコードをそのまま貼ると、一瞬で動くかもしれません。
でもそれだと、テストや検定本番で“何もしてくれないAI”と向き合ったときに、手が止まります。
「AIはあくまで“賢い先輩”であって、“自分の代わりに試験を受けてくれる人”ではない」と割り切るのが、今の情報科には大事な感覚かなと感じています。
「写経=悪」ではなく、「役割の違い」を意識する

ここまでいろいろ書きましたが、僕は写経そのものを否定したいわけではありません。
むしろ、
新しい文法やライブラリに触れるとき
タイピングしながらコードの“型”を体に覚えさせるとき
には、写経はかなり強力な武器です。
大事なのは、
写経は「道具の使い方を覚えるフェーズ」のために使う
「問題をどう分解するか」「どんな処理の流れにするか」は、自分の頭で考える
という役割分担を、自分の中でハッキリさせておくこと。
このラインがあいまいなままだと、
気づいたら全部コピペになっていた
自分の実力がよく分からないまま、テストで爆死する
という状態になりやすいです。
まとめ:自分なりの“ライン決め”をしておくとラクになる

最後に、この記事のポイントを一度整理します。
文法・ライブラリの「使い方」を覚えるまでは、写経でOK
条件分岐の中身やループの設計、データの持ち方は“自分で考えるライン”
授業中は写経でフォームを覚え、あとでノーヒントで同じ課題を書き直すと定着しやすい
ネット検索やAIは「ヒント」として使い、丸コピはしない
写経を“悪者”にするのではなく、役割を決めてうまく付き合う
情報科の授業や課題って、「どこまで先生に甘えてよくて、どこから自分で頑張るべきか」が見えづらい科目だと思います。
だからこそ、自分の中で「写経でいいライン」と「自分で考えるライン」をあらかじめ決めておくと、毎回の課題で悩む時間が減ります。
今回書いたのは、あくまで僕自身の基準です。
この記事を読んで、「自分ならこう線を引くかな」と考えてもらえたらうれしいですし、
もしよければ、あなたの“ライン決め”もどこかで教えてもらえると励みになります。
おまけ:情報科っぽい“相棒デバイス&本”だけ3つ
最後に、僕が「これだけあればだいぶ戦えるな」と思っている相棒だけ、3つだけ置いておきます。
外部キーボード
→ Logicool「MX KEYS Mini」
ノートPC付属キーから卒業したい人向け。写経でも自作コードでも、“打つのがダルい”を減らしてくれるメイン武器。
サブディスプレイ or タブレット
→ 手持ちのiPad mini/無印iPadを“教科書モニター”に
片側に教科書やブラウザ、もう片側にエディタ。コピペするためじゃなく、「見比べながら自分で書く」ための2画面という使い方。
本:型トレ+考え方用に1冊ずつ
→ 『新・明解C言語 入門編』:授業の写経フェーズと相性がいい「型トレ」用。
→ 『アルゴリズム図鑑』:if/forの中身をどう設計するか、“自分で考えるライン”のネタ帳としてちょうどいい。
「とりあえず全部そろえる」より、自分の1時間あたりの濃さが上がるものだけ持っておく、くらいが“賢い散財”かなと思ってます。
いいなと思ったら応援しよう!
燃料と投資への還元 この記事が役に立ったら、コーヒー1杯分を奢っていただけると嬉しいです。いただいたサポートは全額、僕の「カフェイン(作業燃料)」と、次なる「ガジェット検証費」に投資されます。学生エンジニアの生存と、より良い記事執筆のために応援よろしくお願いします!