文学部Faculty of Letters
PSY200BG(心理学 / Psychology 200)心理学特殊講義Ⅰ心理学特殊講義Ⅰ
島宗 理Satoru SHIMAMUNE
授業コードなどClass code etc
学部・研究科Faculty/Graduate school | 文学部Faculty of Letters |
添付ファイル名Attached documents | |
年度Year | 2021 |
授業コードClass code | A3722 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | |
開講時期Term | 秋学期授業/Fall |
曜日・時限Day/Period | 月2/Mon.2 |
科目種別Class Type | |
キャンパスCampus | 市ヶ谷 |
教室名称Classroom name | |
配当年次Grade | |
単位数Credit(s) | 2 |
備考(履修条件等)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 | |
他学科公開科目 | |
クラスGroup | |
昼夜表記Day or Night |
すべて開くShow all
すべて閉じるHide All
Outline (in English)
The purpose of this course is to learn basic programming skills to control stimuli, measure behaviors, and visualize data, using Python. These workflows are common in research and development projects in psychology and, more generally, in “data science.” Another goal of this course is to obtain skill sets that facilitates collaboration when working on a team project involving computer programming.
授業で使用する言語Default language used in class
日本語 / Japanese
授業の概要と目的(何を学ぶか)Outline and objectives
この授業では心理学や“データサイエンス”の研究開発プロジェクトで求められる,刺激提示や行動測定,データの視覚的分析の方法を学びます。プログラミング言語としてはPython(パイソン)を用います。プログラミングの基本を学ぶと伴に,こうしたプロジェクトをチームで円滑に進めるための技術も習得します。
到達目標Goal
Pythonを使って以下のようなプログラムが組めるようになることを目標とします。
①画像や文字,音声などの刺激をディスプレイに提示する。
②マウスやキーボードなどの入力装置を使って行動を測定する。
③その他の外部入力装置を用い,より複雑で大量の行動データを測定する(例:カメラやマイクで静止画や動画,音声データを測定して数量化するなど)。
④得られた行動データからグラフを作成して視覚化する。
さらに,プログラミングのテクニックや必要なライブラリやモジュールなどの情報を入手する方法や,困ったときに他の人に相談したり,困っている人に助言したりするスキルなど,研究開発プロジェクトにチームで取り組むさいに必要となる知識や技術の習得も目指します。
この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連)Which item of the diploma policy will be obtained by taking this class?
ディプロマポリシーのうち、「DP1」に関連
授業で使用する言語Default language used in class
日本語 / Japanese
授業の進め方と方法Method(s)(学期の途中で変更になる場合には、別途提示します。 /If the Method(s) is changed, we will announce the details of any changes. )
毎週プログラミングの課題を用意しますので,授業時間内外に関わらず,各自で自主的に取り組んでください。授業内ではチーム内で課題の進捗を報告し,情報を共有したり,プログラミングについて相談したり,協力して問題解決していくことに時間をかけます。
プログラミングの習得や実技にかかる時間には大きな個人差があります。人によっては課題を完成させるために週6時間以上かかることもあります。全ての課題を事前に公開していますから,ゆっくり,じっくり時間をかけて取り組みたいと思う人,どうしても時間がかかってしまう人は,あらかじめ計画をして時間を確保した上で履修してください。
課題へのフィードバックはSlackを使って行います。
【重要】新型コロナ感染拡大防止のために,この授業は感染状況に応じてオンラインと対面を適宜組み合わせて行います。学習支援システムのこの授業科目のトップページで,対応状況やそれに伴うシラバスからの変更点について案内しますのでご確認ください。
アクティブラーニング(グループディスカッション、ディベート等)の実施Active learning in class (Group discussion, Debate.etc.)
あり / Yes
フィールドワーク(学外での実習等)の実施Fieldwork in class
なし / No
授業計画Schedule
秋学期
※各回の授業形態は予定です。教員の指示に従ってください。
第1回:オリエンテーション
Pythonの基本と開発環境
○課題と課題の進め方,提出方法,評価について説明します。
○PythonとPyCharmをインストールし,開発環境をセットアップします。
第2回:プログラミングの基本
○変数の型について学びます。
○条件判断をするプログラムを作成します。
○繰り返し処理をするプログラムを作成します。
第3回:刺激制御
○Kivyをインストールし,ディスプレイに文字や画像を表示するプログラムを作成します。
第4回:刺激制御
○Kivyを使って複雑な画面レイアウトをディスプレイに示するプログラムを作成します。
第5回:入力処理
○キーボードから文字を入力するプログラムを作成します。
○画面に表示されている画像をマウスでクリックした位置を測定するプログラムを作成します。
第6回:刺激制御
○音源データを提示し,キーボードまたはマウスでそれに対する反応を測定するプログラムを作成します。
第7回:ファイル制御
○刺激提示や反応データをテキストファイルとして保存するプログラムを作成します。
第8回:関数とモジュール
○プログラム開発に必要な外部関数やモジュールを見つけて使う方法を学びます。
第9回:データの視覚化
○Matplotlibをインストールし,データからグラフを作成するプログラムを作成します。
第10回:プログラム開発(1)
○受講生がそれぞれ作成するプログラムを設計し,開発計画を立案します。
第11回:プログラム開発(2)
○自作プログラムを開発します。
第12回:プログラム開発(3)
○自作プログラムを開発します。
第13回:プログラム開発(4)
○自作プログラムを開発します。
第14回:プログラム開発(5)
○自作プログラムを公表し,評価し合います。
授業時間外の学習(準備学習・復習・宿題等)Work to be done outside of class (preparation, etc.)
○全14回ぶんの課題を学期開始前に公開します。受講生は授業時間外も自主的に課題に取り組んでください。
○本授業の準備・復習時間は、それぞれ平均2時間を標準とします。ただし、プログラミングには,予想以上に時間がかかってしまうことがあったり、楽しくなってしまって時間をかけてしまう性質があることを知っておいてください。
テキスト(教科書)Textbooks
テキストは指定しません。
参考書References
何冊か例示しますが,図書館や書店に足を運んで,自分でページをめくり,読みやすそうなもの,必要な情報の例が多い本を選びましょう。
○プログラミング演習 Python 2019 喜多一(2020) https://repository.kulib.kyoto-u.ac.jp/dspace/handle/2433/245698 からダウンロードできます(無料)。
○東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~ 塚本ら マイナビ出版 (2019)
○エキスパートPythonプログラミング 改訂2版 Jaworski ら ドワンゴ (2018)
○入門 Python 3 (日本語) Lubanovic オライリージャパン (2015)
○独学プログラマー ~Python言語の基本から仕事のやり方まで~ アルソフ 日経BP (2018)
○Python実践入門 ~言語の力を引き出し、開発効率を高める~ 陶山 技術評論社 (2020)
成績評価の方法と基準Grading criteria
○全14課題の課題得点中の獲得割合(%)で評価します。最終課題(自作プログラムの提出と報告)の比重は50%とします。
○授業を欠席した場合には課題を期限までに提出してください。期限後に提出された課題は1/2で採点します。
学生の意見等からの気づきChanges following student comments
(2020年度の授業改善アンケートから)
今年度開講した新しい授業でどうなるか最後まで不安でした。不安は半分的中し,授業改善アンケートの回答にもそれが反映されていました。
課題が明確で基本的な学習を進める前半は特に問題がなかったのですが,受講生がそれぞれ課題を考える後半で脱落率が高くなりました。特に受講生それぞれが自分でプログラム開発をする最終課題を最後まで完走できた受講生が少なかったです。
プログラミング言語を一学期14週で習得し,自分で考えたプログラムを作るという目標が高すぎる可能性はあると思います。ただ,今回,それでも最後まで課題遂行できた人たちもいたので,まったく無理な目標ではないともいえます。
プログラミングの基礎を一から一つずつ学びたいという声もありましたが,そうすると一学期では自作プログラムの作成までは到達できません。授業課題も単純になり,コピペでこなせるようになると,できる人にとっては面白くなくなってしまいます。
たぶん現実的なのは,基礎課題については補習教材を用意し,あらかじめ,この授業の負荷についてもっと明確に告知することかもしれません(補習教材としては無料の参考書を指定していたのですが,授業課題として設定しないと自発的な取り組みは促せないということだと思います)。
また,プログラムの自作にはプロジェクトマネジメントの技術も必要になるので,来年度はその支援をすることにします。
学生が準備すべき機器他Equipment student needs to prepare
○大学のノートPCには管理者権限がなく,自分でソフトなどをインストールできないので,自分のPCを使うことをお勧めします。マイPCを持っていなかったり,用意できなければ事前に相談してください。
○対面授業の日にはノートPCを持参してください。
その他の重要事項Others
○本授業では民間のソフトウエア開発会社でプログラマー・SEとして勤務した経験を有する教員がその経験を活かして担当します。
○オフィスアワーは春学期は金曜日の4限、秋学期は火曜日の2限、場所は研究室(富士見坂校舎6F9号室)です。