大学はDOSスタイルのC ++を教えており、その対処方法[非公開]


19

私は何年もプログラミングをしていましたが、卒業証書が自分をより雇用可能にすることを望んでいました。一度大学を卒業したことがあるので、5年間のコンピューターサイエンス専攻ではなく、より短く、より実用的なソフトウェアエンジニアリングプログラムを選びました。

理論よりも具体的なスキルに重点を置くことを期待していましたが、大学や教授は正しい、形式的、学術的なものを好むという考えがまだありました。まだ科学ですよね?間違った-多くのITコースがいかにずさんだったかに驚いた。

C ++の入門コースでは、1-2個のプログラムを書いただけで、「なぜグローバルが悪いのか」、「定数が良いのはなぜか」などの決まり文句でテストされました。適切なコンテキストのないランダムな逸話。配布資料が含まれsystem(pause/cls)getchヘッダーはやconio.hなどiodos.hです。タスクの1つは、32から255の「ASCII文字」を印刷することでした。スクリーンショットでは、このようなテーブルはWindows-1252コードページを使用して印刷されますが、エンコードはまったく言及されません。

質問:大学/教授が劣った、または時代遅れのツールや方法を使用しているように思われ、教えられているコンテンツが境界線に合っていない場合、建設的かつ敬意を持ってどのように対処しますか?

データ構造やアルゴリズムなどのトピックについて学習するための単なるツールであるため、いくつかの答えは、プログラミングを超えて見る必要があると指摘しています。私はこの考えに同意しますが、この場合、貧しいスタイルの背後に実際にそのような計画はありませんでした。ほとんどのコースは、多くの背景理論や「全体像」のない別の「ツール」を教えるだけです。そのようなコースを提供するためだけに、彼らはすぐにまとめられたように感じられました。


私はそれに固執し、最終的に卒業しました。品質は全体的にかなり低いままで(いくつかの大きな例外はあります)、他の何人かの学生がそれについて不満を言っています。私は個人的なプロジェクトや学校からよりアルバイトからずっと学んできた予想通り、しかし、学校やラベル「ソフトウェアの学生を」仕上げの工程は、それ自体が神秘的に有用であるように見えます!


2
私自身の経験に基づいて、あなたは自分でプログラミングをより良く、より速く、より安く学び、フォーラムから助けを得ることができます。大学のシラバスが古くなることは珍しくありません。ロシアでは、パスカルはまだいくつかの大学で教えられています(私はこの言語が好きで、それを完全に悪いこととは思わないのですが)。
WKS

@WKS:Pascalは、時代遅れではない(手続き型プログラミングの)原則について学ぶための非常に優れた教育言語だと思います。大学のコースは、特定のプログラミング言語を教えるのに時間を浪費するのではなく、むしろパラダイム(手続き型、オブジェクト指向、関数型、ロジックなど)を教えるべきです。
ジョルジオ14

はい、もちろん、教育ツールとして選択されたプログラミング言語である@Giorgioは重要ではありませんが、提示されたプログラミングの実践が健全で最新のものであることを期待する必要があります。
glampert

ほとんどの大学は、修士号取得に成功することを目標に、学部生に教えています。ほとんどの修士課程プログラムは、博士課程の取得に成功することを目標に修士課程の学生に教えています。ほとんどの博士課程プログラムは、あなたが成功する研究者になるのを助けることを目指しています。
ロブP. 14

@glampert:Pascalが導入された後、手続き型プログラミングは変更されていません。さらに良いことに、Pascalは教育用言語として設計されているため、実際には役立つ可能性のある多くのハックはありませんが、新しいことを学ぶときは気を散らすものです。したがって、命令型プログラミングの教育に関する限り、Pascalは最新の状態です。もちろん、1はオブジェクト指向、機能、ロジックのような他のパラダイムを教えたいかもしれません:あなたは、他の言語、例えばPythonやJavaの、ハスケル、スキーム、プロローグ、...のために見ている
ジョルジオ

回答:


34

数学とプログラミングはまったく異なります。数学は科学であり、プログラミングは技術です。アカデミックの世界では、プログラミングは、実際のものに対処するために知っておく必要のあるものであり、実際に興味深いものであり、重要なアルゴリズムです。

