プログラミング基礎

科目基礎情報

学校 徳山工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 プログラミング基礎
科目番号 0021 科目区分 専門 / 必修
授業形態 演習 単位の種別と単位数 履修単位: 2
開設学科 機械電気工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 筧捷彦 石田晴久、「入門C言語」、実教出版社
担当教員 石田 浩一

到達目標

情報技術をベースに、実体験を通して表現力をみつつけるため,
(1)コンピュータの基本的なしくみと情報処理方法が理解できる。
(2)C言語の基礎的関数を理解し、配列・ユーザ関数を用いたプログラムを作成できる。
(3)簡単なArduinoプログラムを作成し、Arduinoにプログラムの書き込みができる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
コンピュータの仕組みプログラムの構文をよく理解している。プログラムの構文を概ね理解している。プログラムの構文が理解できていない。
プログラムの作成プログラムを考えて作成できる。プログラムを概ね作成できる。プログラムを作成できない。
arduinoプログラムarduinoをプログラムし動作させることが出来るarduinoを概ねプログラムし動作させることが出来るarduinoをプログラムし動作させることが出来ない

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

到達目標 B 1 説明 閉じる

教育方法等

概要:
最近の機械にはコンピュータが組み込まれ、よりきめ細かく正確に制御できるシステムが求められるようになっている。このような時代の流れに対応できるメカトロニクス技術者として活躍するために、それらを制御するコンピュータ言語(C言語)の基礎知識、およびプログラミングの開発手法を学習しプログラミング出来ることを目指す。学習する内容は、(1)コンピュータの動作原理 (2)入出力処理 (3)条件分岐・繰返し処理 (4)配列 (5)文字列および数学関数 (6)ユーザ関数 (7)ファイル処理 (8)ビット演算 (9)arduinoプログラム である。
授業の進め方・方法:
授業の内、前半は例題プログラムをもとに説明し、後半分は実際にコンピュータを用いて演習する。演習内容は基本的に、授業で説明したプログラムの動作確認および、それを応用したプログラムの作成である。理解度の確認は、演習(小テスト)、各週毎の課題にて行う。
注意点:
最終成績=期末試験(100点満点)平均×0.5+小テスト(10点満点)平均×3+態度(レポートの提出状況)

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 プログラミング言語の基礎とArduino
C言語の役割について説明し、プログラムの作成方法について学び基本を理解できる。また,制御用コンピュータボードのArduinoについて学び基本を理解できる。
2週 プログラムの作成手順 演習に使うC言語ソフトの使い方を習得できる。
3週 入出力関数とデータおよび変数の型、出力の書式 printf文を使った出力処理、scanf文を使った入力処理について理解する。整数、小数、文字などの扱いが出来る。
4週 演算子とこれまでのまとめ 算術演算、代入演算処理等について理解できる。これまでの内容で小テストを行う。
5週 条件・分岐処理(関係演算子) 条件・分岐を行うプログラムをif文、if~else文を用いて作成できる。
6週 条件・分岐処理(論理演算子) if文、if~else文が入れ子になったプログラムを作成できる。論理演算子を理解できる。
7週 条件・分岐処理(switch文)とこれまでのまとめ 多分岐(switch文)の使い方を理解できる。これまでの内容で小テストを行う。
8週 繰返し処理(while文、数学関数) while文を用いた繰返し処理を理解できる。数学関数を用いたプログラムを作成できる。
2ndQ
9週 繰返し処理(for文) 繰返しを行うプログラムをfor文を用いて作成できる。
10週 繰返し処理(無限、2重ループ)とこれまでのまとめ 無限ループや2重ループを理解できる。これまでの内容で小テストを行う。
11週 配列(1次元配列) 配列変数について理解できる。1次元配列を用いたプログラムを作成できる。
12週 配列(ソート法) 配列データから最大値の求め方およびソート法について理解できる。
13週 配列(2次元配列) 2次元配列を理解し、文字列の処理を行うプログラムを作成できる。
14週 配列(文字列の操作)とこれまでのまとめ ASCIIコードおよび文字列操作関数の使い方を理解できる。これまでの内容で小テストを行う。
15週 期末試験 前期中に学習した範囲の理解度を確認する。
16週 答案返却など 前期末テストの解説および解答を行う。また試験問題に関連した課題について演習し理解できる。
後期
3rdQ
1週 前期の復習 これまでの復習を行い理解できる。これまでの内容で小テストを行う。
2週 関数 ユーザ関数(引数のないもの)を学習し,ローカル変数とグローバル変数を理解できる。
3週 戻り値のある関数1 戻り値のある関数を使ったプログラムを作成できる。
4週 戻り値のある関数2とこれまでのまとめ 戻り値のある関数を使ったプログラムを作成できる。これまでの内容で小テストを行う。
5週 引数のある関数1 引数のある関数を使ったプログラムを作成できる。
6週 引数のある関数2 引数のある関数を使ったプログラムを作成できる。これまでの内容で小テストを行う。
7週 ビット操作とこれまでのまとめ ビット演算の方法を理解できる。これまでの内容で小テストを行う。
8週 アドレスとポインタ アドレスとポインタについて理解できる。
4thQ
9週 アドレスとポインタ ポインタを用いた関数を使ったプログラムを作成できる。これまでの内容で小テストを行う。
10週 ポインタと文字配列とこれまでのまとめ 文字配列とポインタによる処理を使ったプログラムを作成できる。これまでの内容で小テストを行う。
11週 Arduinoプログラム1 Arduinoを使ったプログラムを作成できる。
12週 Arduinoプログラム2 Arduinoプログラムの作成およびarduinoへの書き込みを使ったプログラムを作成できる。
13週 Arduinoプログラム3とこれまでのまとめ Arduinoを用いてLEDを点滅させるプログラムを作成できる。
14週 まとめ これまでのまとめとして実用的なプログラミング作成能力を養うための演習を行い,それらのプログラムを作成できる。
15週 期末試験 開設期を通して学習した範囲の理解度を確認する。
16週 答案返却など 後期末テストの解説および解答を行う。

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学機械系分野情報処理プログラムを実行するための手順を理解し、操作できる。2前1,前2,前3
定数と変数を説明できる。2前4
整数型、実数型、文字型などのデータ型を説明できる。2前4
演算子の種類と優先順位を理解し、適用できる。2前4
算術演算および比較演算のプログラムを作成できる。2前4,前5,前6
データを入力し、結果を出力するプログラムを作成できる。2前3
条件判断プログラムを作成できる。2前5,前6,前7,前8,前9,前10
繰り返し処理プログラムを作成できる。2前8,前9,前10
一次元配列を使ったプログラムを作成できる。2前11,前12

評価割合

試験小テスト態度合計
総合評価割合503020100
基礎的能力10202050
応用能力2010030
複合解決能力200020