回答:
私が学校の外で見たほとんどの開発者は、オブジェクト指向開発の経験があまりありませんでした。彼らはそれを聞いたことがありますが、ほとんどのことは「クラスに物を置く」だけです。
学校では、OOフレームワークに配置できる車と人についての例がたくさんあります。これは、ポリモーフィズム、オーバーロードなどを教えます。むしろ「基本的な」もの。これらのこととそれらがどのように機能するかを知っているのは良いことですが、実際の使用例はこれまでありませんでした。学生に何らかのデザインが使用されている実際のシナリオを見せることは重要だと思います。
私が大学で見逃したもう1つのことは、使用可能なデザインパターンの使用(または誤用)です。最近では、最も重要なパターンを1年後期または2年目の初めに導入する必要があると思います。学生はそれらに精通する必要があります。
きれいなコードを書くことは、学校で(十分に)教えられていないことです。コードを実際に混乱させても、A +を取得できます。「アプリケーションが機能する場合、それは良いことです。」モットーでした。生徒は、クリーンで高品質のコードの書き方を学び、それに対して報酬を得る必要があります。これは、学習したパターンまたはベストプラクティスをリファクタリングして使用することも意味します。
もちろん、熱心な学生はこのすべてを独力で学んだが、それほど熱心ではなかった他の人はそうではなかった。これはモチベーションの欠如に置かれる可能性があります、または彼らはどこでどのように見えるかを知らなかっただけです。学校に多額のお金を払うとき、彼らは本当にこの高度なものをあなたに教えるべきだと思います。
また、適切な(プロフェッショナルな)文章は、ほとんどの人にとって不足しているスキルです。現実の世界では非常に重要なので、残念です。最も重要なのは、母国語で自分を明確にすることができることです。メイン言語で明確に書くことができない場合、会社でコミュニケーションを取ることは困難です。
あなたが誰かにこの年齢で書くことを教えることができるかどうか、私は知りません、彼らはすでにこのスキルに精通しているべきです。高校で教えられたものを繰り返すことができます。生徒にコメントや技術文書の書き方を教えるかもしれません。技術的なドキュメントを書くのは難しいと思います。誰もそれを行う方法やデフォルトのフォーマットを知らないようです。
女の子。私は冗談を言っていると思うかもしれませんが、そうではありません。
気を悪くしないでください。アカデミックなものを学ぶ必要があります。しかし、あなたはあなたの周りの人々から人々について学ぶためにいくらかの時間を費やす必要もあります。
それには、あなたとあなたの友人とはまったく異なる興味と態度を持っているが、あなたはまだ仲良くしたい人の半分が含まれます。
統計に約42%のエネルギーを投入すべきだったと思います。
関数型プログラミング。当時、それは何の役に立つこともできなかった括弧の群れのように見えました。ラムダ式が広く使用されるようになった今、そのように考えるために脳を再訓練する必要がありました。大学では、LISPとSchemeをできるだけバックミラーに入れたいと思っていました。関数型プログラミングのいくつかの側面がどれほど役立つか考えていたら、もっと注意を払っていただろう。
正規表現。大学でそれらを吹き飛ばしたことをはっきりと覚えています。彼らは仕事に不可欠でした。
私のお気に入りの回答(統計)が使用されるため、2番目のお気に入りの回答を提供します。Big-O表記法と、さまざまな主要アルゴリズムの効率に関する知識。私にとって統計よりも「秘密兵器」ではありませんが、それでも非常に価値があります。
UNIXと同様にCも言うでしょう。大学を卒業してすぐにUNIXを学びましたが、UNIXとCをもっと早く浸透させることで恩恵を受けたと思います。
テクニカルライティング。私は多くの時間を費やして要件を書き、顧客や同僚とコミュニケーションを取ります。これは、私が大学で1単位の授業を受けたエリアです。私のキャリアで本当に役立った他の唯一のクラスは、別の1クレジット時間クラスでした。それはCプログラミングでした。残りは興味深く、おそらく全体的な分析スキルの助けになりましたが、私のキャリアにとって直接的な利益にはなりませんでした。
確かに私は20年前に学校に行き、Cは電気工学部門の最先端と考えられていました。CSの人々はLispとC ++で何かをしていましたが、おそらく今日の卒業生で起こっていると思うほどオブジェクト指向ではありません。
第二外国語。私の場合はロシア語です。私の周囲の空間には、この特定の言語の本やリソースなどがたくさんあります。
エレクトロニクス
学校ではソフトウェア関連のものはあまりありませんでした。ああ-情報学ですが、キャンセルしました。:)しかし、後で学ぶのは簡単でした。エレクトロニクスに対して、私はしばしばそれを取得しません。マイクロコントローラー、PWM、GPIO-wtf?理解してほしい。
Unix、Shellscripting、C。学校で習得する機会がありましたが、後で仕事でそれをしなければなりませんでした。
コンピューターサイエンス以外のもの:
個人的に、私はこの辺りのほとんどの普通の人々のような母国語があればいいのにと思います。つまり、ほとんどの人が生まれたのは1つの主要言語を話し、あとで1つまたは2つの言語を選択することです。この状況では、通常、追加の言語は母国語を損ないません。これは、音声、ライティング、リスニングを含む強固な基盤が既にあるためです。私は3つの異なる言語を同時に話し、書き、聞いて育ちました。学校と大学の両方の語学クラスで常に上手く行っていたとしても、1つの言語に完全に堪能であることを望みます。これにより、回答を作成する前に一瞬考える必要があります。一部の人々はそれに気づき、私はあまりにも恥ずかしがり屋であると結論付けています(これはある程度間違っていません)。
経済。それは退屈かもしれません(そして少し残酷)が、とにかくそれはこの社会で本当に不可欠な唯一のものです。その後、統計。
リベラルアーツを言っている人々の数は面白いです:私は認知科学専攻(哲学/ CompSci /解剖学)でした...英語の重い未成年者でPhilosophy / CompSciに切り替えました(BAを取得できたかもしれませんが、スキップした101を撮影することはありませんでした)。
リベラルアーツのクラスを受講したことで、CSの仲間から得たすべてのがらくたについて話すのに1週間の物語が必要です。ロジックの半ダースのクラスが私の計算にどんな計算よりも多くのことをしたとしても。私の最高のAIコースはすべて哲学コースでした。私の英語のクラスには、とんでもない女の子がいました。いいえ、私はそれらのコースを受講するためのある種の軽率なポーズをとりました。
でも気をつけて。少なくとも、誰かが履歴書を見るたびに教育について説明する必要はありません。
二次方程式と三角法。
従来のエンジニアリング分野のソフトウェアを書く上で非常に重要です。
コンピューターグラフィックス(opengl / directxでの3Dレンダリング)
私は正直それにとても興味がありましたが、とても忙しかったので、好きな時間を入れることができませんでした。趣味ではなく雑用になりました。興味を持ってもらうためには、その本を取り上げる必要があると思います。