私はコンピュータサイエンスの学位を取得していますが、Stack OverflowのようなウェブサイトやGoogleのような検索エンジンを目にしていて、どこでそのようなことを書き始めるのかさえわかりません。ある夏の間に、私はiPhone開発者として働く機会がありましたが、私は他の人が書いたライブラリーをほとんど一緒に接着しているように感じました。
アルゴリズムを勉強して知識を向上させようとしていますが、それは長くてつらいプロセスです。アルゴリズムが難しいことに気づき、本の内容を習得するまでに10年経ったことを学びます。私の現在の状況を考えると、仕事を探すために1か月費やしてきましたが、私のスキル(C、Python、Objective-C)は比較的浅く、C#、Java、およびWeb開発がはるかに高いローカル市場ではそれほど望ましくありません需要がある。 CとPython機会は存在しないが、私が持っていない3年以上の経験を要求する傾向があると言っているのではありません。私の [〜#〜] gpa [〜 #〜] はOK(3.0)ですが、IBMなどの大企業に適用したり、大学院に戻るには十分ではありません。
基本的にはコンピュータサイエンスの学位を取得していますが、プログラミングの方法を学んだような気がしません。入社し、フルタイムでプログラミングをすることで、自分のスキルを磨き、自分より経験のある人から学ぶ機会になると思いましたが、仕事を探すのに苦労し、いらいらし始めています。
私は自分のネットを広げて、自分が育った街の向こうを見ますが、同じような状況にある他の人々は何をしようとしましたか?私は一生懸命働いてきましたが、自分で出かけて自分のアプリを書く自信はありません。 (つまり、iPhoneアプリ市場のインディーデベロッパーになります。)何も起こらない場合は、アップグレードしてより人気のあるスキルを学ぶことを検討するか、ITのようなわずかに関連する何かを試す必要があります警官のように。
うわー...興味深いコメントがたくさんあります。
私はプログラミングをすべて自分で学びました。私の息子は大学を卒業して間もなく終了します。あなたが最初に卒業するとき、仕事を見つけることは常に難しいです。
授業中に簡単なプログラムをしたとき、好きでしたか?あなたが最初にそうしたなら、あなたはあなたが正しい場所にいるかもしれません、もしあなたがドキュメントをタイプするのが好きであるなら、要件を実行することを調べなければ。
モノを貼り合わせるだけのiPhoneエクスペリエンスが気に入らなかったので、もっと学びたいようです。それは悪い兆候ではなく良い兆候です。
次に就職するかどうかは、大都市に住んでいるか、国に住んでいるかによって異なります。
独自の小さなサイトを作成してHTMLを学びます。 Web言語を選択してください...(PHP、ColdFusion、DotNet)いくつかの単純なサイトを作成します。
あなたに仕事を提供するウェブ開発の仕事やプログラミングの仕事をしてください。最初は$$について心配する必要はありません。あなたの目標は、仕事のプログラミングです。自分のプロジェクトで自宅でプログラムするのは難しいです。しかし、仕事で何かを成し遂げる必要があるときは、もっと一生懸命働く傾向があり、それが面白くないと感じた場合は、別のITキャリアを選択します。それは起こります。
すべての仕事をします...あなたは学びます...あなたがそれを好きならあなたは克服します。
プログラミングの方法を知っているような気がしませんでした。それは非常に良い兆候です。私は、コーディングする傾向があることをすべて知っているように感じ、彼らが行うことは何も文書化しない人と一緒に作業するのは嫌いです。
私のコメントがこれらすべての他の素晴らしいコメントであなたを助けることを願っています。
ソフトウェアサイエンスのキャリアは、コンピュータサイエンスの基礎とそれを示す学位から始めることができますか。ものすごいね!
あなたが仕事を見つけて、ソフトウェア工学に必要なスキルを持っていないことについて心配しているかもしれませんwith CS学位、同じ場所にいると想像してくださいwithout CS学位。それはまさに私が一年前にいた場所です。
私はVBAを使用してExcelとAccessでモノリシックマクロを作成することにより、プログラミングの手間を省き、途中で少しSQLを取得することに成功しました。約1年前、ソフトウェア開発のキャリアを始めたいと思ったのですが、CSの学位なし(私は哲学やあらゆることに学士号を持っている)で「専門家なし」で仕事を見つける方法を想像できませんでした。 "開発経験。彼らの正しい心の誰が私を雇うでしょうか?
ビジネスアプリケーションの作成に重点を置く仕事に専念することにしたので、.NETとC#のスキルを磨くことにしました。 9か月前は、.NETコードを1行も書いたことがありませんでした。しかし、私は飛び込みます。そして私は頭の中に入った。私は苦労しました。私はできる限り多くのユーザーグループに行きました。私はコーディングに関するブログを読みました。私はスタックオーバーフローに戸惑いました(今でもそうです)。たくさんのポッドキャストを聴いたので、そこにあるものに慣れることができました。それでも後ろを感じたのですがようやく何かが出来ないのではないかという不安を乗り越えました
2.5か月前に、私はプロの開発者として最初の仕事に着手しました( 興味がある場合は、私が自分のブログでその仕事を見つけた方法について書きました )。現在、VB.NET、VB6、およびJavaScriptでコーディングを行っており、毎日プログラミングについて多くのことを学び続けています。しかし、CSの学位なしで仕事を見つけることができれば、、あなたはあなたのスキルを積み上げ、同様に見つけることができると確信しています。
これが実際に読まれるかどうかはわかりませんが、敷居を上げる必要があると感じています。
大学は私に多くを教えませんでした。いくつかの基本的なプログラミングとデータ構造。何も驚くべきことではありません。しかし、それは私が最もよく学ぶ方法を私に示しました。私はここでの多くの投稿と一致していることを学ぶことで学びます。私はまた、木工が木材からものを作成するのが好きであるように、コードを介してものを作成するのが好きであることも学びました。ですから、これら2つのことの間に、時間をかけて何かを学びました。
雇用主は、彼らが大卒者から何を得ているかを知っています。彼らは卒業生が多くを知らないことを知っています。ただし、一部の雇用主は、新しい人を自分の文化や考え方に溶け込ませることができるので、それを気に入っています。彼らはあなたにあなたを転がさせるロープを教えます。ただ学ぶ準備をしてください。これには浮き沈みがあります。
汗をかくな。 IT業界は、最近の景気後退による影響が最も少ないものの1つでした。仕事があります。私が働いている会社は、新卒社員をたくさん雇っただけです。秘訣はそれらを見つけることです。
幸運を。
あなたは私が自分自身に対して感じていることを表現しました。私はコンピュータサイエンスをほぼ卒業し、私たちの多くは理論的なアルゴリズムを学び、興味深いプロジェクトをほとんど開発していません。しかし、キース・ニコラスが言ったように
自分より上手になる傾向があるのは、自分のキャリアの早い段階で自分の時間でスキルを伸ばそうと努力している人だと思います。通常、彼らはソフトウェア開発に本当に情熱を傾けているからです。
私はこの重要なポイントを逃しました、そして私は大学で私にするように頼まれたものをやっただけです。それが私が次に進む最初のステップになります。
あなたが言ったように、私が何かをもっとしようとする瞬間、私はもう一度感じます:
他の人が書いたライブラリーを、力学をほとんど理解せずに貼り合わせているように感じました。
私はあなたの投稿と、彼らが書いてくれた多くの回答、アドバイス、リンクに感謝しています。
http://greatmaps.codeplex.com/ を確認してください。最初はどうすればよいかわかりませんでした;}だから、あなたはそれを行うだけでそれを行うことができます。
PS。私には「公式」の学位、時間の無駄はありません。
+1。関心は非常に重要であり、コーディングにはさらに忍耐が必要な場合があります。
次の2つの点に注意してください。
コンピュータサイエンスプログラムでプログラム(アプリケーション)を学ぶ方法はありません。実際のアプリケーションは、1週間または2週間の「一口サイズ」の宿題の問題ではありません。実際のアプリケーションを稼働させるには、多くの計画と調整が必要です。それはあなたが慣れているものとは異なる考え方ですが、あなたがそこに着くと私を信じてください。
たぶん今は状況が異なります。しかし、私が大学に行ったとき、私の教授の2つか3つだけが実際にプログラマー(学部生と大学院)として働いていました。ですから、実際のアプリケーションに取り組んだことのない人たちから教わったため、アプリケーションプログラミングの準備ができていないと感じるかもしれません。学んだことが役に立たないというわけではありません...アプリケーションの作成にはプログラミング以外にも多くのことが必要です。それだけで、まだ学ぶべきことがたくさんあります。そして、それは大丈夫です、あなたは決してあなたが学習を止めることのない分野に入っています。
学習を続けるだけで自信がつきます:)
およそ1年後、友人とまったく同じ船に乗ります(およそ2011/2012を卒業)。私たちの学校ではJavaでの開発を教えていますが、ASP.NET、PHP、Ruby、TDD、MVC、DDDなど、他の言語を読むのに多くの時間を費やしています。お金を稼ぎながら、コードを取得して、何百万ものユーザーを潜在的に助けることができる何かにコードを組み込む能力について何かがあります。あなたが私に尋ねればそれは芸術のようです。
あなたは練習でのみ良くなることができます。 Webプロジェクト、winformプロジェクト、WPF、その他のプロジェクトが同時に進行しているので、飽きることはありません。これらのプロジェクトは、市場に投入された製品である必要はありません(ただし、潜在的にはそうである可能性があります)。彼らは主に私がさまざまな技術を学ぶのを助けることです。
頑張って!
私は個人的なプロジェクトに没頭することを勧める別の人です。
私は個人的には、コンピュータサイエンス以外の学生向けの2学年未満のプログラミングコースを除いて、公式のプログラミング資格はありません。私の専門分野は、実際には機械工学です。
私がこれに言及する理由は、プログラミングが私の唯一の責任であり、私は現在、大規模な研究機関のソフトウェアエンジニアとして働いているためです。どうやって?趣味でプログラミングするだけで驚異的な経験を積んだからです。余暇をいじくり回して仕事に就くのにどれだけ役立ったかは、あまり強調できません。
私が理解しようとしているのは、実際のプログラミングで学ぶことは、あなたが得ることができる最も価値のある体験の1つであり、それが公式コースの一部であるか、単にあなたの予備をいじり回すかは関係ありません。時間。
また、コースの一環として学んだことは重要ではないということではありません。これは、経験を積み重ねるための貴重なフレームワークを形成するものです。確かに、私は正式なコンピュータサイエンスのバックグラウンドを持っている方がはるかによいことを知っています。単純なことに夢中になっている回数を数えたり、上司が話していることを追跡できなくなったりしています。それが欠けていました。
「本当の」世界でうまくやると思います。あなたは単に働くことで経験を積むでしょう、そしてまともな雇用主はこれを知っており、あなたの最善の努力とあなたの経験から学ぶことへのコミットメント以上のものをあなたに期待しないでしょう。多くの雇用主(私のものを含む)は、特に新卒採用者の面倒を見て、メンターとトレーニングプログラムを使用してその経験を強化しています。そして、もっと経験を活かせると感じたら、余暇にいじくり回すことを強くお勧めします。
最後に、私たちが学習を止めることは決してないということを指摘しておきます。あなたはあなたのキャリアを始めたばかりかもしれませんが、あなたは自分の仕事、雇用主、メンター、そして自分自身を通して学び、経験を積み続けるでしょう。まだすべてを学んでいないことを恐れないでください。経験を積むにはまだ時間が十分にあります。
将来のキャリアで最高です! SOジョブ関連の質問をすぐに見つけてください!
ほんの短いメモですが、すでに受け取った他の賢明な回答には欠けているものがあります。 「何かをする」という有益なアドバイスに従っている場合は、物事を簡単にすることをお勧めします。 「水上を歩くことも、仕様からソフトウェアを開発することも、どちらも凍結すれば簡単にできる」という冗談を使うのが好きです...
ですから、「何かをする」と決めたら、
そしてそれを書き留めてください!
プレイ中に論文を変更する場合は、カスケードの結果を確認することを忘れないでください。
楽しんで(very)患者になる準備をしてください。
まず、プロのプログラマーになる準備ができていないように感じる場合、それは正しい感覚についてです。それが私のCS学位の半分くらいだったときの感じで、ユニを通り抜けなかったとしたら、無資格のステージを越えて、紙袋から自分の道をコーディングすることになったでしょう。
しかし、最初の仕事を手に入れ、この「ソフトウェアエンジニアリング」の方法がどのように行われるかを他の人から学び始めると、かなり早く、少しでも予想通りにスキルが向上します。成功の鍵は、あなたが他の人から学ぶことを理解することです。あなたが同意しないかもしれない、またはうまくうまくいかないかもしれない他の人を含めて。私のCSキャリアのピーク(私は他のことに移りました)で、私は主要なソフトウェアベンダーの12人の開発者のチームを率いています。新入社員は全員、本当に優秀だと思っていました。耳を傾けた人はかなり上達し、本当に賢いと考え続けた人はそうではありませんでした。
しかし、それで十分です。 31年後のソフトウェアビジネスでの私の見解をお話ししましょう。
私が最初に始めたとき、私はコードを投げました。そして、それはごく普通のことです。uniでの割り当てのほとんどはおそらく非常に小さく、多くの人が小さなコーディングプロジェクトでそれを行っています。彼らは自分のコンピューターの前に座り、問題が解決するまで入力を続けます。これには何の問題もありません。優れたラピッドプロトタイピングスキルを身につければ、コードをスリングする機能は将来うまくいきます。
約5年後、かなりの量の作業がありました。一部はオープンソース化されていました(以前は「パブリックドメイン」と呼んでいました)、「このソフトウェアはパブリックドメインにあります」という通知をソースコードに貼り付けました「)、一部は「商用利用不可」または「売る以外は何でもできる」でした。 GPLはありませんでした。しかし、約5年後に学んだことは、数年前よりも自分がやったことを理解できなかったために、コードが悪臭を放っていることです。これから、コメントが友だちであることがわかります。80年代後半に私が書いたコードは、コードとコメントの比率が優れていました。 80年代初頭のコード-それほどではありません。しかし、これはあなたに問題のアイデアを与えます-4年の単学位はあなたが間違っていることを学ぶのに十分な時間ではありません。
10年後、私は自分のコードを想像もしなかった方法で再利用する必要が生じ始めました。一部のコードは機能し、一部は機能しませんでした。次の数年で、コードの作り直しに飽きて、ソフトウェアアーキテクトになる方法を学びました。オープンソースの世界に23年前のコードがあり、元の構造の一部がまだ残っています。これが優れた設計と堅固なアーキテクチャのようです。古いコードは時の試練に耐えてきました。今日のコンピュータは23年前のコンピュータとはまったく違うためです。私の電話は、20年前に持っていたPCよりもコンピューターのようです。したがって、実際にdesignソフトウェアを学習する方法を学び始めます。これは、週3時間の14〜18週間のCSクラスでは学べないことです。正しい?私が建築家だったとき、次のリリースで開発される予定のソフトウェアを設計するのにか月かかりました。したがって、パターンの検索を開始します。これは、オブジェクト指向言語の魅力の1つです(適切に使用した場合)。彼らはあなたにもっと考えさせます。何かを書くたびに、未来について考えます。
15年から25年まで、私は開発者チームを率いています。いくつかは新入社員であり、いくつかは経験豊富であり、私は自分が欲しい人だけを雇うことができるマネージャーではなかったので、私が持っていたものに対処しなければなりませんでした。線に沿ってどこかに対処するために学ぶ必要があることです-あなたのチームの異なる人々は異なるスキルと能力を持っているでしょう。私には、優れたネットワーキングスキルを持つ人、優れたマルチスレッドスキルを持つ人、そして一般的な開発者だけの人がいました。自分のキャリアを前進させたのは、他の人と仲良くなり、彼らから学ぶことができた人々でした。その最初の仕事を得たら、メンターを見つけます。あなたが教えられていることを少なくとも理解できるほどあなたより年上の人を見つけてください。しかし、あなたが何をするにせよ、あなたの周りの他の人から学びなさい。
ここ数年、私はビジネスとしてソフトウェアビジネスに従事することにうんざりしています。私はまだソフトウェアを開発しています(私の現在のアプリケーションは約100KLOC Java-すべて自分で作成したものです)が、主にソフトウェア業界の外で働いています。それは素晴らしいキャリア分野であり、30年です素敵な乗り物でした。
素晴らしい質問です。ある程度、あなたの質問は私が大学を卒業したときの私の考えを思い起こさせました。
CとPythonを知っているとおっしゃっていたので、これらの言語を使用するオープンソースプロジェクトに参加することをお勧めします。 sourceforge.netまたはcode.google.comに移動し、CまたはPythonを使用するプロジェクトを検索します。一部のプロジェクトにはメンターもいます。オープンソースプロジェクトの優れた点は、快適な部分から貢献できるようになり、そこから成長できることです。コードに慣れるにつれて、より多くのタスクを実行できます。
あなたの冒険に頑張ってください。私はあなたがあなたの助けを必要とするかもしれないいくつかの素晴らしいプロジェクトを見つけると確信しています。最良の部分は、あなたの経験を得て、それを就職活動の証拠として示すことができることです。
プログラミングはツールです。ほとんどのCSの学位は、プログラミングの方法を教えるだけです。それは何かを作る方法を学ぶことなくハンマーを使う方法を学ぶようなものです。問題のドメインについてほとんど知識がない場合、問題を解決するためのプログラムを作成するのは難しいでしょう。あなたが提供する真の価値は、プログラマーではなく、問題の解決にあります。
大学を卒業した後、会社が取り組んでいる問題空間に関連する本をたくさん買いました。今では、コンピュータサイエンスの学位とはほとんど関係のない分野の「専門家」と見なされています。
これからも頑張ってほしいと思います。すべての成功した人々はこのプロセスを経験しました。つまり、今あなたが感じていることを意味しますが、粘り強い努力は間違いなく心の美しさをもたらします。一度に特定の問題に集中し、時間を効率的に活用するための計画を立ててソリューションを検索します。
私はティモシアワイズマンに同意します。認定を受ける!
[リンクテキスト] [1]をおすすめします。インターネットのスキルは絶対に必要であり、彼らの財団試験は基礎についてあなたをテストします。 JavascriptとPerlの試験では、プロフェッショナル認定を取得します。
また、Microsoftの無料のWeb開発者とSQL Server Expressエディションをダウンロードして、Webサイトを構築します。 MCTS(MS認定テクニカルスペシャリスト)認定を取得するために、練習して練習し、70-536と70-562の試験のMSテキストを入手して受験してください。
幸運を。
まず、大学を卒業したり就職活動をしたりするとき、私たちは皆そのように感じていると思います。経験は一晩では起こりません。
しかし、すぐに経験を積めるのに役立つのは、自然に好奇心を持ち、進んで自発的に行動することです。時間をかけて自分で学び、スキルを磨く個人的な趣味を見つけると、すぐに学ぶことができます。常に学ぶことをいとわないと、あなたは長い道のりを歩むでしょう。
あなたが現在就職活動をしているなら、私はポートフォリオを持つ個人のウェブサイトを作ることを勧めます。学習した内容に基づいて作成したプロジェクトをアップロードします。本当にかっこいい外観にしてください。 Indeed.comも検索に使用することをお勧めします。
私は1か月かけて仕事を探しましたが、私のスキル(C、Python、Objective-C)は比較的浅く、C#、Java、およびWeb開発の需要が非常に高いローカル市場ではそれほど望ましくありません。
あなたのスキルはあなたが思っているよりも価値があるかもしれません。 WebフレームワークDjangoを調べてください。これは、CPythonを中心に構築されたWeb開発用のフレームワークです。かなり使いやすく、非常に強力であり、多くの大手企業が迅速な開発のために使用しています。
ロジックの開発やプログラミングの考え方が必要な場合は、Cなどの言語を使用してプログラミングを学んでください。
Kernighan&RitchieによるCブックの例を読んで理解してください。グーグルを検索して、あなたは電子ブックを見つけるでしょう。
問題(小さなプログラミングの問題)の解決策を考えやすい場合は、さまざまなツールやフレームワークなどを学ぼうとするかもしれません。
SCJP試験の準備をして、すべてのトピックを読むこともできます。あなたが遭遇するすべての小さなプログラムを試して、それらを試してみてください。 SCJPリソースでSunのサイトを読むと、小さなプログラムがたくさん見つかります。それらを理解し、自分で同様のプログラムを書いてみてください。次に、Swing、JSP、サーブレット、Struts、またはSpringなどに移動するのが快適な場合。最初に非常に良い土台が必要です。
ACMプログラミングコンテストに関連するプログラミングの問題を参考にして、問題を解決してください。できない場合は、他の人が解決策を確認してください。このようにして、強力なロジックと思考を構築します。
快適なときは、ライブラリを暗記して練習することができます。
http://justetc.net/knowledge/index.php?table=Articles&categoryID=32&category=Java
アプリケーションを構築してみてください。小さな個人的またはビジネス上の問題について考え、そのための完全なアプリケーションを作成してみてください。
より良いCSプログラムに投資できるかもしれません
コンピュータサイエンスの学位を取得して卒業したからといって、残りのキャリアのためにプログラムしなければならないわけではありません。システム分析と設計のクラスを受講したことがありますか?
ジュニアプログラマー(つまり、最近の大卒者)にインタビューしたとき、私は常に彼らがどのプロジェクトに取り組んだか、特に複数人のチームが関わるクラスプロジェクトに尋ねました。結局、それは彼らが実際の仕事で一般的に行う種類の仕事です。
人がプロジェクトで他のプログラマーと一緒に働いたことがない場合、それは急な学習曲線を必要とする可能性があります。
プログラミングの仕方を学ぶ方法は、何かについて学ぶ方法です。それを実践してください。たくさん。
千マイルは最初のステップから始まります。大学の学位を取得することから始まるすべては、人生の最初のステップにあなたを導く単なる橋です。だからあなたは始まったばかりで、あなたが得たすべての計画にすべての行動を入れてください、いつかあなたはあなたがなりたい場所にいるでしょう。幸運を、我が友よ。
コンピューターサイエンスを卒業したときも同じ気持ちでしたが、本を読み続け(Visual Basic 6から始めました)、それからOracleとJavaを読みました。読めば読むほど、試すことを知るようになります。 4か月間読んで練習した後、私は卒業がとても苦手だったこれらのアルゴリズムを解決しました。
おい!
あなたの質問は非常に優れており、これは、試験を受けたばかりの多くの学生にとって実際のシナリオです。私も卒業したばかりで、教育の全期間を通じて、学校からは貴重な知識はほとんど得られず、無意味な情報も多く与えられたと感じました。
大学のことは、あなたに非常に深い知識を与える時間がないということです。ほとんどのコースでは、エリア内の特定の1つのエリアの基礎に集中する時間しかありません(そうです、それはふわふわです)。そのアプローチは、それであるか、学生にその地域についての全体的な知識を与えようとするだけです(これはもちろん、コースの難易度によって異なります)。
私自身、卒業後すぐに開発の仕事に就ける運がありました。私は信じられないほどのプログラマではないので、多くの人がこれは不公平だと感じました。私は基本を知っており、少し深い領域を知っています。私が一般的に私が得意であり、人々がそうあるべきだと思うのは、知識を得る方法です。私によると、これは学校が私に与えた最も重要な知識です。多くの人が言うように、すべてを知ることはできません。重要なのは、結局のところ、あなたが知っているはずのことを知っているということです。そのため、必要な知識を得る方法を知ることは、実際にそれを最初から知ることよりもはるかに重要です。
過小評価してはならないことの1つは、社会的スキルの価値です。あなたは本当に良いプログラマーになることができますが、社会的に障害があります。自分を宣伝したり、他の人と協力したりする方法がわかりません。具体的には最後に、人と一緒に働きます。プロジェクトでは、(ほとんどの場合)人と一緒に作業する必要があります。これに大きな問題があり、実際に仕事を得たなら、おそらくそこに留まるのは難しいでしょう。
非常に興味深い主題!
月に向けて撃つと、星の間で着陸します。大企業に応募するのをためらわないでください。大企業が何を求めているのかは決してわかりません。卒業したばかりでは、本当に何も知らないのであれば、仕事での経験のほとんどを得ることができると思います。飛び込むだけで、すぐに優れたプログラマーになります。
user30997:
個人プロジェクトを開始します。学校の問題は、あなたがした最も複雑なことは、15週間から1年かかり、他のカップルが関与するプロジェクトだったことです。問題の領域はよく理解されていました(あなたの教授はあなたの学期にきちんと収まらないタスクをあなたに与えませんでした。)これは現実の世界が提供する贅沢ではありません。
あなたが情熱を傾けることができるような、大規模な、最初から最後まで何かをしなければならない場合、あなたの脳はプロセスを包み始めます。これが単なるキャリアであり、それに対する愛情がない限り、あなたはまだあなたがまだそれを達成していないように感じるでしょう。
その件についてあなたと完全に同意できるかどうかはわかりません。私のソフトウェアエンジニアリングクラスでの個人的な経験から、それは私たちには当てはまらなかったことを知っています。それらのクラスでは、私たちのプロジェクトについて知っておく必要があることは何でも自分で教えることが期待されていた一方で、実際にコーディングに到達すると、教授が通常は捨ててしまうUML図を教えることにこだわっていたようです。
しかし、あなたの学校はおそらく私の学校とは異なっていたと思います。学校のプロジェクトが思ったほど簡単ではない場合があることを指摘したかっただけです。それは、教授とその指導スタイルに依存します。
しかし、なぜOPがアルゴリズムを研究したいのかがわかります。最近のコンピュータサイエンスの卒業生は、コンピュータサイエンスを専攻していないだけでなく、大学でプログラミングを専攻している、または独学で学んでいる学生たちも競っています。私たちにとって、私たちの強みは、私たちが知っている言語の数や、これらの言語をよく知っているかどうかではありません。コンピュータサイエンティストにとって、彼の最大の強みは問題を解決する彼の一般的な能力でしょう。必要に応じて、後でいつでも特定のクラスまたは特定のメソッドを検索できます。言語で知っておくべきことをすべて覚えていても問題ありません。使用方法がわからなければ、仕事をやり遂げることはできないからです。
新しい言語が作成され、古い言語が変更されますが、プログラミングの背後にある一般的な原則、つまり一般的な問題の解決の背後にある原則は変わりません。
あなたのスキルにはObjective-C iPhoneが含まれており、現時点ではiPAD開発が大流行しています。 Macを購入するか、VM Mac OS Xのイメージを取得して、ビルドを開始します。iPhoneに置きたいゲームや何かを考えて、趣味のプロジェクトとして取り上げてください。私が働いている卒業生の1人がいくつかのiPhoneゲームを構築し、ここで仕事を得ました。彼は今、.NET、Java、PHP、Objective-C開発チームの貴重なメンバーです。
誰もが言ったように、あきらめないでください。
覚えておくべき最大のことは、プログラムの仕方を教えるだけでなく、学位を得るために学校に通ったことです。学校では、考え方や問題解決の方法を教えてくれます。優れたプログラマであることはあなた次第です:)そして、それは多くの練習が必要です。
まず、あなたのケースは特異なものではないので、背中を軽くたたいてください。この認識は多くのCSの卒業生に起こります。ただし、査定に値するポイントがいくつかあります。
好奇心はあなたの原動力であり、特に継続的な学習が必要な分野では、好奇心は資産と見なされる場合があります。
正直は非常に役立ちます。グループで作業しているとき、グループの成功には正直さが不可欠です。
プログラミングの学習については、一度にアルゴリズムのすべての詳細を吸収しようとしないでください。それは非常に困難な作業のようです。代わりに、好きなタスクを選択し、コードを徐々に改善してください。
あなたは、CとPythonの2つの素晴らしい言語に熟練しています。どちらかを含むプロジェクトを選択し、オープンソースプロジェクトのコードを読んで、それらを目的に合わせて変更してみてください。 APIを読み取り、ライブラリーを組み合わせてそれらを機能させることは簡単です。ただし、APIの背後にある設計原則を理解してみてください。
最近、新しいプロジェクトを始めたとき、それについてバックグラウンドで読み始めました。重要なURLをファイルに保存して、友達に紹介できるようにする必要がありました。次に、ブラウザーにボタンがあり、クリックすると、現在のタブのURLが、事前に割り当てられたファイルにオプションのコメント付きで追加されます。それほど大きな作業ではありません。しかし、それは私と私の友人にとって有用でしょう。私はまだそれをしていません。しかし私はそれについて友人と話しました、そして彼はすぐにそれをするでしょう。