プログラム言語I

科目基礎情報

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

到達目標

1. 代入や演算子の概念を理解し,プログラム中に記述できる。
2. 変数や配列の概念を理解し,プログラム中に記述できる。
3. 制御構造(分岐,繰り返し)の概念を理解し,プログラム中に記述できる。
4. 関数の概念を理解し,プログラム中に記述できる。
5. ビット演算を使ったプログラムを記述できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
1. 代入や演算子の概念を理解し,プログラム中に記述できる。新規の課題に対して,適切な演算子を用いて式を組み立て,プログラムに活用できる。例題と類似した課題に対し,適切な演算子を選択した式を組み立て,プログラムに記述できる。演算子や代入といった処理を理解できておらず,プログラム中でこれらを記述することが全くできない。
2. 変数や配列の概念を理解し,プログラム中に記述できる。新規の課題に対して,適切な変数や配列とそのデータ型を選択し,プログラムに活用できる。例題と類似した課題に対し,適切な変数や配列とそのデータ型を選択し,プログラムに記述できる。変数や配列とそのデータ型の概念を理解できず,プログラム中でこれらを記述することが全くできない。
3. 制御構造(分岐,繰り返し)の概念を理解し,プログラム中に記述できる。新規の課題に対して,適切な制御構文を選択し,プログラムに活用できる。例題と類似した課題に対し,適切な制御構文を選択し,プログラムに記述できる。制御構文を理解できておらず,プログラム中でこれらを記述することが全くできない。
4. 関数の概念を理解し,プログラム中に記述できる。新規の課題に対して,ユーザ関数を適切に活用するプログラムを記述できる.例題と類似した課題に対し,ユーザ関数を適切に定義しそれを呼び出すプログラムを記述できる.ユーザ関数の概念が理解できず,ユーザ関数の定義やそれを呼び出すプログラムを全く記述できない.
5. ビット演算を使ったプログラムを記述できる新規の課題に対して,適切にビット演算を用いたプログラムを記述できる。例題と類似した課題に対し,ビット演算を用いたプログラムを記述できる。ビット演算の概念が理解できず,ビット演算を用いたプログラムを記述できない。

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

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

教育方法等

概要:
この科目の目標は,情報技術のなかでも重要な分野であるプログラミングに関する基本的な知識とスキルを身につけることである.プログラミングを通して,コンピュータがどのように動いているかを学ぶとともに,コンピュータを制御することができるようになる.授業全体の内容は,C言語を用いて,基本的な制御構造や,配列,関数、ビット演算等である.
授業の進め方・方法:
授業前半の時間に教室で説明し,後半はそれに関する演習を情報処理センターで行うことを基本とする.毎回課題があるので,期日までに提出すること。

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

前関連科目:論理回路
後関連科目:プログラム言語Ⅱ,電子工学実験Ⅳ・Ⅴ,数値解析,画像工学
注意点:
授業内で,2進数や論理演算の知識を使用することがある。

プログラミングは,文法事項を覚えたうえで,それを組み合わせて使う「論理」が必要である。そのため,例題のプログラムを理解したうえで,それを応用することが重要となる。授業時間以外でも自分でプログラム作成の経験を積むことにより理解が深まるので,積極的に取り組んでほしい。

C言語は第4学年以降の多くの科目で使用することになる.また,プログラミングは第5学年の卒業研究で必要となる場合も多く,就職してから直接役立つ能力にもなる。この科目はそれらの基礎となるので,自分の頭と手を使ってしっかり学習すること。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス
プログラミングの学び方
Hello, World!
授業の進め方,年間計画を理解する。プログラムを入力し,実行できる。
2週 表示の基本 printf関数を使って文字や演算結果を表示できる。
3週 変数と値の読み込み 変数を宣言し,初期化や代入ができる。scanf関数を用いて変数に値を読み込むことができる。
4週 演算と型(1) int型で四則演算ができる。
5週 演算と型(2) int型とdouble型を使い分けることができる。暗黙の型変換を理解して,キャストを使うことができる。
6週 分岐(1) if文を使うことができる。
7週 分岐(2) 等価演算子,関係演算子を使うことができる。
8週 前期中間試験
2ndQ
9週 分岐(3) 条件演算子,論理演算子を使うことができる。
10週 分岐(4) 複合文を使うことができる。switch文を使うことができる。分岐のフローチャートを書くことができる。
11週 繰り返し(1) do文を使うことができる。複合代入演算を使うことができる。
12週 繰り返し(2) while文を使うことができる。前置および後置増分(減分)演算子を使うことができる。
13週 繰り返し(3) for文を使うことができる。
14週 繰り返し(4) 多重ループを使うことができる。繰り返しのフローチャートを書くことができる。
15週 プログラムの要素と書式 識別子などプログラム中の要素を理解し,適切に使うことができる。インデントを適切に使ってプログラムを書くことができる。
16週 前期末試験
後期
3rdQ
1週 配列 (1) 一次元配列の概念と書き方を理解し,使うことができる。
2週 配列 (2) オブジェクト形式マクロを使って配列の要素数を指定できる。
3週 配列 (3) 多次元配列を扱うことができる。
4週 関数 (1) 関数を定義し,それを呼び出すことができる。引数と返却値を扱うことができる。
5週 関数 (2) 引数や返却値にvoid型を使うことができる。値渡しの概念を理解できる。
6週 関数 (3) 関数プロトタイプ宣言を使うことができる。関数に配列を受け渡すことができる。
7週 関数 (4) 変数の有効範囲と記憶域期間が判断できる。
8週 後期中間試験
4thQ
9週 型 (1) 汎整数型と浮動小数点型について説明できる。符号なし整数について説明できる。
10週 ビット演算 (1) プログラムでビット演算を扱うことができる。
11週 ビット演算 (2) プログラムでビット演算を扱うことができる。
12週 ビット演算 (3) プログラムでビット演算を扱うことができる。
13週 演算と演算子,関数形式マクロ 演算子の優先順位と結合性を判断できる。
関数形式マクロを扱うことができる。
14週 ソート,入出力と文字 複数のソートアルゴリズムの原理を説明できる。
JIS文字コード表を読むことができる。
15週 文字列 文字列の基本的な取り扱いができる。
16週 後期末試験

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

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

評価割合

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