シラバス

授業科目
プログラミング演習Ⅰ
担当教員
高橋
単位数
2
必修・選択
必修
対象学年
1年
ナンバリング
320
伸弥
コード
DP との対応関
本科目は、学科の掲げるディプロマポリシー
3. 与えられた課題を達成する過程において、自ら問題を発見、整理、解決する
係
基礎能力と工学テザイン能力
に対応する。
教育目的
人が頭の中で思い描いた仕事をコンピュータに行わせるには、処理の内容をコン
ピュータが実行可能なアルゴリズムとして記述し、取り扱われるデータを適切な
データ構造により表現したうえで、コンピュータが理解することのできるプログ
ラム言語の形式で実装することが必要である。
本演習では、環境ロボティクス学科の学生が、この一連の開発工程を遂行するため
に要求されるプログラミングの基礎力を身につけることを目的とし、講義と演習
およびアクティブラーニングを交えた形式による授業を行う。代表的なプログラ
ミング言語である C を用い、必携 PC にインストールした開発環境を利用する。
【キーワード】
C 言語、アルゴリズム、フローチャート、分岐、繰り返し、配列、文字列、ファイ
ル入出力、関数、ポインタ、値渡しと参照渡し、構造体
【授業形態】
演習
教
育
目
標
【授業の概要】
本演習は、学習内容に関する解説とその内容に関するプログラム作成とから構成
される。
【到達目標】
(a) コンピュータに行わせたい仕事の内容をアルゴリズムやフローチャートの形
式で表現できるようになること
(b) コンピュータに行わせたい仕事の内容を、制御文を組み合わせることによりプ
ログラムソースコードとして実装できるようになること
(c) 関数を利用したプログラミングができるようになること
(d) 構造体を利用したプログラミングができるようになること
授業計画
(1) 導入:値、式、算術関数
(2) 制御文 1:分岐
(3) 制御文 2:反復
(4) 配列 1:一次元配列
(5) 配列 2:多次元配列
(6) アクティブラーニング 1:【TBL によるプログラミング開発】
(7) アクティブラーニング 2:【TBL によるプログラミング開発】
(8) 文字列
(9) ファイル入出力
(10) 関数 1:関数の作り方、引数と戻り値
(11) 関数 2:関数スタック、変数スコープ
(12) ポインタ
(13) 関数 3:値渡しとポインタ渡し
(14) 構造体 1:構造体の作り方
(15) 構造体 2:構造体と関数
文献・教材
新版 C 言語プログラミングレッスン~入門編、結城浩著
成績評価の基
工学部専門科目履修内規に定める成績評価基準
準
秀:評点 90 点以上
(到達目標を特に優秀な水準で達成している)
優:評点 80~89 点
(到達目標を優秀な水準で達成している)
良:評点 70~79 点
(到達目標を良好に達成している)
可:評点 60~69 点
(到達目標の必要最低限は達成している)
不可:評点 60 点未満
成績評価方法
(到達目標の必要最低限を達成していない)
全授業への出席を前提としたうえで、
(i) 事前チーム学習(20%)
(ii) 個別レポート(40%)
(iii) 小テスト(20%)
(iv) アクティブラーニング(20%)
の採点結果に基づき、
教育目標(a), (b), (c), (d) に対して(i), (ii), (iii)
教育目標(a), (b) に対して (i), (ii), (iii), (iv)
として成績評価を行う。
事前に履修し
1年前期:情報・数量スキル
ておくことが
1年後期:コンピュータ基礎
望ましい科目
2年前期:プログラミング演習Ⅱ
等
教育目標を達
【グループ別の指標】
成するための
事前チーム学習:
手段
毎回の授業内容を正しく理解するために授業準備を行う。これは、

指定したサンプルプログラムのコンピュータへの入力を済ませておく。

資料中で用いられている用語とその意味を把握しておく。

予習した結果、自分なりに理解できる/理解できない点を明確にしておく。

その回を担当するリーダーが主体となって学習内容の概略をメンバーに解説
し、事前チーム学習レポートをとりまとめる。
アクティブラーニング:
第 6-7 回目に TBL 形式による演習を実施する。チームごとに設定したテーマのプ
ログラムを実現するためのアルゴリズムの設計を行い、これをもとにプログラム
の開発を行い、プレゼンテーション(実演を交えたプログラムの解説と討論)を行
う。
【個人別の指標】

各回の個別課題:各回において授業の理解度を個別に評価するために与える
提出課題。

年越し課題:冬季休業などのまとまった自学自習の時間が確保できる時期に
実施する。比較的規模の大きいプログラムに触れ、疑問点を明らかにし、調べ、
解決するプロセスを体験することによりプログラミング能力の底上げを図
る。

小テスト:学生の理解度の把握と自学自習を促すために適当なタイミングで
実施する。
その他
授業内容は、前回までの内容を積み上げていくものになっているため、毎回の授業
内容をしっかりと習得していくことが重要である。これを達成するために
【授業の事前準備について】
演習内容の理解のために i)事前チーム学習の準備を行うこと。これには毎週1時
間程度の時間を要するものとする。具体的な予習内容を以下に示す。
(1) 必携 PC 上で C のプログラムをテキストエディタにより作成し、コンパイル
し、実行するための環境設定を済ませておくこと。
(2) if 文、if-else 文、switch 文の違いに関して調べておくこと。
(3) while 文と for 文の使い方について調べておくこと。
(4) 一次元配列の宣言とアクセスに方法について理解しておくこと。
(5) 二次元の配列の使い方と、(3)で学んだループ処理について復習しておくこと。
(6)-(7) アクティブラーニングのため、(1)-(5)の範囲の内容について復習を行って
おくこと。
(8) 一次元配列、二元配列について復習しておくこと。
(9) 関数 printf()と scanf()の使い方について復習しておくこと。
(10) 関数を利用するための 3 つの手順(関数のプロトタイプ宣言、関数定義、関
数呼び出し)をプログラム上に記述する方法について予習しておくこと。
(11) ローカル変数という用語の意味について調べておくこと。
(12) 変数とアドレスの関係について調べておくこと。
(13) 関数についての基礎(10)- (11) に関して、特に引数と戻り値について理解して
おくこと。また、(12)で学習したポインタについて、特に間接演算子の使い方につ
いて正しく理解しておくこと。
(14) 構造体の宣言、構造体変数の宣言、構造体変数へのアクセス方法について調
べてくこと。
(15) 関数の引数と戻り値について復習しておくこと。
【授業後の学習について】
毎週1時間程度は復習の時間にあて、不明な点を残さないようにすること。具体的
には、各回で提示された課題に対して適切な回答、その回に取り扱ったテーマのプ
ログラムが作れるようになっておくこと。
【タイピング練習】
演習時間中に考える時間を確保するためには、タイピングの能力を日頃から養っ
ておく必要があることを意識し、日頃からキーボードに触れるようなコンピュー
タの利用を心がけること。
【持参品について】
必携 PC と電源ケーブルを毎回の授業時に必ず持参すること。故障等の不具合で
利用できない場合には各自で代替え機を用意すること。もしできなかった場合に
は、事前に教員に連絡すれば可能な限り対応する。また、プログラムの内容を理解
するためには、図を描くことが効果的である。そのために筆記具も持参すること。
オフィスアワ
月曜時間割 16:30-17:30
ー
参考 URL
http://www.cc.miyazaki‐u.ac.jp/takahasi/