開講年度
開講学部等
2025
理学部
開講学期
曜日時限
授業形態
AL(アクティブ・ラーニング)ポイント
前期
木7~8
演習
8.0
時間割番号
科目名[英文名]
使用言語
単位数
1041200015
プログラミング演習Ⅱ[Exercise in Computer Programing Ⅱ]
日本語
2
担当教員(責任)[ローマ字表記]
メディア授業
小林 泰良[KOBAYASHI Taira]
ー
担当教員[ローマ字表記]
小林 泰良 [KOBAYASHI Taira], 酒見 はる香 [SAKEMI Haruka]
特定科目区分
対象学生
物理・情報科学科所属学生対象
対象年次
2~4
ディプロマ・ポリシーに関わる項目
カリキュラムマップ(授業科目とDPとの対応関係はこちらから閲覧できます)
メディア授業
×
メディア授業とは,メディアを利用して遠隔方式により実施する授業の授業時数が,総授業時数の半数を超える授業をいいます。
メディア授業により取得した単位は,卒業要件として修得すべき単位のうち60単位を超えないものとされています。
授業の目的と概要
プログラミング言語IIで学んだ基礎知識の定着を図るために、C言語のプログラムの作成を行う。
また、Linux上でプログラムを作成するための実用的なコマンド等を習得する。
作成したプログラムにバグが無いように心がけると共に、バグの発見ができるような実行例を作れるようにする。
授業の到達目標
C言語のプログラム構文を正しく理解・使用し,プログラミングを行うことができる。
また,チームで開発することを念頭に置いた可読性の高いプログラムの作成と,プログラム開発に必要なLinuxコマンドの取り扱いができる。
授業計画
【全体】
C言語の基本的な文法・規則を確認する。C言語による基本的なプログラミングとバグ取り方法を紹介する。
また、プログラム開発に必要なLinuxで用いられるシェルの機能について演習する。
自宅等で課題に取り組めるように、Linuxによる開発環境を自身で構築することが望ましい。
原則として、対面授業を行う
項目
内容
授業時間外学習
備考
第1回
Linuxの応用1
ヒストリ機能
エイリアス機能
授業内容を復習し、自分で計算機を操作できるように準備しておく(目安時間:4時間)
第2回
Linuxの応用2
課題1
リダイレクションとパイプ
ジョブ制御
ファイルの読み書き
復習問題(プログラミング課題)
授業内容を復習し、実際に計算機でやってみる(目安時間:4時間)
第3回
課題1
発展問題(条件文、ループ文)
プログラミング課題に取り組む(目安時間:4時間)
第4回
課題1
発展問題(条件文、ループ文)
プログラミング課題に取り組む(目安時間:4時間)
第5回
課題2
配列
プログラミング課題に取り組む(目安時間:4時間)
第6回
課題2
多次元配列
プログラミング課題に取り組む(目安時間:4時間)
第7回
課題2
文字列
プログラミング課題に取り組む(目安時間:4時間)
第8回
課題3
引数と返却値がある関数
プログラミング課題に取り組む(目安時間:4時間)
第9回
課題3
引数があるが、返却値がない関数
プログラミング課題に取り組む(目安時間:4時間)
第10回
課題3
引数はなく、返却値がある関数
プログラミング課題に取り組む(目安時間:4時間)
第11回
課題4
配列を引数にとる関数
プログラミング課題に取り組む(目安時間:4時間)
第12回
課題4
文字列を引数にとる関数
プログラミング課題に取り組む(目安時間:4時間)
第13回
課題4
関数の応用(プログラムへの引数、再帰関数呼び出し)
プログラミング課題に取り組む(目安時間:4時間)
第14回
課題5
ポインタと関数
プログラミング課題に取り組む(目安時間:4時間)
第15回
課題5
構造体
プログラミング課題に取り組む(目安時間:4時間)
※AL(アクティブ・ラーニング)欄に関する注
・授業全体で、AL(アクティブ・ラーニング)が占める時間の割合を、それぞれの項目ごとに示しています。
・A〜Dのアルファベットは、以下の学修形態を指しています。
【A:グループワーク】、【B:ディスカッション・ディベート】、【C:フィールドワーク(実験・実習、演習を含む)】、【D:プレゼンテーション】
A: --% B: --% C: 80% D: --%
成績評価法
課題レポートの提出内容で判断する(配分100%)。
欠格条件は3回以上欠席した場合(遅刻は原則15分まで)とする。
課題レポートではどのような場合でもプログラムが動くことを想定し、様々な実行例で正常に動作すること(堅牢性)を示すこと。
提出したプログラムを他者が読んだ際に理解しやすいか(可読性)も評価指標である。
演習における注意事項として、コンパイルエラーのエラーメッセージの意味や、計算機の操作に関して学生間の相談を認めるが、課題として出された問題の解法(アルゴリズム)について相談することは禁止する(カンニングと見分けがつかないため)。
問題に関する質問はTAや教員にのみ行い、アドバイスの内容を自分で判断してレポートの作成を行うこと。
また、結果として、類似性の高いプログラムを提出した場合は、不正行為として扱われる可能性があることに注意する。
誤解を避けるため、他人のプログラムをみないことを強く推奨する。
全ての課題は授業の理解度を評価するための試験としてのレポートであるので、他人のプログラムを写したり、参考にしたレポートは不正行為(カンニング)として扱う。
WEBページに掲載されているものをコピペすることや生成系AIを用いた場合も同様である。
教科書にかかわる情報
教科書
書名
新・明解C言語
ISBN
9784797377026
著者名
柴田望洋著
出版社
SBクリエイティブ
出版年
2014
備考
参考書にかかわる情報
備考
自分の好きな参考書を持参して良い
メッセージ
「プログラミング言語II」の受講生であることを前提とする。
プログラムは「どのような場合でも動作するか(堅牢性)」「誰が読んでも理解できるか(可読性)」が重要である。堅牢性と可読性を向上させるため、演習では課題のプログラムの提出と修正(デバッグとリファクタリング)を繰り返し行う。
キーワード
C言語 プログラミング 開発環境 デバッグ リファクタリング
持続可能な開発目標(SDGs)
関連科目
(履修に必要な科目)プログラミング言語I,II, プログラミング演習I
(その他)数学全般:行列やベクトル、微積分は課題として出題されることがある。
履修条件
連絡先
小林:総合研究棟405(東)
tairakobayashi@yamaguchi-u.ac.jp
酒見:理学部本館335
sakemi@yamaguchi-u.ac.jp
オフィスアワー
授業終了後1時間
ページの先頭へ