授業コード 10035700 クラス
科目名 B2群特殊講義a(アルゴリズムとプログラミング発展演習) 単位数 2
担当者 高濱 節子 履修期 後期授業
カリキュラム *下表参考 配当年次 *下表参考

授業題目 アルゴリズムとプログラミング演習
授業の概要  企業においてデータ処理やデータ分析,問題解決にコンピュータの利⽤は不可欠である.そのための様々なソフトウェアも存在しており,直面している問題にぴったりしたソフトウェアを導入することが重要である.このために,企業では,適切なアルゴリズム(問題を解決したり目標を達成したりするための計算方法や処理方法)の考察ができる人材が求められている.
 この授業では,プログラミングの基礎となる基本的な⼿順(アルゴリズム)とデータ構造,プログラミング⾔語について学習する.さらに,アルゴリズムの読み取りと作成,プログラミングの演習を行う.
 授業は,講義とその内容の理解を確認する小テスト/プログラム課題をセットに行う.
 プログラミング⾔語としては,様々なプログラミング⾔語のもとになっているC⾔語を⽤いる.

なお,この授業の講義内容は
(1) 情報処理技術者試験の試験範囲
(2) 高等学校「商業」の『プログラミング』の指導項目
の一部に対応している.
学習の到達目標 ・C⾔語で書かれたプログラムが何をするプログラムであるかを説明できる.
・C⾔語で書かれたプログラムの誤りを訂正できる.
・指定された処理を行うための基本的なプログラムのアルゴリズムを作成できる.
・指定された処理を行うためのアルゴリズムに従ったC⾔語の基本的プログラムを作成できる.
授業計画 第1回 ガイダンス︓授業の進め⽅,評価⽅法について説明する.
      Google Classroom(GC)への登録を完了する.
前期の復習① 順次処理と分岐処理  
※ 前期とは,B2群特殊講義a(アルゴリズムとプログラミング演習)を指している.

・前期に学習した順次処理と分岐処理について総復習を行う.
・順次処理と分岐処理をつかった復習演習①.

・順次処理と分岐処理について説明できるとともに,プログラムを作成できるようになる.
第2回 前期の復習② 反復処理と配列
・前期に学習した反復処理と配列について総復習を行う.
・反復処理と配列を使った復習演習②

・反復処理と配列の使い方について説明できるとともに,プログラムを作成できるようになる.
第3回 文字列の操作① 
・C言語で扱うASCIIコード文字などを扱う文字型データの扱い方と文字種を判定する関数や変換関数について学習する.
・C言語における文字列の扱い方について学習する.
・講義内容を確認する文字に関するプログラミング演習①

・C言語における文字と文字列の違いについて説明できるようになる.
・文字型データを使った,プログラムを作成できるようになる.
第4回 ⽂字列の操作②
・文字列変数への安全な入力処理と初期化方法について学習する.
・文字列を扱うための文字列操作関数について学習する.
・講義内容を確認する文字列に関するプログラミング演習②

・文字列変数への安全な入力処理方法について説明できるようになる.
・文字列変数を使った,プログラムを作成できるようになる.
第5回 関数①
・今回から3回にわたって,C言語における処理のまとまりである関数について学習する.
・1回目は,関数の定義と関数の呼び出し,戻り値を返す関数について学習する.
・講義内容を確認する関数に関するプログラミング演習①

・関数の定義,プロトタイプ宣言,関数呼び出し,戻り値について説明できるようになる.
・オリジナルの関数を作成し,呼び出すことにより,関数内に記述された処理を実行できるようになる.
第6回 関数② 
・今回は,関数の呼び出し側から引数(ひきすう)で値をもらい,それを使って関数内に記述された処理を実行する関数について学習する.
・講義内容を確認する引数を持つ関数に関するプログラミング演習②

・関数の定義,プロトタイプ宣言,引数,関数呼び出しについて説明できるようになる.
・引数を持つオリジナルの関数を作成し,呼び出すことにより,関数内に記述された処理を実行できるようになる
第7回 関数③ 
・C言語プログラムで決めれた変数の寿命に関係するグローバル変数,ローカル変数,静的ローカル変数について学習する.
・関数を使った総まとめ演習③

・グローバル変数,ローカル変数,静的ローカル変数の寿命,優先順位について説明できるようになる.
・指定された処理に対応する関数を作成し,実行できるプログラムを作成できるようになる.
第8回 ポインタ① (オンデマンド, Google Classroom使用)
・今回と第10回は,ポインタについて学習する.
・今回は,変数・配列とアドレスの関係,値渡しと参照渡し,ポインタ変数,について学習する.
・講義内容を確認するポインタ変数を使ったプログラム演習①

・変数・配列とアドレスの関係,値渡しと参照渡し,ポインタ変数,について説明できるようになる.
・ポインタ変数を使ったプログラムを作成できるようになる.
第9回 中間試験と中間まとめ
・第7回までを範囲とした中間試験を実施する.
・試験終了後,試験の解説とこれまでの学習内容の振り返りを行う.
第10回 ポインタ②
・第7回に引き続き,ポインタ変数の使い方について学習する.
・ポインタ変数を引数とする関数の扱い方,配列を引数とする関数の扱い方,ポインタと配列の関係について学習する.
・講義内容を確認するポインタ変数を使ったプログラム演習②