コンパイラが古く、system呼び出しを使用する場合、誰が気にしますか?WindowsではなくLinuxを使用している場合、誰が気にしますか?まあ、教授はそうではない、それは確かです。そして、彼らは本当にそうすべきではありません。学術機関のコースからプロのプログラマーになることを期待しないでください。それはあなたがそこに行くものではありません。

彼があなたに使用することを期待しているコンパイラは古く、OSに関する仮定は時代錯誤であり、問​​題があるということは事実です。あなたはそれを上げることができ、多分それは対処されるでしょう。しかし、コースが業界と両立しないためではなく、むしろ学生にとって差し迫った困難を引き起こすためです。今すぐ古いコンパイラを見つけて、MacBookで実行してください...

一般に、アカデミックな研究はC ++とAndroidの学習に浪費されるべきではありません。あなたはそこで実際のコンピューターサイエンスを学ぶべきです。あなたはそのための別の機会を得ることはありません。アンドロイド?私と同じように、ADTを使用してEclipseをダウンロードし、自宅で作業を開始します。そのために学校は必要ありません。

大学に技術開発を期待しても大丈夫ではないと思います。特に研究大学ではありません。学士号のみを提供する場所は、より業界をターゲットにすべきですが、研究大学は研究者を求めていると言えます。教授は優秀なプログラマーではなく、大学院生と博士課程の候補者を探しています。だから、それに応じて期待のレベルを設定すべきだと思う。


3
あなたの回答には1つの問題があります:「一般に、アカデミックな研究はC ++とAndroidの学習に無駄にされるべきではありません。あなたはそこで実際のコンピュータサイエンスのことを学ぶべきです。」-少なくとも1つのプログラミング言語の基本を知らないと、CSの内容は意味を成さず、間違った方法で適用するのは非常に簡単です。
イズカタ

4
@Martin and izkata-前世紀のコンパイラを使用したC ++でのDOSでのプログラミングは、プログラミングを知らないという意味ではありません。それは単に古いツールを使用していることを意味します-RBツリーを実装する必要がある場合-誰が気にしますか?業界にとっては時代遅れですが、プログラムは実行され、実行すべきことを実行します-それで十分です。
littleadv

3
@littleadv-OPは、「私が読んだものによれば、古代のように見える」と書いた。これは、これが時代遅れで移植性がないことを知るために、関連する配布資料以外の場所を調べなければならなかったことを示唆しています。確かに、すべてではないにしても多くのコンパイラに余分な非標準ライブラリがありますが、それらが非標準であると言わずにそれらを教えた場合、私はそれが悪いと思います-そしてそれは新しいもの、古いもの、そしてC現時点では、C ++ 03が広く広く完全にサポートされている最新の標準であるため、++ 11のものです。
Steve314

3
@littleadv-さて、多分私たちは同意しないことに同意する必要があります。私はコンピューター科学者が詳細を熟知する必要があると思っていたでしょうが、非標準的なものがそれと矛盾せず、決して大きな苦労ではないことを指摘するのに数秒かかります。CS教授が数学と混合した独自のアドホック表記を使用し、それを指摘しなかった場合、どう思いますか?他のコンピューター科学者があなたを理解できるかどうかは、やはり同じ問題の別の側面です。コードは、コンパイラーだけでなく人によっても読み取られます。
Steve314

4
@littleadv-OPがconio.hが標準であると言われたことを決して主張しませんでした-彼はそれが非標準であると言われていないかもしれないと提案しました、そしてOK。"。基礎科学でさえ教えられたのは、あなたが標準的な用語を使用するか、非標準の用語を使用しなければならない場合、その意味を定義することです。私の学校の理科の授業では、センチメートルを使用することさえ規則に反していました-それらはSI単位ではありません。非標準ライブラリを使用することは、私には違いがないように思えます。コンピュータサイエンスにおけるコードの意味は明確でなければなりません。
Steve314

19

コンピュータサイエンスとは、物理学と大工仕事をプログラミングすることです。

大工になりたいのなら、物理学を勉強してもそれは実現しません。あなたの作品に応用できるかもしれないという興味深いことをたくさん教えてくれますが、良い大工になる方法を教えてくれません。そのためには、大工の技術を学ぶ必要があります。

同様に、優れたプログラマーになりたい場合は、プログラミング技術を習得する必要があります。残念ながら、あらゆる種類の認証を発行する機関はありません。だから基本的に、これはあなたが自分でやらなければならないことであり、あなたが見つけることができる人を助けるものは何でもあります。あなたにとって、これは繰り返しと反射を意味します。たくさんのコードを書いてから戻って見てください。また、他の人のコードを読むのに時間がかかります。オープンソースプロジェクトへの参加を検討してください。

