プログラミング演習Ⅰ

科目基礎情報

学校 沼津工業高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 プログラミング演習Ⅰ
科目番号 2023-484 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 制御情報工学科 対象学年 2
開設期 前期 週時間数 4
教科書/教材 ”新・解きながら学ぶC言語”,柴田望洋,由梨かおる,ソフトバンク クリエイティブ,ISBN 978-4815615178
担当教員 金子 裕哉

到達目標

1.コンピュータの基本的な操作や情報倫理を理解し、オペレーティングシステムの基本的なコマンド・ファイル操作ができる
2.与えられた問題を分析して流れ図(フローチャート)を記述し、動作手順に沿ってC言語でコーディング・コンパイルすることができる
3.段階的に行う演習に対して、適切に学修内容を報告(レポート)できる
4.プログラム技術の応用方法を発想し、他者に説明できる(学習・教育目標に対応)

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1:コンピュータの基本的な操作や情報倫理を理解し、オペレーティングシステムの基本的なコマンド・ファイル操作ができる□Linuxの基本的な操作方法に習熟し、ディレクトリの作成・移動、ファイルの作成・消去をスムーズに行うことができる□Linuxの基本的な操作方法を理解し、教科書などの資料を参照しながらディレクトリの作成・移動、ファイルの作成・消去ができる□ディレクトリ構造やファイル管理に関する概念を理解しておらず、CUIによる非感覚的なコンピュータの操作ができない
評価項目2:与えられた問題を分析して流れ図(フローチャート)を記述し、動作手順に沿ってC言語でコーディング・コンパイルすることができる□プログラムへの要求やアルゴリズムについて日本語でまとめると共に、変数表や流れ図を用いて設計内容を他者へ説明できる □C言語における様々な命令、変数等を理解し、独自にコーディングができる □様々なアルゴリズムや命令を駆使して、仕様を満たす複数の処理方法やプログラムを作成できる□問題を分析して日本語で要約し、必要な手続きを流れ図の形で表現できる。 □C言語における様々な命令、変数等を理解し、教科書などの資料を参照しながらコーディングができる □仕様通りに動かなかったプログラムを考察してバグを取り除くことができる□問題を分析が不十分であり、必要な手続きを流れ図として表現できない □C言語の命令文、変数等に関する理解が不足しており、教科書などの資料を参照してもコーディングができない □プログラム中に存在するバグを発見することができない
評価項目3:段階的に行う演習に対して、適切に学修内容を報告(レポート)できる□独自の調査や詳細な考察により、授業や指導書の内容を超えた報告書をまとめ、期限内に提出することができる□指導書と講義内容をもとに、演習内容を報告書としてまとめ、期限内に提出することができる□演習内容を報告書としてまとめて期限内に提出することができない
評価項目4:プログラム技術の応用方法を発想し、他者に説明できる(学習・教育目標に対応)□独自のアプリケーションを創作して他者へ紹介するとともに、独自の工夫点や新規的な点についてもプレゼンテーションして情報共有ができる□独自のアプリケーションを創作し、他者にデモンストレーションできる□プログラミングに関する技量が不十分で、独自のアプリケーションを作成することができない

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

【本校学習・教育目標(本科のみ)】 3 説明 閉じる

教育方法等

