« 情報セキュリティイベントにて、「サイバーセキュリティ学習シリアスゲーム」を展示! | トップページ | CG界のノーベル賞と言われるクーンズ賞の受賞者James D. Foley先生による特別講義 »
プログラミングは怖くない
2015年10月19日 (月) 投稿者: メディア技術コース
メディア学部で学ぶうえで重要性が高く、なおかつ多くの人が苦手だと思っていることの一つが、プログラミングです。では、なんでプログラミングが苦手になってしまうのでしょう?
例題として、FizzBuzzという有名な問題を考えてみます。
FizzBuzz問題:
1から50までの数を順番に画面に表示するプログラムを書いて下さい。ただし、3の倍数のときには代わりに'Fizz'と、5の倍数のときには代わりに'Buzz'と表示して下さい。3と5の両方の倍数のときには、'FizzBuzz'と表示して下さい。
上限のところはバリエーションがあるのですが、簡単にするため50にしてみました。さて、どんなプログラムを書けばいいでしょうか。ためしにPythonで書いてみると、こんなプログラムができました。
for i in range(1, 51):
if i % 15 == 0:
print 'FizzBuzz'
elif i % 3 == 0:
print 'Fizz'
elif i % 5 == 0:
print 'Buzz'
else:
print i
このプログラムを書けるようになるためには、いろんなことを勉強する必要があります。for とか if とか range とかいう命令の使い方、範囲は0からなのか1からなのか、50までなのか51までなのか、コロンはどういうときに必要で字下げはどうすればいいのか、等々です。そしてどこか一つでも間違えるとプログラムはちゃんと動かなくて、「不合格」と言われたような、悲しい気分になってしまいます。
それでは次のプログラムはどうでしょうか。
print '1'
print '2'
print 'Fizz'
print '4'
print 'Buzz'
print 'Fizz'
print '7'
print '8'
print 'Fizz'
print 'Buzz'
print '11'
print 'Fizz'
print '13'
print '14'
print 'FizzBuzz'
print '16'
print '17'
print 'Fizz'
print '19'
print 'Buzz'
print 'Fizz'
print '22'
print '23'
print 'Fizz'
print 'Buzz'
print '26'
print 'Fizz'
print '28'
print '29'
print 'FizzBuzz'
print '31'
print '32'
print 'Fizz'
print '34'
print 'Buzz'
print 'Fizz'
print '37'
print '38'
print 'Fizz'
print 'Buzz'
print '41'
print 'Fizz'
print '43'
print '44'
print 'FizzBuzz'
print '46'
print '47'
print 'Fizz'
print '49'
print 'Buzz'
このプログラムには、print という命令しか出てきません。どういうふうに動くかは、プログラミング経験の無い人でも、たぶんわかりますよね。でもこれでも立派なプログラムです。そして、与えられた条件を完全に満たしています。
上のプログラムと比べると、確かに下のプログラムは格好よくありません。プログラミングが得意な人の中には、こういうプログラムを書く人を馬鹿にするような人もいるかもしれません。でも、現実社会で大切なのは、仕事の目標を達成できるかどうかです。そういう視点で考えると、上のプログラムを100点とするならば、下のプログラムだって90点ぐらいの価値はあります。
プログラミングが苦手な人は、たぶん「上のようなプログラムを書かなければならない」という強迫観念に捉えられているのでしょう。でも、プログラミングの正解は一つではありません。自分の知識の範囲で、あるいはネットで検索して見つかる範囲で、自分なりに作ったプログラムで目的が達成できさえすれば、それで良いのです。どんなに格好悪いプログラムでも、それが動いて目的を達成できたときは、なんだかいい気持ちになるものです。そしてそういういい気持ちの中で、「次はもう少し工夫してみようか」という気持ちが自然と生まれてくれば、プログラミング中級者への道はもうすぐです。
(大淵 康成)
「在学生向け」カテゴリの記事
- チュラロンコン大学からのインターン学生との再会(2019年03月14日)
- あにめたまご2019「文化庁若手アニメータ等人材育成事業」(2019年03月12日)
- タイの提携校、キンモンクット大学トンブリに短期訪問しませんか?(2019年03月11日)
- 学会紹介:ADADA Japan学術大会と情報処理学会EC2019(2019年03月09日)
- 大学院授業:プロシージャルアニメーション特論の紹介(2019年03月08日)
「高校生向け」カテゴリの記事
- チュラロンコン大学からのインターン学生との再会(2019年03月14日)
- 大学院授業:プロシージャルアニメーション特論の紹介(2019年03月08日)
- ゲームの学会?!(2019年03月07日)
- 香港理工大学デザイン学部の紹介(2019年03月04日)
- 香港理工大学デザイン学部を訪問し、学部長Lee先生にお会いしました!(2019年03月03日)
RECENT ENTRY最新の投稿
- メディア学部の情報はこちら
- メディアコンテンツコースの情報はこちら
- メディア技術コースの情報はこちら
- メディア社会コースの情報はこちら
- 入試情報はこちら
- 資料請求はこちら(大学案内、募集要項等)
- 東京工科大学の情報はこちら