Skip to the content.
Home | Syllabus | Grading | Schedule | Textbook | Videos


NESC 3505: Neural Data Science

Cross-Listed as PSYO 3505

Fall 2021-22

September 7 – December 7, 2021

version 1.1 2021-09-04


Dr. Aaron Newman (

Teaching Assistant

Danny Godfrey (use Teams to contact the TA)


Recognition of Mi’kmaq Territory

Dalhousie University is located in Mi’kma’ki, the ancestral and unceded territory of the Mi’kmaq. We are all Treaty people. The Elders in Residence program provides students with access to First Nations elders for guidance, counsel and support. Visit the Indigenous Student Centre or contact the programs at

Diversity and Inclusion – Culture of Respect

Every person at Dalhousie has a right to be respected and safe. We believe inclusiveness is fundamental to education. We stand for equality. Dalhousie is strengthened in our diversity. We are a respectful and inclusive community. We are committed to being a place where everyone feels welcome and supported, which is why our Strategic Direction prioritizes fostering a culture of diversity and inclusiveness. For more information please see here.

Course Description

An introduction to data management, manipulation, visualization, and analysis for neuroscience. Students will learn scientific programming in Python, and use this to work with example data from areas such as cognitive-behavioural research, single-cell recording, EEG, and structural and functional MRI. Basic signal processing techniques including filtering will be covered.


PSYO 2000, PSYO 2501, and NESC 2470, with a minimum grade of B in PSYO 2501. Grades of B+ or better in all three classes are recommended. No prior programming experience is required.

Background and Rationale

Most areas of neuroscience research and development rely on increasingly large and complex data sets. Discovery and application in neuroscience thus relies on the ability to manage these large data sets, and extract meaning from them. In other words, neuroscience now relies heavily on data science, which has been variously defined as “…an umbrella term to describe the entire complex and multistep processes used to extract value from data.” (Wing, 2019) and the ability to “bring structure to large quantities of formless data and make analysis possible” (Davenport & Patil, 2012, p.73).

In neuroscience, data science is an increasingly necessary skill. Data from techniques like single-cell recordings, local field potentials, EEG, and fMRI is complex and multidimensional. Being able to understand, manipulate, and visualize the structure of these complex datasets is a necessary skill for performing the research. On top of this, it is increasingly clear that very large data sets - often built collaboratively by many labs - are required to make reliable inferences about neuroscientific processes. Making inferences also depends on computational models - ways of identifying and representing patterns in the data. While some of these will be familiar from statistics class, a wide range of statistical and machine learning models are now widely used in neuroscience.

While data science and statistics are overlapping fields, statistics is generally focused on the specific task of testing hypotheses based on data. Data science more broadly includes the storage, manipulation, visualization, filtering, and preparation of data that is typically required prior to statistical analysis. Data science does also encompass statistics, as well as machine learning; whereas statistics generally involves deriving conclusions from existing data, machine learning involves making predictions from a data set that will generalize to other data. Since statistics is covered in other courses in the neuroscience and psychology curricula, this course focuses instead on the other “front-end” aspects of data science described above. Other areas of data science, including “back-end” data science (engineering, hardware, databases) and software development, will not be covered.

Central to data science is the ability to use scientific programming languages, such as Python, Matlab, and R. This ability includes a strong understanding of the fundamentals of at least one programming language, and the ability to extend one’s knowledge through continuous learning and problem-solving. This course teaches Python, a mature and widely-used language in neuroscience and data science more broadly. However, much of the fundamentals of scientific programming and data science are common to all languages. Thus, having learned Python, you will be better prepared to learn new languages in the future, as necessary.

Another important facet of data science is that it is a team endeavour. On the one hand, it is founded on open, shared software developed by widely distributed teams of contributors. On the other hand, the practice of data science typically involves teams of individuals with complementary skillsets, both due to the size and complexity of many projects. In science, these teams often comprise students and faculty members in collaborating labs distributed around the world. This class prepares you for such collaboration by developing and coaching your teamwork skills, as well as teaching you how to use software platforms that support such collaboration.

The skills learned in this class will benefit students working in a wide variety of areas of neuroscience. As well, the class will provide an introductory foundation in data science that can be applied to a wide range of areas of research and application, in academia, industry, and government.


Davenport, T. H., & Patil, D. J. (2012). Data scientist. Harvard Business Review, 90(5), 70-76

Irizarry, R. A. (2020). The role of academia in data science education. Harvard Data Science Review, 2(1).

Wing, J. M. (2019). The data life cycle. Harvard Data Science Review.

Learning Objectives

Hard Skills

Soft Skills

Course Format

This course employs a hybrid online/in-person format, although it can be completed entirely online for people who are unable to attend the weekly lab sessions. The course consists of the following components:

The “home base” for this class will be a Microsoft Teams site hosted through Dalhousie University. Registered students will receive an invitation to this site via their email. The Teams site will contain links to all course materials, as well as hosting text messaging and video/audio chat meetings. The Teams site will be the primary source for course-related announcements, and the official source for assignment due dates. This course does not use Brightspace.

Online Lectures and Tutorials

This course employs a “flipped classroom” model. The primary course matierial is the online textbook, and video walkthroughs of the lessons in the textbook on the course YouTube channel. These largely involve writing code. This course requires that you put in significant hours per week outside of class: you should budget 8 h/week for work on the course, including the 2 h/week lab time.


Weekly lab sessions are held in-person and will be used for tutorial by the teaching team, and open office hours/consultation/work time. Participation in these is optional but recommended.

Getting Help

One of the course learning objectives is “Extend your skills using online resources”, and the course is based on the learning theory of connectivism. You are encouraged and supported in taking a lifelong learning approach to solving problems in this course. Many of the evaluations expect you to engage in this; you will not find all the answers in the textbook.

That said, learning can sometimes go a lot faster when you ask questions. We encourage you to ask questions of your peers in the class, and of the teaching team — in that order. Peer teaching is built into the class through collaboration tools, demos, and team projects. This is the way real, functional teams operate — supporting each other to achieve more.

The course Teams site is where you should direct all your questions (after making your own attempts to research and solve your problem). This can include posting questions in the messaging forums, or joining live check-ins to ask questions. Please do not email the teaching team with questions about the class — use the Teams site. Do feel free to email the instructor if you have personal topics that you need to discuss privately, or you can use direct messaging on Teams.

There are no formal instructor office hours for this course. If you wish to speak with the instructor or TA, just contact them via Teams and ask to schedule a meeting and we will set something up at a mutually-agreeable time.

Course Materials

All necessary materials (including the textbook) will be provided online, through the course Teams site. You must have access to a computer running a recent version of the Mac, Windows, Chrome, or Linux operating systems. It may be possible to complete this course, including programming assignments, using an iPad, but this has not been verified. It is not a good idea to expect to be able to complete the course using only a mobile device (phone or tablet).

You must also have access to internet service of sufficient quality to stream videos and maintain a live connection to remote servers. Provisions will be made if students cannot participate in live audio/video sessions due to internet constraints; please contact the instructor to discuss if this is an issue for you.

Beyond these basic requirements, this course emphasizes (and will teach you about) openly accessible resources including the software that runs the course, open access to the course materials, and the use of external resources that are available for free. No textbook is required. This course will rely on Open Educational Resources — materials that are freely accessible and openly licensed — including online tutorials, videos, and books. A wide variety of educational materials (free and paid) for data science are available, and this course teaches an approach to lifelong learning and exploration by which you will be able to find and critically evaluate the information necessary to perform desired tasks.

Assessment and Evaluation

Your final grade will be based on a combination of formative assessments (self and peer evaluations) and summative evaluations (presentations, assignments, projects). Each component is described below, followed by a table showing the number and point weighting of each.

The items you’re graded on are divided into two categories:

The grading system is built to be inclusive and adaptive to the needs and life circumstances of individual students. While some assessments are not accepted after the due date, and some evaluations have late penalties, we recognize that missed or late assignments sometimes happen for excusable reasons. Rather than making a big deal about your proving to us that your reason is legitimate, we instead provide options built right into the course for you to make up lost points in other ways, including skipping a missed assignment in some cases, or having your worst mark on certain items (like assignments) be worth much fewer points. Because there are a variety of bonus points on offer, there are actually more opportunities to earn points than you need to get an A+ in the course. This means that you can, within reason, pick and choose how to achieve your desired grade. That said, your grade is intended to reflect the degree to which you have met the learning objectives, so you do need to demonstrate competence with regard to all of the objectives.

Due dates for all assessment and evaluation components will be posted on Teams.

Formative Assessments

Online Lessons/Practice: DataCamp

Registered students are provided with free access to the DataCamp massive online learning community. A number of DataCamp lessons are assigned in the schedule to align with the course content. They are meant to reinforce the textbook/lecture material, and provide opportunities to practice coding with immediate feedback. As well, there are several optional DataCamp lessons that you’ll see suggested when you log onto your DataCamp account. You can get course credit for completing both the lessons assigned in the schedule, and any additional lessons on DataCamp that interest you (even ones not suggested by the instructor - choose your own adventure!)

Grading for DataCamp lessons is based on XP assigned by the DataCamp platform. You earn XP incrementally by completing lessons, so if you complete part of a lesson you get part of the total XP. Your DataCamp work is graded pass/fail on the basis of how many XP you earn. Your earned DataCamp XP (up to 35,000 XP) are divided by 70 to determine your DataCamp grade for this class (35,000 DataCamp XP = 500 course points).

DataCamp lessons can be completed later than the posted due date, up to the last day of class, with no penalty. However, not completing lessons by the posted due dates will leave you less prepared for future classes and assignments. No points for lessons will be granted after the last day of classes in the term.


You will submit regular written assessments of your own learning progress over the term. This type of self-reflection has been empirically demonstrated to improve learning outcomes. It’s also an incredibly useful way for the instructor to keep in touch with every student, and recognize both individual and common areas where people are struggling. Each self-assessment should be 150-500 words in length. Late work will be penalized 2% per hour, with the clock starting the minute after the deadline has elapsed. Self-assessments are only helpful if they’re done regularly, and in this class they are timed to synch up with your work in other aspects of the course. These are assigned and submitted via Teams.

Meet ‘n Greets

You will earn bonus points by participating in short (5-10 min) one-on-one meetings with other class members. These are scheduled by students at your mutual convenience, and can take the form of an online video/audio chat or in-person meeting. The purpose of these is to allow for the kinds of casual interactions you might normally have with others in a face-to-face class, and allow you to get to know people as potential team members for projects.

All students are expected to abide by Dalhousie University’s Code of Student Conduct, and violations will be addressed through the procedures described there. If a meet ‘n greet makes you uncomfortable, it is fine to terminate it immediately. Please report any inappropriate behaviour to the instructor immediately. You will be heard, and you will be respected.

Meet ‘n greets should ideally occur early in the course. Three of these are required, and an additional three can be done for bonus points. The required meet ‘n greets should be completed by the end of the first month of class.

Summative Evaluations

Because 10% of your final grade (the formative assessments) are “easy” pass/fail points, and an additional 10% is available in bonus points, you can expect that grading of the summative evaluations will be quite strict. For all summative evaluations, late work will be penalized 2% per hour, with the clock starting the minute after the deadline has elapsed. Requests for extensions will only be considered prior to the due date.


These are coding assignments that you will complete, based on neuroscience data. There is an assignment due approximately every second week, except weeks when projects are due. The first assignment is mandatory; of the remaining ones, the one on which you get the worst grade will be counted for substantially less points than the others (see table below). This allows you to drop your worst mark, or miss submitting one assignment with minimal penalty.


There are 2 team-based projects to complete. These projects are directly based on the class assignments, but integrate across multiple classes and assignments, as well as requiring you to extend and apply what you have learned, to new contexts.

Project Peer Assessments

You will be asked to submit structured peer reviews following each of the two team projects. This will be done using a rubric with five components: participation, preparation, communication, collaboration, and academic quality. Your grade will be the average of the ratings assigned to you by your team members. Late peer assessments will be penalized 2% per hour, with the clock starting the minute after the deadline has elapsed.

Dealing with unequal contributions

Submitting the peer assessment itself is worth only a few points towards your final grade. However, it is also an opportunity for teams to identify individuals who did not contribute substantially to the project work. The peer assessment asks each team member to estimate the proportion of work done on the project by each team member. If any team member is identified by a majority of other team members as having done substantially less then their fair share of the work (“substantially less” being less than half as much work as others), the average contribution rating of all team members (other than the student in question) will be used to reduce the student’s grade on the team project.

For example, imagine a team of 4 members: A, B, C, and D. D slacks off and does little to none of the work, and members A, B, and C rate D’s contribution as 0, 2, and 4% of the project respectively (where equal work would have been 25% each). The team project receives a grade of 80/100 points. In this case, D’s grade on the project would be 2/25 or 8% of the points awarded for the project, i.e., 0.08 * 80 = 6.4 points.

Please note that this is a “worst case” scenario, although it has happened in the past. We much prefer it if issues are identified before things get this bad. Teams should first try to contact the team member who seems to be doing less work, and discuss the issue with them to try to find a resolution. Secondly, before the project deadline, teams should contact the instructor to discuss the problem.

If you are on a team and are having trouble completing your fair share of the work, likewise please first discuss this with your team members, and if you can’t resolve it that way, please contact the instructor to discuss — ideally well before the project deadline. The purpose of this mechanism is to prevent students from “freeloading” on the work of others, but it is not meant to penalize people who are experiencing genuine struggles of any kind. The instructor is eager to support students who are struggling in any way.


One of the outcomes of this class is that you will have an online portfolio demonstrating your work, that you could show to a potential employer or honours/graduate supervisor. Building this will mostly happen in the context of your completing the course work (demos, projects, and assignments). Assembling your portfolio simply means selecting what you feel best represents your work, and putting a bit of “packaging” around it. You will submit a first version midway through the course for feedback, and then a final version at the end of term. Submitting the first version is optional but highly recommended, as we have yet to see a first version that was nearly as good as the revised version after feedback!

Your portfolio should be a publicly-accessible website. Our suggestion is that you use GitHub Pages for this purpose. There are a series of videos on the class YouTube channel with how-tos for doing this.

Grading will be according to a rubric with five components: quantity of samples; breadth; quality of content; quality of presentation; and organization. Here are links to the rubrics for Submission 1 and Submission 2.


Demos are an opportunity for you to explore the world of neural data science, and data science more broadly, pursuing topics that are of individual interest to you. Demos will ultimately be posted on your portfolio, but they are graded independently of your portfolio.

A demo can take a variety of formats, including code, video, a blog post, etc.. Regardless of the format, it should have a clear topic, and you should articulate in the demo why the topic is of interest and relevance to you, what is interesting about it, and how it connects to the course content. For more info and some guidance on demos, go here.

Grading (by the teaching team) will be based on a rubric with four components: quality of content, quality of explanation, quality of presentation, and relevance/usefulness of topic, with a few bonus points available for creativity.


This course follows the Dalhousie grading scale. The table below lists the point values of individual grading items, which total 10,000. Your grade is based on the percentage of 10,000 points that you earn (including bonus points).

How to Earn Points

The table below lists all the “core” and “bonus” opportunities to earn points in this course.

Summative Evaluations (graded) XP bonus XP
Assignment 1 500  
Assignments 2-5, 3 best marks @ 1000 3000  
Assignments 2-5, worst mark   250
Project 1 1500  
Project 2 1500  
Demos, best 2 @ 500 (rubric) 1000  
Demo 3rd best mark   100
Portfolio submission 1 (rubric)   100
Portfolio submission 2 (rubric) 1500  
Formative Assessments (Pass/Fail)    
Datacamp lessons 500  
Peer Assessments    
Project 1 peer assessment 100  
Project 2 peer assessment 100  
Self-assessments 6 @ 50 300  
Self-assessment skip one or bonus points   25
Meet ‘n Greets    
Meet ‘n Greets - 5 @ 25   125
Other Bonus Points    
Did not ask for extension bonus   200
Project 1 team size > 3 people   100
Project 2 team size > 3 people   100
Totals 10000 1000


Click here to see the schedule.

In its 12 week version, the course has weekly and bi-weekly structure:

Weekly Structure

Synchronous Activities

Each week, there will be one in-person lab session, on Wednesdays. This session will typically include review of the week’s learning material, tutorials on course content or on things that we identified as issues from errors on assignments or questions from students, and the opportunity to ask questions from the teaching team. Some lab sessions will be open work time when you can work on course material with the teaching team on-hand to answer questions as they arise.

Asynchronous Activities

Most of your learning will come from sitting and coding - working through the lessons on CoCalc (ideally following along with the videos) and on DataCamp, and completing the assignments and projects. These are asynchronous activities so you can work on them on the schedule that best works for you. The course is designed expecting you to complete two lessons per week, along with any DataCamp sections that are assigned. You should aim to follow the schedule to keep up with the lessons (although of course the beauty of asynchronous learning is the flexibility). For many people, it’s likely best to block off time every day or two to focus on work for this course.

Bi-Weekly Structure

There will be an assignment or project due every two weeks. On the alternating weeks when no assignment or project is due, a self-assessment will be due. As well, there are due dates for demos spaced over the term. These due dates are all mapped out on the schedule, but as always, Teams is your authoritative source for due dates.


This course is governed by the academic rules and regulations set forth in the University Calendar and by Senate.


Attendance of scheduled class meetings is optional, but scheduled class times are the only time when you can get in-person help with the course material. You can message the TA and instructor on Teams outside of this time for help, but response times will be variable.

Academic Freedom

Freedom of speech and of thought are cornerstones of academic institutions such as Dalhousie. Our goal in science is to observe and characterize the world accurately and objectively. However, we must realize that our perceptions of reality are often coloured by our beliefs and assumptions, some of which we may not be aware of. Academic freedom includes not only the freedom to think as you please, but others’ freedom to express their beliefs as well. Please do not hesitate to express your ideas, but do so in a way that is respectful of others. This is the only avenue for the free expression and exchange of ideas.

Academic Integrity

At Dalhousie University, we are guided in all of our work by the values of academic integrity: honesty, trust, fairness, responsibility and respect (The Center for Academic Integrity, Duke University, 1999). As a student, you are required to demonstrate these values in all of the work you do. The University provides policies and procedures that every member of the university community is required to follow to ensure academic integrity. For more details please see:


The Advising and Access Services Centre is Dalhousie’s centre of expertise for student accessibility and accommodation. The advising team works with students who request accommodation as a result of a disability, religious obligation, or any barrier related to any other characteristic protected under Human Rights legislation (Canada and Nova Scotia). Information:

Code of Student Conduct

Everyone at Dalhousie is expected to treat others with dignity and respect. The Code of Student Conduct allows Dalhousie to take disciplinary action if students don’t follow this community expectation. When appropriate, violations of the code can be resolved in a reasonable and informal manner—perhaps through a restorative justice process. If an informal resolution can’t be reached, or would be inappropriate, procedures exist for formal dispute resolution. For more information please see

Important Dates in the Academic Year (including add/drop dates)

University Grading Practices

Missed or Late Academic Requirements due to Student Absence (policy)

Learning and Support Resources


General Advising:

Science Program Advisors:

Indigenous Student Centre:

Black Students Advising Centre:

International Centre:

Academic supports


Writing Centre:

Studying for Success:

Copyright Office:

Fair Dealing Guidelines:

Other supports and services

Student Health & Wellness Centre:

Student Advocacy:




Chemical Safety:

Radiation Safety:

Scent-Free Program: