プログラム言語II

科目基礎情報

学校 釧路工業高等専門学校 開講年度 令和02年度 (2020年度)
授業科目 プログラム言語II
科目番号 0043 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 電子工学分野 対象学年 4
開設期 前期 週時間数 2
教科書/教材 教科書:新版 明解C言語 入門編(柴田望洋,ソフトバンクリエイティブ),参考書・問題集:解きながら学ぶC言語(柴田望洋・監修,ソフトバンククリエイティブ),C言語プログラミングレッスン 入門編・文法編(結城浩,ソフトバンククリエイティブ)
担当教員 山田 昌尚

到達目標

1. ビット演算を使ったプログラムを記述できる。
2. 文字列を使ったプログラムを記述できる。
3. ポインタの概念を理解し,これを含むプログラムを記述できる。
4. 構造体の概念を理解し,これを含むプログラムを記述できる。
5. ファイル入出力の概念を理解し,これを含むプログラムを記述できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
1. ビット演算を使ったプログラムを記述できる新規の課題に対して,適切にビット演算を用いたプログラムを記述できる。例題と類似した課題に対し,ビット演算を用いたプログラムを記述できる。ビット演算の概念が理解できず,ビット演算を用いたプログラムを記述できない。
2. 文字列を使ったプログラムを記述できる新規の課題に対して,適切に文字列を用いたプログラムを記述できる。例題と類似した課題に対し,文字列を用いたプログラムを記述できる。文字列の概念が理解できず,文字列を用いたプログラムを記述できない。
3. ポインタの概念を理解し,これを含むプログラムを記述できる。新規の課題に対して,適切にポインタを用いたプログラムを記述できる。例題と類似した課題に対し,ポインタを用いたプログラムを記述できる。ポインタの概念が理解できず,ポインタを用いたプログラムを記述できない。
4. 構造体の概念を理解し,これを含むプログラムを記述できる。 新規の課題に対して,適切に構造体を用いたプログラムを記述できる。例題と類似した課題に対し,構造体を用いたプログラムを記述できる。構造体の概念が理解できず,構造体を用いたプログラムを記述できない。
5. ファイル入出力の概念を理解し,これを含むプログラムを記述できる。新規の課題に対して,適切にファイル入出力を用いたプログラムを記述できる。例題と類似した課題に対し,ファイルの入出力を用いたプログラムを記述できる。ファイル入出力の概念が理解できず,ファイル入出力を用いたプログラムを記述できない。

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

学習・教育到達度目標 D 説明 閉じる
JABEE d-1 説明 閉じる

教育方法等

概要:
この科目の目標は,情報技術のなかでも重要な分野であるプログラミングに関する基本的な知識とスキルを身につけることである。文字列処理,ポインタなど,前関連科目であるプログラム言語Iよりも進んだ内容を学習する。
授業の進め方・方法:
授業時間内には主にプログラムの説明をする。随時,演習課題があるので各自で実施・提出すること。

合否判定:定期試験(2回)の平均60点以上を合格とする
最終評価:定期試験(2回)の平均+提出物評価(最大10点)
再試験:学年末の評価が不合格の場合,再試験を受験し60点以上であれば合格とし最終評価を60点とする。

前関連科目:論理回路,プログラム言語Ⅰ
後関連科目:電子工学実験Ⅳ・Ⅴ,数値解析,画像工学
注意点:
第3学年で学んだC言語の知識を前提とする.C言語は第4学年の他の専門科目で使用することがあり,プログラミングは第5学年の卒業研究で必要となる場合も多く,就職してから直接役立つ能力にもなる。この科目はそれらの基礎となるので,自分の頭と手を使ってしっかり学習すること。
プログラミングは,文法事項を覚えたうえで,それを組み合わせて使う「論理」が必要である。そのため,例題のプログラムを理解したうえで,それを応用することが重要となる。自分でプログラム作成の経験を積むことにより理解が深まるので,積極的に取り組んでほしい。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス 授業の進め方を理解している。10進数、2進数、16進数の基数変換ができる。
2週 汎整数型と浮動小数点型について説明できる。符号なし整数について説明できる。
3週 ビット演算 プログラムでビット演算を扱うことができる。
4週 関数形式マクロ
入出力と文字
関数形式マクロを扱うことができる。JIS文字コード表を読むことができる。
5週 文字列 文字の配列として文字列を扱うことができる。
6週 ポインタ (1) プログラム中でポインタを宣言し,基本的な操作ができる。
7週 ポインタ (2) 関数にポインタを受け渡しすることができる。配列とポインタの共通点,相違点を理解して扱うことができる。
8週 中間試験
2ndQ
9週 文字列とポインタ (1) ポインタを使って文字列を操作できる。
10週 文字列とポインタ (2) ポインタを使って文字列を操作できる。
11週 構造体 (1) プログラム中で構造体の型とオブジェクトを宣言し,基本的な操作ができる。
12週 構造体 (2) 構造体と関数を組み合わせたり,構造体がほかの構造体のメンバになっているような,やや複雑な場合を扱うことができる。
13週 ファイル (1) ファイルと標準ストリームについて説明できる。
14週 ファイル (2) プログラム中でファイルをオープンしてテキストファイルの入出力ができる。
15週 ファイル (3) テキストファイルとバイナリファイルの違いを説明できる。プログラム中でバイナリファイルを扱うことができる。
16週 期末試験

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

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合90000010100
基礎的能力0000000
専門的能力90000010100
分野横断的能力0000000