プログラミング演習IB

科目基礎情報

学校 木更津工業高等専門学校 開講年度 令和06年度 (2024年度)
授業科目 プログラミング演習IB
科目番号 j0120 科目区分 専門 / 必修
授業形態 演習 単位の種別と単位数 履修単位: 1
開設学科 情報工学科 対象学年 2
開設期 後期 週時間数 2
教科書/教材 林晴比古著「新・C言語入門 シニア編 」ソフトバンク,2004年,2916円
担当教員 大枝 真一

到達目標

・プログラミングにおけるメモリ管理(特にC言語におけるポインタ)を理解している.
・グラフィカルなソフトウェアを作成できる.
・アルゴリズムの基礎(ソート)を理解している.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
メモリ管理(ポインタ)ポインタの動作原理を理解し,人に説明できるとともに,ポインタを利用したプログラムを作成できる.ポインタを理解し,プログラムの作成ができる.ポインタを理解できない.
グラフィカルなソフトウェア自ら課題を設定し,グラフィカルなプログラムを作成できる. 与えられた課題に対し,グラフィカルなプログラムを作成できる. 与えられた課題に対して,グラフィカルなプログラムを作成できない.
アルゴリズムの基礎(ソート)バブルソート,単純選択ソートを理解し,人に説明できるとともに,実装できる. バブルソート,単純選択ソートを実装できる.バブルソート,単純選択ソートを理解できない.
ソフトウェア設計自ら仕様を定義し,開発工程に従って実装できる.作りたい物をイメージし,実装できる.設計ができない.

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

準学士課程(R5までのDP) R5までDP_1 科学技術の基礎知識・応用力の修得・活用

教育方法等

概要:
プログラミングを実際に作成することで,ソフトウェアの動作原理を理解する.具体的にはC言語を扱うが,他の言語であっても応用が効くように汎用的なプログラミング言語の知識習得を目指す.
得に,構造化プログラミングの基本を学ぶとともに,メモリ管理としてポインタやバブルソート・単純選択ソートなど基礎的なアルゴリズムを学ぶ.また,processingを用いてグラフィカルなソフトウェアを作成する.
授業の進め方・方法:
演習を中心に授業を進める.配布したプリントを理解し,課題を解くことでプログラミングスキル向上を目指す,わからないことがあれば,教科書を使い自分自身で調べることが大切である.
注意点:
「プログラミング基礎II」の授業と連動している.対象となる問題を理解し,適切な処理内容に置き換える能力を身に付けること.さらに,その処理内容をプログラムとして実装することができる能力を身に付けること.各種プログラム開発ツールは十分に使いこなせるようにすること.課題についてよく考え,手を動かし,プログラムを自らの力で作成できる能力を身につけること.

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

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

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 前期の復習を兼ねて,ペアプログラミングを通して,他者と共同してプログラムを作成することを学ぶ. ペアプログラミングにより課題を解決できる.
2週 ポインタの基礎を学ぶ. ポインタの概念がわかる.
3週 ポインタと関数の関係について学ぶ. ポインタと関数を扱える.
4週 ポインタと配列の関係について学ぶ. ポインタと配列を扱える.
5週 ポインタをmallocによって管理する方法を学ぶ.
mallocを扱える.
6週 ポインタをmallocによって管理する方法を学ぶ. mallocを扱える.
7週 ポインタのポインタについて学ぶ. ポインタのポインタを理解して,2次元配列を扱うことができる.
8週 過去問を課題として取り組む. 過去問の課題を実装できる.
4thQ
9週 応用プログラムとしてグラフィカルなゲームを作成する. 自分で作りたいものを仕様として書き出すことができる.
10週 応用プログラムとしてグラフィカルなゲームを作成する. プログラムを作るための設計ができる.
11週 応用プログラムとしてグラフィカルなゲームを作成する. ゲームプログラムをコーディングできる.
12週 アルゴリズムの基本として,ソートアルゴリズム(バブルソート,単純選択ソート)を学ぶ. バブルソート,単純選択ソートを理解し,実装できる.
13週 構造体の基礎を学ぶ. 構造体を扱える.
14週 配列,関数を組み合わせた構造体を学ぶ. 配列・関数と構造体を組み合わせて扱える.
15週 過去問を課題として取り組む. 過去問の課題を実装できる.
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング変数の概念を説明できる。4
データ型の概念を説明できる。4
代入や演算子の概念を理解し、式を記述できる。4
制御構造の概念を理解し、条件分岐を記述できる。4
制御構造の概念を理解し、反復処理を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。4
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。4
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。4
分野横断的能力総合的な学習経験と創造的思考力総合的な学習経験と創造的思考力総合的な学習経験と創造的思考力工学的な課題を論理的・合理的な方法で明確化できる。3
公衆の健康、安全、文化、社会、環境への影響などの多様な観点から課題解決のために配慮すべきことを認識している。3

評価割合

課題合計
総合評価割合100100
基礎的能力5050
専門的能力5050