・ポインタ変数を引数とする関数の扱い方,配列を引数とする関数の扱い方,ポインタと配列の関係について,説明できるようになる.
・ポインタ変数,配列を引数とする関数を作成し,実行できるプログラムを作成できるようになる.
第11回 構造体①
・今回から3回にわたって,異なる型のデータ型をまとめて作られた型である構造体について学習する.
・第1回は,構造体の仕組み,構造体変数の宣言,構造体型の宣言について学習する.
・講義内容を確認する構造体変数を使ったプログラム演習①

・構造体の仕組みについて説明できるようになる.
・新たな構造体型を作成し,作成した構造体型の変数を使ったプログラムを作成できるようになる.
第12回 構造体②
・構造体変数を引数とする関数の扱い方について学習する.
・構造体型のポインタ変数の作り方とメンバの参照方法について学習する.
・構造体型ポインタ変数を引数とする関数の扱い方について学習する.
・講義内容を確認する構造体変数,構造体型ポインタ変数を引数とする関数を使ったプログラム演習②

・構造体変数を引数とする関数の使い方と引数の性質について説明できるようになる.
・構造体型ポインタ変数の宣言方法とメンバの参照方法について説明できるようになる.
・構造体変数,構造体型ポインタ変数を引数とする関数を使ったプログラムを作成できるようになる.
第13回 構造体③
・構造体変数を要素とする構造体の配列の宣言と初期化について学習する.
・構造体の配列を引数とする関数の扱いについて学習する.
・講義内容を確認する構造体の配列を引数とする関数を使ったプログラム演習②

・構造体の配列の宣言と初期化の方法について説明できるようになる.
・構造体の配列を引数とする関数を使ったプログラムを作成できるようになる.
第14回 ・これまでプログラムでは,標準的にはキーボードからの入力を受け取り,ディスプレイに出力するものであった.今回の授業では,プログラムを使ってファイルの入出力を行う方法について学習する.
・講義内容を確認するファイルの入出力を行うプログラミング演習

・ファイルの入出力を行うプログラムを作成することができるようになる.
第15回 総まとめ
・中間試験以降の講義における学習内容の振り返りを行う.
・ポインタ変数,構造体を使った複数のプログラムを作成するプログラミング演習.

・中間試験以降の講義における学習内容にかかるプログラムを作成し,実行できるようになる.
授業外学習の課題 授業外学習の課題
事前学修(2時間程度):
・事前にGCに次回の講義資料を挙げるので,この講義資料と対応するテキストの範囲を通読しておくこと.
・講義資料内の例題プログラムを実行してみること.
事後学修(2時間程度):
・テキスト,講義資料や課題の解答例などを用いて,演習問題や課題プログラムについて復習し、内容を理解しておく.
・GCに出題された課題を,指定された期限までにGCに提出する.
履修上の注意事項 この授業は,B2群特殊講義a(アルゴリズムとプログラミング演習)を履修していることを前提とする.

*ブレンド型授業を実施します.オンライン授業では,Google Classroomを使用してオンデマンド教材を配信します.

① 履修登録に先立ちWeb抽選を行う.
② GC上に事前にあげられた講義資料を,印刷して授業に持参する.
③ 毎回の出欠確認は情報センターの出席票で行う.出席票提出時刻が10分までを出席,20分までを遅刻,それ以降を欠席とする.遅刻は2回で1回の欠席とする.
④ 授業は指定席で行う.授業中は携帯電話の使⽤を禁止するので,鞄などにしまっておくこと.
⑤ 実習が中心となるので,GCに課題を必ず提出することが重要である.
⑥ 講義では限られた内容しか説明できない.授業で話すことは,あくまでも自分で勉強するため
の手がかりだと考え,配付資料やテキストを使って必ず予習・復習をしてくること.
⑦ 自宅にPCとインターネット環境があることが望ましい.

*公認欠席制度の配慮内容は以下の通りです.
・公認欠席は欠席として扱いますが,単位認定要件または期末試験の受験要件には影響しないように配慮します.
成績評価の方法・基準 中間試験と期末試験(40%)と課題(60%)を目安に総合的に評価する予定である.

テキストを購入していない場合は,D評価とする.テキスト所有の有無を確認します。ただし,今年度前期にB2群特殊講義a/B3群特殊講義a(アルゴリズムとプログラミング演習)で指定したテキストをすでに購入している人は購入する必要はない.
テキスト 今年度前期 B2群特殊講義a(アルゴリズムとプログラミング演習)で用いたテキストを引き続き使用する.
参考文献 適宜,紹介する.
主な関連科目 B2群特殊講義a(アルゴリズムとプログラミング演習),経営情報論Ⅰ・Ⅱ,情報処理
オフィスアワー及び
質問・相談への対応
1.質問については基本的にGC内のミニッツペーパーで受け付けます.質問の内容やその回答について、その他の学生にも説明をした方がよいと判断した場合、講義時に解説します。
2.授業開始前、授業中及び授業終了時に受け付けますが、授業進行その他の都合上、すぐに対応できない場合があります.そのときは、事後にメールあるいはGCで説明します.

■カリキュラム情報
所属 ナンバリングコード 適用入学年度 配当年次 身につく能力
知識・技能 思考力 判断力 表現力 協創力
商学部経営学科(B2群) FCBA22246 2018~2022 2・3・4 - - - - -
商学部経営学科(B2群) FCBA22246 2023~2023 2・3・4 -