Prerequisites

Expected and helpful background knowledge for joining an event on this topic.

Background

  • Expected: Basic familiarity with Git
  • Not required: Prior experience with agentic AI coding tools

Agentic AI tools can help implement, revise, and test research software. Their use also makes it important to define what the software should do, decide which changes are valuable, and establish evidence that the results meet scientific and technical requirements. This topic explores how to organize that work so a project’s development remains understandable and reviewable as the pace of implementation increases.

You will set up coding agents and their project instructions, turn research needs into software specifications, and express expected behavior through behavior-driven development (BDD) scenarios. You will combine unit, integration, acceptance, and regression tests with checks such as Ruff and complexipy, and explore property-based and mutation testing to assess different aspects of correctness and test effectiveness.

Drawing on product-owner and Scrum Master perspectives, you will practice prioritizing a backlog, defining completion criteria, and working in short cycles of implementation, review, and refactoring. You will also maintain concise agent instructions, design decisions, and handover notes as the project changes, use git-ai to track AI contributions, and examine copyright, licensing, attribution, and research-software disclosure.

Why This Matters

Producing code is one part of developing useful research software. Researchers also need to understand its assumptions, check its scientific behavior, and leave a project that collaborators can maintain. When implementation moves quickly, review, documentation, and consolidation need an explicit place in the development process.

Specifications and independent checks help keep implementation connected to research intent. Small, reviewable changes and short feedback cycles make it easier to notice misunderstandings and revise direction. Automated quality checks can flag selected code problems and excessive complexity, while scientific validation and design review remain part of human oversight.

Questions We Can Explore Together

Supported Approaches

Scientific Python

Apply specifications, tests, and code review to data analysis, scientific libraries, and research software written in Python. Familiarity with small Python programs is required for this approach.

HTML and CSS

Apply the same practices to research websites: structure content, review layouts, and check that generated pages communicate clearly. Website-focused events may also use Markdown and Hugo; consult the event page for its particular tools and requirements.

Events

Explore upcoming dates and details from previous events.

No events recorded yet.

Technology Radar

Our view of the tools and practices relevant to this topic. Recommendation and teaching availability are separate.

Provisional positions are editorial proposals awaiting group review.

Recommendation rings

  1. Recommend
    A recommended choice for relevant research work.
  2. Explore
    Promising or used internally; suitability or teaching integration is still developing.
  3. Assess
    Worth investigating before trying or recommending.

Kinds of item

  • Libraries
  • Languages & frameworks
  • Tools & platforms
  • Practices
  • Data formats

Items in this view

Recommend

Check important behavior automatically so research code can be changed with confidence.

Recommend Provisional

Practices · Teaching

0 topics with recorded teaching · 0 recorded and scheduled offerings

Our View

Tests make scientific assumptions and expected behavior explicit, and help catch regressions as analysis code develops.

Covered in our robust software and AI-assisted development topics; individual offerings are not yet attributed to this practice.

0 past offerings · 0 upcoming offerings

Related themes: Neural Data AnalysisScientific Computing

Related topics: AI-Assisted Software DevelopmentMachine Learning(M)EEG AnalysisNeural Spike AnalysisRobust and Reusable Software

Check the shape, types, units, and assumptions of research data before using it.

Recommend Provisional

Practices · Teaching

0 topics with recorded teaching · 0 recorded and scheduled offerings

Our View

Explicit validation turns data assumptions into checks that can catch missing values, inconsistent metadata, and unexpected inputs before analysis.

Covered through data organization and robust software topics; individual offerings are not yet attributed to this practice.

0 past offerings · 0 upcoming offerings

Related themes: Neural Data AnalysisScientific Computing

Related topics: Programming and Data AcquisitionAI-Assisted Software DevelopmentArrays and Numerical ComputingCalcium Imaging AnalysisDataframes and StatisticsLocal Field Potential (LFP) AnalysisMachine Learning(M)EEG AnalysisNeural Spike AnalysisRobust and Reusable Software