大学はプログラミングをあまり気にせず、今後数年以内に変更される詳細についてはあまり気にしません。学校で見ているのは、彼らがプログラミング環境(悪い環境ですが、それほど重要ではない)を選んで、それをあなたに見せているということです。そうすれば、彼らはさまざまなプログラミング技術を教えることができる参照フレームを手に入れます。参照フレームが貧弱であり、言語でさえ奇妙な選択であると主張することができます。彼らの観点からは、それはおそらく重要ではありません。なぜなら、それは非常にarbitrarily意的に選択されるからです。


2
物理学と工学はどうですか?プログラマは、エンジニアが建物、飛行機、および化学プロセスを設計するために物理学を理解するのに必要なプログラムを設計するときに、CSの原則を理解してそれらを適用する必要があります。
ジェイエルストン

3
@JayElston:物理学はエンジニアリングに対するものであり、コンピューターサイエンスはソフトウェアエンジニアリングに対するものであり、分析、設計、計画、実装、QAなどで構成されます。プログラミング自体は、実際に目的を達成するための材料を得るための技術です。エンジニアリングは、あなたが実際にやりたいことを理解することから始まります。
back2dos

私は今でも教授の引用「工学とは科学を応用して問題を解決する技術」の引用が好きです。
クリスO

1
@クリス:おそらく、科学は新しい問題を生み出す技術です。
ジェイソントゥルー

@JasonTrue:さて、科学はより良い問題を生み出す技術であると主張することができます;)
back2dos

9

「DOSスタイル」を習得しても何も問題はありません。私はここで昔の多くの人がDOSで、あるいは以前のオペレーティングシステムで、行ベースのプログラムを書き始めて、うまく調整したと確信しています。コンピューティングの世界は非常に急速に変化するため、どのライブラリが何に使用されているかなどの詳細にこだわることはありません。

実際、依存性注入とは何かを説明できるプログラマーでいっぱいの世界があるのに、FizzBu​​zzに答えるのに苦労しているのではないかと思うているのは、多くのプログラマーが非常に基本的なレベルで多くの時間を費やしていないからだと思います。

これはプログラミングの入門書のように聞こえるので、本質的には心配しないでください。基本を学べば、うまくいくでしょう。他のプラットフォームに興味がある場合は、自分で調べてください。それがプログラミングの素晴らしいところです。


5

どのように対処できますか?プログラミング電子書籍またはストリーミングビデオをダウンロードし、自分で例を試してください。教授に頼らないでください。プログラミングはあなた自身で高度に学習されます。


1
プログラミングはピアノを弾くようなものです。物事を行う方法を教えるマスターと、それをうまく行うための多くの練習が必要です。独学で世界的に有名なピアニストはほとんどいないと思います。

7
なんて奇妙なアナロジーなのか、確かに多くの非常に熟練した独断的なプログラマーがいる。
オコド

@Slomojo True、そして私はそれらのいくつかに会いました。彼らは奇妙な品種であり、彼らが知っていることに優れています。困難なのは、彼らが遭遇する問題の幅にあります。ときどき、コンピューターサイエンスの隅々を知っていると、問題の解決に至るまでの道のりはずっと短くなりますが、才能のある人々は知っている唯一の方法でそれをhammerり続ける傾向があり、最終的には総当たりのように見えます。たとえば、独学では「解決が難しい」問題は、DFAによって2日間でテストされました(起動するにはTCL / TKで!)。2週間後も、彼らはそれを理解していませんでした。
エドウィンバック14

4

多くの大学には、粗末なプログラミング教授がいます。私は私の国で最高の大学院の1つに行き、プログラミングでほとんどスクワットを学びました。ほとんどの大学はそのようなものだと思うので、本当に優秀なプログラマーはより良い仕事をすることを選択します(教えることではありません)。小さなプロジェクトを取り上げて、自分でコーディングしてみてください。このような多くのフォーラムからヒントを得ることができます。それは長期的に学ぶより良い方法かもしれません。


良いアドバイス、もちろん、私は完全に同意します。それはただの卒業証書です... :)
Toerndev

