シラバス参照 |
科目一覧へ戻る | 2024/09/20 現在 |
開講科目名 /Course |
プログラミング/Programming | ||||||||
---|---|---|---|---|---|---|---|---|---|
時間割コード /Course Code |
E1F40003_E1 | ||||||||
開講所属 /Course Offered by |
経済学部/Faculty of Economics | ||||||||
ターム・学期 /Term・Semester |
2024年度/Academic Year 第1クォーター/1Q | ||||||||
曜限 /Day, Period |
木/Thu 2 | ||||||||
開講区分 /Semester offered |
前期/the former term | ||||||||
単位数 /Credits |
2.0 | ||||||||
学年 /Year |
2,3,4 | ||||||||
主担当教員 /Main Instructor |
芦田 昌也 | ||||||||
科目区分 /Course Group |
_ | ||||||||
授業形態 /Lecture Form |
講義・演習 | ||||||||
教室 /Classroom |
西2号館E302/E302 | ||||||||
開講形態 /Course Format |
|||||||||
ディプロマポリシー情報 /Diploma Policy |
|
教員名 /Instructor |
教員所属名 /Affiliation |
---|---|
芦田 昌也 | 経済学部(教員) |
授業の概要・ねらい /Course Aims |
コンピュータのプログラムについて,プログラミング言語(python)を使用してプログラムを作成しながら,基礎的な技能を身につけるとともに,プログラムについての理解を深める. プログラムの処理の流れを作る「順次処理」「選択処理」「反復処理」,各種の計算を実現する「演算子」,データを扱う仕組みである「変数」や「リスト(配列)」などを理解し,簡単なプログラムを作るための技能を修得する.その技能を活かして,小規模のデータ処理に取り組む. プログラムとよく似たもので,特定のプログラミング言語に依存しない方法で処理内容を記述したものに「アルゴリズム」がある.初学者の学習の題材として一般的に使われているデータの探索手法やデータの整列手法のアルゴリズムを学ぶ.それらを通してアルゴリズム(またはプログラム)を比較・評価する際の一つの観点である「計算量」の概念を理解する. |
---|---|
到達目標 /Course Objectives |
・変数やリストなどの特徴や使途を理解し使い分けることができる. ・各種の演算子の役割や使途を理解し,適切に用いることができる. ・順次処理,選択処理,反復処理を用いて,適切な処理の流れを作ることができる. ・小規模のデータ処理プログラムを作ることができる ・データの代表的な探索手法や整列手法の処理内容を説明することができる ・計算量の考え方を理解し,探索手法や整列手法の代表的なアルゴリズムの計算量を検討することができる |
成績評価の方法・基準 /Grading Policies/Criteria |
授業中の演習の成果,小テスト,課題,単位認定試験の結果に基づいて評価します. ・単位認定試験 50% ・演習の成果・小テスト・課題 50% |
教科書 /Textbook |
特になし |
参考書・参考文献 /Reference Book |
別途,紹介する場合がある |
履修上の注意 ・メッセージ /Notice for Students |
この授業を受けただけで,さくっとプログラムを作れるようにはならないが,これまで「アプリ」として使ってきただけのプログラムの中身がどのようなものであるかを非常に単純な形で知ることはできる.プログラムを作るということの本質は,その処理内容を考えることである.そのときに,プログラムではどのような処理が使えるのかを知っておく必要がある.この授業では,プログラムでは何が使えるのか,その一部を見ることができるだろう. |
履修する上で必要な事項 /Prerequisite |
Google Colaboratory というサービスを利用する.そのために Google アカウントを取得すること.すでに Google アカウントを取得している人は(それを使ってよければ),新たに取得する必要はない(どうしても嫌だという人は,各自のパソコンに python の処理系をインストールすること). |
履修を推奨する関連科目 /Related Courses |
「情報処理ⅡA」「情報処理ⅡB」を履修していると理解はスムーズかもしれない. |
授業時間外学修についての指示 /Instructions for studying outside class hours |
・授業中に作成したプログラムが動作しなかった場合は,必ず次の授業までに動作するように修正すること ・物事を考えたり,文章を書いたりするときにも,順序を意識すること ・場合分けを考えるときには,分ける条件や順序を整理すること ・処理の繰り返しを考えるときには,繰り返しのなかで変化させる部分と,変化させない部分を見つけること ・特定の場合や状況の処理から,一般的あるいは限定された場合や状況の処理に拡張することを常に考えること |
その他連絡事項 /Other messages |
・学習にはパソコンを使用する ・資料・教材は Moodle で提供する ・課題の提出,小テスト・単位認定試験の受験も Moodle を利用する ・課題の提出期間,小テストの解答期間は,原則として延長しない |
授業理解を深める方法 /How to deepen your understanding of classes |
授業で扱った内容に,自分で何かひと工夫を加えることを考える.計算に使った数値を変更するだけでも構わない.計算に使う数値を増やしたり減らしたりしても構わない.出力形式を修正するだけでも,いくつか方法がある.その程度の変更には意味を感じないなら,意味のある変更を考えて工夫するとよい.そして,思ったとおりに動くようになるまで粘り強く取り組む. アクティブラーニングガイドライン (6)学生自らが実施する調査やトレーニングを必要とする学習 (9)複数の領域にまたがる解法を必要とする学習 |
オフィスアワー /Office Hours |
授業実施期間中 月曜5限: 場所 西3号館 525室 または, ・授業の内容に関する質問は,Moodle のフォーラムで受け付ける. ・授業について個人的な事情が関係する質問・相談は Moodle のメッセージで受け付ける.この場合は,メッセージの中に授業名を添えてもらいたい. ・いずれも,内容や時期によっては,すぐに回答できない場合があることにご理解・ご了承をいただきたい. |
科目ナンバリング /Course Numbering |
E60052J01000B242 |
No. | 回(日時) /Time (date and time) |
主題と位置付け /Subjects and instructor's position |
学習方法と内容 /Methods and contents |
備考(担当) /Notes |
---|---|---|---|---|
1 | 第1回 | ガイダンス | ・授業についての説明 ・演習環境などの確認 |
|
2 | 第2回 | データ構造 / 順次処理 | ・変数 ・リスト ・タプル ・代入と参照 ・四則演算 ・データの入出力 |
|
3 | 第3回 | 選択処理 | ・比較演算子 ・論理演算子 ・二分岐 ・多分岐 |
|
4 | 第4回 | 反復処理 | ・リストを対象にした繰り返し処理 ・条件式による繰り返しの制御 |
|
5 | 第5回 | 関数 / メソッド | ・関数の利用 ・独自関数の定義 ・オブジェクトとメソッド |
|
6 | 第6回 | 簡単なデータ処理(1) | ・複数データの一括処理 ・ファイルからのデータ入力 |
|
7 | 第7回 | 簡単なデータ処理(2) | ・処理結果の出力 ・グラフの作成 |
|
8 | 第8回 | プログラムとアルゴリズム | ・アルゴリズム ・記法 |
|
9 | 第9回 | データの探索(1) | ・線形探索 ・最大値 / 最小値 |
|
10 | 第10回 | データの探索(2) | ・二分探索 | |
11 | 第11回 | データの整列(1) | ・選択ソート ・バブルソート |
|
12 | 第12回 | データの整列(2) | ・再帰 ・併合ソート |
|
13 | 第13回 | 計算量(1) | ・時間計算量 ・空間計算量 ・計算量の考え方 |
|
14 | 第14回 | 計算量(2) | ・探索手法の計算量による比較 ・整列手法の計算量により比較 |
|
15 | 第15回 | まとめ | ・まとめの課題 ・単位認定試験 |