概要:
情報処理機器や機械などの制御において、コンピュータシステムのプログラミングは必要不可欠です。本演習では、コンピュータの基本的操作、オペレーティングシステムの基礎、エディタソフトの使い方、C言語によるプログラミングの基礎について学習します。
また、技術文書の書き方について課題レポートを通して学びます。
授業の進め方・方法:
本演習は以下の流れで行う。
1.プログラムを構築するための基本的なアルゴリズムを紹介
2.アルゴリズム解決のために必要なC言語の記述方法を講義
3.例題を解決するためのフローチャート、変数表をノートに描く
4.教員によるノートチェック
5.各自C言語によるコーディング
6.錬成問題(教科書)を用いた演習
7.レポート作成と提出
注意点:

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス
文字の出力
エディタ(emacs)によるC言語コーディングと、コンパイルができる
問題分析と流れ図の作図ができる
printfを用いた簡単な文章出力ができる
プログラムを実行するための手順を理解し、操作できる
レポートの作成の仕方を理解し、記載方法に沿ってレポート作成ができる
情報を収集しルールを遵守してレポートに記載できる
レポートを期限内に提出できるよう計画を立てて時間管理し提出できる
2週 整数値の入出力と四則演算 進数変換を理解し書式制御文字を用いたコーディングができる
整数型、int型の変数を宣言して使用することができる
定数や変数を使用して式を記述,演算できる
3週 文字列の入出力 文字列の入出力を行うプログラムを作成できる
4週 実数の取り扱い 実数型と整数型の変数の演算結果や誤差について説明出来る
演算の優先順位を理解して演算子を適切に使用できる
5週 条件分岐命令 制御構造の概念を理解しif-else文を用いた条件判断の記述ができる
比較による条件式の記述ができる
6週 条件分岐と繰り返し for文を用いて繰り返し処理ができる
7週 繰り返しと関数 様々な繰り返し処理のアルゴリズムが存在することを理解し目的に応じて適切な制御構文を選択できる
簡単な関数を作成し使用できる
8週 総合演習1 これまでに学習した環境やツールの基本的操作ができる
与えられた基本的な問題を解くことができる
2ndQ
9週 配列とポインタ1 配列を用いた線形探索のアルゴリズムを構築しC言語でコーディングできる
10週 配列とポインタ2 ポインタを使って配列を操作できる
ポインタの利点を計算資源の観点を持って理解できる
11週 構造体とファイル入出力1 構造体を宣言・使用できる
計算機のハードウェア(メモリ)上に構造体や配列がどのように格納されているか理解できる
C言語によるファイル操作ができる
12週 構造体とファイル入出力2 構造体・配列・ポインタを利用して計算機内部でデータを表現する方法にはバリエーションがあることを説明できる
13週 総合演習2 与えられたソースコードの動作を理解し、要求にあったアルゴリズムで書き直すことができる
14週 総合演習3 与えられた要求を元に他者と議論しながらプログラムを設計・実行・確認できる
15週 発表会 オリジナルのアプリケーションを作成し、利用したツールや工夫点などについて発表できる
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎工学実験技術(各種測定方法、データ処理、考察方法)工学実験技術(各種測定方法、データ処理、考察方法)実験ノートや実験レポートの記載方法に沿ってレポート作成を実践できる。3前1
実験の考察などに必要な文献、参考資料などを収集できる。3前1
レポートを期限内に提出できるように計画を立て、それを実践できる。3前1
情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。3前1
論理演算と進数変換の仕組みを用いて基本的な演算ができる。3前2
コンピュータのハードウェアに関する基礎的な知識を活用できる。3前11
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3前7
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3前8
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3前14
専門的能力分野別の専門工学機械系分野情報処理プログラムを実行するための手順を理解し、操作できる。3前1
定数と変数を説明できる。3前2
整数型、実数型、文字型などのデータ型を説明できる。3前4
演算子の種類と優先順位を理解し、適用できる。3前4
算術演算および比較演算のプログラムを作成できる。3前5
データを入力し、結果を出力するプログラムを作成できる。3前3
条件判断プログラムを作成できる。3前5
繰り返し処理プログラムを作成できる。3前6
一次元配列を使ったプログラムを作成できる。3前9
情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3前2
データ型の概念を説明できる。3前4
制御構造の概念を理解し、条件分岐を記述できる。3前5
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3前8
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3前1
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。3前13
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。3前15
ソフトウェア与えられたアルゴリズムが問題を解決していく過程を説明できる。4前7
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4前13
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。3前12
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。3前10
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。3前10
情報数学・情報理論コンピュータ上での数値の表現方法が誤差に関係することを説明できる。3前4
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。3前4
その他の学習内容少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。4前8
少なくとも一つの具体的なオフィススイート等を使って、文書作成や図表作成ができ、報告書やプレゼンテーション資料を作成できる。4前15
分野別の工学実験・実習能力機械系分野【実験・実習能力】機械系【実験実習】レポートの作成の仕方を理解し、実践できる。3前1
情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。3前8
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。3前8
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。3前13
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。3前1
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。3前14
標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。3前8
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。3前13
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。3前14
分野横断的能力汎用的技能汎用的技能汎用的技能目的や対象者に応じて適切なツールや手法を用いて正しく情報発信(プレゼンテーション)できる。2前15
態度・志向性(人間力)態度・志向性態度・志向性周囲の状況と自身の立場に照らし、必要な行動をとることができる。2前14
自らの考えで責任を持ってものごとに取り組むことができる。2前14
目標の実現に向けて計画ができる。2前14
目標の実現に向けて自らを律して行動できる。2前14
日常の生活における時間管理、健康管理、金銭管理などができる。3前1
法令やルールを遵守した行動をとれる。3前1
他者のおかれている状況に配慮した行動がとれる。3前14

評価割合

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