The Office Uchida, School of Computer

コンピュータを学習する人の学校:パソコンキャンパス、プログラミングキャンパス
ホームCプログラマ徹底養成コース
文字の縮小

デジタルナレッジの本コンテンツの販売サイト (1ヶ月コース, 31,500円) (2ヶ月コース, 52,500円)

演習中心で学ぶ Cプログラマ徹底養成コース」(約30時間:学習時間1ヶ月)

対象となる方:C言語の実務経験の無い方で、C言語によるプログラミングスキルを確実に向上させたい方。 あるいは、実務経験を有していても、C言語のプログラミングにあまり自身がない方。

内容紹介:受講者がプロとして企業で十分通用する必要最小限のスキルを身に付けることができるように 演習中心で指導します。 受講者は、次の表に示す3レベルに分かれたコースで提供する厳選された演習問題を継続的に解くことによって 学習を進めますので、本格的な実践力が身につきます。 各問題には、十分なヒントが用意されています。ヒントは学習の進度に応じて提示されます。 必要に応じて、e-Learningの授業を受けることもできます。

自分のスキルが分からない人は、こちらのチェックリストを参照して下さい。

提供する3つのコース
コース名問題数内 容
初級コース20問初めてプログラムを作る方、あるいは学生時代などに授業を受けたが、 あまり自信のない方が対象です。 最終的に100行〜300行程度のプログラムを自作できることを狙います。目安として、情報処理技術者試験に出題されるレベルの プログラムを組めるようになることが目標です。 新人プログラマとして先輩の指導の下に仕事に携われるようになることを目指します。
中級コース15問学生時代などに多少のプログラミングの授業を受けたことのある方が対象です。500行程度のプログラムを狙います。 新人として、実社会で活躍できるスタート地点に立つことができることが目標です。 目安として、C言語プログラミング能力認定試験2級レベルを目指します。
上級コース12問ある程度のプログラムを作ることができる人が対象です。与えられた問題を正しく分析し、 それを適切なC言語のプログラムとして開発できるようになることが目標です。 修得が困難なC言語のプログラマとして、第一線で活躍できるようになることを目指します。 目安として、C言語プログラミング能力認定試験1級レベルを狙います。

この講座には、e-Learningコンテンツ「C言語によるプログラミング 基礎編」 が含まれていますので、このe-Learningコンテンツを閲覧することができます。 このコンテンツは、問題を解く場面で文法的に理解が低い場合に必要に応じて見ていただくものです。

集中して学習していただきたいので、標準的な学習時間は30時間、学習期間は1ヶ月あるいは2ヶ月の設定にしています。

利用方法:個人で利用する場合はもちろん、会社の研修・新人研修でも十分使える内容になっています。

e-Learningコンテンツの講師および全体の監修

神奈川大学工学部助教授
内田智史 詳しいプロフィール

学習方法:本コンテンツの学習方法は、こちらからどうぞ。

FAQ:本コンテンツに対するFAQは、こちらからどうぞ。

標準問題一覧

リンクの付いている問題はその内容を見ることができます。

本当にプログラミングセンスを身につけたい方のCプログラマ徹底養成コース
初級コースの問題一覧 全20問(24時間40分)
No.タイトル難易度ポイント
1メッセージの表示易(20分)エディタの使い方、コンパイルの仕方、実行のさせ方
2表の表示易(20分)エスケープシーケンス、プログラムの実行
3変数の概念易(20分)scanf、int型の演算子、整数型の除算
4int型の演算子易(30分)型の概念、int型の除算の注意事項
5double型の演算子易(30分)double型の変数、浮動小数点データの取り扱い
6条件判断易(30分)条件演算子、場合わけのロジック
7計算:ヘロンの公式中(40分)数学関数の使い方
8計算:2次方程式の解法中(60分)計算誤差、丸め誤差、桁落ち
93つの数の最大値易(30分)アルゴリズム
10休日の判定 中(60分)条件演算子、論理演算子、複雑な判断ロジック、if文のネスト
11ループ:集計易(60分)for文、while文、データのオーバーフロー
12完全数難(90分)ループ、段階的詳細化、モジュラープログラミング
13じゃんけんの確率難(90分)ループの集計計算、べき乗の計算
14魔方陣 難(120分)複雑なロジック、条件判断
15ポインタと配列易(60分)ポインタで配列要素を初期化する
16バイナリファイルの比較中(60分)ファイル、バイナリファイル
17文字列処理:長さ、複写、挿入中(180分)ポインタ、文字列の長さ、文字列のコピー、文字列の挿入
18時間・時刻に関するライブラリの利用中(120分)日付の取得、ポインタ、分割コンパイル
19catコマンド中(120分)ファイル、文字列
20grepコマンド 難(240分)ファイル、文字列、ポインタ
 
