プログラミング

科目基礎情報

学校 長岡工業高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 プログラミング
科目番号 0032 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 電気電子システム工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 (教科書) 独習C, SE SHOEISHA, atron著
担当教員 矢野 昌平

到達目標

(科目コード:21190、英語名:Programming)(授業計画の週は回と読替えること)
この科目は長岡高専の学習・教育目標の(D)と主体的に関わる。
この科目の到達目標と、各到達目標と長岡高専の学習・教育到達目標との関連を、到達目標、評価の重み、学習・教育目標との関連の順で次に示す。
①C言語の文法を理解し、エディタで仕様通りのプログラムを作成し、コンパイル・実行をすることができる。40% (d1)
②コンパイル時のエラーを解析し、プログラムを修正し再コンパイル・実行ができる。20% (d2)
③プログラミングの基本事項を理解し、プログラムの流れを把握できる。30% (d3)
④ AI/IoT・DX概略を理解し、簡単なシステムを構築できる。 10% (d1)

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安最低限の到達レベルの目安未到達レベルの目安
評価項目1C言語の文法を詳細に理解し、仕様通りのプログラムを書くことができる。C言語の文法を理解し、例題のプログラムを作成できる。C言語の文法を概ね理解し、簡単なプログラムを書くことができる。左記に達していない。
評価項目2コンパイル時のエラーの詳細を解析し、プログラムを修正し再コンパイル・実行ができる。コンパイル時のエラーを解析し、プログラムを修正し、再コンパイル・実行ができる。コンパイル時のエラーを概ね解析し、プログラムを修正し、再コンパイル・実行ができる。左記に達していない。
評価項目3プログラミングの基本事項を理解し、プログラムの流れを詳細に把握できる。プログラミングの基本事項を理解し、プログラムの流れを把握できる。プログラミングの基本事項を理解し、プログラムの流れを概ね把握できる。左記に達していない。
評価項目4IoTの概略を詳細に理解して、簡単なIoTシステムを構築し、応用できる。IoTの概略を理解して、簡単なIoTシステムを構築し、利用できる。IoTの概略を概ね理解して、簡単なIoTシステムを利用できる。左記に達していない。

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

教育方法等

