プログラミング基礎

科目基礎情報

学校 仙台高等専門学校 開講年度 2017
授業科目 プログラミング基礎
科目番号 0050 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 知能エレクトロニクス工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材
担当教員 藤木 なほみ,大場 譲

到達目標

・コンピュータプログラミングの基礎を理解し,与えられた課題に対し,定められた手順に従い小規模なプログラムを実装,作成することができる。
・プログラムの論理構造と処理の流れを理解し,言語に依らない処理手順を考えることができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安最低限のレベルの目安(可)未到達レベルの目安
変数についての理解変数の種類とそのデータ型について理解している。 変数のデータサイズを説明できる。 適切な変数型の選択ができる。変数の種類とそのデータ型について理解している。 適切な変数型の選択ができる。適切な変数型の選択ができる。適切な変数型の選択ができない。
標準入出力キーボードからプログラムへ適切な形に変換してデータを入力できる。 プログラムからディスプレイに適切な形に変換してデータ出力できる。 バッファオーバーランに注意したデータ入出力ができる。キーボードからプログラムへ適切な形に変換してデータを入力できる。 プログラムからディスプレイに適切な形に変換してデータ出力できる。キーボードからプログラムへデータを入力できる。 プログラムからディスプレイにデータ出力できる。キーボードからプログラムへデータを入力できない。 プログラムからディスプレイにデータ出力できない。
制御分岐場合に応じた効率的な繰り返し処理を記述できる。 場合に応じた効率的な条件分岐処理を記述できる。場合に応じた繰り返し処理を記述できる。 場合に応じた条件分岐処理を記述できる。繰り返し文法を理解し説明できる。 条件分岐文法を理解し説明できる。繰り返し文法を理解できない。 条件分岐文法を理解できない。
関数関数に関する文法を理解し、効率的に実装できる。関数に関する文法を理解し、実装できる。関数に関する文法を理解し、説明できる。関数に関する文法を理解できない。

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

教育方法等

概要:
 プログラミング言語としてはC言語を取り上げる。本科目では,データ型,標準入出力,演算,制御構造,記憶クラス,標準ライブラリ関数,ユーザ関数等の基本文法について講義と実習を行い,小規模なプログラムを作成していく。
授業の進め方・方法:
座学による基礎知識の習得を行いながら、適宜端末を用いた実習を行い知識習得を行う。
注意点:
本科目は、プログラミング応用I、プログラミング応用II,マイクロコンピュータ基礎と関連する。
多くの演習課題をこなし、理解を深めることが重要である。また,全ての提出物を期限内に提出することが単位認定の最低条件である。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 授業ガイダンス
 C言語によるプログラム開発
ソースコードとオブジェクトコードの違いを説明できる。
gccを用いてコンパイルできる。
2週 変数
 変数型と宣言
変数の種類とデータ方の違いを説明できる。
必要なデータに合わせた変数の型を選択できる。
3週  変数の代入  変数に数値を代入できる。
異なる変数型に代入したときの挙動を説明できる。
4週 標準入出力
 標準入力
標準入力を用いてキーボードから入力できる。
5週  標準出力 標準出力を用いてディスプレイに出力できる
6週 標準入出力に関する実習I 標準入力を用いてキーボードから入力できる。
標準出力を用いてディスプレイに出力できる
7週 標準入出力に関する実習II 標準入力を用いてキーボードから入力できる。
標準出力を用いてディスプレイに出力できる
8週 演算子
 算術演算子
 論理演算子
 比較演算子
四則演算子を用いた数値計算ができる。
論理演算子を用いた計算ができる。
比較演算子を用いた式の記述ができ、その挙動を説明できる。
2ndQ
9週 演算子に関する実習 各種演算子の使い方を理解し、プログラムを記述できる。
10週 条件分岐
 if-else文
 switch-case文
条件分岐について説明できる。
if-else型の分岐について、条件を適切に書き、分岐を制御できる。
switch-case型の分岐について、条件を適切に書き、分岐を制御できる。
11週 条件分岐に関する実習I 条件分岐について理解し、与えられた課題に対する適切な条件分岐を記述できる。
12週 条件分岐に関する実習II 条件分岐について理解し、与えられた課題に対する適切な条件分岐を記述できる。
13週 繰り返し処理
 while文
 for文
繰り返し処理の動作を説明できる。
while型のループの記述ができる。
for型ループの記述ができる。
14週 繰り返し処理に関する実習I 繰り返し処理について理解し、与えられた課題に対する適切な処理を記述できる。
15週
16週 繰り返し処理に関する実習II 繰り返し処理について理解し、与えられた課題に対する適切な処理を記述できる。
後期
3rdQ
1週 配列
 配列の宣言
 配列の初期化
配列の概念を説明できる。
配列の宣言方法、および数値代入方法について説明できる。
2週 配列に関する実習 配列に関して理解し、与えられた課題に対する適切なプログラムを記述できる。
3週 配列に関する実習II 配列に関して理解し、与えられた課題に対する適切なプログラムを記述できる。
4週 関数
 関数定義
 引数
 戻り値
関数の概念を説明できる。
関数の記述について理解できる。
5週 関数に関する実習I 関数について理解し、与えられた課題に対する適切なプログラムを記述できる。
6週 関数に関する実習II 関数について理解し、与えられた課題に対する適切なプログラムを記述できる。
7週 プリプロセッサ
 includeプリプロセッサ
 defineプリプロセッサ
プリプロセッサの意味を理解し、適切に記述できる。
8週 標準ライブラリ関数
C言語の標準ライブラリ関数について説明できる。
関数の説明文をよみ、その使用方法を理解できる。
4thQ
9週 標準ライブラリ関数に関する実習 標準ライブラリ変数を用いた課題について、適切な記述ができる。
10週 文字と文字列
 文字
 文字列
文字データ型について説明できる。
文字列データ型について説明できる。
11週  文字列操作
コマンドライン引数
文字列操作の方法を理解できる。
コマンドライン引数について説明できる。
12週 文字列操作に関する実習 文字列操作に関する課題に対するプログラムを記述できる。
コマンドライン引数を用いたプログラムを記述できる。
13週 記憶域クラス
 記憶域の分類
 変数のスコープ
変数の記憶域クラスについて説明できる。
変数のスコープについて理解できる。
14週 記憶域クラスに関する実習 変数のスコープ等に関する課題に対する記述ができる。
15週
16週 課題の解答と解説 与えられた簡単な問題に対して、それを解決するためのソースプログラムを記述できる。

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング変数とデータ型の概念を説明できる。2前2,後1,後2,後3,後10,後13,後14
代入や演算子の概念を理解し、式を記述できる。2前2
制御構造の概念を理解し、条件分岐や反復処理を記述できる。2前10,前11,前12,前13,前16
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。2後4,後5,後6,後7
主要な言語処理プロセッサの種類と特徴を説明できる。1前1
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。2前1
ソフトウェアアルゴリズムの概念を説明できる。3後11,後12,後16
与えられたアルゴリズムが問題を解決していく過程を説明できる。3後11,後12,後16
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。3後11,後12,後16
時間計算量や領域計算量などによってアルゴリズムを比較・評価できることを理解している。2後11,後12,後16
整列、探索など、基本的なアルゴリズムについて説明できる。3後12,後16
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。2後10
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。1後16
システムプログラムコンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。1前1
情報数学・情報理論コンピュータ上での数値の表現方法が誤差に関係することを説明できる。2前2
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。1前2

評価割合

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