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

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

なお,この授業の講義内容は
(1) 情報処理技術者試験の試験範囲
(2) 高等学校「商業」の『プログラミング』の指導項目
の一部に対応しています.
学習の到達目標 ・C言語で書かれたプログラムが何をするプログラムであるかを説明できる.
・C言語で書かれたプログラムの誤りを訂正できる.
・指定された処理を行うための基本的なプログラムのアルゴリズムを作成できる.
・指定された処理を行うためのアルゴリズムに従ったC言語の基本的プログラムを作成できる.
授業計画 第1回 ガイダンス:授業の進め方,評価方法について説明する.
      Google Classroom (GC) への登録を完了する.
プログラミングの基礎知識① 
・コンピュータの仕組み,プログラム・プログラミング言語とは何か,プログラムの開発手順について学習する.
・コンピュータとプログラムの関係,プログラムとプログラミング言語の関係,C言語によるプログラムの開発手順について説明できる.
第2回 プログラミングの基礎知識②
・プログラムの構造について学習する.
・プログラムの作成(ソースファイルの作成,コンパイル,実行,修正の一連の作業)を演習する.
・C言語プログラムの書き方の約束事について学習する.

・C言語プログラムの構造,関数の構造について説明できる.
・C言語によるソースファイルを作成し,実行できるプログラムを完成できる.
第3回 簡単なプログラム①
・文字列(文字列リテラル),数値定数の表示させるためのプログラムについて学習する.
・文字列(文字列リテラル),数値定数を表示する簡単なプログラムに関する演習.

・文字列,数値,文字列と数値の組み合わせを表示するプログラムを作成できる.
第4回 簡単なプログラム②
・基本的な数値計算(四則演算と式,得られる結果,計算結果の表示)について学習する.
・基本的な数値計算を行い表示する簡単なプログラムに関する演習②

・基本的な数値計算を行い,意図した通り表示するプログラムを作成できる.
第5回 変数とデータ型
・変数宣言とデータ型,数値のデータ型を変更する型変換について学習する.
・ソースファイルの中で変数に値を入力し,変数を使った数値計算を行い,結果を表示するプログラムに関する演習①

・ソースファイルの中で変数に値を入力し,問題解決のために,変数を用いた数値計算を行い,意図したとおりに結果を表示するプログラムを作成できる.
第6回 キーボードからの入力
・プログラムの実行時にキーボードから変数に数値を入力するためのscanf関数とデータ型,scanf関数とprintf関数の共同作業について学習する.
・プログラムの実行時にキーボードから変数に数値を入力し,変数を使った数値計算を行い,結果を表示するプログラムに関する演習②

・プログラムの実行時にキーボードから変数に数値を代入し,問題を解決するために変数を用いた数値計算を行い,意図したとおりに結果を表示するプログラムを作成できる.
第7回 条件による処理の分岐① if文(基礎)
・今回から3回にわたって,入力されたデータや計算結果によって異なった内容の処理が必要な場合に,条件を指定して場合分けを行い,別々の処理を実行させる方法を学習する.
・1回目は,if文を使って条件が成り立つときだけ異なった処理を行う方法について学習する.
・if文により条件が成り立つときだけ異なった処理を行うことができるプログラムに関する演習①


・場合分けをするための条件式を記述することができ,条件が成り立つときだけ分岐して処理を行うプログラムを作成できるようになる.
第8回 条件による処理の分岐② if文(発展)
・if-else文を使って,処理の流れを2つに分岐するプログラムの書き方を学習する.
・if-else if-else文を使って,2つ以上の条件式で処理の流れを3つ以上に分岐するプログラムの書き方を学習する.
・if-else文,if-else if-elseを使った条件分岐プログラムに関する演習.

・分岐をするための条件式を記述することができ,処理の流れを2つ以上に分岐するプログラムを作成できるようになる.
第9回 条件による処理の分岐③
・if文の中にif文を入れる「入れ子」を使って,より複雑な場合分けをするプログラムの書き方を学習する.
・番号(例えば,選択肢番号)を使って,処理の流れを分岐するプログラムの書き方を学習する.
・if文の入れ子や番号による分岐を使ったプログラム演習.

