Skip to content

Latest commit

 

History

History
251 lines (208 loc) · 8.1 KB

syllabus.md

File metadata and controls

251 lines (208 loc) · 8.1 KB

Syllabus for BCOG 200: Introduction to Programming for Brain & Cognitive Science

1. Course Info

Term

Spring 2023

Class Location & Time

Psychology Room 32
Tue/Thu 9:30am-10:50am

Zoom Link when Necessary: https://illinois.zoom.us/j/84176693658?pwd=UnpQUisyL3Y0M1lsQkZsZm1HbFRaUT09

Materials

  1. Course Website: http://learn.illinois.edu
  2. Online Textbook
  3. Course Github Page: https://github.com/jonwillits/python_for_bcs

Instructor

Dr. Jon A. Willits
Assistant Professor of Psychology
University of Illinois at Urbana-Champaign
E-mail: [email protected]
Website: http://www.psychology.illinois.edu/people/jwillits
Office Hours: Monday 2pm-4pm, Psychology 811

Teaching Assistants

  • Lin Khern Chia

    • Ph.D. Student in Cognitive Psychology
    • University of Illinois at Urbana-Champaign
    • E-mail: [email protected]
    • Office Hours: Thursday 2pm-4pm, Psychology 838
  • Andrew Flores

    • Ph.D. Student in Cognitive Psychology
    • University of Illinois at Urbana-Champaign
    • E-mail: [email protected]
    • Office Hours: Friday 3pm-5pm, Psychology 29
  • Jonathan Yuquimpo

    • Ph.D. Student in Cognitive Psychology
    • University of Illinois at Urbana-Champaign
    • E-mail: [email protected]
    • Office Hours: Friday 1:30pm-3:30pm, Psychology 29

2. Course Description and Learning Objectives

Programming for Cognitive Science has three primary learning objectives:

  • to learn what computer programming is and what one can accomplish using computer programs
  • to master the basics of how to write computer programs in the Python programming language, including its syntax and proper programming technique and style
  • to discuss how computer programs, models, and simulations contribute to research about brain and cognitive science.

3. Course Requirements and Grading

Grading Scale

  • A: 90-100
  • B: 80-90
  • C: 70-80
  • D: 60-70
  • F: Below 60
    Except in rare exceptions, +/- grades are not given in this class.

Grade Components

  • Labs: 50%
  • Homework: 30%
  • Final Project: 20%

Labs

Each week we will be spending a considerable portion of our lab time working on various lab exercises. Each lab assignment is one of the final sections of each chapter in the textbook. Lab assignments should be turned in each week on the course website. Labs are due each week on Friday at 5pm. They can be turned in Monday by 5pm for a 20% deduction. After Monday at 5pm, they will not be accepted unless you have made prior arrangements.

Homework

There are six homework assignments throughout the semester, about every other week. The homework assignments involve creating a single, more complex Python program that achieves some BCOG-related goals. Homework assignments should be turned in each week on the course website. These homework assignments are due on a Monday at 5pm, and 10% is deducted for each day they are late.

Final Project

The final project will involve creating a Python program that is more complex, like the homework assignments, but on a topic of your own choosing. We will discuss the details later. At the end of the semester, you will turn in your code and a brief project report which describes your project. For the project, you may work alone or in a group. The bigger the group, the higher the expectations for your project.

4. Academic Integrity Policy

This class will take the University’s Academic Integrity policy very seriously. Cheating and other forms of academic dishonesty will not be tolerated. The University of Illinois has the responsibility of maintaining academic integrity so as to protect the quality of education and research on our campus and to protect those who depend upon our integrity. It is the responsibility of each student to refrain from infractions of academic integrity, from conduct that may lead to suspicion of such infractions, and from conduct that aids others in such infractions. It is also the responsibility of the student to know and understand what constitutes academic integrity infractions. Ignorance is not a valid excuse. The University’s official statement of a student’s responsibilities can be found here: http://admin.illinois.edu/policy/code/article1_part4_1-401.html. More information about the University’s academic integrity policy, and what constitutes an infraction, can be found here: http://www.las.illinois.edu/students/integrity/.

5. Accommodation Policy

