2


2

教えられていないCS学生に何を教えるべきですか?

_ 可能な重複: + https://stackoverflow.com/questions/79231/why-dont-they-teach-these-things-in-school [なぜ彼らは学校でこれらのことを教えないのですか?] _

最近卒業したCS学生のかなりの割合で働いた人への質問:

授業中に講義をすることができた場合、どのようなテーマについて話しますか? なぜこれを知ることが重要なのでしょうか?

大学を卒業してから(現実的に)、CSコースに含めるべきだと思われる何かについて、私に期待すべきことを知りたいと思います。

17 Answer


9


バージョン管理システムの使用方法。


4


私は彼らに説明を書き、ホワイトボードに図を描き、バグ/質問を提出する方法について話します。

残りはすべて入力するだけです;)

真剣に、自分自身を首尾一貫して表現する能力は、実世界のソフトウェア工学のすべての違いを生みます。 簡潔で簡潔なデザインドキュメントを作成し、APIに必要なドキュメントのレベルを判断して、気楽にならずに簡単に使用できるようにし、このようなサイトですばやく回答を得ることができます。 t 2つの文をつなぎ合わせます。


4


単体テストフレームワークの使用方法。


3


興味のある分野であれば、クラスプロジェクトとは別に機能するアプリケーションを実際に開発することが重要です。 モバイルアプリケーション、Webベースのゲーム、音楽プレーヤーなど、魅力的なものを開発します。 これにより、ソース管理を使用して、より大きなコードベースを整理する方法を学ぶことができます。


2


ソース管理..


1


技術者以外とのコミュニケーションとデバッグ!


1


実用性vs. 理論は私の議題の上位にあります。


1


彼らの研究の終わり近くに、私は彼らに2つのリリースで大きなアプリケーションを一緒に構築する1年間のコースに参加させるでしょう。

教師は主任開発者として行動し、設計を指導し、バージョン管理の使用方法、問題追跡ツール、リリース用にアプリケーションを洗練する方法などを指導します。

どんな大学でも実際にそのようなことをすると思うのではありません。 私はそれが好きだったことを知っています。


1


大学で数年間教えてきたので、1)私はここのほとんどの人々とは非常に異なる見方をしていると確信しています。

しかし、私の意見では、最も必要なのは柔軟性です。 特定のツールや特定の言語を教えることは重要ではありません。5年後にはそれらはすべて時代遅れになるからです。 一般的なテクニックやアイデアを教えることが重要です。

そのため、バージョン管理が重要である理由を説明し、バージョン管理の使用方法を示すことができます。 それらをいくつかの異なる言語で教えることで、次のPython、Ruby、またはセコイアが登場したら、準備ができていることが重要です。 本を手に取り、1時間で必要なものを学ぶ方法を学ぶことは非常に重要です。5年後に絶対に知る必要があるものはまだ存在しないかもしれないからです。

別の方法は、大学のCSプログラムを自動車整備士に相当する専門学校に変えることです。


0


他の質問のいくつかを一般化するために、私はコンピューターサイエンスの知識を減らし、ソフトウェアエンジニアリングの知識を増やします。 これらのCS専攻のほとんどは、ほとんどのキャリアでソフトウェアエンジニアリングを行っており、大学がそれらを始めた(そしてビジネスがそうするのを待たなかった)ことは素晴らしいことです。