プログラミング基礎

科目基礎情報

学校 群馬工業高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 プログラミング基礎
科目番号 2J004 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 電子情報工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 プログラミング入門 C言語:浅井 宗海:実教出版:4407305364,レジュメ
担当教員 西山 勝彦

到達目標

1. 1年次のプログラミング(変数、条件分岐、繰り返し、配列、関数)が理解できる。
2. ポインタが理解できる。
3. ポインタと配列・文字列が理解できる。
4. 構造体・記憶の割り付けが理解できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目11年次のCプログラミングが十分に理解できる1年次のCプログラミングが理解できる1年次のCプログラミングが理解できない
評価項目2ポインタが十分に理解できるポインタが理解できるポインタが理解できない
評価項目3ポインタと配列・文字列が十分に理解できるポインタと配列・文字列が理解できるポインタと配列・文字列が理解できない
評価項目4 構造体・記憶の割り付けが十分に理解できる構造体・記憶の割り付けが理解できる構造体・記憶の割り付けが理解できない

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

教育方法等

概要:
前期では、課題の解決を通して1年次の復習を行う。
後期では、「ポインタ」「ポインタと配列・文字列」「構造体」「記憶の割り付け」について学習する。
授業の進め方・方法:
講義と演習を通じてプログラミングに慣れることを目標とする。
注意点:
3年次の講義や実習につながる内容なので、この機会に身に付けてください。
特にポインタはつまづきやすい内容なので、わからないことがあれば気軽に質問してください。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス、1年次の復習(1) プログラミング問題
演習問題(1)
2週 1年次の復習(2) ifによる条件分岐処理について復習する(1)
3週 1年次の復習(3) ifによる条件分岐処理について復習する(2)
演習問題(2)
4週 1年次の復習(4) forによる繰り返し処理について復習する
演習問題(3)
5週 1年次の復習(5) whileによる繰り返し処理について復習する
演習問題(4)
6週 1年次の復習(6) break文による脱出について復習する
7週 前期中間試験前までのまとめ 前期中間試験以前の単元について演習を通して理解する
8週 中間試験
2ndQ
9週 1年次の復習(7) 配列について復習する
演習問題(5)
10週 1年次の復習(8) 2次元配列について復習する
演習問題(6)
11週 1年次の復習(9) ポインタの概念を理解する(1)
12週 1年次の復習(10) ポインタの概念を理解する(2)
13週 1年次の復習(11) ビット演算を理解する
14週 1年次の復習(12) 文字列の処理を理解する(1)
15週 期末試験
16週 前期中間試験後のまとめ 前期中間試験以降の単元について演習を通して理解する
後期
3rdQ
1週 ポインタ(1) 値渡しと参照渡しおよびコマンドライン引数を理解する
2週 ポインタ(2) ポインタと配列との関係を理解する(1)
3週 ポインタ(3) ポインタと配列との関係を理解する(2)
4週 ポインタと配列・文字列(1) 多次元配列とポインタとの関係を理解する
5週 ポインタと配列・文字列(2) ポインタへのポインタを理解する
6週 ポインタと配列・文字列(3) 文字列の処理を理解する(2)
7週 後期中間試験前のまとめ 後期中間試験以前の単元について演習を通して理解する
8週 後期中間試験
4thQ
9週 ポインタと配列・文字列(4) 文字列の処理を理解する
10週 標準ライブラリ関数 文字入出力、文字列操作、ライブラリ関数を理解する
11週 構造体 構造体の作成・扱いを理解する
12週 記憶の割り付け(1) 動的メモリ確保および解放を理解する
13週 記憶の割り付け(2) malloc() 系関数により割り付けられる記憶領域とその扱いを理解する
14週 記憶の割り付け(3) malloc() 系関数により割り付けられる記憶領域とその扱いを理解する
15週 後期期末試験
16週 後期中間試験以降のまとめ 後期中間試験以降の単元について演習を通して理解する

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。4
論理演算と進数変換の仕組みを用いて基本的な演算ができる。4
コンピュータのハードウェアに関する基礎的な知識を活用できる。4
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。4
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。4
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。4
専門的能力分野別の専門工学情報系分野プログラミング変数の概念を説明できる。4
データ型の概念を説明できる。4
代入や演算子の概念を理解し、式を記述できる。4前1
制御構造の概念を理解し、条件分岐を記述できる。4
制御構造の概念を理解し、反復処理を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4前6
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4前7,後9
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4前1
主要な言語処理プロセッサの種類と特徴を説明できる。4前1
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。4前1
ソフトウェアアルゴリズムの概念を説明できる。4
与えられたアルゴリズムが問題を解決していく過程を説明できる。4前7
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4前7
整列、探索など、基本的なアルゴリズムについて説明できる。4前10
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4前1
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。4後7
ソフトウェアを中心としたシステム開発のプロセスを説明できる。4後7
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。4後7
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。4前1
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。4
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。4前1
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。4
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。4前1

評価割合

試験発表相互評価態度ポートフォリオレポート合計
総合評価割合80000020100
基礎的能力6000001575
専門的能力200000525
分野横断的能力0000000