To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the Disability Resources and Educational Services (DRES) as soon as possible. To contact DRES, you may visit 1207 S. Oak St., Champaign, call 333-4603, e-mail [email protected], or go to the DRES website (https://www.disability.illinois.edu). If you are concerned you have a disability-related condition that is impacting your academic progress, there are academic screening appointments available on campus that can help diagnose a previously undiagnosed disability by visiting the DRES website and selecting “Sign-Up for an Academic Screening” at the bottom of the page.”

6. Class Schedule

Week 1: Jan 17 & Jan 19

Topics:
	- Installing and Using Python
	- Variables and Data Types
	- Operators and Conditionals
Assignments:
	- CH0: Installing and Using Python
	- CH1: Basic Python
	- Lab 1 (due Jan 20 by 5pm)

Week 2: Jan 24 & Jan 26

Topics:
	- For and While Loops
	- Lists
	- Tuples
Assignments:
	- CH2: Loops, Lists, and Tuples
	- Lab 2 (due Jan 27 by 5pm)
	- Homework 1 (due Jan 30 by 5pm)

Week 3: Jan 31 & Feb 2

Topics:
	- Terminal Input and Output
	- File Input and Output
	- Graphical User Interfaces
Assignments:
	- CH3: Input and Output
	- Lab 3 (due Feb 3 by 5pm)

Week 4: Feb 7 & Feb 9

Topics:
	- Functions
Assignments:
	- CH4: Functions
	- Lab 4 (due Feb 10 by 5pm)
	- Homework 2 (due Feb 13 by 5pm)

Week 5: Feb 14 & Feb 16

Topics:
	- Catch-up Week
Assignments:
	- CH4: Functions
	- Lab 4 (due Feb 17 by 5pm)
	- Homework 2 (due Feb 20 by 5pm)

Week 6: Feb 21 & Feb 23

Topics:
	- Dictionaries
	- Sets
Assignments:
	- CH5: Dictionaries and Sets
	- Lab 5 (due Feb 24 by 5pm)

Week 7: Mar 28 & Mar 2

Topics:
	- Core Python Modules
	- Installing Add On Modules
	- Numpy
Assignments:
	- CH6: Python Modules and Add-Ons
	- Lab 6 (due Mar 10  by 5pm)

Week 8: Mar 7 & Mar 9

Topics:
	- Classes and Object Oriented Programming
	- Class Inheritance
Assignments:
	- CH7: Classes
	- Lab 7 (due Mar 10 by 5pm)
	- Homework 3 (Mar 13 by 5pm)

Spring Break Mar 11-19

Week 9: Mar 21 & Mar 23

Topics:
	- Creating Games and Simulations
Assignments:
	- CH8: Creating Games and Simulations
	- Lab 8 (due Mar 24 by 5pm)

Week 9: Mar 28 & Mar 30

Topics:
	- Good Programming Practices
	- Debugging Hints
	- Managing Data and Projects
	- Using GitHub
Assignments:
	- CH9: Good Programming Practices
	- Lab 9 (due Mar 31 by 5pm)
	- Homework 4 (due Apr 3 by 5pm)

Week 10: Apr 4 & Apr 6

Topics:
	- Creating Experiments
Assignments:
	- CH10: Creating Experiments
	- Lab 10 (due Apr 7 by 5pm)

Week 11: Apr 11 & Apr 13

Topics:
	- Plotting and Visualizing Data
	- Pandas and Dataframes
Assignments:
	- CH11: Plotting and Data Visualization
	- Lab 11 (due Apr 14 by 5pm)
	- Homework 5 (due Apr 17 by 5pm)

Week 12: Apr 18 & Apr 20

Topics:
	- Machine Learning
	- Supervised Learning
	- Unsupervised Learning
Assignments:
	- CH12: Machine Learning
	- Lab 12 (due Apr 21 by 5pm)

Week 13: Apr 25 & Apr 27

Topics:
	- Regular Expressions
	- Natural Language Processing
	- Final Project Workday
Assignments:
	- CH13: Natural Language Processing
	- Lab 13 (due May 5 by 5pm)
	- Homework 6 (due May 8 by 5pm)

Week 14: May 2

Topics:
	- Final Project Workday
Assignments:

Final Exam Week

Assignments:
	- Final Project (due May 12 by 5pm)