中級コースの問題一覧 全15問(28時間)
No.タイトル難易度ポイント
1表の表示易(10分)エスケープシーケンス、プログラムの実行
2計算:2次方程式の解放中(60分)計算誤差、丸め誤差、桁落ち
33つの数の最大値易(20分)アルゴリズム
4完全数易(60分)ループ、段階的詳細化、モジュラープログラミング
5万年カレンダー 中(60分)ループの制御、曜日の計算
6じゃんけんの確率中(60分)ループの集計計算、べき乗の計算
7魔方陣 中(90分)複雑なロジック、条件判断
8n2が左右対称の数難(120分)関数、モジュール分割、文字列
9じゃんけんの確率:モンテカルロ法難(120分)関数、乱数、複雑なロジックの単純化
10catコマンド中(60分)ファイル、文字列
11ボーリングの得点計算難(180分)複雑なロジックをデータ構造で単純化する
12grepコマンド 難(180分)ファイル、文字列、ポインタ
13字句解析 難(180分)ポインタによる文字列処理
14テキストファイルの索引作成難(240分)バイナリツリー、文字列処理、ポインタ、構造体
15Base64エンコーディング、デコーディング難(240分)ポインタ、ビット操作
 
上級コースの問題一覧 全12問(27時間30分)
No.タイトル難易度ポイント
1計算:2次方程式の解放中(60分)計算誤差、丸め誤差、桁落ち
2完全数易(30分)ループ、段階的詳細化、モジュラープログラミング
3n2が左右対称の数難(90分)関数、モジュール分割、文字列
4じゃんけんの確率:モンテカルロ法難(90分)関数、乱数、複雑なロジックの単純化
5grepコマンド 難(120分)ファイル、文字列、ポインタ
6字句解析 難(120分)ポインタによる文字列処理
7テキストファイルの索引作成難(120分)バイナリツリー、文字列処理、ポインタ、構造体
8ボーリングの得点計算難(120分)複雑なロジックをデータ構造で単純化する
9グラハムスキャン難(180分)ソート、複雑なロジックの扱い
10Base64エンコーディング、デコーディング難(180分)ポインタ、ビット操作
11多桁整数計算ライブラリ難(240分)構造体、ポインタ、ライブラリの作成
12多桁実数BASICインタプリタ 難(240分)構造体、データ構造、文字列処理、ポインタ


難易度の中の時間(分)は、こちらで想定した標準的な学習時間であり、個人差があります。

なるべく数学的な問題は避けるようにしていますが、一部、数学的な問題が含まれています。その場合には、数学的な部分で苦労しないように 十分な解説を設けております。

ここに示した問題は標準問題です。この内容は学習者によって変わることがあります。

本コンテンツの学習方法

本講座は、インターネット上で学習する新しい形態の教育システムです。 すべての授業はインターネットを介して行われます。

プログラミング言語は座学だけでは、なかなか習得できません。本講座は、e-Learningと演習を合わせて提供することにより極めて高い学習効果を引き出すことを狙っています。 また、本講座には、質問受付機能がついておりますので、演習問題を解く上で分からない場合や疑問を持つことがある場合に質問を行うことができます。

本講座では、まず、問題が提示されます。そして、受講者はその問題を実際に解き、プログラムを作成し、それを解答します。解答できない場合、 ヒントをもらいます。このヒントは、かなり詳細に書かれています。このヒントをベースに問題を解きます。 しかし、それでもわからない場合には、さらにヒント、あるいは、類似のプログラムなどをヒントとしてもらいます。 それでも、わからない場合には、質問して、疑問を解消することができます。

なお、十分に学習していただくため、ヒントはすぐには提示されません。問題提示後、ある一定期間経過後に掲示されます。

質問の内容については特に制限を設けておりません。 しかし、かなりレベルの高い内容の場合には多少のお時間を頂くこともありますが、できるだけ早く回答するように 致します。ただし、質問の内容は、ご本人の許諾を得たうえで、個人情報や会社などを特定できる情報を除いて一般化した形で、FAQの形で公開させていただくこともあります のでご了承ください。

文法事項など、わからない部分や理解不足の部分は、e-Learningコンテンツ 「C言語によるプログラミング 基礎編」を受講することが できます。その際には、次の書籍が必要になりますが、これは各自ご用意ください。 一般の書店で購入可能です。
  「内田智史監修、株式会社システム計画研究所編、 「C言語によるプログラミング 基礎編 第2版」、オーム社(ISBN 4-274-06440-9)、2,800円

