プログラミング基礎I

科目基礎情報

学校 熊本高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 プログラミング基礎I
科目番号 0004 科目区分 一般 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 1
開設学科 生物化学システム工学科 対象学年 1
開設期 後期 週時間数 2
教科書/教材 Cの絵本 (株)アンク著 翔泳社
担当教員 村田 美友紀,米沢 徹也,藤本 洋一,小島 俊輔

到達目標

1. コンピュータ内での数値や文字の表現方法を説明できる.
2. Cプログラムの作成から実行までの処理ができる.
3. 変数と代入,標準入出力を用いたプログラムが作成できる.
4. 条件分岐を含むプログラムを作成でき,変数の動きをトレースできる.
5. 反復処理を含むプログラムを作成でき,変数の動きをトレースできる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
コンピュータ内での数値や文字の表現方法を説明できる. コンピュータ内での数値や文字の表現方法を説明できる. コンピュータ内での数値や文字の表現方法を説明できる. コンピュータ内での数値や文字の表現方法を説明できない.
Cプログラムの作成から実行までの操作ができる. Cプログラムの作成から実行までの操作ができ,その流れについて説明できる. Cプログラムの作成から実行までの操作ができる. Cプログラムの作成から実行までの操作ができない.
変数と代入,標準入出力を用いたプログラムが作成できる.すべての課題を提出し, 変数と代入,標準入出力を用いたプログラムが作成できる.すべての課題を提出し,変数と代入,標準入出力を用いたプログラムが作成できる.すべての課題を提出していない,もしくは変数と代入,標準入出力を用いたプログラムが作成できない.
条件分岐を含むプログラムを作成でき,変数の動きをトレースできる. すべての課題を提出し,条件分岐を含むプログラムを作成でき,変数の動きをトレースできる.また,問題に応じ適切な条件分岐構文を選択できる.すべての課題を提出し,条件分岐を含むプログラムを作成でき,変数の動きをトレースできる.すべての課題を提出していない,もしくは条件分岐を含むプログラムを作成でない,もしくは数の動きをトレースできない.
反復処理を含むプログラムを作成でき,変数の動きをトレースできる.すべての課題を提出し,反復処理を含むプログラムを作成でき,変数の動きをトレースできる.また,問題に応じ適切な反復処理構文を選択できる.すべての課題を提出し,反復処理を含むプログラムを作成でき,変数の動きをトレースできる.すべての課題を提出していない,もしくは反復処理を含むプログラムを作成でない,もしくは数の動きをトレースできない.

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

教育方法等

概要:
現代は計算機システムだけでなく家庭電気製品にいたるまでプログラムによって制御されており,将来技術者として活躍する高専生にとって,プログラムの基本的な知識の習得は必須である.本科目では,与えられた課題をコンピュータを使って解決するために必要な基礎知識の習得を目指す.プログラミング言語としては,もっとも広く利用されているC言語を用いる.
授業の進め方・方法:
教科書に従って授業を進めるが項目に応じて,別途資料を配布する.多くの演習問題を取り入れ,学習内容の修得を目指す.授業の内容で分からないところは質問するなど不十分なままにしない.サンプルプログラムをただ入力するだけでなく,なぜそうする?こうしたらどうなる?と考えながら演習に取り組むことが重要である.
注意点:
数学で公式だけ知っていても問題が解けないように,プログラムも構文を知っているだけでは,プログラムを作成することはできません.演習問題を含め多くのプログラムを作成することが目標達成につながります.プログラムが正しく動作しないときはバグ(誤り)を見つけ,修正する作業が必要ですが,この過程は皆さんの問題発見・解決能力を磨くことにつながると期待しています.
質問や相談は,直接,あるいはメールで随時受け付けます.また教員室前に所在を示し,在室時間等も掲示しておくので活用してください.

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 ガイダンス
プログラミングの作成から実行まで
・C言語プログラムの作成から実行までを操作できる.
・プログラムの実行における各装置の役割とデータの流れを説明できる.
2週 コンピュータ内部での整数,実数,文字,文字列の表現
定数と変数
・データの種類によるコンピュータ内部での表現方法の違いがあることを説明できる.
・格納するデータに適した変数が定義できる.
3週 printfの書式設定
演算子
コーディングスタイル
・代入演算子,演算子を使ったコードが書ける
・比較演算子,論理演算子を使って条件式が書ける
・適切なコーディングスタイルでプログラムが書ける
4週 標準入力
・scanf, gets, getcharを使ったコードが書ける


5週 フローチャート ・フローチャートが書ける
6週 if文 ・if文を使った選択処理のコードが書ける
7週 if文の入れ子 ・if文の入れ子を使った選択処理のコードが書ける
8週 中間試験
4thQ
9週 中間試験の返却と解説
switch文
・switch文を使った分岐処理のコードが書ける
・if文との使い分けができる
10週 for文 ・for文を使った反復処理のコードが書ける
11週 2重ループ(反復処理) ・for文を使った2重ループのコードが書ける
12週 while文,do while文 ・while文,do while文を使った反復処理のコードが書ける
・for文,while文,do while文の違いを説明できる
13週 ループ(反復処理)の制御 ・break文,continue文を使ってループを制御するコードが書ける
14週 課題実習
・条件分岐や繰り返し処理のプログラムが書ける.
15週 [期末試験]
16週 期末試験の返却と解説

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。1後5
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。1後5
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。1後14
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。2後2
変数の概念を説明できる。1後2
データ型の概念を説明できる。1後2
制御構造の概念を理解し、条件分岐を記述できる。1後6,後7,後9
制御構造の概念を理解し、反復処理を記述できる。1後10,後11,後12,後13
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。1後14
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。1後1
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。1後7
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。1後1
ソフトウェアアルゴリズムの概念を説明できる。1後5
計算機工学整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。2後2

評価割合

試験課題小テスト合計
総合評価割合702010100
基礎的能力50101070
専門的能力2010030
分野横断的能力0000