情報処理Ⅰ

科目基礎情報

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

到達目標

(科目コード:31620、英語名:Information Processing I)
この科目は長岡高専の教育目標の(D)と主体的に関わる。この科目の到達目標と、成績評価上の重み付け、各到達目標と長岡高専の学習・教育到達目標との関連の順で示す。
1.コンピュータ内部のプログラムの動作を理解する。40%(d1)
2.数学や物理の基本問題の解法を一般化する重要性を理解し、その手順を習得する。20%(c1)
3.プログラムの問題点を見つけて修正する方法や、機能の変更・追加をする手法を習得する。20%(d2,d3)
4.自分で処理の手順(アルゴリズム)を考え、プログラムを完成させる手法を習得する。20%(g1,g2)

ルーブリック

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

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

教育方法等

概要:
現代ではコンピュータは煩雑な計算や、膨大なデータを処理するために必要不可欠な道具となっている。この授業では、実用的なプログラム開発の基礎知識やアルゴリズムについて概説し、C言語によるプログラミング演習を行う。題材として数学や物理の基本問題を扱い、理工系で要求される計算をコンピュータに代行させるための必要事項を学ぶ。
〇関連する科目:基礎情報処理(前年度履修)、情報処理II(次年度履修)、計算機システム(次年度履修)
授業の進め方・方法:
HRでの授業と総合情報処理センター端末室での演習を交互に繰り返す。
注意点:
数学や理科・物理で学んだ事項を十分復習することが望ましい。特に問題文を理解する力が重要である。表面的な丸暗記をするのではなく、基本原理や考え方を身につけるよう心がけてほしい。課題の未提出があると不合格とする場合があるので、すべての課題を提出すること。
本科目は本来,面接授業として実施を予定していたものであるが,新型コロナウィルス感染症の拡大による緊急事態において,必要に応じ遠隔授業として実施するものである。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 プログラム開発の基礎知識の概説・端末室でプログラム作成手順の演習 エディタ、コンパイラ等の基本的な使い方を習得し、プログラムを完成させる手順を理解する。
2週 プログラミング言語の概説、変数・入力と出力・式(1)についてHRで授業 整数、実数のデータ型の違いを理解し、入力と出力、四則演算の記述方法を理解する。
3週 変数・入力と出力・式(2)について端末室でプログラミング演習 変数に値を入力し、所定の演算を行った結果を出力するプログラムの作成方法を習得する。
4週 定数表現・式(1)についてHRで授業 8進・16進・10進定数の記述方法や、それを用いた演算の記述方法を理解する。
5週 定数表現・式(1)について端末室でプログラミング演習 8進・16進・10進定数の記述方法や、それを用いた演算を行うプログラムの作成方法を習得する。
6週 重要事項の整理および端末室でのプログラミング演習 前期中間試験での重要事項の解説から既習事項を確認し、それらを活用するプログラムの作成方法を習得する。
7週 プログラミング演習 学習事項の理解度を確認するための演習を行う。
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週 繰り返し(3)について、HRで授業 for文の記述方法を理解する。
15週 重要事項の整理および端末室でのプログラミング演習 重要事項の解説から既習事項を確認し、それらを活用するプログラムの作成方法を習得する。
16週 プログラミング演習 学習事項の理解度を確認するための演習を行う。
後期
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週 重要事項の整理および端末室でのプログラミング演習 学年末試験での重要事項の解説から既習事項を確認し、それらを活用するプログラムの作成方法を習得する。
16週 学年末試験
17週:試験解説と発展授業
試験時間:50分

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

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

評価割合

試験レポートその他合計
総合評価割合8010100100
基礎的能力6046070
専門的能力1032015
分野横断的能力1032015