@gaidal:うん!それは私が大学院を卒業したことです-ブランド名:P(私は参加したときにもっともっと望んでいましたが)
1

2
大学はプログラミングを学ぶことではなく、プログラミング言語の概念、さらに一般的にはコンピューターサイエンスの概念を学ぶことです。大学でオペレーティングシステムのプロジェクトをしなければならなかったとき、私は言われました。それはCになり、本は図書館にあり、本を手に入れて学びましょう。プログラミングは実践に関するものであり、それを教えることは大学の仕事ではありません。
ジョルジオ

1
より良い有給の仕事については本当です。大学で教鞭をとっている私の友人は、「私たちは彼らにプログラミングの方法を教え、それから彼らは私たちよりも多く稼ぐ、それは逆でなければならない!」と不平を言いました。
ジョルジオ

3

大学はプログラミング言語、アルゴリズムなどの抽象的な概念を教えるべきであり、プログラミングを学ぶ場所ではないはずだと思います。プログラミングは非常に実践的な活動であり、実践することによってのみ学ぶことができます。

勉強中に、Pascalでプログラミングの基礎を学び、Cで1つのプロジェクトを行い(自分で言語を学ぶ必要がありました)、プログラミング言語の概念(手続き型、オブジェクト指向、関数型、ロジック)のコースを受講しました。MSDOSにはconio.hまたはfarポインターがありますが、UNIXシステムにはありません。これは私たちの学生がビールについて議論するものでしたが、授業中に議論するものではありませんでした。大学の教育は、抽象的な一般的な知識に焦点を当て、詳細に入ることを避けます。例と詳細は、一般的なことを説明するためだけに提示されています。

ASCIIとUnicode、およびMSDOS conio.hライブラリについて説明した例は、すべてのプログラミング環境に特定の方法と整理方法があることを意味しています。Visual StudioのC ++でプログラムを作成する場合、他のライブラリを使用する必要がありますが、その一部はLinuxなどで見つかりません。そのため、コースがWindows 7 / Visual Studioの場合、Linux / GCCで行う方が良いと不満を言う人もいるかもしれません。しかし、IMO、これはポイントではありません。

ですから、詳細に気を取られず、コースでカバーされている一般的な概念に集中しないようにしてください。たとえば、ほとんどのプログラミング言語では、コンソールI / Oを実装するためのライブラリが必要であり、プログラミング環境を考えると、手元にあるツールで問題を解決する必要があります。多分これはあなたには非常に明白に聞こえ、あなたはすでにいくつかの以前の知識を持っているので、あなたは本当に何かを学んでいない印象を持っています(これは起こる可能性があります)が、あなたが悪いコースに参加しているという印象は得られませんでした。


ありがとう、悪いコースだと言っても足りないと思います。補足として、私はそれがLinuxにあるべきであると言ったのではなく、違いについて学生に知らせる努力をすることができ、標準が存在するというだけでした。
Toerndev

他のシステムについて通知することをお勧めします。それは、教師の経験にも依存します。彼らは、慣れていない環境について不快に感じるかもしれません。たとえば、私は家にWindowsとLinuxがありますが、MacOSは避けたいと思います。たとえそれが非常にクールなOSであっても、私はそれを使ったことがないからです。異なるC ++環境を簡単に比較できるかどうかを試してみることもできます。たとえば、何が違うのか、何が変わらないのかを理解するためのほんの数例です。たとえば、MSDOSおよびLinuxでsizeofを使用できます。
ジョルジョ

2

大学は基礎を与えています。それが強くなれば、その上に高層ビルを建てることができます。大学時代にBASIC、C、C ++を学びました。後でVisual C ++でプロジェクトを行ったとき、まったく別の世界だと思いました。後で、フレームワークと言語の違いに気付きました。

希望するコンピューティング分野の集中的な開発を提供する適切な大学を選択してください。それはあなたのキャリアの後半であなたを助けることができます。


2

完全なプリントアウトsystem("");は、実際にはかなり良いことです!最近、人々がこれらの機能について何も知らないことにショックを受けています。

system("pause")、そしてgetX関数のすべての落とし穴を取り除きます。 system("cls")、1ページのコードを保存しただけです。 system("mkdir foo")また、2ページのバッファー割り当て、パス分割、_makepath_ss、256個のパス制限、大量のエラー終了などを保存しました。

さらに、このコードは非常に単純なので、猿は理解します。

 if(!system("mkdir foo"))
     //booo and exit`

