プログラミング

科目基礎情報

学校 高知工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 プログラミング
科目番号 R3015 科目区分 専門 / 必修
授業形態 講義・演習 単位の種別と単位数 履修単位: 2
開設学科 SD ロボティクスコース 対象学年 3
開設期 通年 週時間数 2
教科書/教材 M.Banzi「Arduinoをはじめよう」,「明快入門C」,プリント
担当教員 榎本 隆二,岡村 修司,芝 治也

到達目標

1.Linux上でプログラム開発を行う方法を修得し,C言語による高度なプログラミング技法を用いたプログラム開発を行うことができる。
2.マイクロコンピュータモジュールを制御するための基礎技術を修得し,制御のためのプログラム開発を行うことができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1Linuxの基本操作が行え,C言語による高度なプログラミング技法を用いたプログラムを記述することができる。C言語による高度なプログラミング技法を用いたプログラムを記述することができる。Linuxの基本操作が行えず,C言語による高度なプログラミング技法を用いたプログラムを記述することができない。
評価項目2課題をより効果的に解決するための制御プログラムを記述できる。課題を解決するための制御プログラムを記述できる。課題を解決するための制御プログラムを記述できない。
評価項目3

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

学習・教育目標 (B) 説明 閉じる

教育方法等

概要:
「プログラミング基礎」で学んだ内容を基礎とし,Linux上でプログラム開発を行うための方法を学び,C言語による高度なプログラミング技法(構造体やポインタを用いたプログラミング)の修得を目指す。Arduinoマイコンモジュールを制御するための基礎技術を学び制御プログラムの記述手法を修得する。体験的な学習を通じて,論理的思考能力の修得および問題解決能力の向上を目指す。
授業の進め方・方法:
演習内容について,教科書やプリントを用いて,1時間程度説明する。残りの時間を使って,コンピュータを用いた演習を行う。演習は動作確認を行うことで終了する。演習の内容を報告書にまとめ,次の回までに提出する。定期試験も実施する。
注意点:
単位認定には,すべての報告書が提出されていることが必要条件となる。定期試験を40%,平素の学習状況(課題等。自主性,積極性に欠ける場合には減点することもある)を20%,報告書(内容,提出期限の順守状況)を40%の割合で総合的に評価する。報告書には,作業を通じて理解できた内容,考察が含まれていること。学年の評価は前学期と後学期の平均とする。
初めから,教えてもらうつもりでは,問題を解決する能力の向上は望めない。授業中はノートをとり,わからない内容については積極的に質問すること。他の学生と相談することは構わないが,各自が主体的に取り組むことが必要である。授業時間内に作業完了しない場合には,放課後等に作業することも必要となる。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス 授業の進め方,評価方法などについて理解する。
エディタの基本操作,実行可能プログラムの作成法, ディレクトリの基本操作などについて理解する。
2週 Arduinoマイコンモジュールの概要とプログラム開発環境の使用方法について学ぶ Arduinoモジュールの構造と機能概要およびプログラム開発環境の使い方を理解する。
3週 出力ポートの活用手法について学ぶ 出力ポートに接続されたLEDの点灯回路の設計手法を理解する。実習用回路を作成する。
4週 出力ポートの活用手法について学ぶ 出力ポートに接続されたLEDの点灯制御手法を理解する。制御プログラムを実装する。
5週 入力ポートの活用手法について学ぶ 入力ポートに接続されたスイッチ回路の設計手法を理解する。実習用回路を作成する。
6週 入力ポートの活用手法について学ぶ 入力ポートに接続されたスイッチの活用手法を理解する。制御プログラムを実装する。
7週 PWM制御による電力制御について学ぶ PWM制御により電力を制御する手法を理解する。制御プログラムを実装する。
8週 PWM制御による電力制御について学ぶ PWM制御により電力を制御する手法を理解する。制御プログラムを実装する。
2ndQ
9週 モータドライブ回路とモータの回転制御手法について学ぶ ハーフブリッジ,フルブリッジ回路によるモータの回転制御手法について学ぶ
10週 モータドライブ回路とモータの回転制御手法について学ぶ モータドライブ回路とモータの回転制御プログラムを実装する。
11週 Arduino活用総合演習1 数名のグループで課題解決型演習を行う。自ら課題を設定し,Arduinoを中心とした装置により課題解決を検討する。課題解決手法を提案する。
12週 Arduino活用総合演習2 課題解決のための装置を設計する。
13週 Arduino活用総合演習3 課題解決のための装置を製作する。制御プログラムを実装する。
14週 Arduino活用総合演習4 課題解決のための装置を製作する。制御プログラムを実装する。
15週 Arduino活用総合演習。相互評価 各グループの作品を相互評価する。
16週 期末試験 1週から15週までに学んだ知識が定着していることを確認する。
後期
3rdQ
1週 AVRマイコン ATmega328Pの概要(1)
マイコン構成図,入出力多重化,入出力ポートの構造を理解する
2週 AVRマイコン ATmega328Pの概要(2) AVR CPUのコア,システムクロックとメモリ,リセット過程を理解する
3週 AVRマイコン ATmega328Pの概要(3) 割り込み関連レジスタ,ハードウエア割り込みおよびタイマー割り込みを理解する
4週 INT1-UserSW割り込みとチャタリングの処理 UserSWを用いたINT1割り込み処理を実装できる
5週 Timer2割り込みによるリアルタイム処理系の構成 Timer2割り込みとUserSWを用いてリアルタイム処理系を構成できる
6週 総合演習 実践的な課題に挑戦する
7週 総合演習 実践的な課題に挑戦する
8週 Timer1割り込みによるリアルタイム計測システムの構成 Timer1割り込みを用いて,リアルタイム計測システムを構成できる
4thQ
9週 各種Timerの関連レジスタを直接指定する 標準モジュールを利用せず,Timerの運用条件を自身で設定できる
10週 SPI,USARTを用いたシリアル通信機能(1) マイコン-PC間の通信ができる
11週 SPI,USARTを用いたシリアル通信機能(2) マイコン-マイコン間の通信ができる
12週 多機能カウンタの応用(1) 多機能カウンタを用いてエンコーダの信号処理ができる
13週 多機能カウンタの応用(2) エンコーダの正転逆転判定ができる
14週 総合演習 簡単な組み込みシステムを開発する
15週 総合演習 開発したシステムを評価し改造する
16週 学年末試験 1週から15週までに学んだ知識が定着していることを確認する。

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。3
論理演算と進数変換の仕組みを用いて基本的な演算ができる。3
コンピュータのハードウェアに関する基礎的な知識を活用できる。3
情報伝達システムやインターネットの基本的な仕組みを把握している。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3
情報セキュリティの必要性および守るべき情報を認識している。3
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。3
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している3
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。3
専門的能力分野別の専門工学機械系分野情報処理プログラムを実行するための手順を理解し、操作できる。4
定数と変数を説明できる。4
整数型、実数型、文字型などのデータ型を説明できる。4
演算子の種類と優先順位を理解し、適用できる。4
算術演算および比較演算のプログラムを作成できる。4
データを入力し、結果を出力するプログラムを作成できる。4
条件判断プログラムを作成できる。4
繰り返し処理プログラムを作成できる。4
一次元配列を使ったプログラムを作成できる。4

評価割合

試験発表相互評価平素の学習状況ポートフォリオ報告書合計
総合評価割合600020020100
基礎的能力40002001070
専門的能力1000001020
分野横断的能力100000010