情報処理Ⅰ

科目基礎情報

学校 長岡工業高等専門学校 開講年度 平成29年度 (2017年度)
授業科目 情報処理Ⅰ
科目番号 0077 科目区分 専門 / 必履修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 電子制御工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 柴田望洋,新・明解C言語入門編,SBクリエイティブ,2014
担当教員 高橋 章,上村 健二

到達目標

1.コンピュータ内部のプログラムの動作を理解する.
2.数学や物理の基本問題の解法を一般化する重要性を理解し,その手順を習得する.
3.プログラムの問題点を見つけて修正する方法や,機能の変更・追加をする手法を習得する.
4.自分で処理の手順(アルゴリズム)を考え,プログラムを完成させる手法を習得する.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1数学や物理の既習事項を一般化してプログラムコードとして記述できる.数学や物理の既習事項に関連したプログラムコードの動作を理解できる.数学や物理の既習事項を使って問題を解くことや関連するプログラムコードが理解できない.
評価項目2プログラムの問題点を発見し,より簡潔で汎用性の高いコードに改良することができる.プログラムが動作しない場合にデバッグ作業を行うことができる.プログラムが動作しない場合にデバッグ作業を行うことができない.
評価項目3理工系の問題解決の手段としてコンピュータプログラミングを適切に活用できる.仕様やアルゴリズムが示された問題をコンピュータプログラミングで解決できる.コンピュータプログラミングを問題解決に活用することができない.

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

教育方法等

