なぜ大学生はプログラミングが上達しないのか <技術者としての観点>
なぜ大学生はプログラミングが上達しないのか Qiita (2020/08/11)
現役大学生による、大学生がプログラミング上達しない理由について考察した投稿。
実際、私の友人を何人か思い浮かべてみてもほとんどの人が簡単な計算程度のプログラムしか書けないと思います。
しかし、ほとんどの学生がエンジニア志望なのです。
らしい。
まず、
日本人は技術に携わる人を技術者と一括りにするけれど、欧米では、エンジニア、テクノロジスト、テクニシャンに区別しているそうだ。 エンジニア、テクノロジスト、テクニシャンで求められる知識と技能のレベルは異なる。
どのレベルを想定しているのだろうか? ひょっとして、プログラミング・スキルではなく、プログラミング言語でのコーディング・スキルを習得しようとしているのではないだろうか。
職業プログラマーの多くはテクニシャンだ。職業プログラマーになるならコーディング・スキルは必須だろう。そして、コーディング・スキルを習得するなら、専門学校のような技能習得を目的にした教育機関のほうが良い。20時間程度でコーディング・スキルを習得するのは極めて難しい。
プログラミングの目的
プログラミングの目的はコンピュータを使って問題を解決することだ。そして、問題を解決する手法としてコーディングがある。
プログラミング講義のゴールは、プログラミングで問題を解決できるようになることだろう。 だから、正解があってそれを教えてもらうものでもなく、記憶するものでもない。
プログラミングで解決できる課題は、身の回りのそこら中にある。ICTの発展で、「こうだったらいいのにな~」という妄想(課題)も解決できることが多くなってきた。
上達しない原因
筆者は、上達しない要因として、
- 講義時間が少ない
- アウトプットの時間が少ない
- テストは筆記試験が多い
- 大学は研究をする場所
- アルゴリズムの勉強が多い
- 日常に活かせる機会が少ない(地方学生)
- 課題に追われて自習の時間がない
- 学んでいる内容が何に活きるのかがわからない
- コードのレビューをしてくれる人が少ない
- 受け身の学生が多い
を挙げ、「10.受け身の学生が多い」ことが最大の要因と結論付けている。
しかし、深刻かつ重大な問題は「8.学んでいる内容が何に活きるのかがわからない」と思っていることではないだろうか。
学んでいる内容が何に活きるのかがわからないのは、生活の中に課題が見付けられないのかもしれない。 その姿勢は技術職として致命的だ。
1週間寝ないで作業したら解決しそうな課題が見当たらないとか、その解決方法が人海戦術しか思いつかないなら、技術者は不要なのだ。
経験では
今から40年前に20歳を過ぎてから独学でプログラミングを始めた。 プログラミング・スキルは、60年生きてきて、最も役立ったスキルだ。自転車に乗れることより役に立つかもしれない。プログラミング・スキルを習得したら、1週間寝ないで作業しなければできないような作業が1日できるようになる。
プログラムの学習を始めた頃は無線関係の仕事をしていたのでITとは関係がなかった。当時、プログラミングで最初に解決した課題は、3次混変調積が発生する組み合わせの検索だった。周波数A,B,Cが2A-B=Cとなる関係にある場合に、AとBの周波数の受信レベルが大きくなると、受信機内部で周波数Cが発生するので、この3波の組み合わせは使わないようにしなければならない。 使用している周波数が多い場合はこの組み合わせを調べるために多くの計算が必要になる。
つまり、計算自体は四則演算だが計算量が多い問題だ。候補がn個の場合、計算量は単純化すると nP(n-3)で、候補nの3乗くらいで増えるから、人力で計算できる候補は限られる。その結果、予想外の混信が発生するのである。
このプログラムを作って夜通し回したら、作業量は1/10以下になって、10倍以上の候補まで検索できるようになった。
プログラムは簡単な計算程度のプログラムである。そして、職業プログラマでなくても、プログラミングで問題が解決できるのである。
重要なことは、
プログラミングで解決できる問題を見つけることだ。そのために、プログラミングを学ばなければならない。
【最近の投稿】【プログラミング】【2019の投稿】【2018の投稿】【2017の投稿】【2016の投稿】【2015の投稿】
« コロナ禍の現実に立ち向かう人の声 <コロナ・リスクを絶対的基準にする> | トップページ | 散髪屋さん <顧客資産はんぱない> »
「プログラミング」カテゴリの記事
- CH559picoでTOYOSHIKI-BASIC (2)(2025.02.09)
- GMC-4で動く3連ナイトライダー(2022.12.30)
- プログラミング言語ランキング(2022.11.19)
- AWSでサービス構築(2022.05.29)
- Excelの配列式(2022.01.06)
« コロナ禍の現実に立ち向かう人の声 <コロナ・リスクを絶対的基準にする> | トップページ | 散髪屋さん <顧客資産はんぱない> »
コメント