本コンテンツに対するFAQ

質問:すべてを学習するのにどのくらいの期間がかかりますか?

 本講座は演習中心のため、学習する期間は受講する方のスキルによって完全に異なります。 一概にどのくらいで学習できるという期間を示すことはできません。 しかし、ほとんどの方がその学習期間内(1ヶ月あるいは2ヶ月)で終了できるようにガイド致します。

質問:学習期間内に終わらなかったらどうなるのですか。

 最後に、残った問題とそのヒントをすべて開示いたします。

質問:本講座の前提知識は、どのようなものでしょう。

 まったくの初心者から多少の勉強をした方を対象としています。 そのために3つのコースを用意してあります。このコースの選択は、自己申告制ですが、途中で切り替えることも可能です。

質問:どのような方にこの講座はお勧めですか?

 C言語でプログラムを作成する必要のある方です。 特に企業の方、あるいは高校の教員の方やインストラクタの方を対象としています。 また、最近需要が急増している組み込み系の開発者の方でC言語を学習する必要がある人などにもお勧めです。
 企業の研修や新人研修などにも十分利用できる構成にしています。詳細は ご相談ください。

質問:本講座でC言語のすべてを網羅しますか?

 本講座では、短時間でプログラミング能力を身に付けることを主眼としています。 この講座を受講すると自動的に受けられるe-Leraningシステム 「C言語によるプログラミング 基礎編」 を受講することにより、文法的な知識が身に付きますが、ここで出題される問題のレベルは、多少、このe-Learningコンテンツの内容を 超えているものもあります。しかし、その場合には、ヒントの中にそれを補完する説明が含まれています。

質問:本講座では、特定のCコンパイラを仮定していますか?

 本講座は、特定のコンパイラを仮定しておりません。 ただし、実行結果は、サンプルプログラム集では、 GNU gccを仮定して、その結果を載せています。しかし、その他のコンパイラ(たとえば、 Visual C++.NETなど)でも問題なく動作します。

質問:本講座では、Cコンパイラなどのソフトウェアを提供してくれますか?

 本講座には、コンパイラやエディタなどのプログラミング実習環境を提供したり、構築することは含まれておりません。 この準備と作業は、受講者の方にお願いいたします。もし、コンパイラなどの実行環境を用意できない場合には、フリーソフトウェアの ご利用をお勧めいたします。なお、講座の中では、必要に応じてフリーソフトウェアの構築に関する指導をいたします。

質問:本講座で学習したプログラムをダウンロードできますか?

 本コンテンツに対する回答プログラム例は、当然ですが、一般公開しておりません。 一般公開してしまうと最初から、それを見てしまうからです。もちろん、自分で解く努力をした方には配布いたします。

質問:本講座のコースを途中で変更することができますか?

 もちろん可能です。実際に演習を体験して見て、レベルの低い方、あるいは高い方に 移ることは可能です。

質問:本講座の演習問題の標準作成時間を見るとかなり短く見積もっているのではないでしょうか? 初心者の 私は、こんな短い時間で作成する自信はありません。

 一人で独力で作成するとすれば、この標準時間はかなり短く見積もっていると考えてよいでしょう。 しかし、この講座では、わからない場合、詳細なヒントが提示され、それでもわからなければさらに詳細なヒントあるいは 参考となるプログラムが提示されます。プログラムの学習としてこれらのサンプルプログラムを見て、自分のプログラムを 完成させるというもの効果的な学習方法です。しかし、原則は、なるべく自分で考えるということです。 また、この講座では、質問ができますので、わからない点は納得のいくまで質問して理解を深めることができます。

質問:どのようにして、本講座をスタートさせればよいのですか。

 基本的にはメールのやり取りになりますが、本講座を購入していただくと、まず、受講目的やそれまでの C言語の学習状況などをお伺いするメールが届きます。そして、そのメールに回答していただく際に、受講するコースを 選択していただきます。すると、そのコースに応じた最初の問題を記述したURLがメールで送られてきます。

質問:本講座の問題はどのようにしてもらうのですか。

 The Office Uchida, School of Computerの問題提示システムにより、 その問題やヒントが掲載されているURLを電子メールの形で受け取ります。 問題の要求は、あなたの受講者名と欲しい問題番号をメールのタイトルに入れてThe Office Uchida, School of Computer のメールアドレスに送るともらえます。ヒントも同様です。

質問:本講座の質問などは、電子メールを介して行うのですか。

 はい、基本的には電子メールでのやり取りになります。受講後、専用のメールアドレスを通知いたします。