プログラミング基礎II

科目基礎情報

学校 石川工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 プログラミング基礎II
科目番号 20325 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 電子情報工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 高橋麻奈「やさしいC(第5版)」SB Creative/参考書: プログラミング参考資料(WebClass)
担当教員 金寺 登

到達目標

1.C言語の基本文法について理解し,説明できる。
2.変数の記法について理解し,説明できる。
3.データ型について理解し,説明できる。
4.C言語の制御文の動作を理解し,各種制御文を用いたプログラムを作成できる。
5.関数の記法と動作について理解し,関数を用いたプログラムを作成できる。
6.変数のスコープについて理解し,適切なプログラムを作成できる。
7.ポインタ変数の記法と動作を理解し,説明およびプログラムを作成できる。
8.配列について理解し,説明できる。
9.配列とポインタの関係について理解し,説明できる。
10.ポインタを用いたプログラムを作成できる。
11.文字と文字列を理解し,それを用いたプログラムを作成できる。
12.構造体を理解し,説明できる。
13.簡単なファイル入出力処理の記法を理解し,説明およびプログラムを作成できる。
14.メモリの動的確保の記法と動作を理解し,適切なプログラムを作成できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
到達目標 項目1~4C言語の基本文法について理解し,プログラムを作成できる。C言語の基本文法について理解し,簡単なプログラムを作成できる。C言語の基本文法について理解し,プログラムを作成できない。
到達目標 項目5,6関数などの概念を理解し,これらを含むプログラムを記述できる。関数などの概念を理解し,これらを含む簡単なプログラムを記述できる。関数などの概念を理解し、これらを含むプログラムを記述できない。
到達目標 項目7~14配列,ポインタ,構造体の概念を理解し,これらを含むプログラムを記述できる。配列,ポインタ,構造体の概念を理解し,これらを含む簡単なプログラムを記述できる。配列,ポインタ,構造体の概念を理解し,これらを含むプログラムを記述できない。

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

本科学習目標 1 説明 閉じる
本科学習目標 2 説明 閉じる

教育方法等

概要:
この授業では,C言語によるプログラミングの基礎とコンピュータの仕組みに詳しくなることを目指す。そのために,C言語の基本構文,ロジックの組み立て,関数,ポインタ,構造体,ファイル入出力などの他のプログラミング言語の修得にも応用可能な知識を一通り習得する。
授業の進め方・方法:
各自のノートパソコンを利用し,講義と演習を同時に実施する。
【事前事後学習など】講義内容の復習および理解を深めるために,適宜,課題を課す(長期休業中の課題を含む)。
【関連科目】プログラミング基礎 I,電子情報工学基礎 Ⅰ・Ⅱ,アルゴリズムとデータ構造,コンピュータアーキテクチャ
【MCC 対応】Ⅴ-D-1プログラミング(プログラミングの要素,ソフトウェアの作成),Ⅵ-D情報系分野(実験・実習能力:プログラミング基礎実習),情報教育対応科目
注意点:
授業中に配布したプリントは,各自でA4ファイルなどを購入して管理しておくこと。また,授業中に適宜演習を行い学習到達の確認を行います。
(プログラミング上達のコツは,とにかく自分でプログラムを組み動作を確認することです.エラーが出ることを恐れずに果敢に新しい知識にチャレンジしましょう!)
【評価方法・評価基準】成績の評価基準として50点以上を合格とする。
前期は中間試験・期末試験,後期後期は、中間試験・期末試験を実施する。
前期末:中間試験・期末試験50%,前期課題50%
学年末:年4回の試験の総合50%,前期課題25%,後期課題25%

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス C言語の基本文法について理解し,説明できる。
2週 C言語の基本(1) C言語の基本文法について理解し,説明できる。
3週 C言語の基本(2)-コンパイラの使い方 C言語の基本文法について理解し,説明できる。
4週 変数と型 変数の記法やデータ型について理解し,説明できる。
5週 式と演算子 変数の記法やデータ型について理解し,説明できる。
6週 条件分岐 C言語の制御文の動作を理解し,各種制御文を用いたプログラムを作成できる。
7週 論理演算子 C言語の制御文の動作を理解し,各種制御文を用いたプログラムを作成できる。
8週 関数 関数の記法と動作について理解し,関数を用いたプログラムを作成できる。
2ndQ
9週 変数とスコープ 変数のスコープについて理解し,適切なプログラムを作成できる。
10週 ポインタ(1) ポインタ変数の記法と動作を理解し,説明およびプログラムを作成できる。
11週 ポインタ(2) ポインタ変数の記法と動作を理解し,説明およびプログラムを作成できる。
12週 配列とポインタ(1) 配列について理解し,説明できる。
13週 配列とポインタ(2) 配列とポインタの関係について理解し,説明できる。
14週 計算機演習 ポインタを用いたプログラムを作成できる。
15週 前期復習
16週
後期
3rdQ
1週 構造体(1) - 構造体の仕組み 構造体を理解し,説明できる。
2週 構造体(2) - 構造体の使い方 構造体を理解し,説明できる。
3週 構造体(3) - 構造体の応用 構造体を理解し,説明できる。
4週 メモリの動的確保(1) - mallocとfree関数 文字と文字列を理解し,それを用いたプログラムを作成できる。
5週 メモリの動的確保(2) - リスト構造 メモリの動的確保の記法と動作を理解し,適切なプログラムを作成できる。
6週 計算機演習 メモリの動的確保の記法と動作を理解し,適切なプログラムを作成できる。
7週 計算機演習 メモリの動的確保の記法と動作を理解し,適切なプログラムを作成できる。
8週 ファイル入出力(1) - ファイルの仕組み 簡単なファイル入出力処理の記法を理解し,説明およびプログラムを作成できる。
4thQ
9週 ファイル入出力(2) - バイナリファイルとランダムアクセス 簡単なファイル入出力処理の記法を理解し,説明およびプログラムを作成できる。
10週 ファイル入出力(3) - コマンドライン引数 簡単なファイル入出力処理の記法を理解し,説明およびプログラムを作成できる。
11週 計算機演習 簡単なファイル入出力処理の記法を理解し,説明およびプログラムを作成できる。
12週 計算機演習 簡単なファイル入出力処理の記法を理解し,説明およびプログラムを作成できる。
13週 計算機演習 簡単なファイル入出力処理の記法を理解し,説明およびプログラムを作成できる。
14週 計算機演習 簡単なファイル入出力処理の記法を理解し,説明およびプログラムを作成できる。
15週 後期復習
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4前1,前2,前3,前5
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4前8,前9
変数の概念を説明できる。4前4
データ型の概念を説明できる。4前4
制御構造の概念を理解し、条件分岐を記述できる。4前6,前7
制御構造の概念を理解し、反復処理を記述できる。4前6
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4前14
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4前3
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4前14
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。4前14
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。4前14
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。4前14
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。4後11,後12
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。4後13,後14

評価割合

試験課題合計
総合評価割合5050100
基礎的能力000
専門的能力5050100
分野横断的能力000