LogoLogo
  • Start Here
    • Introduction to NCIL
      • Welcome
      • Mission Statement
      • Getting Started
      • Make this handbook better!
  • Policies & Expectations
    • Working in NCIL
      • Aaron's Philosophy on Supervision
      • General Policies
      • Roles & Expectations
        • Interpersonal and Working Relationships
        • Lab Director: Aaron Newman
        • Lab Manager: Cindy Hamon-Hill
        • Collaborators
        • Postdocs
        • Lab Research Assistants
        • Graduate Students
        • Undergraduate Students
      • Work Ethic
        • Vacations & Absences
      • Money
        • Employment
        • Undergraduate Research Awards
        • Graduate Student Funding
    • Communication
      • Basecamp
      • Lab Meetings
      • Communication Among Lab Members
      • Communicating with Research Participants
      • Website & Social Media
      • Meetings with Supervisor
      • Response Times
    • Lab Space and Resources
      • Hours of Operation
        • After-Hours Research
      • Safety
    • Intellectual Property
      • Data
      • Authorship
      • Publishing: Where and When
  • Data Management & Analysis
    • Data Science Tools
      • Jupyter
        • JupyterLab
      • Python
      • R
      • How to set up your computer for NCIL data science
    • Servers & Computers
      • Accounts
      • File Server (NCILNAS)
        • Accessing NCILNAS
      • Compute Server
        • Jupyter
        • VS Code - Setup
        • VS Code - Everyday Use
      • GitHub Copilot
    • Data Analysis
      • Behavioural Data
      • EEG Analysis
      • fMRI Analysis
        • Processing fMRI Data with SPM
        • fMRI Analysis in SPM
      • Power analysis with simR in R
    • Data Management
      • Github
      • Open Science
    • Learn Some Coding
  • How To Run Experiments
    • How to Get a Research Study Started
      • Research Ethics
      • Your Research Protocol
        • Components of a Research Protocol
      • Pilot Testing
    • Running a Participant
      • Communicating With Participants
      • Recruiting
      • Before Each Participant Arrives
      • When a Participant is in the Lab
    • Experiment Programming
      • Stimulus Presentation Programs
      • Brain-Computer Interface Programs (BCI)
      • EEG Trigger Codes
        • Lab Streaming Layer
        • Trigger Code Hardware Setup
        • Timing Test
    • Data Storage & Protection
    • Word Similarity Measures
  • Communicating Science
    • Submitting papers to Aaron for review
    • Lab Meeting Talks
    • Independent Study Course
    • Honours Thesis
      • Getting Started
    • Master's Thesis
    • 😓PhD Dissertation
    • PhD Comps
    • Conferences
    • Publications
    • Reviewing Journal Manuscripts
  • Old
    • VS Code on NCIL server
Powered by GitBook
On this page
  • SURGE Discover Programming Series
  • Neural Data Science in Python (aaron's Textbook & Course)
  • Self-Directed Learning: DataCamp
  • Programming Classes

Was this helpful?

  1. Data Management & Analysis

Learn Some Coding

PreviousOpen ScienceNextHow to Get a Research Study Started

Last updated 2 months ago

Was this helpful?

Our central activity as a science lab is working with data. Our lab relies heavily on mainstream scientific coding languages to do this; primarily Python and R. If you plan to advance in the lab, doing an independent study or honours project, and certainly as a grad student, you will need to learn how to work with data in those languages. This is perhaps one of the most valuable and generalizable skills you can learn, as coding skills are increasingly in demand for many jobs, even outside of "pure" programmer jobs.

SURGE Discover Programming Series

SURGE periodically offers introductory coding workshops, focused on Python and R. Check their website at to see upcoming events.

Neural Data Science in Python (aaron's Textbook & Course)

The course provides an introduction to the Python programming language. As added bonuses, this is a lab course, so you'll get lots of hands-on practice and it satisfies a degree requirement. Note that while no coding experience is required, previous psychology, neuroscience, and scientific experimentation training helps students better understand the neural data, and allocate more attention to acquiring and honing coding skills.

Neural Data Science is based entirely on open-source materials, and Aaron has written a textbook specifically for the course, providing an introduciton for everyone, with or without prior coding experience. The textbook lives at

Self-Directed Learning: DataCamp

NCIL has a subscription to DataCamp, which is an excellent online platform for learning and normally very expensive to access. DataCamp also has an app so you can do a lot of lessons wherever you have your phone! Aaron typically sets up a free account for the lab every term. For the current access link, please see NCIL Core/Resources on Basecamp.

Programming Classes

Science students can take several introductory and upper-level computer science classes at Dal. .03 and 1110.03 are mutually-exclusive options for an introductory computer science class. You should take if you have no prior computer programming/coding experience, or if you have previous programming experience (e.g., a past high school or university class in programming, or independent programming experience). In addition to the intro classes, .03 Computer Modelling for Scientists and .03 Data Science for Everyone have no prerequisites, and do not assume prior programming experience.

surgeinnovation.ca
NESC 3505: Neural Data Science
https://neuraldatascience.io
CSCI 1105
CSCI 1105
CSCI 1110
CSCI 2202
CSCI 2203