情報処理

科目基礎情報

学校 熊本高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 情報処理
科目番号 CI2203 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 4
開設学科 制御情報システム工学科 対象学年 2
開設期 通年 週時間数 4
教科書/教材 柴田望洋, 「新・明解C言語 入門編」, ソフトバンクパブリッシング
担当教員 嶋田 泰幸,寺田 晋也

到達目標

C言語を学びながら,プログラミングに必要な「きまり」を習得し,シンプルなプログラムを作成できることを目標とする.
具体的には,
1. 変数,演算,入出力,配列,文字列などのデータを取り扱うプログラムができる
2. 逐次処理,繰り返し処理,分岐処理などを利用したプログラムが作成できる
3. 関数やポインタなどC言語特有の機能を利用したプログラムが作成できる
4. 構造体を利用したプログラムが作成できる
5. Cプログラムでファイルの入出力ができる
6.フローチャートを用いてアルゴリズムを表現できる
ことを目標とする.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
データの取り扱い,配列・文字列「標準的な到達レベルの目安」に加え,応用的なプログラムが作成できる.データの型を理解し,それらに応じた四則演算を利用したプログラムが作成できる.さらに,一次元,二次元配列を利用したデータ処理ができる.また,文字列を使ったプログラムを作成できる.データの型について再学習し,四則演算,配列,文字列を用いたプログラムの作り方を再学習する必要がある.
分岐と繰り返し「標準的な到達レベルの目安」に加え,応用的なプログラムが作成できる.if文やswitch文の違いを理解し,利用したプログラムの分岐が実現できる.さらに,for文やwhile文の違いを理解し,それらを利用したプログラムが作成できる.if文とswitch文の使い方を再学習し,分岐を用いたプログラムの作り方を再学習する必要がある.for文とwhile文を使った繰り返しを用いたプログラムの作り方を再学習する必要がある.
関数,ポインタ「標準的な到達レベルの目安」に加え,応用的なプログラムが作成できる.関数の引数,返り値を理解し関数を用いたプログラムが書ける.さらに,配列の代わりにポインタを用いてデータ処理が出来る.ポインタの役割を再学習し,ポインタを利用したデータ処理方法について再学習する.
構造体「標準的な到達レベルの目安」に加え,応用的なプログラムが作成できる.構造体を理解し構造体を用いたプログラムが作成できる.構造体の利点を生かしたプログラムの作り方を再学習する必要がある.
ファイル「標準的な到達レベルの目安」に加え,応用的なプログラムが作成できる.ファイルを介し,データを取り扱うプログラムが作成できる.ファイルの取り扱うプログラムの作り方を再学習する必要がある.
アルゴリズムの基本構造とフローチャートによる表現「標準的な到達レベルの目安」に加え,応用的なアルゴリズムをフローチャートで表現できる.教科書の例題程度の類題について,アルゴリズムを考え,フローチャートで表現できる.教科書の例題程度の類題について,アルゴリズムを考え,フローチャートについて再学習する必要がある.

学科の到達目標項目との関係

教育方法等

概要:
今やコンピュータは,家電製品や自動車,ロボット,携帯電話など様々なものに使用されている.そのコンピュータの仕組みを理解し,コンピュータに思い通りの作業をさせるための知識を得ることはとても重要である.本科目ではプログラミング言語の基礎を習得する事を目的としている.対象とする言語は産業界でも多く利用されているC言語とする.
授業の進め方・方法:
従来の座学は基本的に行わず,教科書にある多くの演習問題を通して理解を深めていく.各章ごとに特に注意が必要な事項は,授業中に解説したり,WebclassやStreamまたはteamsを介して,解説する.演習問題を解く上で疑問が生じたときは,適宜担当教員に質問して良い.そのため,自発的な学習が望ましい.
さらに,理解度を確認するため,各章ごとに理解度確認テストを実施し,その評価も総合成績に加える.理解度確認テストを受けなかった場合,その評価は0点とする.また,長期休暇中には,総合演習課題を出し,それまでに習ったプログラミングスキルを活用する課題を出す場合がある.総合演習課題は自主課題であり,提出を義務付けるものではないが,提出されたレポートはレポート評価に加味する.
注意点:
各章ごとに課している演習問題(レポート)はすべてwebclassを介して提示するので,提出期限までに全レポートを提出すること.演習問題成績を総合評価のレポートの点数に反映させる.
なお,
1.以下の学生は,該当する問題だけではなく,該当する章全ての評価を0点とする.
 ・インターネット上に掲載されているプログラムなど他人が作成したプログラムをコピーした学生及びコピーさせた学生
 ・インターネット上に掲載されているプログラムなど他人が作成したプログラムの一部を意図的に真似たプログラムを提出した学生及び真似させた学生
2.提出期限を過ぎたレポートは原則,受理しない.

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス・1年の復習 本科目の学習方法について理解する.1年次に学習した内容を利用したプログラムを作成する.
2週 演算と型 データの型の違いを理解しながら,演算子を使った四則演算ができる.
3週 プログラムの流れの分岐 if文,switch文を用いた条件分岐について理解し,それを用いたプログラムが作成できる.
4週 プログラムの流れの繰り返し for文,while文を用いた繰り返しについて理解し,それを用いたプログラムが作成できる.
5週 フローチャート 繰り返しや分岐処理をフローチャートで表現できる.
6週 配列(1) 配列の宣言方法,記憶領域の確保方法について理解し,配列を用いたプログラムを記述できる.
7週 配列(2) 同上
8週 関数(1) 引数の扱い,スコープルール,再帰呼び出し等のプログラムを理解し,作成できる.
2ndQ
9週 関数(2) 同上
10週 総合演習 これまでに学んだプログラミングのスキルを用いて,与えられた課題を解決するプログラムを作成することができる.
11週 関数(3) 引数の扱い,スコープルール,再帰呼び出し等のプログラムを理解し,作成できる.
12週 関数(4) 同上
13週 基本型(1) C言語における基本的な型について学び,それぞれの型の特徴を利用したプログラムを作成できる.
14週 基本型(2) 同上
15週 まとめ 前期の学習で学んだプログラミングスキルを活用し.与えられた問題に対して自分なりのプログラムを作成できる.
16週
後期
3rdQ
1週 いろいろなプログラム(1) ユークリッドの互除法やエラトステネスのふるいなどのプログラムが作成できる.
2週 いろいろなプログラム(2) 同上
3週 文字列(1) プログラム内での文字列の扱いを理解し,それを利用したプログラムが作成できる.
4週 文字列(2) 同上
5週 ポインタ(1) 変数,配列とアドレスの概念を理解し,ポインタ操作による演算ができる.
6週 ポインタ(2) 同上
7週 ポインタ(3) 同上
8週 総合演習 後期中間四半期の学習範囲について到達度を確認する.
4thQ
9週 構造体(1) 構造体の特徴,宣言方法,使用方法を学び,構造体を使用したプログラムを作成できる.
10週 構造体(2) 同上
11週 構造体(3) 同上
12週 総合演習 これまでに学んだプログラミングのスキルを用いて,与えられた課題を解決するプログラムを作成することができる.
13週 ファイル処理(1) ファイルを利用したデータの入出力方法について学び,ファイルを使用したプログラムを作成できる.
14週 ファイル処理(2) 同上
15週 まとめ 1年間の学習で学んだプログラミングスキルを活用し.与えられた問題に対して自分なりのプログラムを作成できる.
16週

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。2後1,後2
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。2前15,後15
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。2後15

評価割合

理解度確認テスト中間評価,定期試験レポート合計
総合評価割合204040100
基礎的能力0000
専門的能力204040100
分野横断的能力0000