シラバス
※学期中に内容が変更になることがあります。

2020年度


11422017-001 

△プログラミングⅠ-1
Programming I-1
4単位/Unit  秋学期/Fall  京田辺/Kyotanabe  講義/Lecture

  日和 悟 廣安 知之 中村 祐士 髙柳 真司

<概要/Course Content Summary>

本講義では,プログラミング経験のない学生を対象に,Arduinoを用いたプログラミング演習を通じてC言語の基礎と組み込みシステムの仕組みについて学習する。また,C#言語を用いたWindowsアプリケーション開発についても学習し,組み込みシステムと汎用システム双方でのシステム開発を行うことができる人材を育成する。 
 
具体的には,講義前半ではArduinoにさまざまなセンサー・デバイスを接続し,デバイスの制御プログラムを作成する。講義後半では,Arduinoで計測されたデータをPCに取り込み,表示するモニタリングソフトウェアをC#言語により作成する。なお,本講義は演習・実習を中心に行う。

<到達目標/Goals,Aims>

Arduinoを用いたデバイスセンシングソフトウェアを実装できるようになること。 
C#言語によるFormアプリケーションを実装できるようになること。 
シリアル通信の仕組みを理解し,通信ソフトウェアを実装できるようになること。

<授業計画/Schedule>

(実施回/
Week)
(内容/
Contents)
(授業時間外の学習/
Assignments)
(実施回/ Week) 1-1  (内容/ Contents) 講義: 組込みシステムとArduino  (授業時間外の学習/ Assignments) 全体の予習および準備(1時間) 
(実施回/ Week) 1-2,3  (内容/ Contents) 演習: Arduinoをさわってみよう  (授業時間外の学習/ Assignments) 全体の予習および準備(1時間) 
(実施回/ Week) 2-1  (内容/ Contents) 講義: Arduinoのハードウェアとデジタル/アナログ出力  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 2-2,3  (内容/ Contents) 演習: Arduinoに電子部品をつなげてみよう(デジタル入力)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 3-1  (内容/ Contents) 講義: 確認クイズ その1  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 3-2,3  (内容/ Contents) 演習: 確認クイズの復習と再試  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 4-1  (内容/ Contents) 講義: デジタルとアナログ(A/D変換)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 4-2,3  (内容/ Contents) 演習: Arduinoで測ってみよう(アナログ入力+シリアル通信 その1) 
 
