授業科目

プログラミングA演習
Programming A Exercises

担当者

教授   斉藤 和巳
後 火3-火4
教授   張 善俊
後 火3-火4
教授   永松 礼夫
後 火3-火4

単位

4

到達目標

受講生がC言語の基本を理解し、それにより初歩的なプログラムの作成ができること。
情報科学科のポリシーに従い、プログラミングの基本的な事柄の習得を目的とする。
本必修科目の履修には、同じ学期に開講している「プログラミングA」を並行して履修中か、過去に履修済みであることでC言語の基本事項を修得しつつあること、及び前期に開講する「情報科学リテラシー」の履修によってLinuxの基本操作やエディタ(emacs)の操作を修得済みであることを前提とする(そうでない場合は履修できない)。本科目は情報科学科の学生にとっては2年次以降のプログラミングB、プログラミングB演習、情報科学実験など必須科目や基本科目の基礎となる重要な科目である。C言語によるプログラミングは情報科学科の学生にとって最も基礎になる学習項目の一つであり、これを最初の学年で身に着けることは情報科学科のカリキュラムポリシーにも合致する重要な事項である。

授業内容

コンピュータはプログラムによってさまざまな情報処理機械へと変身する。本授業では実際にプログラムを作成する演習を通じて、プログラムを作る(プログラミング)とはどういうことか、どのような思考をすることによってプログラムが作れるか、よいプログラムとはどのようなものか、といったことを学ぶ。そして、プログラミングは論理的な思考に基づいた創造的な作業であり、問題解決のプロセスそのものであることを学ぶ。プログラミングは情報通信技術(ICT)分野を志す者にとっては必須の技術と知識であり、プロとしての高い能力が要求される。その基礎を身につけることが本演習の目的である。なお、本授業で使用するプログラミング言語はC言語とする。

授業計画

01 プログラミング言語Cの言語仕様の復習+コンパイラのメッセージ
02 関数、再帰と一般化(仮引数?実引数、局所変数、再帰呼び出し;繰り返しと再帰)+デバッガーの使い方
03 配列(基本、スタックとキュー)+プログラムのデバッグ
04 配列(整列と探索)+プログラムのテスト
05 文字列と多次元配列(基本、文字列)+単体テスト
06 ポインタ(基本、配列とポインタ)
07 ファイル入出力
08 中間総合問題2(1~7回の内容に関するアドバイスなしでの演習).問題の説明、解答例の提示
09 構造体(基本、配列と構造体、 構造体とポインタ )ポインタ演算、構造体?ポインタと関数+ライブラリの利用
10 自己参照的構造体(リストと二分木の表現、構造体へのポインタの操作; データ構造の帰納的定義、優先度付きキュー)+リファクタリング
11 再帰的処理(リストと二分木の走査と分析;データ構造に沿った再帰)+コードレビュー(グループ作業を含む)
12 メモリの確保と解放(リストと二分探索木の動的生成、操作)
13 応用(二分探索木とセット)
14 最終総合問題(1~13回の内容に関するアドバイスなしでの演習).問題の説明、解答例の提示
 本授業で課す演習課題は基礎的なものであり、毎回の課題を積み上げてゆくことにより、プログラム作成に必要な基本的な技術が身に付くようになっている。したがって、毎回出席して各回のテーマを全てしっかり身に付ける事が重要である。
[予習・復習]
#過去の演習問題をまとめた課題集を配布する。この中から毎回の授業に関係する部分を予習して臨むこと(1回あたり4時間程度)。
また授業時間の終わりに解答例と予習項目を配布するとともに、宿題課題を与えるので、それらにより予習や復習をすること(1回あたり予習で4時間程度、復習で2時間程度)。解答例には教員の持つプログラミング・スキルが凝縮されて示されている場合があるので、それも含めてしっかりと吸収すること。自分の解答に対して教員から送られるコメントをしっかりと受け止める事は言うまでもない。

授業運営

毎回課題を提示し、受講生がワークステーションを使用してプログラミングする。授業計画に示した各回の内容について課題プログラムを作成する。
 課題プログラムは原則として3つであり、それぞれ定められた時間までに提出することが要求される。
 受講生を3クラスに分けて少人数授業を実施する。解らないところは担当教員や助手、学生アルバイトが助言し、個別に丁寧に指導する。また森本貴之助手、木元宏次助手、松田特別助手がそれぞれ加わるクラスがある。

評価方法

毎回の課題に対して提出されたソースコードとその実行結果、および提出時期によって評点を算出し、全課題の評点を総合して成績とする。なお第8回、第14回はアドバイスなしで行い、達成度を評価する(資料の参照は可)。

オフィスアワー

斉藤:火曜日5時間目2-219。だたし会議や出張などの時は除く。なおメールで随時質問を受け付ける。
永松:水曜日2時限目2-120-1室・会議日を除く。なおメールで随時質問を受け付ける。
張:月曜日2、3時限目6-215。だたし会議や出張の時などの時は除く。

Copyright© 2017 Kanagawa University. All Rights Reserved.