プログラミング基礎

科目基礎情報

学校 群馬工業高等専門学校 開講年度 平成29年度 (2017年度)
授業科目 プログラミング基礎
科目番号 0002 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 電子情報工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 プログラミング入門 C言語:浅井 宗海:実教出版:4407305364
担当教員 大墳 聡,J科 教員

到達目標

1. 1年次のプログラミング(変数、条件分岐、繰り返し、配列、関数)が理解できる。
2. ポインタが理解できる。
3. 構造体が理解できる。
4. ファイル操作が理解できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目11年次のCプログラミングが十分に理解できる1年次のCプログラミングが理解できる1年次のCプログラミングが理解できない
評価項目2ポインタが十分に理解できるポインタが理解できるポインタが理解できない
評価項目3構造体が十分に理解できる構造体が理解できる構造体が理解できない
評価項目4 ファイル操作が十分に理解できるファイル操作が理解できるファイル操作が理解できない

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

準学士課程 B-2 説明 閉じる
準学士課程 C 説明 閉じる

教育方法等

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス、1年次の復習(1) 本講義の進め方を理解し、C言語における変数,代入,データ型,演算子について復習する
2週 1年次の復習(2) ifやswitchによる条件分岐処理について復習する
3週 1年次の復習(3) forによる繰り返し処理について復習する
4週 1年次の復習(4) whileによる繰り返し処理について復習する
5週 1年次の復習(5) 配列について復習する
6週 1年次の復習(6) ライブラリ関数について復習する
7週 前期中間試験前までのまとめ 前期中間試験以前の単元について演習を通して理解する
8週 中間試験
2ndQ
9週 1年次の復習(7) #defineによる記号定数、探索アルゴリズムについて理解する
10週 1年次の復習(8) 探索アルゴリズムについて理解する
11週 1年次の復習(9) ソートアルゴリズムについて理解する
12週 1年次の復習(10) ソートアルゴリズムについて理解する
13週 1年次の復習(11) C言語における関数について復習する
14週 1年次の復習(12) 局所変数、大域変数について復習する
15週 前期中間試験後のまとめ 前期中間試験以降の単元について演習を通して理解する
16週 期末試験
後期
3rdQ
1週 ポインタ(1) ポインタの概念を理解する
2週 ポインタ(2) ポインタと配列との関係を理解する
3週 ポインタ(3) 値渡しと参照渡しおよびコマンドライン引数を理解する
4週 ポインタ(4) 多次元配列とポインタとの関係を理解する
5週 ポインタ(5) ポインタへのポインタを理解する
6週 ポインタ(6) 動的メモリ確保および解放を理解する
7週 後期中間試験前のまとめ 後期中間試験以前の単元について演習を通して理解する
8週 後期中間試験
4thQ
9週 構造体(1) 構造体の概念、ドット演算子を理解する
10週 構造体(2) 構造体の初期化・代入・ポインタについて理解する
11週 構造体(3) 構造体配列の取り扱いについて理解する
12週 構造体(4) 構造体と関数、アロー演算子について理解する
13週 ファイル操作(1) ファイル操作の概念、オープン・クローズについて理解する
14週 ファイル操作(2) テキストファイルとバイナリファイルの扱いについて理解する
15週 後期中間試験以降のまとめ 後期中間試験以降の単元について演習を通して理解する
16週 後期期末試験

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

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

評価割合

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