情報処理

科目基礎情報

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

到達目標

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

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
データの取り扱い,配列・文字列「標準的な到達レベルの目安」に加え,応用的なプログラムが作成できる.データの型を理解し,それらに応じた四則演算を利用したプログラムが作成できる.さらに,一次元,二次元配列を利用したデータ処理ができる.また,文字列を使ったプログラムを作成できる.データの型を理解できない.四則演算を用いたプログラムを作成できない.配列の役割が理解できない.配列を用いたデータ処理ができない.文字列を扱ったプログラムが作成できない.
分岐と繰り返し「標準的な到達レベルの目安」に加え,応用的なプログラムが作成できる.if文やswitch文の違いを理解し,利用したプログラムの分岐が実現できる.さらに,for文やwhile文の違いを理解し,それらを利用したプログラムが作成できる.if文とswitch文の違いが分からない.分岐を用いたプログラムが作成できない.for文とwhile文の違いが分からない.繰り返しを用いたプログラムが作成できない.
関数,ポインタ「標準的な到達レベルの目安」に加え,応用的なプログラムが作成できる.関数の引数,返り値を理解し関数を用いたプログラムが書ける.さらに,配列の代わりにポインタを用いてデータ処理が出来る.独自の関数を利用したプログラムが作成できない.ポインタの役割が理解できない.ポインタを利用したデータ処理ができない.
構造体「標準的な到達レベルの目安」に加え,応用的なプログラムが作成できる.構造体を理解し構造体を用いたプログラムが書ける.構造体の利点を生かしたプログラムが作成できない.
ファイル「標準的な到達レベルの目安」に加え,応用的なプログラムが作成できる.ファイルを介し,データを取り扱うプログラムが作成できる.ファイルの取り扱うプログラムが書けない.

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

教育方法等

概要:
今やコンピュータは,家電製品や自動車,ロボット,携帯電話など様々なものに使用されている.そのコンピュータの仕組みを理解し,コンピュータに思い通りの作業をさせるための知識を得ることはとても重要である.本科目ではプログラミング言語の基礎を習得する事を目的としている.対象とする言語は産業界でも多く利用されているC言語とする.
授業の進め方・方法:
従来の座学は基本的に行わず,教科書にある多くの演習問題を通して理解を深めていく.演習問題を説く上で疑問が生じたときは,適宜担当教員に質問して良い.そのため,自発的な学習が望ましい.
注意点:
演習レポートはすべてwebclassやblackboardなど学習支援システムを介して提示するが,全レポートを提出すること.また,提出期限を過ぎたレポートは受理しないので遅れないように気をつけること.

授業計画

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

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。2前8,前15,後1,後2,後8,後15
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。2前8,前15,後1,後2,後8,後15
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。2前8,前15,後1,後2,後8,後15
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。2前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前15,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。2前12,前13,前14,前15,後12,後13,後14,後15
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。2前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。2前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15
ソフトウェアアルゴリズムの概念を説明できる。2後1,後2,後3,後15
与えられたアルゴリズムが問題を解決していく過程を説明できる。2後1,後2,後3,後15
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。1後1,後2,後3,後15
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。2前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。2前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,後1,後2,後3,後4,後5,後6,後7,後8,後9,後10,後11,後12,後13,後14,後15
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。2前2,前3,前4,前5,前6,前7,前8,前9,前10,前11,前12,前13,前14,前15,後1,後2,後3,後4,後5,後7,後8,後9,後10,後11,後12,後13,後14,後15

評価割合

試験レポート合計
総合評価割合6040100
基礎的能力000
専門的能力6040100
分野横断的能力000