ポリモーフィックな倒錯の学校は、法律によって禁止されるべきものです。

PS:さらに、すべての敬意を払って、人々が例外と仮想物すべてを良いものとして教えられていることを受け入れるのに苦労しています。非常に簡単で安全なものですが、実際には核地雷です。

Misra-C ++およびJSF-C ++に関する分析を参照してください。そして、http://blogs.msdn.com/b/oldnewthing/archive/2005/01/14/352949.aspx。今日は残りのすべての記事を見つけるのが面倒です。

言われたことはすべて、私はC ++開発者であり、多くの機能と言語全体を楽しんでいます。


1
わからない私は...暗黙的に落とし穴の任意の実際の考えなしにシステムにまっすぐに跳躍するために、経験の浅い開発者を奨励することは良い考えであることに同意したい
deworde

@deworde:コンソールで書くのと同じことです。エラーを起こしにくく安全なものにすることはできないと思います。
コーダー

はい、しかし、コンソールでそれを書くとき、あなたはどこにいるのか、誰として走っているのか、あなたはどんな種類のマシンに対して走っているのか、そして最も重要なことには、なぜそれをしているのかを知っています。プログラムはこれらのことを必ずしも認識しているわけではなく、実行可能ファイルを実行している人は実行前にそれらをチェックする必要があることを知りません。
deworde

@deworde:正確ではありませんが、コマンドEraseFileは引き続きプロセスのアクセス許可を継承するため、どちらのコマンドでも簡単に台無しにできます。
コーダー

1

私の提案はそこに聞こえるかもしれませんが、私に聞いてください...メジャーを切り替えます。

私の学界での経験では、コンピューターサイエンス専攻は、コンピューターを動かす要因の非常に低レベルの見方でした。C ++の基本的な入門書から始めて、プログラムとは何か、プログラムの背後にあるメモリと計算の基本を理解し、アセンブリ、OSの概念、電気工学、デジタル設計などを学びました。この程度で、NVidia、AMD、またはロッキードとの仕事を探します。新しいハードウェアを作成しているどこかで、そのハードウェアを十分に理解して、ドライバーと制御ソフトウェアを作成できる人が必要です。

私の大学では、情報システムの管理と呼ばれた研究コースが欲しいようです。それが私が従ったコースです。途中でJava、VB.NET、C#、およびいくつかのPHPやその他のWebスクリプトのプログラミングを教えました。また、計算(CSと同程度ではない)、経理、財務、統計、ビジネスコミュニケーション、OO A&D、データベース設計、システム分析も必要でした。BSではなくBBAを取得し、WindowsまたはWebソフトウェア開発者として仕事を始めるための基本的なツールがありました。

「コンピューターサイエンス」専攻が準備することは、どの大学がそれを提供しているかに大きく依存します。あなたは、あなたが教育を受けていないように聞こえるコンピュータを非常に時代錯誤的で低レベルに見ようとする初期の道にいるように思えます。大学内を見て回って、放課後のコンピュータワークの種類に焦点を合わせた学習コースを見つけることをお勧めします。