・if文の入れ子や番号を使って,処理の流れを分岐するプログラムを作成できるようになる.
第10回 中間試験と中間まとめ
・第3回~第9回までを範囲とした中間試験を実施する.
・試験終了後,試験の解説とこれまでの学習内容の振り返りを行う.
第11回 繰り返し処理(ループ処理)①
・今回から3回にわたって,一定の処理を繰り返す「繰り返し処理(ループ処理)」について学習する.
・for文を使った,「繰り返し回数が決まっている」繰り返し処理(ループ処理)について学習する.
・for文を使った,繰り返し処理に関する演習①.

・for文によるループ処理を行うプログラムを作成できるようになる.
第12回 繰り返し処理(ループ処理)②
・「繰り返し回数が予め決められておらず,終了条件により繰り返しを終了する」繰り返し処理(ループ処理)について学習する.
・while文,do-while文を使った「終了条件により繰り返しを終了する」繰り返し処理(ループ処理)について学習する.
・while文,do~while文を使った,繰り返し処理に関する演習②

・終了条件を記述でき,while文やdo-while文によるループ処理を行うプログラムを作成できるようになる.
第13回 繰り返し処理(ループ処理)③
・1つ前までの処理の結果を使ってその回の処理を行う「処理結果の累積」を行う場合の基本について学習する.
・1回ごとの処理をどの回でも使える処理として記述する「処理の一般化」の考え方について学習する.
・for文,while文を使った,繰り返し処理に関する演習③

・処理結果の累積,処理の一般化を意識してループ処理プログラムを作成できるようになる.
第14回 配列① (基礎)
・複数の変数をまとめて扱える配列について学習する.
・for文による反復処理と組み合わせて効率的に処理する手順を学習する.
・配列とfor文を組み合わせたプログラミング演習①

.配列の仕組み,宣言方法,for文と組み合わせた使い方を理解し,配列を使ったプログラムを作成できるようになる.
第15回 配列② (発展)
・配列のセキュリティ・ホールに対応した処理手順を学習する.
・表をイメージした2次元配列の仕組みと使い方を学習する.
・2次元配列とfor文を組み合わせたプログラミング演習②

・配列のセキュリティ・ホールに対応したプログラムを作成できるようになる.
・2次元配列と入れ子となるfor文を正しく使えるようになる.
授業外学習の課題 事前学修(2時間程度):
・事前にGCに次回の講義資料を挙げるので,この講義資料と対応するテキストの範囲を通読しておくこと.
・講義資料内の例題プログラムを実行してみること.
事後学修(2時間程度):
・テキスト,講義資料や課題の解答例などを用いて,演習問題や課題プログラムについて復習し、内容を理解しておく.
・GCに出題された課題を,指定された期限までにGCに提出する.
履修上の注意事項 アルゴリズムの作成と理解,C⾔語によるプログラミングの演習に重点を置くため,コンピュータ操作に苦⼿意識を持つ学⽣は苦労すると思われる.

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

*公認欠席制度の配慮内容は以下の通りです.
・公認欠席は欠席として扱いますが,単位認定要件または期末試験の受験要件には影響しないように配慮します.
成績評価の方法・基準 中間試験と期末試験(40%)と課題(60%)を目安に総合的に評価する予定である.
テキストを購入していない場合は,D評価とする.テキスト所有の有無を確認します。
テキスト MMGames『苦しんで覚えるC言語』 ISBN:978-4-7980-3014-2 秀和システム
本体価格2200円+税 修大生協
参考文献 適宜,指示する.
主な関連科目 B2群特殊講義a(アルゴリズムとプログラミング発展演習),経営情報論Ⅰ・Ⅱ,情報処理
オフィスアワー及び
質問・相談への対応
1.質問については基本的にGC内のミニッツペーパーで受け付けます.質問の内容やその回答について、その他の学生にも説明をした方がよいと判断した場合、講義時に解説します。
2.授業開始前、授業中及び授業終了時に受け付けますが、授業進行その他の都合上、すぐに対応できない場合があります.そのときは、事後にメールあるいはGCで説明します.

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