Meeting times: TTh 1:00-2:20 pm
Classroom location: 85 Waterman Street, room #015
Learning Management System: Canvas will be used to manage the course material including tutorials, labs, homeworks, projects as well as grades and due dates. Labs and homeworks will be submitted through cody. Group projects will be submitted by email to firstname.lastname@example.org.
Communication: We will be using Piazza for all communications.
Course prerequisites: None.
This course is intended for students with no prior programming experience.
Prof. Thomas Serre, Manning Assist. Professor of Cognitive Linguistic & Psychological Sciences
Office location and hours: Serre Lab, 190 Thayer st (Metcalf building), room #012/015, Tue 4:00-6:00 pm.
Preferred contact: Piazza.
Graduate TAs: Junkyung Kim (CLPS), Jianfei Guo (CLPS)
Undergraduate TAs: Sarah Eltinge, Celia Ford, Kei Nakagawa
Office hours (starting Sunday 2/26):
NOTE: See Piazza announcement for office hours between Sunday 2/19 and Thursday 2/23.
- Celia Ford (Sundays, 2 to 4pm @ CIT 203)
- Kei Nakagawa (Mondays, 7:30 to 9:30pm @ Metcalf 330)
- Sarah Eltinge (Wednesdays, 2:30 to 4:30pm @ Metcalf 330)
- Junkyung Kim (Wednesdays, 4:30 to 6:30pm @ Metcalf 330)
- Jianfei Guo (Fridays, 1 to 3pm @ Metcalf 410)
Preferred contact: Piazza
This course provides an introduction to computing with Matlab. The course is geared towards life science students with no prior programming experience.
Who should take this course: The course is designed for students in psychology, cognitive science, neuroscience and other non-computer science majors interested in learning Matlab programming and, more generally, in developing computational thinking skills.
Objectives: At the end of this course, students will be able to write Matlab programs to solve many common computing challenges associated with the study of the mind, brain, and behavior — from conducting sophisticated data analyses to parsing complex data files to implementing psychophysics experiments.
Beyond teaching specific coding skills, this course will support students’ development as computational thinkers. Computational thinking provides a way of solving problems, designing systems, and understanding human behavior. It has become fundamental to understanding the way people think and interact with the world and has become a critical skill to flourish in today's world. Mastering these skills will enable students to more richly understand the cognitive, linguistic, and psychological sciences — and impact society.
Learning activities, assessments, and allocation: Each class will consist of a brief tutorial led by an instructor (about 30 min) and will be followed by hands-on programming labs (about 50 mins). Labs will offer a chance for students to immediately apply the concepts described in the tutorial. Students will work in pairs using the pair programming approach. Labs will be turned in at the end of each class due by 2:30 pm on Tuesdays and Thursdays (one submission per team).
Students will also complete weekly programming homeworks due on Tuesdays by 12:00 pm (one per student). Collaborations are encouraged but students are expected to produce their own solution and to turn in their own assignment. If applicable, the name of all the group members who collaborated need to be acknowledged with each student submission.
The course will also include 2 individual exams (in class).
In addition, students will offer several opportunities to work on bigger group projects (typically 3-4 students working on a project for a week).
The weekly course load for this course is expected to be about 8-10 hours outside of class.
Accessibility and accommodations
Brown University is committed to full inclusion of all students. Please inform Prof. Serre early in the term if you have a disability or other conditions that might require accommodations or modification of any of these course procedures. You may speak with the instructor after class or during office hours. For more information, please contact Student and Employee Accessibility Services at 401-863-9588 or SEAS@brown.edu.
We also understand that special assistance may be required under extraordinary circumstances including medical emergencies, personal or other family crises. We encourage students facing difficult situations to reach out to Prof. Serre as early as possible.
Students in need of short-term academic advice or support can also contact one of the deans in the Dean of the College office.
The course does not use any textbook. Students will need a laptop to complete the labs in class and the programming assignments outside of class. CIS can provide loaner laptops (see link here for details).
We recommend for students to use Brown's RemoteApp service to run Matlab. Instructions can be found here for Mac users and here for Windows users. Alternatively, students may install Matlab on their local machines. Software download is available here.
Please note that the exact numbers of labs, homeworks and projects are subject to change but the relative weighting will remain as defined below:
- Labs (20): 10%
- Homeworks (12): 58%
- Group projects (1): 21%
- Exams (2): 11%
Grades: >90% A, 80–90% B, 70–80% C, <70% NC.
Expectations of students
Attendance to weekly classes is mandatory as labs will need to be turned in at the end of class to be graded.
Academic honesty: Brown's academic codes for undergraduate and graduate students can be found here.
The course will be organized in roughly 6 modules (subject to change):
- Introduction to computational thinking: Scratch project.
- Getting started: Elementary mathematical operations, vectors and vector operations.
- Key concepts: Loops. Relational and logical operators. Conditionals. Functions.
- Array operations: Elementary algebra. Array operations. Indexing
- Good practices: Coding conventions. Organizing your code. Debugging.
Data science toolbox: Plotting and Visualization. Images. Audio. Text and characters. Parsing. PsychToolbox.
The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the "Edit" link at the top.