いずれにしても、あなたの学習コースは、非常に基本的な「コンソールレベル」のプログラム作成から始まります。言語は関係ありません。彼らがあなたに教えているのは、基本的な手続き型プログラミングです。コンピュータがステップからステップへと続くことができるほど十分に小さなステップで考える方法(コンピュータは当然のことではなく、人間の論理の飛躍の大部分に追従できないため)そこから、オブジェクト指向プログラミングに進みます(すべてを実行する1つの長い関数を使用する代わりに、実際のオブジェクトの状態とロジックを表すいくつかの小さなコード「オブジェクト」を保持する方がはるかにメンテナンスしやすいです)。イベント駆動型プログラミング(「電話しないで、電話します」。プログラムは基本的に起動し、OSに初期グラフィックUIを設定するよう指示します。


ありがとう、はい、私はそれを考慮します。間違った方向に進んでいると感じた場合、後で変更できます。基本コースはユニバース間で互換性があります。
Toerndev

その仮定に注意してください。私は専攻をCSからMISに変更しましたが、ビジネススクールには完全に独立した数学のトラックがあったため、すでに受けた数学のどれも転送されませんでした。英語、科学、人文科学、そうです。
キース

1

コンピュータサイエンスコースでは、プログラミングは教えられません。これは、CSコースで行ったプログラミングの一部と比較して、公園を散歩するものです。

これに関する基本的な問題は、私の経験では、同等レベルのプログラミング教える場所がほとんどないため、選択の余地がないということです。


0

何を勉強しているのか、なぜ勉強しているのかについて、混乱があるかもしれません。

まるでコンピュータサイエンスの入門プログラムを勉強しているように見えます。これは、低レベルでコンピューターがどのように機能するかについての基礎を学んでいる経験が最小限の人々を対象としています。

また、あなたは半真面目でプロのプログラマーでもあるようです。あなたは10年間プログラミングをしており、3つの言語に慣れています。少なくともチームの一員として働くのに十分なことをしていることを知っているようです。このコースの場違いを感じますか?他の学生はあなたと同じレベルの経験やスキルを持っていますか?

このコースから何を得るつもりですか?

「紙切れ」の直後ですか? このような場合は、勉強中に就職をやめないでください。仕事に応募して、あなたが有能なプログラマーであり、仕事を得るために紙が必要だから勉強していると伝えてください。彼らがあなたを雇うなら、中退を検討してください-あなたが専門職に就いたら、あなたは本当にその紙をもう必要としません。それがなければ良いでしょうので、通常の賃金より低い受け入れる学ぶために支払ったよりも(仕事に)学ぶために支払う学校で-とあなたも、より速く学びます。1〜2年後には、ほとんどの場合はスピードアップし、適切な昇給を要求するか、経験があるので別の仕事を見つけることができます。

または、何かを学ぼうとしていますか?その後、教授の判断をやめます。「座って、黙って」と言っていた記憶に残る高校の先生のように。教授があなたよりも計り知れないほど多くの経験と知識を持っていることはほぼ保証されており、教授から非常に多くのことを学ぶことができます。遅すぎる場合は、以前の学習と経験に基づいて、これらの入門コースの単位を取得してください。

しかし、あなたは正しいコースにいますか?また、文学教授や歴史教授から多くのことを学ぶことができます...特に関係ありません。おそらく、「コンピューターサイエンス」が必要なのではなく、より実用的な「実世界」のスキルが必要なのでしょう。「ソフトウェアエンジニアリング」をお試しください。より集中的なコースについては、他の機関をご覧ください。

新しい仕事を始めたときと同じように、クラスや学習コースを外部からレビューするのは非常に困難です。あなたはあなたが期待するものを与えていないコースにいるようです。オプションを再検討してください。


ありがとう、私はこれについて考えました、そして、あなたはこれらの2つのオプションについて非常に正しいと思います。前者は私にとってより真実であり、コースがもっと面白くなるかどうかを待って仕事を探します。これ実際にはソフトウェアエンジニアリングの教育であり、コンピュータサイエンスよりも早く選んだのは、すぐにスピードを上げて仕事を通して学びたいからです。多分それが私がもう少し「現実世界のスキル」を期待した理由を説明しています。:)
Toerndev

