(再)学習Cのための良い学校型プロジェクトまたは課題? [閉まっている]
-
06-07-2019 - |
質問
Cを学習(または再学習)するために取り組むべき優れたプロジェクトは何ですか?理想的には、大学の授業で得られる課題に似たものです。オンラインで入手可能な実際の割り当て/プロジェクト仕様へのリンクが理想的です。
注:Cクラスまたはそのようなものからの割り当てである必要はありません。低レベルで実装するのに適しているタイプのことです。同時に他の興味深いことを学ぶことはボーナスです!
この質問がすでにどこかで聞かれている場合は、それを指摘してください。私が試した検索用語(クラス、課題...!)は、想像できるように私の検索を助長しませんでした。
解決
コースIの課題昨春かかった。彼らは非常に有用であり、cの良い紹介でした。そのページの上部にあるスケジュールリンクにアクセスすると、すべてのクラスノートがあり、そこには多くのコード例が含まれています。
割り当てには、文字列データ型、シンボルテーブル、ヒープマネージャー、Unixシェルが含まれます。
他のヒント
リンクリスト、ツリー、並べ替え、検索など、最も一般的に使用されるデータ構造とアルゴリズムを実装することをお勧めします。これらは短く、洞察力に富んでいます。基本を知っていたら、洗練されたデータ構造とアルゴリズムを探してください。
大規模なプログラムのアイデア。あなたはクラスの割り当てに似ていると言ったので、彼らは教育的ですが、あまり有用ではありません:-)
-
他のプログラムを起動するために使用できる単純なシェルを作成します。パイプ( "||" ")、バックグラウンド実行(" "&" ")、シーケンシャル実行(" "&" ")、条件付き実行(" "&&" "および" || ""; )。 OS環境、プロセスの作成、プロセス間の通信について学習します。
-
NTP など、RFCで定義されたプロトコルを実装します。これにより、ネットワーキングプログラミングが学習され、RFCを読んで理解することができます。
-
マルチスレッドWebサーバーまたはftpサーバーを実装します。これにより、ファイルとマルチスレッドに対処するためのネットワークプログラミングが学習されます。
すべての場合において、速度とメモリ使用量の観点からパフォーマンスを念頭に置いてください。最適なデータ構造とアルゴリズムを選択してください。それがCを実行するポイントです。完了したら、ソリューションを同じオープンソースのバリアントと比較してください。あなたは多くを学びます。 また、valgrindでプログラムを実行してメモリエラーを確認します。
数学に興味がある場合は、次の問題を見てください。 http://projecteuler.net
どのような種類のアプリを書くのか知っていますか?選択肢の1つは、Charles PetzoldのProgramming Windowsのような本を手に取り、サンプルコードを読み通して再生することです。
(更新)ミロ・サメックは、埋め込み開発を対象とした本「C / C ++での実用的なUMLステートチャート」を執筆しました。この本の以前のバージョンを本当に楽しんだので、チェックしてみてください。
昨年秋に使用した一連の割り当てです。このコースは「コンピューターアーキテクチャ」と呼ばれていましたが、実際には機械レベルのプログラミングのコースでした。将来的にタイトルが変更されました。コースは必須のシーケンスの3番目であり、学生は難しいと感じました。
- 母校のCSウェブサイトにアクセスします(または、代わりにまともなハイテク学校のサイトを選択します)。
- Cを使用するクラスのコースページを検索します。
- 割り当てを行います。