Git

Distributed version control system for tracking changes in source code

Recommend Provisional

Tools & platforms · Teaching

5 topics with recorded teaching · 20 recorded and scheduled offerings

Our View

Git is the industry standard for version control, enabling researchers to track changes, collaborate effectively, and maintain a complete history of their work. It's essential for reproducible research and collaboration.

Recorded in topic offerings; consult the dated event links for availability.

19 past offerings · 1 upcoming offerings

Related themes: Scientific Computing

Related topics: AI-Assisted Software DevelopmentArrays and Numerical ComputingAutomating Research WorkflowsDeveloper EnvironmentRobust and Reusable SoftwareWebsite Development

Markdown

Lightweight markup language for writing readable documentation, notes, and web content.

Recommend Provisional

Languages & frameworks · Teaching

1 topics with recorded teaching · 1 recorded and scheduled offerings

Our View

Markdown keeps writing close to plain text while still supporting structured pages, links, code snippets, and publication workflows.

Recorded in topic offerings; consult the dated event links for availability.

1 past offerings · 0 upcoming offerings

Related themes: Scientific Computing

Related topics: AI-Assisted Software DevelopmentDeveloper EnvironmentWebsite Development

Matplotlib

Comprehensive library for creating static, animated, and interactive visualizations

Recommend Provisional

Libraries · Teaching

6 topics with recorded teaching · 19 recorded and scheduled offerings

Our View

Matplotlib is the foundational plotting library for Python, offering complete control over every aspect of your figures. It's publication-ready out of the box and integrates seamlessly with NumPy and Pandas, making it essential for visualizing research data.

Recorded in topic offerings; consult the dated event links for availability.

15 past offerings · 4 upcoming offerings

Related themes: Neural Data AnalysisScientific Computing

Related topics: AI-Assisted Software DevelopmentArrays and Numerical ComputingDataframes and StatisticsDeveloper EnvironmentLocal Field Potential (LFP) Analysis(M)EEG AnalysisNeural Spike Analysis

NumPy

The fundamental package for scientific computing with Python

Recommend Provisional

Libraries · Teaching

8 topics with recorded teaching · 26 recorded and scheduled offerings

Our View

NumPy is the foundation of the scientific Python ecosystem. It provides powerful n-dimensional array objects and tools for working with these arrays. Nearly every scientific Python package builds on NumPy, making it essential for data analysis, numerical computing, and scientific research.

Recorded in topic offerings; consult the dated event links for availability.

21 past offerings · 5 upcoming offerings

Related themes: Neural Data AnalysisScientific Computing

Related topics: AI-Assisted Software DevelopmentArrays and Numerical ComputingCalcium Imaging AnalysisDataframes and StatisticsLocal Field Potential (LFP) AnalysisMachine Learning(M)EEG AnalysisNeural Spike AnalysisRobust and Reusable Software

Pandas

Powerful data analysis and manipulation library for Python

Recommend Provisional

Libraries · Teaching

5 topics with recorded teaching · 16 recorded and scheduled offerings

Our View

Pandas provides intuitive data structures (DataFrames) for working with tabular data, making it easy to clean, analyze, and visualize datasets. It's the go-to tool for exploratory data analysis and handling experimental results in research.

Recorded in topic offerings; consult the dated event links for availability.

14 past offerings · 2 upcoming offerings

Related themes: Neural Data AnalysisScientific Computing

Related topics: AI-Assisted Software DevelopmentArrays and Numerical ComputingAutomating Research WorkflowsDataframes and StatisticsLocal Field Potential (LFP) AnalysisNeural Spike Analysis

pytest

Python testing framework for writing simple and scalable test cases

Recommend Provisional

Libraries · Teaching

3 topics with recorded teaching · 5 recorded and scheduled offerings

Our View

pytest makes it easy to write tests for research code, catching errors before they affect results. Its simple syntax and powerful features help ensure reproducibility and build confidence when refactoring analysis pipelines.