概要:
身近な家電品などさまざまなものにコンピュータが組み込まれており、最近ではさらにIoTが多く導入されている。また、電気工学や電子工学の様々な問題を解くのに多くの計算を必要とするし、実験データの処理にもコンピュータを利用することが多い。製品の開発、現象の解析、実験結果の処理などあらゆる場面でコンピュータを使うが、目的にあわせてコンピュータ上で処理をするには、プログラムが必要となる。
この講義では、プログラミング言語として現在最も普及しているC言語を用いて,プログラミングの基礎を学ぶ。特に電気電子システム工学科で今後学ぶ様々な課題を解く手法としてプログラミングが利用する方法を検討する。また、IoTシステムの概略を理解し、マイコンとクラウドサービスを利用したIoTを構築する。さらにIoTの応用方法を検討する。
授業の進め方・方法:
各回の授業は、補助教材の説明と演習(教科書の例題と演習)を例に取り組む。
プログラムは、その授業時間に学ぶ内容だけでなく、それまでに学習した内容を理解していないと理解できない。例題、補助教材の内容を復習しながら、演習課題のプログラムを作成・実行する実習を行う。毎回課題があり、課題の結果(実行例)とプログラムソースなどをTeams等指定の方法で提出する。
プログラミングの応用方法、使用例として、DXのシステムの概略を理解しさらにI応用方法を検討、提案する。
注意点:
演習課題は授業時間中に出すので、欠席が目立つ場合や授業への取り組み方に問題がある場合には、課題提出が難しくなるので注意すること。
BYODを推奨している。端末室の共用PCでも学ぶことができるが、自学自習を行うためにはPCを持ち込んで受講したほうが効率的である。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 プログラミング学習の準備
IoT・AIの概略および用いられるセンサー、マイコン、クラウドサービスの働きを理解する。
2週 Cの基礎 開発環境の使い方を理解する
3週 Cの基礎 簡単なプログラムの作成方法を理解する
4週 数と変数
IoTシステムの応用
変数の種類(型)や定義、変数の読み込みや表示補法と演算のルールを含むプログラムを理解する。
参考:1,2
5週 数と変数
開発環境の使い方
デバッガ―等の開発環境の便利な使い方を理解する
6週 数と変数
ブレイクポイント、ウヲッチウインドウ
変数の中を確認する。
発生したエラーメッセージからプログラム内のミスを修正する。
7週 前期中間試験 試験時間:50分
8週 前期中間試験の解説と発展授業 前期中間試験の解答を行い、問題および解答の内容を理解する。
2ndQ
9週 制御文:配列とループ プログラムの流れを制御(分岐)命令であるdo文、while文、for文を理解する。
参考:4章
10週 制御文:配列とループ プログラムの流れを制御(分岐)命令であるdo文、while文、for文を理解する。
参考:4章
11週 制御文:配列とループ 制御文:条件付きループを理解する。
12週 制御文:真偽と条件分岐 制御文:条件付きループを理解する。
13週 制御文:真偽と条件分岐 計算の手法、プログラムの流れが異なっていても同じ演算ができることを理解する。
14週 制御文:真偽と条件分岐 前期の学習内容を確認する。
15週 学習内容を確認 前期の学習内容を確認する。
16週 前期末試験
17週:前期末試験の解説と発展授業
試験時間:50分
17週:前期末試験の解説
後期
3rdQ
1週 制御文:配列とループ プログラムの流れを制御(分岐)命令であるdo文、while文、for文を理解する。
参考:4章
2週 制御文:配列とループ プログラムの流れを制御(分岐)命令であるdo文、while文、for文を理解する。
参考:4章
3週 制御文:条件付きループ 制御文:条件付きループを理解する。
4週 制御文:条件付きループ 制御文:条件付きループを理解する。
5週 文字と文字列 計算の手法、プログラムの流れが異なっていても同じ演算ができることを理解する。
6週 文字と文字列 計算の手法、プログラムの流れが異なっていても同じ演算ができることを理解する。
7週 後期中間試験 試験時間:50分
8週 後期中間試験の解説と発展授業 後期中間試験の解答を行い、問題および解答の内容を理解する。
4thQ
9週 アドレスとポインター メモリやメモリマップドIOの基礎となる、ポインターの概念について理解する
10週 関数の作成 関数の機能と使い方を理解する。
参考:6,8章
11週 基数変換と論理演算 変数の型を復習し、10進数を2、8、16進数に変換するプログラムを理解する。
12週 関数を含むプログラムの復習 学習内容を振り返り確認する。
13週 IO 発展的内容であるIOをを理解する。
主にファイルアクセス
14週 構造体 発展的内容であるカプセル化およびオブジェクト指向の考え方を理解する
15週 まとめと演習(1) 1年間の学習内容を振り返り確認する。
16週 前期末試験
17週:前期末試験の解説と発展授業
試験時間:50分
17週:前期末試験の解説

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー論理演算と進数変換の仕組みを用いて基本的な演算ができる。3後9
情報伝達システムやインターネットの基本的な仕組みを把握している。3前1,前2,前3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3前13,前14,前15,後2,後3,後4,後5,後6,後9,後10,後12,後13,後14,後15
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3前4,前5,前6,前9,前10,前11,前12,前13,前14,前15,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13,後14,後15
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3前4,前5,前6,前9,前10,前11,前12,前13,前14,前15,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13,後14,後15

評価割合

前期中間試験前期末試験後期中間試験学年末試験レポート合計
総合評価割合1515152035100
基礎的能力00001010
専門的能力151515201580
分野横断的能力00001010