概要:
現代ではコンピュータは煩雑な計算や,膨大なデータを処理するために必要不可欠な道具となっている. この授業では,実用的なプログラム開発の基礎知識やアルゴリズムについて概説し,C言語によるプログラミング演習を行う.題材として数学や物理の基本問題を扱い,理工系で要求される計算をコンピュータに代行させるための必要事項を学ぶ.
授業の進め方・方法:
HRでの授業と総合情報処理センター端末室での演習を交互に繰り返す.
注意点:
数学や理科・物理で学んだ事項を十分復習することが望ましい.特に問題文を理解する力が重要である.表面的な丸暗記をするのではなく,基本原理や考え方を身につけるよう心がけてほしい.

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 プログラム開発の基礎知識の概説・端末室でプログラム作成手順の演習 エディタ,コンパイラ等の基本的な使い方を習得し,プログラムを完成させる手順を理解する.
2週 プログラミング言語の概説,変数・入力と出力・式(1)についてHRで授業 整数,実数のデータ型の違いを理解し,入力と出力,四則演算の記述方法を理解する.
3週 変数・入力と出力・式(2)について端末室でプログラミング演習 変数に値を入力し,所定の演算を行った結果を出力するプログラムの作成方法を習得する.
4週 定数表現・式(1)についてHRで授業 8進・16進・10進定数の記述方法や,それを用いた演算の記述方法を理解する.
5週 定数表現・式(1)について端末室でプログラミング演習 8進・16進・10進定数の記述方法や,それを用いた演算を行うプログラムの作成方法を習得する.
6週 重要事項の整理および端末室でのプログラミング演習 前期中間試験での重要事項の解説から既習事項を確認し,それらを活用するプログラムの作成方法を習得する.
7週 前期中間試験 50分間の筆記試験で既習事項の理解度を確認する.
8週 条件分岐(1)について,HRで授業 if文やif-else文を用いた条件分岐の記述方法や条件式の真偽の判定のルールを理解する.
2ndQ
9週 条件分岐(2)について,端末室でのプログラミング演習 if文やif-else文を用いたプログラムの作成方法を習得する.
10週 条件分岐(3)・数学関数について,HRで授業 論理積・論理和を用いた条件分岐やswitch文の記述方法を理解し,数学関数の利用方法を理解する.
11週 条件分岐(4)・数学関数(2)について,端末室でのプログラミング演習 論理積・論理和を用いた条件分岐やswitch文,数学関数の利用するプログラムの作成方法を習得する.
12週 繰り返し(1)について,HRで授業 while文やdo-while文を用いた繰り返しの記述方法や,式の省略表記について理解する.
13週 繰り返し(2)について,端末室でのプログラミング演習 while文やdo-while文を用いたプログラムの作成方法を習得する.
14週 重要事項の整理および端末室でのプログラミング演習 前期中間試験での重要事項の解説から既習事項を確認し,それらを活用するプログラムの作成方法を習得する.
15週 前期末試験 50分間の筆記試験で既習事項の理解度を確認する.
16週 試験解説と発展授業,繰り返し(3)についてHRで授業 前期末試験の解説から正答できなかった問題の解き方を理解する.for文の記述方法を理解する.
後期
3rdQ
1週 繰り返し(4),リダイレクション(1)について,HRで授業 多重ループの動作について理解する.入出力のリダイレクションの方法を理解する.
2週 繰り返し(5),リダイレクション(2)について,端末室でのプログラミング演習 多重ループを用いたプログラムの作成方法およびリダイレクションの利用方法を習得する.
3週 配列(1)について,HRで授業 配列の概念や宣言方法,利用方法を理解する.
4週 配列(2)について,端末室でのプログラミング演習 配列を用いたプログラムの作成方法を習得する.
5週 データ型(1),アルゴリズム(1)について,HRで授業 データ型の種類や違いを理解する.ソーティングなどのアルゴリズムを理解する.
6週 データ型(2),アルゴリズム(2)について,端末室でのプログラミング演習 様々なデータ型を利用するプログラムの作成方法を習得する.アルゴリズムをプログラムとして実装する手順を習得する.
7週 重要事項の整理および端末室でのプログラミング演習 後期中間試験での重要事項の解説から既習事項を確認し,それらを活用するプログラムの作成方法を習得する.
8週 後期中間試験 50分間の筆記試験で既習事項の理解度を確認する.
4thQ
9週 関数(1)について,HRで授業 ライブラリ関数やmain関数,ユーザ定義関数の違いについて理解する.ユーザ定義関数の記述方法を理解する.
10週 関数(2)について,端末室でのプログラミング演習 ユーザ定義関数を用いたプログラムの作成方法を習得する.
11週 ポインタについて,HRで授業 ポインタの概念や利用方法を理解する.
12週 ポインタと配列について,HRで授業 ポインタと配列の違いや類似点,利用方法について理解する.
13週 総合演習について,端末室でのプログラミング演習 ポインタと配列を用いたプログラムの作成方法を習得する.
14週 重要事項の整理および端末室でのプログラミング演習 学年末試験での重要事項の解説から既習事項を確認し,それらを活用するプログラムの作成方法を習得する.
15週 学年末試験 50分間の筆記試験で既習事項の理解度を確認する.
16週 試験解説と発展授業 学年末試験の解説から正答できなかった問題の解き方を理解する.総合演習のプレゼンテーションを行う.

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力数学数学数学実数・絶対値の意味を理解し、絶対値の簡単な計算ができる。3
ベクトルの定義を理解し、ベクトルの基本的な計算(和・差・定数倍)ができ、大きさを求めることができる。3
平面および空間ベクトルの成分表示ができ、成分表示を利用して簡単な計算ができる。3
平面および空間ベクトルの内積を求めることができる。3
問題を解くために、ベクトルの平行・垂直条件を利用することができる。3
1次元のデータを整理して、平均・分散・標準偏差を求めることができる。2
工学基礎情報リテラシー情報リテラシー論理演算と進数変換の仕組みを用いて基本的な演算ができる。3
コンピュータのハードウェアに関する基礎的な知識を活用できる。2
数値計算の基礎が理解できる3
コンピュータにおける初歩的な演算の仕組みを理解できる。3
データの型とデータ構造が理解できる3
専門的能力分野別の専門工学機械系分野情報処理プログラムを実行するための手順を理解し、操作できる。3
定数と変数を説明できる。3
整数型、実数型、文字型などのデータ型を説明できる。3
演算子の種類と優先順位を理解し、適用できる。3
算術演算および比較演算のプログラムを作成できる。3
データを入力し、結果を出力するプログラムを作成できる。3
条件判断プログラムを作成できる。3
繰り返し処理プログラムを作成できる。3
一次元配列を使ったプログラムを作成できる。3
二次元配列を使ったプログラムを作成できる。2
電気・電子系分野情報基本的なアルゴリズムを理解し、図式表現できる。3
プログラミング言語を用いて基本的なプログラミングができる。3
整数、小数を2進数、10進数、16進数で表現できる。3
基数が異なる数の間で相互に変換できる。3
基本的な論理演算を行うことができる。3
情報系分野プログラミング変数とデータ型の概念を説明できる。3
代入や演算子の概念を理解し、式を記述できる。3
制御構造の概念を理解し、条件分岐や反復処理を記述できる。3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3
主要な言語処理プロセッサの種類と特徴を説明できる。1
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。2
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。2
ソフトウェアアルゴリズムの概念を説明できる。2
与えられたアルゴリズムが問題を解決していく過程を説明できる。2
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。2
整列、探索など、基本的なアルゴリズムについて説明できる。1
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。2
ソフトウェアを中心としたシステム開発のプロセスを説明できる。2
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。1
計算機工学整数・小数を2進数、10進数、16進数で表現できる。3
整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。2
基数が異なる数の間で相互に変換できる。3
基本的な論理演算を行うことができる。2
システムプログラムコンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。1
コンパイラの役割と仕組みについて説明できる。1
情報数学・情報理論コンピュータ上での数値の表現方法が誤差に関係することを説明できる。1
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。1
コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。1
その他の学習内容少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。3
少なくとも一つのメールツールとWebブラウザを使って、メールの送受信とWebブラウジングを行うことができる。3
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。3
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。3
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。3
与えられた数値を別の基数を使った数値に変換できる。3

評価割合

試験(中間)試験(期末)レポートその他合計
総合評価割合4040101000100
基礎的能力1616330038
専門的能力1616330038
分野横断的能力88440024