私の大学の過去からのほんのいくつかの発言:私はスケジュールで「プログラミング101」を持っているコースを勉強しました、その部分は私にとってうんざりするほど退屈でした。しかし、他のコースは興味深いものでした(物理学、力学など)。そのため、講義が退屈でプログラム全体に当てはまらない場合でも、他の部分には苦痛を経験する価値があるかもしれません。しかし、私は中退しました。その間、私は自分の仕事がこれ以上上手くいくとは限らないが、その紙は有益であることがあることを学びました(私は素晴らしい仕事、良い給料を持っています...それは悪くありません;
ヨハネス

0

この質問に対する多くの答えは期待はずれだと思いました。彼らはCS対プログラミングなどについての疲れた古い議論に戻りました。それはそうかもしれませんが、OPが教えているコースも教えていないように思えます。

大学でパートタイムでCSを勉強する前に、私はすでにプログラマーとして働いていて、自分でかなり勉強したという状況にありました。私は慎重に買い物をしましたが、一般的にカリキュラムは時間の無駄であることがわかりました。また、この分野ですでに専門的な経験を持っているにも関わらず、コースをスキップさせてくれません。

私の経験では、かなりの割合の教授はかなり怠け者で、時代遅れのカリキュラムを使用しています。正直なところ、時間を無駄にしているようです。卒業証書を修了すると仕事を見つけるのに役立つかどうかさえ疑問です。

あなたはあなたのコースについて物事を変えるために多くのことができるとは思いません。あなたは自分で勉強することでそれを補うことができます。または、すべてを忘れて、CSを独自に学習し、いくつかの業界認定も行ってください。

私はあなたの国の就職市場での卒業証書の価値について私にはわからないことを付け加えるべきです。内容にかかわらず卒業証書自体が価値がある場合は、カリキュラムに我慢する必要があるかもしれません。


これは前に見ませんでした。いくつかの答え(最初の段落)について私が感じていたことを誰かが正確に言うのを見てうれしいです!はい、授業はかなり役に立たない、私はクラスにもう出席しませんが、私が書く必要があるプログラムを提出するだけです。私はそれを独自の方法で行い(通常はCLからC ++に移行するのはかなり悪い)、カリキュラムにない多くのことに出会い、教授ではなくプログラマーの友人に助言を求めます。このように、実際には一種の楽しみです。それでも、卒業する前に仕事を見つけられるといいのですが。
Toerndev

0

彼らは学生に対応する必要があります。ほとんどの学生はプログラムできません。そのため、彼らはそこで技術的なことをやろうとはしていません。

彼らには独自の研究分野もありますが、それは教えていません。とにかく多くの研究者が良い教師ではないので、彼らが既に知っていることを教えているのなら幸運だと考えることができます!

とにかく、コンピューターサイエンスとは何かを知らないようです。それは業界にとって実用的なものではありません。


-6

私はあなたの割り当てを標準のC ++で返すように頼みます(そして主張します)。それ以外の場合は割り当てを完了することができないため、これは完全に合理的です。

悪いスタイルについては; そもそもこれは必然的にいくつかあります。標準のioライブラリを適切に使用するためには、特にテンプレートとイテレータなど、かなりの数の高度なc ++機能が必要です。講師が非常に簡単なio関数を使用して開始する理由を理解できます。しかし、これについて尋ねることを恐れないでしょう、それはあなたの目に熱意と少しの光を示しています。講師は、質問を将来の講義に織り込み、初期の演習を(できれば)正しく実行できるようにする必要があります。

私はそのままにしておきます。c ++はプラットフォームに依存しない言語になりえますが、そうではないことがよくあります。いくつかのWindowsシステム機能を学ぶことは、特に標準でそれを行うように自分を訓練する場合、特に悪いことではありません。conio.h他の人のコードを見ると、ある時点で出くわします-そして、それが何をするのかを知るのは良いことです。


10
いいえ、あなたは仕事をするためのツールを与えられており、それらのツールを使用するのはあなたの仕事です。CP / Mを実行している15歳のXTだけで仕事をしている場合、64ビットのWindows 7コードを受け入れるように要求しても機能しません。できるだけ早く慣れることをお勧めします。
jwenting

2
@Ramhound大学は、高価な機器(Windowsオペレーティングシステムなど)を購入しなくてもコースを修了できるようにする必要があります。その偏見。
トム

3
@ Tom、Photoshopを教えているなら、Photoshop(非常に高価な)を購入することを期待します。高価な教科書を購入することを期待しますが、どこが違うかわかりません。そして、キャンパス内にWindowsを購入せずに彼がタスクに使用できるコンピューターがたくさんあるに違いない(率直に言って、CSを勉強している人なら、おそらく両方を持っているはずです。製品の多くはLinuxを使用しない傾向があります。)
HLGEM

3
@Ramhound教授が単純化されたdosベースのIOルーチンを使用している理由を明示的に述べていない場合でも、おそらく正しい推測を行うことができます。トムが述べたように、C ++のioルーチンは比較的複雑なので、イントロレベルのコースでは詳細を隠すことは不合理ではありません。* nixベースのライブラリの代わりにWindowsベースのプラットフォーム固有のライブラリを使用するという決定は、ほとんどの学生が* nixではないウィンドウを使用しており、多くのWindowsユーザーが* nixを使用するのに苦労するという前提にほぼ確実に帰着します。
ダンニーリー

5
@gaidal-ルールには理由があります。どこかで作業を開始し、独自のライブラリの代わりに「標準には理由がある」という理由で標準を使用することに決めた場合、すぐに失業することになります。このコースをコーディング標準のコンプライアンス演習として受講してください。あなたはいつもそれらを好きになるつもりはありません。
littleadv
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.