Recorded in topic offerings; consult the dated event links for availability.

3 past offerings · 2 upcoming offerings

Related themes: Scientific Computing

Related topics: AI-Assisted Software DevelopmentAutomating Research WorkflowsDeveloper EnvironmentRobust and Reusable Software

Python

General-purpose programming language widely used for scientific computing and research software.

Recommend Provisional

Languages & frameworks · Teaching

10 topics with recorded teaching · 33 recorded and scheduled offerings

Our View

Python combines a readable language with a mature scientific ecosystem, making it a practical default for research data analysis, automation, and teaching.

Recorded in topic offerings; consult the dated event links for availability.

26 past offerings · 7 upcoming offerings

Related themes: Neural Data AnalysisScientific Computing

Related topics: Programming and Data AcquisitionAI-Assisted Software DevelopmentArrays and Numerical ComputingAutomating Research WorkflowsCalcium Imaging AnalysisDataframes and StatisticsDeveloper EnvironmentLocal Field Potential (LFP) AnalysisMachine Learning(M)EEG AnalysisNeural Spike AnalysisRobust and Reusable Software

Record and reproduce the software environment used for an analysis or application.

Recommend Provisional

Practices · Teaching

0 topics with recorded teaching · 0 recorded and scheduled offerings

Our View

Declared dependencies and lock files help collaborators rerun analyses and distinguish environment changes from changes in scientific results.

Covered through our computing environment and research workflow topics; individual offerings are not yet attributed to this practice.

0 past offerings · 0 upcoming offerings

Related themes: Neural Data AnalysisScientific Computing

Related topics: AI-Assisted Software DevelopmentArrays and Numerical ComputingAutomating Research WorkflowsCalcium Imaging AnalysisDataframes and StatisticsDeveloper EnvironmentLocal Field Potential (LFP) AnalysisMachine LearningRobust and Reusable Software

scikit-learn

Machine learning library for Python with tools for classification, regression, clustering, and dimensionality reduction

Recommend Provisional

Libraries · Teaching

3 topics with recorded teaching · 6 recorded and scheduled offerings

Our View

Scikit-learn provides a consistent, easy-to-use interface for machine learning in Python. It's perfect for analyzing neuroscience data: clustering neurons, reducing dimensionality of neural responses, and classifying behavioral states.

Recorded in topic offerings; consult the dated event links for availability.

4 past offerings · 2 upcoming offerings

Related themes: Neural Data AnalysisScientific Computing

Related topics: AI-Assisted Software DevelopmentMachine Learning(M)EEG AnalysisNeural Spike Analysis

SciPy

Scientific computing library providing optimization, signal processing, and statistical functions

Recommend Provisional

Libraries · Teaching

5 topics with recorded teaching · 14 recorded and scheduled offerings

Our View

SciPy builds on NumPy to provide a comprehensive collection of algorithms for scientific computing. Its signal processing tools are essential for analyzing neural recordings, while its optimization and statistical functions support data analysis and modeling across neuroscience research.

Recorded in topic offerings; consult the dated event links for availability.

9 past offerings · 5 upcoming offerings

Related themes: Neural Data AnalysisScientific Computing

Related topics: AI-Assisted Software DevelopmentArrays and Numerical ComputingCalcium Imaging AnalysisLocal Field Potential (LFP) AnalysisMachine Learning(M)EEG AnalysisNeural Spike Analysis

Unified framework for spike sorting and electrophysiology analysis integrating multiple spike sorters

Recommend Provisional

Libraries · Teaching

1 topics with recorded teaching · 3 recorded and scheduled offerings

Our View

SpikeInterface provides a single, unified interface to run and compare multiple spike sorting algorithms. It standardizes the spike sorting workflow from preprocessing through quality metrics, making it easier to process extracellular recordings.

Recorded in topic offerings; consult the dated event links for availability.

