授業の目標と概要 |
世の中の実用ソフトウェア (プログラム) の多くはC言語で記述されている.
そこで本科目では,C言語に関する多くの実習に集中的に取り組み,
実用的なプログラムの作成能力を早期に身に着けることを目標とする.
また,Cは,高学年で学ぶ Java 等の他の言語の基礎でもある.
なお,単に動作するだけのプログラムを作るのは比較的容易であるが,
正しいプログラムや良いプログラムを作るためには多くの知識と経験が必要となる.
|
履修上の注意
(準備する用具・
前提とする知識等)
|
・すべての課題(20個程度)に対し,完全なレポートを所定の期限までに提出すること.
欠席した場合にも登校した際に必ず取り組むこと.
・課題遂行のためには論理的な思考能力と文章の読解能力が必要である.
しかし,これらの能力は授業時間だけでは身に着かないため,普段から努力すること.
・「動くプログラム=正しいプログラム」とは限らない.充分に吟味せよ.
・ソースレベルの表面的な書き方や動かし方の理解だけでなく,
バイナリレベルの内部的な仕組みを理解するよう努力すること.
|
到達目標 |
■ 包括的な目標:文字端末上で動作する実用プログラムをC言語でプログラミングできる.
■ 個別的な目標:
・基本要素(制御構造,ユーザ関数,変数,等)を適切に利用できる.
・メモリマップ関連要素(配列,ポインタ,再帰,等)を適切に利用できる.
・標準ライブラリ関数(入出力,数学,文字列,ファイル,等)を適切に利用できる.
|
成績評価方法 |
■合否判定:最終評価 ≧ 60%
■最終評価:実習課題の総合評価×80% + 実力試験の総合評価×20%
(または,再試験×100%)
■実習課題の総合評価:次式の通り,全課題の評価の平均を 100点満点(上限100,下限0)に換算する.
Σ(各課題の評価 ÷ 満点)÷ 課題数 × 100
■各実習課題の評価:次表を目安として,各課題毎に定められた要求仕様への充足度を 10点満点(上限12,下限0)で評価する.
0点:題意に沿わない内容の場合,未提出の場合
1~5点:要求仕様をほとんど満たさない場合(致命的な欠陥を含む場合)
6点:要求仕様を半分程度まで満たした場合(重大な欠陥を含む場合)
7~9点:要求仕様をほぼ完全に満たした場合(軽微な欠陥を含む場合)
10点:要求仕様を完全に満たした場合(欠陥を含まない場合)
ただし,要求仕様を越えた優れた工夫等がある場合には最大 2点までを加点する.
また,提出期限に遅れて提出された場合には最大 2点までを減点する.
そして,剽窃の疑いが濃厚な場合には,評価を半減する.
|
テキスト・参考書 |
・教科書・問題集:担当教員オリジナル実習用ウェブページ
・教科書:カーニハン, リッチー,“ プログラミング言語C”,共立出版
・参考書(例):レプトン,“世界一わかりやすいCプログラミングの授業”,ソシム
|
メッセージ |
プログラミングは情報技術者にとって必要不可欠な技能であり,
当然,高学年での実習科目や卒業研究でも必要です.
また,C言語を理解しておけば,他の言語についても簡単に修得できるようになる筈です.
そして,情報処理試験(ソフトウェア開発技術者)の合格も目指そう.
|
授業の内容 |
授業項目 | 授業項目ごとの達成目標 |
0. ガイダンス(1回)
1. 手続き型プログラミング(4回程度)
・初心者向けプログラミング環境によるウォーミングアップ
2. C言語の基本(15回程度)
・制御構造
・データとメモリ
|
1.
・「アルゴロジック」で巡回手続きを考案・構成できる.
・「kturtle」で描画手続きを考案・記述できる.
2.
・C言語の文法と作法に沿ってコーディングできる.
・プログラム実行中のメモリの様子を説明できる.
・制御構造・変数を適切に利用できる.
|
前期中間試験 |
実施しない
|
・関数とメモリ
・実力試験1
3. C言語の応用(10回程度)
・コンパイラ
・文字列処理
・入出力
・実力試験2
|
・関数を作成できる.
・単純なデータ処理プログラムを作成できる.
3.
・コンパイラの役割・仕組を理解し,効率的に使用できる.
・基本的なライブラリ関数を利用できる.
・文字列関数を作成できる.
・ファイル入出力とプログラム間連携を利用できる.
・実用的なプログラム(Unix コマンド等)を作成できる.
|
前期期末試験 |
実施しない
|