プログラミングI

科目基礎情報

学校 米子工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 プログラミングI
科目番号 0019 科目区分 専門 / 必修
授業形態 演習 単位の種別と単位数 履修単位: 2
開設学科 電気情報工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 高橋麻奈,やさしいC,第5版,SBクリエイティブ
担当教員 本村 信一

到達目標

C言語プログラム作成の基本的な文法と,構造体やポインタなどを使いこなす技術を身につける.とくに,以下にあげる項目について工学的な応用・発展へとつなぐためのプログラミング能力を養う.
(1) 配列変数を用いて,ソート法などのデータ処理に関するアルゴリズムを学び,そのプログラムを作成できるようにする.
(2) 関数化の手法を学び,プログラムの構造化に対する理解を深める.
(3) メモリやアドレスの概念を学び,ポインタ変数を用いたプログラムの理解を深める.
(4) 構造体の仕組みを学び,自ら型を定義した上で変数を作成し,ベクトル計算などの実用的プログラムを作成できるようにする.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
配列変数を用いて,ソート法などのデータ処理に関するアルゴリズムを学び,そのプログラムを作成できるようにする.基本的な問題を解くことができる基本的な問題をある程度、解くことができる基本的な問題を解くことができない
関数化の手法を学び,プログラムの構造化に対する理解を深める.基本的な問題を解くことができる基本的な問題をある程度、解くことができる基本的な問題を解くことができない
メモリやアドレスの概念を学び,ポインタ変数を用いたプログラムの理解を深める.基本的な問題を解くことができる基本的な問題をある程度、解くことができる基本的な問題を解くことができない
構造体の仕組みを学び,自ら型を定義した上で変数を作成し,ベクトル計算などの実用的プログラムを作成できるようにする.基本的な問題を解くことができる基本的な問題をある程度、解くことができる基本的な問題を解くことができない

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

学習・教育到達度目標 A 説明 閉じる

教育方法等

概要:
この講義では,汎用コンピュータ言語として様々な用途に用いられているC言語のプログラミング演習を行う.演習を通じて,数値計算,データ処理のためのアルゴリズムや,コンピュータ・システムの基本的な事柄を学ぶ.
授業の進め方・方法:
講義と演習を交互に行い理解を深める.与えられた演習問題をこなすだけでなく,自分で問題を作ってみることが理解を深めるのに有効な手段である.演習では,出力される結果をあらかじめ予想し,効率のよいデバッグ技術を身に付けることが必要である.
注意点:
別途,学科オリジナルのC言語テキストを配布する.

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 授業ガイダンス,C言語プログラミング演習1(フローチャート) フローチャートを理解し,問題をフローチャートで解くことができる.
2週 C言語プログラミング演習2(一次元配列) 一次元配列を理解し,一次元配列を用いて問題を解くことができる.
3週 C言語プログラミング演習3(二次元配列) 二次元配列を理解し,二次元配列を用いて問題を解くことができる.
4週 C言語プログラミング演習4(ソートアルゴリズム) ソートの基本原理を理解し,バブルソートの問題を解くことができる.
5週 C言語プログラミング演習5(文字や文字列の扱い) 文字変数や文字列を理解し,文字や文字列の問題を解くことができる.
6週 C言語プログラミング演習6(文字列配列) 文字列配列を理解し,文字列配列を用いて問題を解くことができる.
7週 C言語プログラミング演習7(ここまでの総合演習) ここまで習得した技術を駆使して簡単な表計算や文字列操作などの実践的なプログラム課題を解くことができる.
8週 前期中間までの復習(前期中間試験) 前期中間までに習った内容を解くことができる.
2ndQ
9週 C言語プログラミング演習8(関数とは何か:数学関数の復習と関数の概念) C言語における関数とは何かを理解し,引数などの用語を適切に使用できる.
10週 C言語プログラミング演習9(値を返さない関数) 値を返さない関数の構文が理解でき,値を返さない関数を自作できる.
11週 C言語プログラミング演習10(値を返す関数) 値を返す関数の構文が理解でき,値を返す関数を自作できる.
12週 C言語プログラミング演習11(変数の有効範囲) 変数の有効範囲を理解し,課題に応じた適切な変数を宣言できる.
13週 C言語プログラミング演習12(再帰とは何か) 再帰を理解し、再帰を用いたプログラムを自作することができる.
14週 C言語プログラミング演習13(ここまでの総合演習) ここまで習得した技術を駆使してオリジナル関数の作成や再帰呼び出しなどの実践的なプログラム課題を解くことができる.
15週 前期期末試験 前期期末までに習った内容を解くことができる.
16週 前期期末試験までの復習 前期期末までに習った内容について,自らの課題を認識し修正できる.
後期
3rdQ
1週 C言語プログラミング演習15(メモリやアドレスの概念) メモリやアドレスの概念を理解し,変数のアドレスを表示させることができる.
2週 C言語プログラミング演習16(ポインタとは何か) ポインタの概念を理解し,ポインタを用いた問題を解くことができる.
3週 C言語プログラミング演習17(ポインタと配列) ポインタと配列の関係を理解し,ポインタを使った配列の問題を解くことができる.
4週 C言語プログラミング演習18(ポインタと文字列配列) ポインタと文字列配列の関係を理解し,ポインタを使った文字列配列の問題を解くことができる.
5週 C言語プログラミング演習19(ポインタと関数) ポインタと関数の関係を理解し,ポインタを使った関数の問題を解くことができる.
6週 C言語プログラミング演習20(ポインタの効果) ポインタを使ったプログラムの効果を説明することができる.
7週 C言語プログラミング演習21(ここまでの総合演習) ここまで習得した技術を駆使してポインタを用いた実践的なプログラム課題を解くことができる.
8週 後期中間までの復習(後期中間試験) 後期中間までに習った内容を解くことができる.
4thQ
9週 C言語プログラミング演習22(構造体の概念) 構造体の概念を理解し,構造体の構文が説明できる.
10週 C言語プログラミング演習23(構造体の宣言) 構造体の宣言を理解し,構造体を用いたプログラムが自作できる.
11週 C言語プログラミング演習24(構造体の型の定義) 構造体の型の定義を理解し,自分で定義した型を用いた構造体のプログラムが自作できる.
12週 C言語プログラミング演習25(構造体とポインタ) 構造体とポインタの関係を理解し,ポインタを使った構造体の問題を解くことができる.
13週 C言語プログラミング演習26(構造体の効果) 構造体の効果・メリットを理解し,構造体を有効に活用したプログラムを作成できる.
14週 C言語プログラミング演習27(ここまでの総合演習) ここまで習得した技術を駆使して構造体を用いた並べ替えやベクトル計算などの実践的なプログラム課題を解くことができる.
15週 学年末試験 学年末までに習った内容を解くことができる.
16週 学年末までの復習 学年末までに習った内容について,自らの課題を認識し修正できる.

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。2前1
論理演算と進数変換の仕組みを用いて基本的な演算ができる。2前1
コンピュータのハードウェアに関する基礎的な知識を活用できる。1前1
情報伝達システムやインターネットの基本的な仕組みを把握している。1前1
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。2前8,前16,後8,後16
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。2前8,前16,後8,後16
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。1
情報セキュリティの必要性および守るべき情報を認識している。1
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。1
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している1
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。1

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合70000030100
基礎的能力3000001040
専門的能力4000002060
分野横断的能力0000000