プログラミングI

科目基礎情報

学校 沖縄工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 プログラミングI
科目番号 2102 科目区分 専門 / 必修
授業形態 実験・実習 単位の種別と単位数 履修単位: 2
開設学科 機械システム工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 教員作成の配布資料、USBメモリー(初日に購入)、C言語の参考書(各自購入)
担当教員 鳥羽 弘康

到達目標

C言語の文法やプログラミングの基礎を習得し、簡単なプログラムを作成する能力を身につける。
【V-A-7】情報処理 C言語の数値表現、数値計算の基本的な計算方法を理解し、プログラムを作成できる。
【Ⅳ-C-3】アルゴリズム 機械工学分野で共通的に使用される数値計算法の基礎を理解し、プログラムを作成できる。
【Ⅰ】数学 代数、積分の知識をもとにプログラム作成に応用できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安必要最低限な到達レベルの目安
C言語の文法を理解し、整数型、実数型、文字型などのデータ型を説明でき、データを入力し、算術演算および比較演算を行って条件判断し、結果を出力したり、繰り返し処理と一次元配列、二次元配列を使ったプログラムを作成できる。左に挙げた項目について出題された小テスト、定期試験、課題レポートの問題に取り組み、解答をまとめ提出できる。不正解でも、1回程度の再提出で正解を導くことができる。左に挙げた項目について出題された小テスト、定期試験、課題レポートの問題に取り組み、解答をまとめ提出できる。不正解でも、2回程度の再提出で正解を導くことができる。左に挙げた項目について出題された小テスト、定期試験、課題レポートの問題に取り組み、解答をまとめ提出できる。不正解でも、3回程度の再提出で正解を導くことができる。
数値表現などの数値計算の基礎と計算方法を習得する。左に挙げた項目について出題された課題レポートに取り組み、解答をまとめ提出できる。1回程度の再提出で正解を導くことができる。左に挙げた項目について出題された課題レポートに取り組み、解答をまとめ提出できる。2回程度の再提出で正解を導くことができる。左に挙げた項目について出題された課題レポートに取り組み、解答をまとめ提出できる。3回程度の再提出で正解を導くことができる。
工学分野で共通して使われる数値計算法を説明できる。左に挙げた項目について出題された課題レポートに取り組み、解答をまとめ提出できる。1回程度の再提出で正解を導くことができる。左に挙げた項目について出題された課題レポートに取り組み、解答をまとめ提出できる。2回程度の再提出で正解を導くことができる。左に挙げた項目について出題された課題レポートに取り組み、解答をまとめ提出できる。3回程度の再提出で正解を導くことができる。

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

教育方法等

