理工学部Faculty of Science and Engineering
BSP100XG(初年次教育、学部導入教育及びリテラシー教育 / Basic study practice 100)創生科学基礎演習IExercises of Fundamental Informatics I
小林 一行Kobayashi IKKO
授業コードなどClass code etc
学部・研究科Faculty/Graduate school | 理工学部Faculty of Science and Engineering |
添付ファイル名Attached documents | |
年度Year | 2024 |
授業コードClass code | H9009 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | |
開講時期Term | 秋学期授業/Fall |
曜日・時限Day/Period | 金1/Fri.1 |
科目種別Class Type | |
キャンパスCampus | 小金井 |
教室名称Classroom name | 小東館-E106 |
配当年次Grade | 1年 |
単位数Credit(s) | |
備考(履修条件等)Notes | |
他学部公開科目Open Program | |
他学部公開(履修条件等)Open Program (Notes) | |
グローバル・オープン科目Global Open Program | |
成績優秀者の他学部科目履修制度対象Interdepartmental class taking system for Academic Achievers | |
成績優秀者の他学部科目履修(履修条件等)Interdepartmental class taking system for Academic Achievers (Notes) | |
実務経験のある教員による授業科目Class taught by instructors with practical experience | |
SDGsCPSDGs CP | |
アーバンデザインCPUrban Design CP | |
ダイバーシティCPDiversity CP | |
未来教室CPLearning for the Future CP | |
カーボンニュートラルCPCarbon Neutral CP | |
千代田コンソ単位互換提供(他大学向け)Chiyoda Campus Consortium | |
カテゴリー<理工学部>Category |
創生科学科 学科専門科目 |
すべて開くShow all
すべて閉じるHide All
Outline (in English)
[Course Outline]
In this course, students will learn programming techniques, algorithms, basic data structures, and recursive programming using the python language.
[Learning Objectives]
At the completion of this course, the students should be able to implement algorithms and solve programming problems using the following techniques.
(1) Basic components of programming techniques.
(2) Algorithms for problem-solving.
(3) Basic data structures.
(4) Recursion
[Learning activities outside the classroom].
It is assumed that students will have completed the required assignments after each class session. Study time is at least 4 hours per class.
[Grading Criteria/Policies]
Your overall grade for the class will be determined based on the following.
Final exam 60%, short report, and a completed mini-test. 40%.
授業で使用する言語Default language used in class
日本語 / Japanese
授業の概要と目的(何を学ぶか)Outline and objectives
プログラミング技法について実習を組合せながら講義を行い、以下の項目に関して十分な理解をする。
1.プログラミングの基礎的構成要素
2.アルゴリズムと問題解決
3.基本データ構造
4.再帰
到達目標Goal
Pythonを通じ,アルゴリズムの基礎を理解する。
(1) Pythonの機能と文法を理解しプログラムの動作を説明できる。
(2) 自力で簡単なプログラムを作成できる。
この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連)Which item of the diploma policy will be obtained by taking this class?
ディプロマポリシーのうち、「DP1」と「DP2」と「DP4」に関連
授業で使用する言語Default language used in class
日本語 / Japanese
授業の進め方と方法Method(s)(学期の途中で変更になる場合には、別途提示します。 /If the Method(s) is changed, we will announce the details of any changes. )
創生科学科において,プログラミング言語を習得することは必要不可欠である。ここでは,Pythonを用い,以下のプログラミング言語で基本となることを学ぶ。ノートパソコンによる演習形式で実習を行う。毎回実施する小テストおよび課題の結果のフィードバックは,授業中または学習支援システムを介し随時おこなう。
アクティブラーニング(グループディスカッション、ディベート等)の実施Active learning in class (Group discussion, Debate.etc.)
あり / Yes
フィールドワーク(学外での実習等)の実施Fieldwork in class
なし / No
授業計画Schedule
授業形態/methods of teaching:対面/face to face
※各回の授業形態は予定です。教員の指示に従ってください。
1[対面/face to face]:Python入門と基本文法
・高水準言語Pythonの概要
・Jupyter Notebookの使い方
・Pythonの基本構文 変数,データ型,式,代入
・条件判定と繰返しの制御構造 その1
2[対面/face to face]:データ構造とコレクション
・条件判定と繰返しの制御構造 その2
・リストとタプル
・辞書とセット
・リスト内包表記とジェネレータ式
3[対面/face to face]:関数とモジュール、プログラミング例1
・関数の定義と呼び出し
・引数と戻り値
・スコープと名前空間
・モジュールの作成と利用
・問題解決過程におけるアルゴリズムの役割 その1
4[対面/face to face]:文字列操作とファイル入出力、プログラミング例2
・文字列の操作とフォーマット
・正規表現の基礎
・ファイルの読み書き操作
・問題解決過程におけるアルゴリズムの役割 その2
5[対面/face to face]:オブジェクト指向プログラミング入門、プログラミング例3
・クラスとオブジェクト
・コンストラクタとメソッド
・継承とポリモーフィズム
・デバッグ戦略 アルゴリズムの概念と特性
・問題解決過程におけるアルゴリズムの役割 その3
6[対面/face to face]:中間テスト、エラーと例外処理
・エラーの種類
・try-except文の利用
・エラーのデバッグとハンドリング
7[対面/face to face]:適切なデータ構造を選択するための戦略、プログラミング例4
・データ構造の選択戦略
・データ構造: スタック
・データ構造: キュー
・データ構造: 二分木構造
・データ構造: グラフ
・問題解決過程におけるアルゴリズムの役割 その4
8[対面/face to face]:再帰、プログラミング例5
・再帰の概念
・再帰的数学関数
・再帰の応用
・問題解決過程におけるアルゴリズムの役割 その5
9[対面/face to face]:NumPyと数値計算
・NumPyの導入と基本的な操作
・配列の作成と操作
・ブロードキャストとユニバーサル関数
10[対面/face to face]:Matplotlibを用いたデータ可視化
・Matplotlibの基本的なプロット
・グラフのカスタマイズとラベリング
・散布図とヒストグラムの描画
11[対面/face to face]:Pandasとデータ操作
・Pandasの導入とデータ構造
・データの読み込みとクレンジング
・データの結合と集約
12[対面/face to face]:データ解析と統計処理の基礎
・基本的な統計量の計算
・numpyを使った基本的統計量の計算
・pandasを使った基本的統計量の計算
・データのグループ化と集計
・データの可視化と相関
13[対面/face to face]:データ処理と応用
・ファイルフォーマットの処理(CSV、JSONなど)
・データのクレンジングと前処理
・データマージングと連結
14[対面/face to face]:期末テスト+Webスクレイピングの基礎
・Webスクレイピングの概要
・RequestsとBeautiful Soupの導入
・Webページからデータを抽出する方法
授業時間外の学習(準備学習・復習・宿題等)Work to be done outside of class (preparation, etc.)
【本授業の準備・復習等の授業時間外学習は、2時間を標準とする】前回行った授業での演習内容を理解する。
また,指示により課題を期限内に提出する。
テキスト(教科書)Textbooks
特に指定しない。演習内でプリントを配布する。
参考書References
必要に応じて紹介する。
成績評価の方法と基準Grading criteria
筆記試験(60%)と、毎回の授業での学習状況として毎回の小テストおよび課題・宿題など(40%)から総合的に評価する。
学生の意見等からの気づきChanges following student comments
Pythonは、言語です。Pythonに関する参考書は、たくさんあるので、自分に合った参考書を図書館または、本屋さんなどで見つけて自習すること。
学生が準備すべき機器他Equipment student needs to prepare
貸与ノートパソコン(毎回のテストと演習に使用します。)