(授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 5-1  (内容/ Contents) 講義: シリアル通信の仕組み その1  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 5-2,3  (内容/ Contents) 講義: シリアル通信の仕組み その2  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 6-1  (内容/ Contents) 演習: 確認クイズ その2  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 6-2,3  (内容/ Contents) 講義: 配列/Arduino 自主製作演習 その1  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 7-1  (内容/ Contents) 演習: Arduino 自主製作演習 その2  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 7-2,3  (内容/ Contents) 演習: Arduino 自主製作演習 その3  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 8-1  (内容/ Contents) 演習: Formアプリケーションを作ろう その1(C#とは)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 8-2,3  (内容/ Contents) 演習: Formアプリケーションを作ろう その2(配列とクラス)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 9-1  (内容/ Contents) 演習: Formアプリケーションを作ろう その3(繰り返し)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 9-2,3  (内容/ Contents) 演習: Formアプリケーションを作ろう その4(条件分岐)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 10-1  (内容/ Contents) 演習: Formアプリケーションを作ろう その5(ファイル入出力)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 10-2,3  (内容/ Contents) 演習: Formアプリケーションを作ろう その6(シリアル通信)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 11-1  (内容/ Contents) 演習: デバイスモニタリングソフトを作ろう その1(FormアプリケーションによるArduinoとの通信の概要説明)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 11-2,3  (内容/ Contents) 演習: デバイスモニタリングソフトを作ろう その2(画面設計,通信確立/切断,受信処理部作成)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 12-1  (内容/ Contents) 演習: デバイスモニタリングソフトを作ろう その3(データ表示部,ファイル保存機能作成)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 12-2  (内容/ Contents) 演習: 自主製作演習 その1(企画)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 13-1  (内容/ Contents) 演習: 自主製作演習 その2(仕様設計)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 13-2,3  (内容/ Contents) 演習: 自主製作演習 その3(実装)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 14-1  (内容/ Contents) 演習: 自主製作演習 その4(実装)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 14-2,3  (内容/ Contents) 演習: 自主製作演習 その5(実装)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 15-1  (内容/ Contents) 演習: 自主製作演習 その6(実装・発表準備)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 
(実施回/ Week) 15-2,3  (内容/ Contents) 演習: 自主製作演習 発表会(5講時)/確認クイズ(6講時)  (授業時間外の学習/ Assignments) 予習,講義および演習内容の復習,レポートの作成(1時間) 

自身のPCとArduinoを使った実技課題が時間の大半を占める。そのため,自身のPCとArduinoおよび各種センサーの操作が必須。 
受講者の学習状態に合わせて内容の変更の可能性あり。 
日程の兼ね合いで,授業内容が前後する可能性あり。 
授業内でディスカッションあり。

<成績評価基準/Evaluation Criteria>

提出物(プログラム等,提出を指示されたもの)  20%  課題として要求された事項が対応できているかを中心に評価する。 
自主製作演習評価  20%  自主製作演習の課題内容および発表を評価する。 
レポート試験(中間/期末)  50%  中間レポートと期末レポートを課す。体裁や要求事項を満たしているかをベースとして,独自性(講義外の内容等をどれだけ調査できたか)も加えて総合的に評価する。 
その他  10%  授業中に行う確認クイズおよびディスカッション。 
特記事項    1)授業計画コメントをよく読むこと。 
2)グループ学習を行う場合あり。個人の評点だけでなく,グループとして共同作業の評価も行う。グループ学習が実効できない学生は,単位取得不可の可能性あり。 
3)出席,レポートすべて提出しても,演習時に極端に真摯な態度で授業に参加できない場合には,単位取得不可の可能性あり。 
4)課題およびレポートの提出は必須。課題の提出がなされない場合には,単位取得不可の可能性あり。 
5)不正行為は絶対に許されない。 

 

<成績評価結果/Results of assessment>   成績評価の見方について/Notes for assessment

    

登録者数

成績評価(%)

評点
平均値

備考

A B C D F
112 17.0 31.3 26.8 11.6 13.4 0.0 2.3

<テキスト/Textbook>

猪股 俊光  『Arduinoで学ぶ組込みシステム入門』 (森北出版、2018) ISBN:978-4-627-81831-6 

 

粂井 康孝  『猫でもわかるWindowsプログラミング C#版 (猫でもわかるプログラミング) 』 (SBクリエイティブ、2013) ISBN:4797370882 

 

<参考文献/Reference Book>

高本孝頼  『みんなのArduino入門』(リックテレコム、2014)ISBN:489797948X 
 

Massimo Banzi  『Arduinoをはじめよう』第3版 (オライリージャパン、2015)ISBN:487311733X 
 

福田 和宏  『電子部品ごとの制御を学べる! Arduino 電子工作 実践講座』(ソーテック社、2018)ISBN:480071219X 
 

<備考/Remarks>

・プログラミングを行うために,毎授業,ノートPCの持参(Windows 10以上,Visual Studio※)が必要。ノートPCを持参しない場合には,受講不可。機材は一切貸し出さない。 
・ノートPCの不具合による不利益は,受講者が責任を持つこと(PCの動作などの保証は教員は行わないし,修理もしない。)。 
・本講義では,AVRマイコンの一つであるArduinoを使用する。Arduinoおよびその他の教材の購入については講義開始前に別途連絡する。 
・担当教員の連絡先,連絡方法については,初回の授業で説明を行う。 
・担当教員との連絡方法が不明な場合には,生命医科学部事務室もしくは教務センターを通じて連絡をとること。 
・COVID-19感染拡大等の不測の事態により,対面講義をオンライン講義に移行する場合がある。また,それに応じてシラバスの内容:成績評価基準や講義計画等を変更する場合がある。その場合は講義中やe-class/DUETを通じて学生に通知する。 
※無償利用可能なedition(Community等)で問題ない。 
 
 

 

お問合せは同志社大学 各学部・研究科事務室まで
 
Copyright(C) 2020 Doshisha University All Rights Reserved. 無断転載を禁止します。