開講年度
開講学部等
2025
工学部
開講学期
曜日時限
授業形態
AL(アクティブ・ラーニング)ポイント
後期
火7~10
講義
時間割番号
科目名[英文名]
使用言語
単位数
1062120430
プログラミング基礎[Fundamentals on Computer Programming]
日本語
2
担当教員(責任)[ローマ字表記]
メディア授業
重松 大輝[SHIGEMATSU Taiki]
ー
担当教員[ローマ字表記]
重松 大輝 [SHIGEMATSU Taiki]
特定科目区分
対象学生
対象年次
2~
ディプロマ・ポリシーに関わる項目
カリキュラムマップ(授業科目とDPとの対応関係はこちらから閲覧できます)
メディア授業
×
メディア授業とは,メディアを利用して遠隔方式により実施する授業の授業時数が,総授業時数の半数を超える授業をいいます。
メディア授業により取得した単位は,卒業要件として修得すべき単位のうち60単位を超えないものとされています。
授業の目的と概要
情報処理,数値計算に必要なプログラミングについて,実際のプログラミング演習を通じてプログラミングのために必要な知識を習得するとともに,プログラミング能力の向上を目指す。C言語の基本的な文法を教授するとともに,Cで用意されているツールのうち,コンピュータハードウェアとの結びつきが強い部分について,その知識の補充を行う.
学生個人所有のPCに,C言語プログラム統合開発環境をインストールさせ,ほぼ毎週それを利用したプログラミング演習を実施する.
ディプロマ・ポリシー
(DP4)機械工学の専門技術に関する知識とそれらを応用する能力を身に付けています。
授業の到達目標
ソースコード作成,ビルド,デバッグなどの工程の意味を理解し,説明・実行することができる。
変数の型および文字列を理解し,必要に応じて使い分けることができる。
if文,for文,while文などを適切に組み合わせ,意図する処理をコーディングすることができる。
配列の概念を理解し,適切に使うことができる。
関数の概念を理解し,自ら関数を作成したり,ライブラリ関数を活用して処理を行うことができるようになる。
ファイル操作を理解し,ファイルを用いたデータの入出力が出来るようになる。
ポインタの考え方を理解し,コンピュータハードウェアとの関係を説明できる。また,ポインタを活用したプログラムが書けるようになる。
目的とする結果を得るための計算処理の順番を定めることができ,それを C 言語の文法に沿ってコード化することができる.
プログラミングおよびコンピュータを利用した数値計算に興味を持つ。
プログラミングに必要な事項を理解・習得しようと努める。問題解決のため,自分でプログラムを作成しようとする。
目的に応じたプログラムのコーディングとデバッグが出来るようになる。
授業計画
【全体】
最初の数回を使って,演習で用いるC言語処理系と開発環境になれるとともに,C言語のプログラム制御(条件分岐,ループ)と四則演算を用いた基本的なプログラムの作成演習を行う。その後,配列,文字列,関数,ファイル処理,ポインタ,構造体などの文法事項を教授するとともに,それらを用いたコーディングについて演習し,実用的に活用できるプログラムを作成するための基礎的素養を身につけさせる。毎週演習を行う。
各回の授業では,教科書で与えられている演習課題をその場でコーディングさせるとともに,正しい結果を得るコードの例も示すことにする.2回目以降の授業では,前回授業で宿題としたコーディング課題の解答例の解説も行う.
なお,第2回~14回までの進行は,状況を見て順番を入れ替えることがある.
項目
内容
授業時間外学習
備考
第1回
演習環境の構築と,プログラミングに関する基礎知識
1) vscode gcc のインストール
2) 知っておきたい用語や概念の説明
演習環境の構築が完了しなかった者は完了させること.課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第2回
表示と四則演算,変数の型
1)Cプログラムの作成・実行手順
2)基本入出力
3)算術演算
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第3回
プログラムの流れの分岐,数学関数の利用
1) 数学関数
2) if文,論理式,switch-case文
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第4回
繰り返し処理
1) do-while文
2) while 文
3) for 文
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第5回
1次元配列,2次元配列
1) 1次元配列
2) 2次元配列
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第6回
関数(自作関数),変数の型2
プロトタイプ宣言
変数のスコープ
static修飾子の機能(自作関数内での利用)
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第7回
配列を引数とする関数
文字型・文字列
プロトタイプの書き方
const 修飾子
文字列のルール
ASCIIコード
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第8回
コンピュータのしくみ1-計算機内部での数値表現と量子化誤差
標準ライブラリ関数の利用
量子化誤差について
変数の型
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第9回
文字列2(日本語他マルチバイト文字の入出力)
ポインタ1
ASCIIコード,UTF-8コード
ポインタ=変数用のメモリアドレスであることの理解
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第10回
ポインタ2
・ポインタと配列の等価性
・ポインタと関数(関数引数のポインタ渡し)
ポインタと配列
2次元配列とポインタ
ダブルポインタ
関数へのポインタ渡し
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第11回
ファイルとストリーム
テキストファイルの入出力
(fopen, fscanf, fprintf)
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第12回
デバッグツールの使い方とプログラミング演習
統合環境でのソースレベルデバッグ
ブレークポイント
ステップ実行
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第13回
構造体
構造体の定義
typedef の利用
構造体へのポインタ
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第14回
まとめと試験対策
C言語の文法に関する知識チェック問題(moodle上での演習と採点評価)
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第15回
期末演習
ある程度のまとまったプログラムを作成し,完成させる。
授業中演習問題のうち未完了問題のコーディングを行うこと.チェック用課題のコードを作成し提出すること.
(学修時間の目安:4時間以上)
第16回
期末試験
授業全体を通じた重要事項の理解度を問うペーパーテストを行う(PCは利用しない)
特になし
※AL(アクティブ・ラーニング)欄に関する注
・授業全体で、AL(アクティブ・ラーニング)が占める時間の割合を、それぞれの項目ごとに示しています。
・A〜Dのアルファベットは、以下の学修形態を指しています。
【A:グループワーク】、【B:ディスカッション・ディベート】、【C:フィールドワーク(実験・実習、演習を含む)】、【D:プレゼンテーション】
A: --% B: --% C: --% D: --%
成績評価法
毎回の課題 20%
期末テスト 80%
教科書にかかわる情報
教科書
書名
新・明解C言語(入門編)
ISBN
9784797377026
著者名
柴田望洋
出版社
SBクリエイティブ
出版年
2014
備考
参考書にかかわる情報
参考書
書名
例題で学ぶはじめてのC言語
ISBN
9784896413090
著者名
大石弥幸, 朝倉宏一共著
出版社
ムイスリ出版
出版年
2021
備考
C言語の入門書は非常にたくさんあります。実際に自分で手に取って,少し読んでみて,「この本は分かりやすい」と感じたものを選べばそれでよいでしょう。
メッセージ
現在の機械工学は,コンピュータなしでは成り立たないといっても過言ではないです.そのコンピュータでの手間のかかる作業のほとんどは,プログラムを自在に作れるようになると,自動・半自動化することができるようになります.将来の手間を省くために,ここで手間を惜しまずにプログラミングを習得してくれればと思います.
キーワード
プログラミング,C言語
持続可能な開発目標(SDGs)
(インフラ、産業化、イノベーション)強靱(レジリエント)なインフラ構築、包摂的かつ持続可能な産業化の促進及びイノベーションの推進を図る。
関連科目
プログラミング言語,データサイエンス技術,生体・ロボット工学演習
履修条件
連絡先
機械社建棟5階B513
E-mail: shigematsu@yamaguchi-u.ac.jp
オフィスアワー
月曜16:00-17:00.事前にメールで連絡ください.
他にTAによる対応時間を設けます.時間は年度によって変わりますので,初回講義時に通知します.
ページの先頭へ