プログラミング演習IIA

科目基礎情報

学校 木更津工業高等専門学校 開講年度 令和07年度 (2025年度)
授業科目 プログラミング演習IIA
科目番号 j0220 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 情報工学科 対象学年 3
開設期 前期 週時間数 2
教科書/教材 柴田 望洋著『新・明解C言語で学ぶアルゴリズムとデータ構造第2版』SB Creative、2021年、ISBN: 978-4-8156-0978-8
担当教員 SAPKOTA ACHYUT

到達目標

MCC V-D-1
評価項目①:与えられたソースプログラムを解析し、プログラムの動作を予測できる。
評価項目②:サブルーチンの概念を理解し、これらを含むプログラムを記述できる。

MCC V-D-2
評価項目③:コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを理解し、基本的なデータ構造の概念と操作を説明できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目①複雑なソースコードでも、正確に動作を予測できる。基本的な構造を持つソースコードについて、入力と出力の関係を正確に理解し、動作を予測できる。ソースコードの構造を正しく読み取ることができず、処理の流れや動作の予測が困難である。
評価項目②:再帰関数の仕組みを深く理解し、適切に設計・実装できる。基本的な再帰関数を記述し、正しく動作させることができる。再帰関数の構文や使い方を十分に理解しておらず、コードの記述が不正確である。
評価項目③:複数のデータ構造の特性・適用場面・利点と欠点を理解している。基本的なデータ構造の構造や使い方を説明できる。データ構造の種類や特徴の区別がついておらず、具体的な説明が困難である。

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

準学士課程(R5までのDP) R5までDP_4 情報技術の修得

教育方法等

概要:
この科目では、C言語を用いて関数、再帰、ポインタ、構造体を復習し、連結リストや木構造といった基本的なデータ構造を実装する力を身につけます。演習を通して、プログラムの動作理解や効率的な実装方法を学びます。
授業の進め方・方法:
【授業の進め方】2年次までに学んだ内容の理解を深めるため、関数やポインタなどの基礎事項については、まず学生に問題を解かせたうえで、教員が解説を行います。リスト構造や木構造といった新しい内容については、教員が代表的な例を説明し、その後、課題に取り組む演習形式で理解を深めていきます。
【評価方法】
試験:80%(中間:評価項目①と② ; 期末:評価項目③), 課題: 20% 
注意点:
オフィスアワーとして月曜日16時20分から17時として設定しているため、理解できない内容があれば質問に来ること。また、オフィスアワー以外の時間であっても事前にOffice Teamsのチャットなどにより連絡しても良いです。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス 科目について理解する。演習環境を備える。
2週 C言語プログラミングの復習 C言語で関数を用いたプログラミングを作成、デバッグと実行することができる。
3週 再帰関数(1) プログラミングにおける再帰処理の基礎について理解できる。
4週 再帰関数(2) 再帰的な数学式を理解し、計算できる。実課題を再帰的関数として表現し、プログラムを実装できる。
5週 ポインタの復習 ポインタの概念を理解できる。
6週 ポインタと関数の復習、ポインタの演算 関数間でのポインタの取り扱いについて理解できる。ポインタ変数の演算について理解できる。
7週 構造体の復習 構造体について十分に理解でき、プログラムを実装できる。
8週 まとめ、評価 週1から週7までの内容を十分に理解できる。
2ndQ
9週 連結リスト(1) 連結リストの基礎のついて理解でい、データを追加するプログラムを実装できる。
10週 連結リスト(2) リストのデータを表示するプログラムを実装できる。
11週 連結リスト(3) リストよりデータを削除する、更新するプログラムを実装できる。
12週 連結リスト(4) 双方向リスト、循環リストと多重リストについて理解できる。
13週 木構造(1)
2分探索木を中心に木構造について理解できる。
14週 木構造(2)
2分探索木にデータを追加するプログラムを実装できる。
15週 まとめ 週9から週14までの内容を十分に理解できる。
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミングプロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4前1,前2,前3,前4
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4前1,前2,前5,前6,前7,前8
ソフトウェアコンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4前9,前10,前11,前12,前13,前14,前15

評価割合

課題試験合計
総合評価割合2080100
評価項目①、評価項目②104050
評価項目③104050