プログラミング基礎

科目基礎情報

学校 津山工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 プログラミング基礎
科目番号 0030 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 総合理工学科(情報システム系) 対象学年 2
開設期 通年 週時間数 2
教科書/教材 教科書:MMGames「苦しんで覚えるC言語」(秀和システム)/参考書:寺元貴幸他「みるみる身につくC言語」(共立出版)
担当教員 曽利 仁,房 冠深

到達目標

学習目的:
C言語によるプログラミングの基礎を学び,簡単なプログラムであれば読んだり書いたりできる能力を身に付ける。

到達目標:プログラムの書き方,書かれたプログラムの読み方など,プログラミングの基礎を理解する。
1.変数とデータ型の概念を説明できる。
2.代入や演算子の概念を理解し,式を記述できる。
3.制御構造の概念を理解し,条件分岐や反復処理を記述できる。
4.関数の概念を理解し,関数を含むプログラムが記述できる。

ルーブリック

不可
評価項目1変数とデータ型の概念について適切に説明でき,応用できる。変数とデータ型の概念について適切に説明できる。変数とデータ型の概念について説明できる。変数とデータ型の概念について説明できない。
評価項目2代入や演算子の概念について適切に説明でき,応用できる。代入や演算子の概念について適切に説明できる。代入や演算子の概念について説明できる。代入や演算子の概念について説明できない。
評価項目3制御構造の概念を理解し,適切に説明でき,応用できる。制御構造の概念を理解し,適切に取り扱うことができる。制御構造の概念を理解し,説明できる。制御構造の概念を説明できない。
評価項目4関数の概念を理解し,多様な関数を含むプログラムが記述できる。関数の概念を理解し,標準的な関数を定義してプログラムが記述できる。関数の概念を理解し,簡単な関数を定義してプログラムが記述できる。関数の概念を理解できない。

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

教育方法等

概要:
一般・専門の別:専門 学習の分野:情報システム・プログラミング・ネットワーク

基礎となる学問分野:情報学/情報科学,情報工学およびその関連分野/ソフトウェア関連

学習教育目標との関連:本科目は総合理工学科学習・教育目標「③基盤となる専門性の深化」に相当する科目である。

技術者教育プログラムとの関連:本科目が主体とする学習・教育目標は「(A)技術に関する基礎知識の深化」である。

授業の概要:Cプログラミングに必要な文法規則の基本的な項目について学習し,簡単なプログラムの読み方や書き方について学ぶ。また,他人にとって読みやすいプログラムを記述する方法についても学ぶ。できるだけ多くの演習を取り入れながらプログラムの処理内容が理解できることに重点をおいて進める。
授業の進め方・方法:
授業の方法:プレゼンテーションによる講義とプログラミング演習を中心に授業を進める。理解が深まるようレポートを課す。

成績評価方法:4回の定期試験それぞれ重み付け評価する(80%,前中:前末:後中:後末=1:2:1:2)。小テスト,レポートで評価する(20%)。
また,原則再試験を行わないが,状況に応じては再試験を実施する場合がある。実施後の定期試験の評価は,原則60点を超えないものとする。
注意点:
履修上の注意:学年の課程修了のためには履修(欠席時間数が所定授業時間数の3分の1以下)が必須である。

履修のアドバイス:授業スライド,課題はPDFファイルで公開する。教科書のサンプルプログラムは実際に自分で入力し,コンパイルエラーが発生したらひとつずつ理解していくことが大切である。事前に行う準備学習:1年科目の総合理工基礎の復習

基礎科目:情報リテラシー(1年),総合理工基礎(1)

関連科目:アルゴリズムとデータ構造(3年),プログラミング応用(4),システムプログラミング(5),卒業研究(5)

受講上のアドバイス:プログラミングは自主学習によって実力をつけることが可能である。自宅等でもプログラミングできる環境があることが望ましい。課題は自分で行うこと。友人のコピーなどの不正が発覚した場合は厳しい措置をとる。
また,出欠確認時以降の入室は遅刻とする。遅刻は2回で1単位時間の欠課として扱う。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 科目の位置づけ,学習内容,方法に関する説明〔ガイダンス〕
2週 演習環境の整備と1年次のプログラミング講義の復習 C言語の基本的な書式がわかる。
3週 プログラムの書き方,画面への表示 printf関数で文字列が表示できる。
4週 数値の表示と計算 printf関数で文字列と数値が表示できる。
5週 数値の記憶と計算 基本的な変数の使い方が分かる。
6週 キーボードからの入力 scanf関数による基本的なキーボード入力方法がわかる。
7週 条件分岐(if文とswitch文) if文とswitch分による制御ができる。
8週 (前期中間試験)
2ndQ
9週 前期中間試験答案返却と解答解説
10週 繰り返しによる処理(1) for文による反復制御ができる。
11週 繰り返しによる処理(2) while文による反復制御ができる。
12週 繰り返しによる処理(3) do~while文、また入れ子構造の反復制御ができる。
13週 関数に関する基本的な学習と関数に関する演習(1) 関数の概念が説明できる。
14週 関数に関する基本的な学習と関数に関する演習(2) 関数定義と関数宣言ができる。
15週 (前期末試験)
16週 前期末試験答案返却と解答解説
後期
3rdQ
1週 後期ガイダンス
2週 関数に関する基本的な学習と関数に関する演習(3) 関数が自作できる。
3週 変数の扱い(1) 文字変数や文字列の扱いがわかる。
4週 変数の扱い(2) 様々な変数の型を適切に使うことができる。
5週 配列と文字列操作 arrayを使うことができる。
6週 ポインタ変数(1) ポインタの概念が説明できる。
7週 ポインタ変数(2) ポインタ変数を使って値の格納ができる。
8週 (後期中間試験)
4thQ
9週 後期中間試験答案返却と解答解説
10週 構造体(1) 構造体の概念が説明できる。
11週 構造体(2) 構造体を使ったプログラムが書ける。
12週 ファイルの扱い テキストファイルの読みこみと書き出しができる。
13週 マクロ機能 マクロ機能を使って準関数が作れる。
14週 まとめ並びに復習
15週 (後期末試験)
16週 後期末試験の答案返却と試験解説

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4前4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4前13,前14
変数の概念を説明できる。4前4
データ型の概念を説明できる。4前5
制御構造の概念を理解し、条件分岐を記述できる。4前7
制御構造の概念を理解し、反復処理を記述できる。4前10,前11
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。2後14
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。2前2,前3
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。2後14
主要な言語処理プロセッサの種類と特徴を説明できる。2前3
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。2前2,前3
ソフトウェアコンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。1後14
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。1後14

評価割合

試験課題合計
総合評価割合8020100
基礎的能力000
専門的能力8020100
分野横断的能力000