プログラミングI

科目基礎情報

学校 熊本高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 プログラミングI
科目番号 TE1204 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 情報通信エレクトロニクス工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 柴田望洋,由梨かおる,「新・解きながら学ぶC言語」,SB Creative及びWeb上の自作資料
担当教員 新谷 洋人

到達目標

プログラムの基礎,配列,関数,ポインタを利用し,提示される課題を解決するためのC言語プログラムを行うことができる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
プログラムの基礎プログラミングの基本事項を理解し,if,for,whileや,基本的なc言語の関数を利用して実用的なプログラムを書くことができるプログラミングの基本事項を理解し,参考となるプログラムを見ながらであればプログラムを作成することができる簡単なプログラムの自作が出来ない
配列配列の仕組みを理解した上で,実践的で効率のよいプログラムを自分で考えながら構築することができる仕組みを理解し使うことができる配列の概念を理解していない
関数関数の仕組みを理解した上で,実践的で効率のよいプログラムを自分で考えながら構築することができる仕組みを理解し使うことができる関数の概念を理解していない
ポインタポインタを利用したプログラミングを,機械上で実行されるときの振る舞いを意識しなら行うことができるポインタを利用したプログラミングを行うことができるポインタの概念を理解していない

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

教育方法等

概要:
本講義では,構造化プログラミング言語の一つであるC言語について学ぶ。本言語は高級言語の一つでありながら,低級言語に近いハードウェア寄りの処理が可能なため,マイコンの組み込みソフトウェアからスーパーコンピュータを用いた大規模数値計算まで幅広く用いられている.本講義では代表的な構造化言語であるC言語を学習し,プログラミングの基礎を身につける.主に実用上必須となる制御構文,関数,配列,入出力,ポインタについて重点的に学習する.
授業の進め方・方法:
プログラムの基礎,配列,関数,ポインタを順をおって理解・利用できるように進めていく.
基本的に講義及び演習により進めていくが,一部反転授業を取り入れた授業も行う.
注意点:
本科目は,1年次開講科目の情報基礎工学の中で学んだC言語の続きとなる科目であるため,C言語の基礎は理解した上で受講することが望ましい.C言語は構造プログラムの基礎であるためソフトウェア技術者希望の学生でなくともきちんと理解しておくこと.授業に対する質問などは、授業中だけでなくメールや教員室への訪問でも随時受け付ける.

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 プログラムの基本の復習 if, for,while文を使い簡単なアルゴリズムを実現できる
2週 プログラムの基本の復習 同上
3週 配列1 一次元配列の構造を理解し,繰り返しを利用してデータの操作ができる
4週 配列1 同上
5週 配列2 多次元配列の構造を理解し,繰り返しを利用してデータの操作ができる
6週 配列2 同上
7週 配列3 配列の内容のsortを複数の手法で行うことができる
8週 中間試験
2ndQ
9週 関数1 関数の引数,戻り値,プロトタイプ宣言,関数定義の順番などの基本構造を理解している
10週 関数2 必要な関数を作成することができる
11週 関数2 同上
12週 基本型 C言語の数値型の概要やサイズ,各演算子について理解している
13週 基本型 同上
14週 ビット演算 ビット演算と各型のデータ構造について理解している
15週 ビット演算 同上
16週 定期試験答案返却
後期
3rdQ
1週 アルゴリズム 前期に学んだ内容を応用したアルゴリズムを組み立て,プログラミングすることができる
2週 アルゴリズム 同上
3週 アルゴリズム 同上
4週 文字列の基本 文字列の概要を理解している
5週 文字列の基本 同上
6週 ポインタ1 ポインタの概要及び簡単な利用法を理解している
7週 ポインタ1 同上
8週 中間試験
4thQ
9週 ポインタ2 ポインタを利用した関数を作成できる
10週 ポインタ2 同上
11週 ポインタ2 同上
12週 ポインタ2 同上
13週 文字列とポインタ ポインタを利用した文字列操作を理解し,応用したプログラムを作成することができる
14週 文字列とポインタ 同上
15週 関数ポインタ 関数のポインタからの呼び出しを利用したプログラムを作成することができる
16週 定期試験答案返却

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。2
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。2
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。2

評価割合

試験小テストとレポート合計
総合評価割合6040100
基礎的能力452065
専門的能力152035