プログラミング演習

科目基礎情報

学校 鶴岡工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 プログラミング演習
科目番号 0047 科目区分 専門 / 必修
授業形態 演習 単位の種別と単位数 履修単位: 2
開設学科 創造工学科(情報コース,情報系) 対象学年 3
開設期 通年 週時間数 2
教科書/教材 高橋麻奈: やさしいC,SBクリエイティブ
担当教員 吉住 圭市

到達目標

変数とデータ型の概念を説明できる。代入や演算子を理解し,式を記述できる。制御構造を理解し,条件分岐や反復処理を記述できる。関数(プロシージャ)を理解し,関数を使ったプログラムを記述できる。与えられた問題に対して,それを解決するためのソースプログラムを記述し,実行することができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1制御構造を理解し,条件分岐や反復処理を記述し,説明できる。制御構造を理解し,条件分岐や反復処理を記述できる。制御構造を理解し,条件分岐や反復処理を記述できない。
評価項目2関数を理解し,これらを含むプログラムを記述し,説明できる。関数を理解し,これらを含むプログラムを記述できる。関数を理解し,これらを含むプログラムを記述できない。
評価項目3与えられた問題に対して,それを解決するためのソースプログラムを記述し,説明できる。与えられた問題に対して,それを解決するためのソースプログラムを記述できる。与えられた問題に対して,それを解決するためのソースプログラムを記述できない。

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

(D) 専門分野の知識と情報技術を身につける。 説明 閉じる

教育方法等

概要:
1年,2年で学習したC言語のプログラミング能力を高めることを目標とします。問題のトップダウン的解析や関数によるプログラムの機能分割に積極的に取り組むことにより,構造化プログラミングの方法を理解し,実践的なプログラミング能力を身につけます。
授業の進め方・方法:
前半は,教科書の練習問題程度のプログラムを作成することで,C言語のプログラミングの基本を復習・理解してください。後半は,提示された問題に対して,それを解決するためのアルゴリズムを考え,プログラムを作成する実習を行います。
小課題 50%,大課題 50%で総合評価し,50点以上を合格とします。
注意点:
プログラムを完成させることが目的ではなく,プログラミングという作業に慣れることが重要です。構造化プログラミング,関数による機能分割にもチャレンジして欲しいと思います。人に聞いたり,ネットで調べたりすることは大切ですが,プログラムのコピーだけは絶対に行わないようにしてください。
なお,「不可」となった者に対して再試験は実施しません。

事前・事後学習、オフィスアワー

【オフィスアワー】 授業日の15:30~16:30

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス
シラバスの説明,授業の進め方,プログラムの作成方法
前期授業の進め方を理解する。
プログラムの記述,コンパイル,実行の方法を理解する。
2週 C言語の基本
画面への出力,課題提出メールの書き方
Cプログラムの基本構造を理解する。
ディスプレイへの出力ができる。メールの作法を理解する。
3週 変数と代入,式の記述
キーボードからの入力
変数について説明できる。変数に代入できる。数式を記述できる。キーボードから変数に入力できる。
4週 条件文
if文,if else文,switch case文
条件設定よる場合分けを行うことができる。
5週 複雑な条件式
論理演算子
かつ(AND),または(OR)による複雑な条件式を記述できる,
6週 繰り返し
for文,while文,do while文,入れ子構造
繰り返しの内容によって,命令文を適切に使い分けることができる。
7週 配列
添字,配列の初期化
配列の考え方を理解し,プログラムを作成できる。
8週 配列
2次元配列,2次元配列の初期化,多次元配列
多次元配列の考え方を理解し,プログラムを作成できる。
2ndQ
9週 関数
関数の戻り値と型,引数,関数の呼び出し
関数の戻り値,関数の型,関数の引数について説明できる。
10週 関数の設計 関数を設計し,プログラムを作成できる。
11週 変数
ローカル変数,グローバル変数,静的変数,動的変数,変数の寿命
変数を適切に使い分けることができる。
12週 乱数 乱数を理解し,乱数を用いたプログラムを作成できる。
13週 文字と文字列 文字列の表現方法を理解し,文字列を処理するプログラムを作成できる。
14週 課題プログラム 基本的な(簡単な)プログラムを作成できる。
15週
16週
後期
3rdQ
1週 ガイダンス
ファイル操作
後期授業の進め方を理解する。
ファイルの基本操作を理解し,ファイル操作を行うプログラムを作成できる.
2週 ファイル操作 ファイルの基本操作を理解し,ファイル操作を行うプログラムを作成できる.
3週 課題プログラム1
(素因数分解)
課題のプログラムを作成する。プログラム作成の手順を学ぶ。
4週 課題プログラム1
5週 課題プログラム1
6週 プログラム鑑賞会 与えられたプログラムを解読し,良い点・問題な点を指摘できる。
7週 プログラム鑑賞会 与えられたプログラムを解読し,良い点・問題な点を指摘できる。
8週 プログラム鑑賞会 与えられたプログラムを解読し,良い点・問題な点を指摘できる。
4thQ
9週 課題プログラム2
(乱数)
課題のプログラムを作成する。プログラム作成の手順を学ぶ。(課題プログラム1の解説)
10週 課題プログラム2
11週 課題プログラム2
12週 課題プログラム3
(逆数の計算)
課題のプログラムを作成する。プログラム作成の手順を学ぶ。(課題プログラム2の解説)
13週 課題プログラム3
14週 課題プログラム3
15週 まとめ
課題プログラムの解説
(課題プログラム3の解説)
課題プログラムのアルゴリズムを理解できる。
16週 課題プログラム(確認テスト)

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング変数の概念を説明できる。4
データ型の概念を説明できる。4後2
代入や演算子の概念を理解し、式を記述できる。4
制御構造の概念を理解し、条件分岐を記述できる。4
制御構造の概念を理解し、反復処理を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4後2
主要な言語処理プロセッサの種類と特徴を説明できる。4
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3
ソフトウェアアルゴリズムの概念を説明できる。3
与えられたアルゴリズムが問題を解決していく過程を説明できる。3
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。3
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。3
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。3
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。3
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。3
その他の学習内容少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。4
少なくとも一つの具体的なオフィススイート等を使って、文書作成や図表作成ができ、報告書やプレゼンテーション資料を作成できる。4
少なくとも一つのメールツールとWebブラウザを使って、メールの送受信とWebブラウジングを行うことができる。4

評価割合

小課題大課題合計
総合評価割合50500000100
基礎的能力4010000050
専門的能力1030000040
分野横断的能力010000010