2 past offerings · 1 upcoming offerings

Related themes: Neural Data AnalysisScientific Computing

Related topics: AI-Assisted Software DevelopmentNeural Spike Analysis

Modern, extensible code editor with excellent Python support

Recommend Provisional

Tools & platforms · Teaching

2 topics with recorded teaching · 11 recorded and scheduled offerings

Our View

VS Code combines the simplicity of a text editor with powerful IDE features. Its Python and Jupyter extensions provide an excellent environment for scientific computing, with features like interactive debugging, code completion, and integrated terminals.

Recorded in topic offerings; consult the dated event links for availability.

11 past offerings · 0 upcoming offerings

Related themes: Scientific Computing

Related topics: Programming and Data AcquisitionAI-Assisted Software DevelopmentDeveloper Environment

Explore

CSS

The style language used to control layout, typography, and visual presentation on the web.

Explore Provisional

Languages & frameworks · Teaching

1 topics with recorded teaching · 1 recorded and scheduled offerings

Our View

CSS lets researchers turn structured content into readable, responsive, and polished web pages.

Recorded in topic offerings; consult the dated event links for availability.

1 past offerings · 0 upcoming offerings

Related themes: Scientific Computing

Related topics: AI-Assisted Software DevelopmentWebsite Development

Elephant

Electrophysiology analysis toolkit for spike train analysis, LFP processing, and neural data statistics

Explore Provisional

Libraries · Teaching

2 topics with recorded teaching · 5 recorded and scheduled offerings

Our View

Elephant provides a comprehensive suite of analysis methods specifically designed for electrophysiology data. It handles spike trains, continuous signals, and their relationships with proper units and data structures, making complex analyses reproducible and standardized.

Recorded in topic offerings; consult the dated event links for availability.

3 past offerings · 2 upcoming offerings

Related themes: Neural Data AnalysisScientific Computing

Related topics: AI-Assisted Software DevelopmentLocal Field Potential (LFP) AnalysisNeural Spike Analysis

GitHub

Web-based platform for hosting and collaborating on Git repositories

Explore Provisional

Tools & platforms · Teaching

5 topics with recorded teaching · 18 recorded and scheduled offerings

Our View

GitHub is the de facto standard for sharing and collaborating on code. It provides excellent tools for code review, issue tracking, and project management. Most scientific software is hosted on GitHub, making it essential for reproducible research.

Recorded in topic offerings; consult the dated event links for availability.

18 past offerings · 0 upcoming offerings

Related themes: Scientific Computing

Related topics: AI-Assisted Software DevelopmentArrays and Numerical ComputingAutomating Research WorkflowsDeveloper EnvironmentRobust and Reusable SoftwareWebsite Development

HTML

The markup language used to structure web pages and documents.

Explore Provisional

Languages & frameworks · Teaching

1 topics with recorded teaching · 1 recorded and scheduled offerings

Our View

HTML is the foundation for publishing readable, structured research pages on the web.

Recorded in topic offerings; consult the dated event links for availability.

1 past offerings · 0 upcoming offerings

Related themes: Scientific Computing

Related topics: AI-Assisted Software DevelopmentWebsite Development

Hugo

Fast static site generator for building documentation and research websites

Explore Provisional

Tools & platforms · Teaching

1 topics with recorded teaching · 1 recorded and scheduled offerings

Our View

Hugo enables researchers to create fast, maintainable websites for documentation, lab pages, and project sites. Its speed, simplicity, and Markdown-based workflow integrate naturally with research workflows, making it easy to document methods, share results, and maintain online presence.

Recorded in topic offerings; consult the dated event links for availability.

1 past offerings · 0 upcoming offerings

Related themes: Scientific Computing

Related topics: AI-Assisted Software DevelopmentWebsite Development

Let's get in touch

For tutoring, collaboration, or follow-up support, contact the team. We are happy to help you connect workshop ideas with your own research practice.

Privacy information for email contact