コンピューターサイエンス教育では、 C も Java も教えないよ。 C なり Java なりを道具にして、アルゴリズムの設計と実装という、 500 年後にも意味のある (と期待される) 概念を教えるんだよ。
もちろん、コンピューターサイエンスの中でも専門とする内容によっては Linux カーネルを改造することが必要になったり Haskell コンパイラーを書くことが必要になったりするから、そういう人は必要な技術を学ぶけれど、「コンピューターサイエンス学科の卒業生なんだから C 言語でプログラムが書けるはず」みたいな先入観はやめた方がいいと思う。
コンピューターサイエンスの何たるか (スコア:5, 興味深い)
コンピューターサイエンス教育では、 C も Java も教えないよ。 C なり Java なりを道具にして、アルゴリズムの設計と実装という、 500 年後にも意味のある (と期待される) 概念を教えるんだよ。
もちろん、コンピューターサイエンスの中でも専門とする内容によっては Linux カーネルを改造することが必要になったり Haskell コンパイラーを書くことが必要になったりするから、そういう人は必要な技術を学ぶけれど、「コンピューターサイエンス学科の卒業生なんだから C 言語でプログラムが書けるはず」みたいな先入観はやめた方がいいと思う。
Re: (スコア:2)
そのような技術者の需要は日本では極めて少ない。CなりJavaなりが自由に書けるようになってからにしてほしい。
日本の情報産業は日本語や日本の商習慣の壁に守られているから存在している、農業より世界に輸出できていない産業ということを自覚するべき。
Re: (スコア:2)
いや、だから「コンピューターサイエンス学科の卒業生ならソフトウェア技術者として必要な知識や技術を持っている」という先入観をやめた方がいいと思うんだ。大学は専門学校じゃない。
Re: (スコア:2)
需要がないものを生み出してどうします。まして、学生はそれを知っているですか?
「いまから勉強することは、日本の情報産業とは関係がないサイエンスです」ときちんと説明していますか。
説明しているならば学生の自己責任ともいえますが、そうでなければ学生に対する詐欺ですよ。
Re: (スコア:3)
vaxさんの記述には様々な点で問題があります。
第一に、fcp氏の記述では「コンピューターサイエンス学科の卒業生」に対してvax氏は「そのような技術者」と言っていますが、fcp氏は「卒業生=技術者」とは言っていません。従って、「そのような技術者」という記述には仮定の誤りがあります。
第二に、たしかにそのような卒業生「の需要は日本では極めて少ない」かもしれませんが、
需要があるかどうかと本当に必要なのかどうかは別の話です。
企業がそういう「技術」面の必要性しか認識していないだけかもしれません。
そもそも、大学で行うことは「まだ広くその需要すら
新人。プログラマレベルをポケモンで言うと、コラッタぐらい
Re:コンピューターサイエンスの何たるか (スコア:3, すばらしい洞察)
卒業生をみれば、大半が情報系の技術者か情報システムの管理技術社をやっているのではないでしょうか。
会社も基礎研究をしている余裕はなくなって来ていますし。(大半でもイコールでないから論理としておかしいと言いたいのでしょうけれど。)
ビッグデータで機械学習は博士課程の学生でも需要が出てきています。DeepNetでニューラルネットワークは復権中です。
画像処理系は昔から博士の学生に需要はあります。
ただ、大学院しかないところの画像処理の先生が、情報工学科の先生に「画像処理は情報工学ではない」と言われたと言って怒っていました。
情報工学科の先生はなんか了見がが狭いように思います。
500年先のことを教えることも良いですが、現在のことを教えるべきと思います。
博士課程で深く勉強することはかまいませんが、学部の情報工学科を出たならば、malloc()やfree()ぐらい知っていて欲しいです。
また、エイトクイーン、クイックソート、ヒープソートぐらいは自分でプログラミングできるようにして欲しいと思います。
(単なるちゃちゃですが、500年先も必要ということは、500年経っても人工知能はできないということですね。情報系の人間としては安心しました。)
画像処理とか、メモリーの利用が最初から計算できて。まとめて使ってすぐにフリーするような場合は、最初にmalloc()で大きく確保してから、
自分で割り当てとフリーしたほうが速い場合もあります。その場合は、アラインメントについては知っているだけで良いので知ってて欲しいです。
最先端の技術を大学院で教えることは問題ないと思いますが、学部とは分けて考えて欲しいと思います。
Re:コンピューターサイエンスの何たるか (スコア:3)
> 500年先のことを教えることも良いですが、現在のことを教えるべきと思います。
いえ、そこの論理がおかしくて。
500年先も使えるんですから、今も使えるでしょう。
で、それを活かせるような職を選ばなかったのは、その学生が戦略的な失敗を犯しているだけです。
ちゃちゃについてですが、500年後には人工知能はできているかもしれません。
量子コンピュータができればNP-complete以上の問題が簡単に解けるようになっているかもしれませんし、
PSPACE-hardも解けるかもしれません。
しかしそのかわり、そのころには既に人工知能以上に困難な問題が生まれているかもしれません。
malloc/freeという固有名詞自体についてはどうかと思いますが、そういうメモリ管理が行われているということについては知るべきだと思います。
> 最初にmalloc()で大きく確保してから、自分で割り当てとフリーしたほうが速い
それはGC付きの言語でも同じです。ヒープの確保は高コスト、ということがmalloc/freeを習う上で理解されていればよいわけですから、同じく配列生成時に気を使えば良いということが理解されればよいと思います。
> 情報工学科の先生に「画像処理は情報工学ではない」
情報工学と計算機科学というのもまた微妙な問題ですね、同じではない気がします。はっきりとどう違うかわかりませんが。
画像認識には困難さがありますが、画像処理というのはどうなんでしょうね?
絵の画素を加工するぐらいのことであったら、計算量的困難さは無いはずです。
この点はどこまで賢い加工を行うかにもよると思います。
画像圧縮アルゴリズムとかになれば計算機科学でしょう。
新人。プログラマレベルをポケモンで言うと、コラッタぐらい