プログラミング

科目基礎情報

学校 奈良工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 プログラミング
科目番号 0033 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 電気工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 「新・明解C言語 入門編 第2版」,SBクリエイティブ,柴田 望洋
担当教員 芦原 佑樹

到達目標

1. コンパイルの概念を理解し,説明できる.Windowsコマンドプロンプトからのファイル操作,およびgccを用いたコンパイルと実行ができる.printfやscanfを用いた基礎的なプログラムを作成できる.
2. 繰り返し文を用いたプログラムを作成できる.多次元配列や多重ループを用いて効率的な処理を行うプログラムを作成できる.
3. 関数を作成して,呼び出すことができる.変数のスコープを理解できる.整数型と実数型の内部表現の違いと注意点を理解できる.負値の内部表現を説明できる.
4. バブルソートや再帰呼び出しのアルゴリズムをプログラムで実現できる.ポインタを使用したプログラムを作成し,スコープを超えた別関数からポインタ操作ができる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1コンパイルの概念を理解し,説明できる.Windowsコマンドプロンプトからのファイル操作,およびgccを用いたコンパイルと実行ができる.printfやscanfを用いた高度なプログラムを作成できる.コンパイルの概念を理解し,説明できる.Windowsコマンドプロンプトからのファイル操作,およびgccを用いたコンパイルと実行ができる.printfやscanfを用いた基礎的なプログラムを作成できる.コンパイルの概念を説明できない.Windowsコマンドプロンプトからのファイル操作や,gccを用いたコンパイルや実行ができない.printfやscanfを用いた基礎的なプログラムを作成できない.
評価項目2繰り返し文を用いたプログラムを作成できる.多次元配列や多重ループを用いて効率的な処理を行うプログラムを作成できる.繰り返し文を用いたプログラムを作成できる.配列やループを用いた効率的な処理を行うプログラムを作成できる.繰り返し文を用いたプログラムを作成できない.配列やループを用いた効率的な処理を行うプログラムを作成できない.
評価項目3関数を作成して,呼び出すことができる.変数のスコープを理解できる.整数型と実数型の内部表現の違いと注意点を理解できる.負値の内部表現を説明できる.関数を作成して,呼び出すことができる.変数のスコープを理解できる.関数を作成や呼び出すができない.変数のスコープを理解できない.
評価項目4バブルソートや再帰呼び出しのアルゴリズムをプログラムで実現できる.ポインタを使用したプログラムを作成し,スコープを超えた別関数からポインタ操作ができる.再帰呼び出しのアルゴリズムをプログラムで実現できる.ポインタの概念を理解できる.再帰呼び出しのアルゴリズムをプログラムで実現できない.ポインタの概念を理解できない.

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

準学士課程(本科1〜5年)学習教育目標 (2) 説明 閉じる

教育方法等

概要:
携帯電話・スマートホンをはじめとして,炊飯器や洗濯機にまでマイクロコンピュータが搭載されている.そのため,ハードウェア技術だけで製品設計を行うことは難しく,必ずソフトウェアプログラミングが必要となる.本講義では,広く汎用的に使用されているC言語の基礎事項を講義する.
授業の進め方・方法:
座学に講義に加えて,実際にプログラミング演習を行うことで基本事項を確認する.
注意点:
〇関連科目
ディジタル回路,コンピュータハードウェア,組み込みシステム
〇学習指針
講義に加えて,多くの演習に取り組むことが必要である.講義中にも,実際にプログラミングを行う演習時間を確保するが,講義時間だけで技術習得することは難しい.演習室や自宅のプログラミング環境を利用して,予習復習を行うことが望ましい.
〇その他
定期試験は,前期中間・前期期末・後期中間の3回実施する.(学年末試験は行わない)
事前学習・・・あらかじめ講義内容に該当する部分の教科書を読み、理解できるところ、理解できないところを明らかにしておく。
事後展開学習・・・次回の講義までに、演習課題を自分で解いて、LMSに提出する。

学修単位の履修上の注意

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 プログラム コンピュータとプログラム
2週 C言語の開発環境 エディタ,コンパイラの使い方,printf
3週 変数 変数と宣言,代入,初期化
4週 読み込みと表示 キーボードからの読み込み,scanf,puts
5週 演算と型 演算子
6週 演算と型 データ型,型キャスト
7週 分岐 if
8週 前期中間試験 授業内容を理解し,試験問題に対して正しく解答することができる.
2ndQ
9週 分岐 switch
10週 繰り返し do,while
11週 繰り返し for
12週 繰り返し 多重ループ
13週 配列 一次元配列
14週 配列 多次元配列
15週 前期末試験 授業内容を理解し,試験問題に対して正しく解答することができる.
16週 試験返却・解答 試験問題を見直し,理解が不十分な点を解消する.
後期
3rdQ
1週 関数 関数定義,返却値,引数,
2週 関数 ヘッダ,インクルード
3週 関数 スコープ
4週 基本型 整数型,文字型
5週 基本型 内部表現とビット,補数
6週 基本型 浮動小数点型,演算子の優先順位
7週 後期中間試験 授業内容を理解し,試験問題に対して正しく解答することができる.
8週 いろいろなプログラム バブルソート
4thQ
9週 いろいろなプログラム 再帰呼び出し
10週 文字列 文字列,文字列リテラル
11週 文字列 文字配列,文字列の操作
12週 ポインタ アドレスとポインタ
13週 ポインタ ポインタと関数・配列
14週 文字列とポインタ 配列による文字列とポインタによる文字列の違い
15週 構造体 並び替え,構造体のメンバ
16週

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

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

評価割合

試験演習レポート合計
総合評価割合6040100
基礎的能力6040100