{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Schedule\n", "\n", "This is the schedule for the semester. This page will be frequently updated based on how we progress. Homeworks and links to the lecture will be provided here for easy reference to the calendar. The assignments refer to the homework **following** a class meeting. So if on a particular date it says watch a video, that is for next time!" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "from IPython.core.display import HTML, Markdown\n", "import itertools\n", "import re\n", "\n", "from datetime import datetime, date, timedelta\n", "\n", "format = '%A, %B %d, %Y'\n", "short_format = '%a %b %d'\n", "# 1. set the first day of classes\n", "first_day = 'Monday, September 04, 2023'\n", "\n", "# 2. set the last day of class_variables\n", "last_day = 'Wednesday, December 13, 2023'\n", "\n", "# 3. set the recurring days of the weeks\n", "days_of_week = ['Monday','Wednesday']\n", "\n", "# 4. add in the date of the final exam\n", "final_exam_day = None\n", "\n", "# 4. list any exceptions for like holidays and the like\n", "holidays = {'Monday, September 04, 2023': 'Labor Day', 'Monday, October 09, 2023': 'Fall break'}\n", "\n", "# 5. add in any additional dates (most commonly legislative day where off cycle class meeting might happen)\n", "extra_days = {'Tuesday, October 10, 2023': 'Legislative Day (classes meet on Monday schedule)'}\n", "\n", "\n", "# this part runs the script and prints to the terminal the dates\n", "first_day_f=datetime.strptime(first_day, format)\n", "last_day_f=datetime.strptime(last_day, format)\n", "\n", "# generator for all the days between two dates\n", "def daterange(start_date, end_date):\n", " for n in range(int((end_date - start_date).days+1)):\n", " yield start_date + timedelta(n)\n", "\n", "holidays_f = [datetime.strptime(x, format) for x in holidays.keys()]\n", "extra_days_f = [datetime.strptime(x, format) for x in extra_days.keys()]\n", "\n", "classes_list = []\n", "class_num = 0\n", "for single_date in daterange(first_day_f, last_day_f):\n", " # limit to either the correct day of week\n", " # or any additional days\n", " # (single_date in extra_days_f): #\n", " date_record = {}\n", " if (single_date.strftime('%A') in days_of_week) or (single_date in extra_days_f):\n", " date_string = single_date.strftime(short_format)\n", " reason = ''\n", " if single_date in holidays_f:\n", " reason = 'No class, ' + holidays[single_date.strftime(format)]\n", " #print(date_string + f' {reason}')\n", " elif single_date in extra_days_f:\n", " reason = 'Special date, ' + extra_days[single_date.strftime(format)]\n", " #print(date_string + f', class {class_num}', f' {reason}')\n", " class_num += 1\n", " else:\n", " #print(date_string + f', class {class_num}')\n", " class_num += 1\n", " date_record['date'] = date_string\n", " date_record['class_num'] = class_num\n", " date_record['reason'] = reason\n", " classes_list.append(date_record)\n", "\n", "def add_html_row(index, date, reason, agenda, assignment):\n", " if assignment==None:\n", " assignment = ''\n", " if agenda == None:\n", " agenda = ''\n", " if reason != '':\n", " html_str = f'''\n", " {date}
Warning\n", " {reason} - {agenda}\n", " {assignment}\n", " '''\n", " else:\n", " html_str = f'''\n", " {date}\n", " {agenda}\n", " {assignment}\n", " '''\n", " return html_str\n", "\n", "def clear_a_tags(raw_html):\n", " cleanr = re.compile('')\n", " cleantext = re.sub(cleanr, '', raw_html)\n", " cleantext = cleantext.replace('','')\n", " return cleantext\n", "\n", "agendas = []\n", "assignments = []\n", "\n", "## Placeholder code for skipped clsas\n", "# agendas.append('No class')\n", "# assignments.append(None)\n", "\n", "# skip class\n", "agendas.append('No class')\n", "assignments.append(None)\n", "\n", "# Class 1\n", "# 1) Brenden lecture: Class logistics (go over syllaubs)\n", "# 2) Student introductions\n", "agendas.append(\"Organizational meeting, meet and greet fellow classmates (slides)
\")\n", "assignments.append(\"Read Chapter 1: What is Cognitive Science and how do we study it? before next class.\")\n", "\n", "# Class 2\n", "# 1) Brenden lecture: What is cognitive science? (lecture1.html)\n", "## Replacement for Todd's video, see slides\n", "# 2) In class activity (\"are they meat?\"\")\n", "agendas.append(\"Lecture on 'What is cognitive science?' (slides)
\\\n", " In class activity: here.
\")\n", "assignments.append(\"Read Chapter 2: Why do we have to learn statistics? before next class.\")\n", "\n", "# Class 3\n", "# 1) Brenden lecture: basic research design (part 1) (lecture2.html)\n", "## Examples of good/bad experiments, correlation is not causation, etc.\n", "## Replacement for Todd's video, see slides\n", "# 2) In class activity (TODO: Not sure what to do for this one?)\n", "agendas.append(\"Lecture on basic research design (part 1) (slides)
\")\n", "assignments.append(\"Read Chapter 3: Introduction to Jupyter before next class,\\\n", " and watch accompanying video.\")\n", "\n", "# Class 4\n", "# Brenden flipped class: Discussion of jupyter, and walking through...\n", "agendas.append(\"Review/discussion of JupyterHub. Walk through demo.\")\n", "assignments.append(\"Read Chapter 4: Introduction to Python for Psychology Undergraduates before next class,\\\n", " and watch accompanying video.
\\\n", " Homework 1, due Mon Sep 25.\")\n", "\n", "# Class 5\n", "# Brenden flipped class: Discussion of Python programming\n", "agendas.append(\"Review/discussion of basic Python programming.
\\\n", " In class activity: here
\\\n", " (solution).\")\n", "# agendas.append(\"Review/discussion of basic Python programming.
\\\n", "# In class activity: here\")\n", "assignments.append(\"Read Chapter 5: A brief introduction to research design before next class.
\\\n", " Homework 1, due Mon Sep 25.\")\n", "\n", "# Class 6\n", "# Brenden Lecture: basic research design (part 2) (lecture3.html)\n", "# Discussion of DV/IV variables, main effet, interaction effect\n", "## Replacement for Todd's video, see slides\n", "agendas.append(\"Lecture on basic research design (part 2) (slides)
\\\n", " Join group to work on homework or start on ICA.\")\n", "assignments.append(\"Choose and read paper for next class ICA\")\n", "\n", "agendas.append(\"In class activity: here.\")\n", "assignments.append(\"\")\n", "\n", "agendas.append(\"Python practice with in class acitivity here (answers), begin Homework 2 in class.\")\n", "assignments.append(\"Homework 2, due Tue Oct 10. If you need additional FOR-LOOP help please read through this notebook.\")\n", "\n", "agendas.append(\"In class acitivity here (answers). Continue Homework 2 in class.\")\n", "assignments.append(\"Homework 2, due Tue Oct 10.
\\\n", " Begin reading Chapter 6: Format and structure of digital data up to section 6.10 before next class.\")\n", "\n", "# # skip class\n", "# agendas.append('No class')\n", "# assignments.append(None)\n", "\n", "agendas.append('No class')\n", "assignments.append(\"Read rest of Chapter 6: Format and structure of digital data before next class, \\\n", " and watch the video lecture.\")\n", "\n", "agendas.append(\"Review/discussion of data organization and pandas, in class acitivity here (Answers)\")\n", "# agendas.append(\"Review/discussion of data organization and pandas, in class acitivity here\")\n", "assignments.append(\"Homework 2 due Tue Oct 10.
\\\n", " Read rest of Chapter 6: Format and structure of digital data before next class, \\\n", " and watch the video lecture.\")\n", "\n", "agendas.append(\"In class acitivity here (answers). Work on Exploring Data (HW3) notebook.\")\n", "# agendas.append(\"In class acitivity here. Work on Exploring Data (HW3) notebook.\")\n", "assignments.append(\"Read Chapter 7: Visualizing data before next class.\")\n", "\n", "agendas.append(\"Lecture on describing and visualizing data (Part 1) (slides). (Slides on risky choice.). Work on HW3.\")\n", "assignments.append(\"Exploring Data (HW3) notebook due Wed Oct 25.
\\\n", " Read Chapter 8: Describing data before next class.\")\n", "\n", "agendas.append(\"Lecture on describing and visualizing data (Part 2) (slides). Work on HW3.\")\n", "assignments.append(\"Homework 3, due Wed Oct 25. Make slides for HW3 Question 4.
\")\n", "\n", "agendas.append(\"In-class presentatinos of HW3 Q4. Finish Exploring Data (HW3) notebook.\")\n", "assignments.append(\"Turn in Exploring Data (HW3) notebook tonight (Wed Oct 25).
\\\n", " Read Chapter 9: Samples, populations, and sampling before next class.\")\n", "\n", "agendas.append(\"Lecture on sampling (slides). In class activity on sampling here (solutions).\")\n", "assignments.append(\"Read Chapter 10: Hypothesis testing before next class.\")\n", "\n", "agendas.append(\"Work on Hypothesis testing In-class Activity (solution).\")\n", "assignments.append(\"Read Chapter 11: Comparing one or two means before next class.\")\n", "\n", "# skip class\n", "agendas.append('No class')\n", "assignments.append(None)\n", "\n", "agendas.append(\"Group pres. Work on T-test In-class Activity (answers).\")\n", "# agendas.append(\"Group pres. Work on T-test In-class Activity.\")\n", "assignments.append(\"Read Chapter 12: Measuring behavior before next class.\")\n", "\n", "agendas.append(\"Group pres. Lab 1Work on Signal Detection Theory lab, due Nov. 22 (Part 1 and Part 2) \")\n", "assignments.append(\"Read Chapter 13: Research Ethics before next class.\")\n", "\n", "agendas.append(\"Group pres. Lab 1Work on Signal Detection Theory lab (Part 1 and Part 2)\")\n", "assignments.append(\"Work on Lab 1. Read Chapter 14: Linear Regression before next class.\")\n", " \n", "agendas.append(\"Group pres. Lab 1Work on Signal Detection Theory lab (Part 1 and Part 2)\")\n", "assignments.append(\"Finish Lab 1. Read Chapter 15: Logistic Regression before next class.\")\n", "\n", "agendas.append(\"Group pres. Lab 2Work on Linear Regression lab (Part A, Part B, and Part C)\")\n", "assignments.append(\"Lab 2 due Dec. 4 Read Chapter 16: Linear Mixed Effect Models before next class.\")\n", "\n", "# skip class\n", "agendas.append('No class Lab 1 due today')\n", "assignments.append(None)\n", "\n", "agendas.append(\"Group pres. Lab 2Work on Linear Regression lab (Part A, Part B, and Part C)\")\n", "assignments.append(\"Lab 2 due Dec. 4 Read Chapter 17: Mental rotation before next class.\")\n", "\n", "agendas.append(\"Group pres. Lab 2Work on Linear Regression lab (Part A, Part B, and Part C)\")\n", "assignments.append(\"Lab 2 due Dec. 4 Read Chapter 18: Functional Magnetic Resonance Imaging before next class, and watch two linked videos.\")\n", "\n", "agendas.append(\"Group pres. Lab 3 Work on fMRI lab\")\n", "assignments.append(\"Lab 3 due Dec. 11\")\n", "\n", "agendas.append(\"Lab 3 Work on fMRI lab\")\n", "assignments.append(\"Lab 3 due Dec. 11\")\n", "\n", "agendas.append(\"Lab 3 Work on fMRI lab\")\n", "assignments.append(\"Lab 3 due today\")\n", "\n", "agendas.append('No class')\n", "assignments.append(None)\n", "\n", "# agendas.append(\"Work on final projects\")\n", "# assignments.append(None)\n", "\n", "# agendas.append(\"TBD\")\n", "# assignments.append(None)\n", "\n", "rows = ''\n", "for item,agen,assign in itertools.zip_longest(classes_list,agendas,assignments):\n", " rows+=add_html_row(item['class_num'], item['date'], item['reason'], agenda=agen, assignment=assign)\n", " \n", "table_html=f'''\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " {rows}\n", " \n", "
DateAgendaAssignments
\n", "'''" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [ "remove-input" ] }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateAgendaAssignments
Mon Sep 04
Warning
No class, Labor Day - No class
Wed Sep 06Organizational meeting, meet and greet fellow classmates (slides)
Read Chapter 1: What is Cognitive Science and how do we study it? before next class.
Mon Sep 11Lecture on 'What is cognitive science?' (slides)
In class activity: here.
Read Chapter 2: Why do we have to learn statistics? before next class.
Wed Sep 13Lecture on basic research design (part 1) (slides)
Read Chapter 3: Introduction to Jupyter before next class, and watch accompanying video.
Mon Sep 18Review/discussion of JupyterHub. Walk through demo.Read Chapter 4: Introduction to Python for Psychology Undergraduates before next class, and watch accompanying video.
Homework 1, due Mon Sep 25.
Wed Sep 20Review/discussion of basic Python programming.
In class activity: here
(solution).
Read Chapter 5: A brief introduction to research design before next class.
Homework 1, due Mon Sep 25.
Mon Sep 25Lecture on basic research design (part 2) (slides)
Join group to work on homework or start on ICA.
Choose and read paper for next class ICA
Wed Sep 27In class activity: here.
Mon Oct 02Python practice with in class acitivity here (answers), begin Homework 2 in class.Homework 2, due Tue Oct 10. If you need additional FOR-LOOP help please read through this notebook.
Wed Oct 04In class acitivity here (answers). Continue Homework 2 in class.Homework 2, due Tue Oct 10.
Begin reading Chapter 6: Format and structure of digital data up to section 6.10 before next class.
Mon Oct 09
Warning
No class, Fall break - No classRead rest of Chapter 6: Format and structure of digital data before next class, and watch the video lecture.
Tue Oct 10
Warning
Special date, Legislative Day (classes meet on Monday schedule) - Review/discussion of data organization and pandas, in class acitivity here (Answers)Homework 2 due Tue Oct 10.
Read rest of Chapter 6: Format and structure of digital data before next class, and watch the video lecture.
Wed Oct 11In class acitivity here (answers). Work on Exploring Data (HW3) notebook.Read Chapter 7: Visualizing data before next class.
Mon Oct 16Lecture on describing and visualizing data (Part 1) (slides). (Slides on risky choice.). Work on HW3.Exploring Data (HW3) notebook due Wed Oct 25.
Read Chapter 8: Describing data before next class.
Wed Oct 18Lecture on describing and visualizing data (Part 2) (slides). Work on HW3.Homework 3, due Wed Oct 25. Make slides for HW3 Question 4.
Mon Oct 23In-class presentatinos of HW3 Q4. Finish Exploring Data (HW3) notebook.Turn in Exploring Data (HW3) notebook tonight (Wed Oct 25).
Read Chapter 9: Samples, populations, and sampling before next class.
Wed Oct 25Lecture on sampling (slides). In class activity on sampling here (solutions).Read Chapter 10: Hypothesis testing before next class.
Mon Oct 30Work on Hypothesis testing In-class Activity (solution).Read Chapter 11: Comparing one or two means before next class.
Wed Nov 01No class
Mon Nov 06Group pres. Work on T-test In-class Activity (answers).Read Chapter 12: Measuring behavior before next class.
Wed Nov 08Group pres. Lab 1Work on Signal Detection Theory lab, due Nov. 22 (Part 1 and Part 2) Read Chapter 13: Research Ethics before next class.
Mon Nov 13Group pres. Lab 1Work on Signal Detection Theory lab (Part 1 and Part 2)Work on Lab 1. Read Chapter 14: Linear Regression before next class.
Wed Nov 15Group pres. Lab 1Work on Signal Detection Theory lab (Part 1 and Part 2)Finish Lab 1. Read Chapter 15: Logistic Regression before next class.
Mon Nov 20Group pres. Lab 2Work on Linear Regression lab (Part A, Part B, and Part C)Lab 2 due Dec. 4 Read Chapter 16: Linear Mixed Effect Models before next class.
Wed Nov 22No class Lab 1 due today
Mon Nov 27Group pres. Lab 2Work on Linear Regression lab (Part A, Part B, and Part C)Lab 2 due Dec. 4 Read Chapter 17: Mental rotation before next class.
Wed Nov 29Group pres. Lab 2Work on Linear Regression lab (Part A, Part B, and Part C)Lab 2 due Dec. 4 Read Chapter 18: Functional Magnetic Resonance Imaging before next class, and watch two linked videos.
Mon Dec 04Group pres. Lab 3 Work on fMRI labLab 3 due Dec. 11
Wed Dec 06Lab 3 Work on fMRI labLab 3 due Dec. 11
Mon Dec 11Lab 3 Work on fMRI labLab 3 due today
Wed Dec 13No class
\n" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "HTML(table_html)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Tags", "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.9" } }, "nbformat": 4, "nbformat_minor": 4 }