概要:
授業は講義と演習を併用して進める。具体的には、
(1)プログラミング言語Cの文法の解説に加えて、
(2)数値計算法の代表例である連立1次方程式の解法と数値積分をとりあげて解説を行い、
(3)PC端末でのCプログラミング演習を通して、Cによる数値計算プログラミングの基礎について理解を深める。
授業の進め方・方法:
本講義では、教員作成の資料を用いて講義を進める。講義ではC言語の文法を中心に説明した後、学生が各自持参したノートPCと統合開発環境を使い、学んだことを直ちに実践に移すプログラミング演習に入る。時間を要する思考力よりも即応力の向上をはかる。なお、学習の補助として、各自、自分の実力にあったC言語の参考書を購入のこと。なお、初学者には、やさしいC第5版(ソフトバンククリエイティブ)、を推奨する。また、既に基礎を学習している学生には、新・明解C言語入門編(ソフトバンククリエイティブ)を推奨する。
注意点:
講義では、座学の後に直ちに演習に入るため、受講者には文法等の基礎的事項の記憶が要求される。また、演習では、座学で説明した内容の実践を行うため、講義への集中と指示への追従が必要となる。なお、定期試験(前期中間、前期期末、後期中間)の得点を60%、課題レポートの得点を20%、小テストの総得点を10%、講義での学習への取り組みの姿勢を10%として評価し、年間の総合得点を計算する。居眠り、テキストやノートPC等の忘れ物、は学習への取り組みの姿勢の評価で減点の対象とする。総得点の60%以上で単位を認定する。
(各科目個別記述)
・ この科目の主たる関連科目はプログラミングII(3年)である。
(モデルコアカリキュラム)
・ 対応するモデルコアカリキュラム(MCC)の学習到達目標、学習内容およびその到達目標を【】内の記号・番号で示す。
(航空技術者プログラム)
・ 【航】は航空技術者プログラムの対応項目であることを意味する。
(学位審査基準の要件による分類・適用)
科目区分 専門科目③ 関連 工学および周辺技術に関する科目

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス、Cプログラミングの基礎 C言語の概要と、C言語プログラム作成の基礎を学習する。
2週 統合開発環境のインストール、および、起動法と使用法 統合開発環境eclipseのインストール手順と、eclipseの起動法、eclipseの使い方を学習する。
3週 データ型(1) データ型の概要と、整数型の種類と、データの宣言法、計算機上での内部表現を学習する。
4週 データ型(2) 実数型、文字型の種類と、データの宣言法、計算機上での内部表現を学習する。
5週 データ型(3)、式と演算子(1) 列挙型の宣言法、計算機上での内部表現を学習する。
演算子の概要と、式の中でのデータと算術演算子の使い方を学習する。
6週 式と演算子(2) 式の中でのデータと関係演算子、論理演算子の使い方を学習する。
7週 式と演算子(3) 型変換演算子の使い方と、演算子の優先順位、式の評価法を学習する。
8週 前期中間試験 前期第1週~7週までの学習内容を試験範囲とする。
2ndQ
9週 条件分岐(1) if文と場合分けの条件式(=論理式、関係式)の使い方を学習する。
10週 条件分岐(2) if文やswitch文による条件分岐の使い方を学習する。
11週 繰り返し処理(1) 繰り返し処理のwhile文の使い方を学習する。
12週 繰り返し処理(2) 繰り返し処理のdo~while文の使い方を学習する。
13週 繰り返し処理(3) 繰り返し処理のfor文の使い方を学習する。
14週 配列(1) 1次元配列の概念と宣言法、使い方を学習する。
15週 配列(2) 多次元配列の概念と宣言法、繰り返し構文を併用する使い方を学習する。
16週 期末試験 前期第9週~14週までの学習内容を試験範囲とする。
後期
3rdQ
1週 関数(1) プログラム単位と関数の概念を学習する。
2週 関数(2) 関数とモジュールの概念、記憶クラスを学習する。
3週 関数(3) 関数の再帰呼び出しを学習する。
4週 記憶クラス 変数、関数の記憶クラスを学習する。
5週 ポインタ ポインタの宣言法と演算、変数・配列との関係を学習する。
6週 構造体 構造体の宣言法と使い方を学習する。
7週 文字列と文字列関数 文字列の扱い方と文字列ライブラリ関数を学習する。
8週 後期中間試験 後期第1週~7週までの学習内容を試験範囲とする。
4thQ
9週 高水準入出力関数(1) ファイルの概念、ファイル入力処理を学習する。
10週 高水準入出力関数(2) ファイル出力処理を学習する。
11週 数値計算の基礎 数値の表現と数値計算における誤差を学習する。
12週 連立1次方程式(1) Gauss-Jordan法による解の求め方を学習する。
13週 連立1次方程式(2) Gauss-Jordan法のプログラムを作成する。
14週 数値積分 台形公式による数値積分を学習する。
15週 並列計算の基礎 OpenMPによるスレッド並列化を学習する。
16週 学年末試験 実施せず。後期第9週~15週までの課題レポートを後期期末試験とする。

評価割合

試験小テストレポートその他合計
総合評価割合60102010100
基礎的理解30510045
応用力(実践・専門・融合)30510045
社会性(プレゼン・コミュニケーション・PBL)00000
主体的・継続的学修意欲0001010