Advanced Course for PhD Students in Integrative Neuroscience
University of Coimbra β’ CNC-UC Polo I
π
October 10, 2025 β January 30, 2026
π Friday Afternoons β’ 14 Sessions
π¨βπ« Coordinator: Renato Duarte
This advanced course is designed to equip students with the programming, computational, and software development skills necessary to produce reproducible, efficient, and modern scientific analyses. The course bridges the gap between traditional research programming and professional software development, guiding students from fundamental coding principles to advanced applications in data analysis, visualization, simulation, and machine learning.
- π€ AI-Assisted Learning: Integration of modern AI coding tools (GitHub Copilot, ChatGPT, Windsurf) with fundamental programming concepts
- π¬ Domain-Specific Focus: Tailored for neuroscience and biological research applications
- π Real-World Applications: Using authentic research datasets and solving actual scientific problems
- π₯ Collaborative Approach: Shared GitHub repository with peer contributions and code review
- π οΈ Professional Skills: Modern development workflows, version control, and software engineering best practices
| π Date | π Session | π― Focus |
|---|---|---|
| Oct 10 | Introduction & Modern Development Ecosystem | AI-assisted coding, environment setup |
| Oct 17 | Programming Fundamentals | Python basics, data structures |
| Oct 31 | Development Tools & Workflow | Git, IDEs, collaboration |
| Nov 07 | Numerical Computing Foundations | NumPy, matplotlib, SciPy |
| Nov 14 | Data Manipulation & Analysis | Pandas, data cleaning |
| Nov 21 | Visualization & Communication | Publication-quality figures |
| Nov 28 | Intermediate Programming Concepts | Error handling, documentation |
| Dec 05 | Machine Learning I | Statistics, scikit-learn |
| Dec 12 | Project Description and Organization | Project planning, organization |
| Dec 19 | Neural Networks & Deep Learning: From Theory to Biomedical Applications | Deep learning, PyTorch, transformers |
| Jan 09 | Simulation & Modeling in Neuroscience | Differential equations, numerical methods, dynamical systems |
| Jan 16 | Student Projects | Custom research solutions |
| Jan 23 | Student Projects | Custom research solutions |
| Jan 30 | Student Presentations | Project showcases |
Building the foundation for modern scientific programming
- Development Environment Setup: VS Code, extensions, terminal basics
- AI-Assisted Coding: GitHub Copilot, ChatGPT, "vibe coding" techniques
- Programming Fundamentals: Variables, control structures, functions, OOP
- Professional Workflows: Git, GitHub, documentation, collaboration
Core tools for scientific data analysis
- Numerical Computing: NumPy arrays, mathematical operations
- Data Manipulation: Pandas for data handling and cleaning
- Visualization: matplotlib, seaborn, plotly for scientific figures
- Code Quality: Error handling, type hints, debugging strategies
Specialized tools and advanced techniques
- Statistical Analysis: Foundations, hypothesis testing, effect sizes
- Machine Learning: Supervised/unsupervised learning, scikit-learn
- Deep Learning: Neural networks, PyTorch, TensorFlow basics
- Simulation & Modeling: Differential equations, biological modeling
- Domain Applications: Neuroscience-specific tools and workflows
Applying skills to real research problems
| Category | Tools |
|---|---|
| π Core Language | Python 3.11+ |
| π§ Development Environment | VS Code, Anaconda, Git |
| π€ AI Assistants | GitHub Copilot, ChatGPT, Windsurf, Claude |
| π Data Science | NumPy, Pandas, SciPy, matplotlib, seaborn |
| π§ Machine Learning | scikit-learn, PyTorch, TensorFlow |
| π¬ Neuroscience Tools | Neo, Elephant, MNE, CAIman, DeepLabCut |
| π Visualization | matplotlib, seaborn, plotly |
| π§ͺ Professional Tools | pytest, GitHub Actions, Jupyter |
Upon completion of this course, students will be able to:
- β Set up and manage professional scientific development environments
- β Utilize AI-assisted coding tools effectively while understanding fundamentals
- β Implement reproducible research workflows with version control
- β Master numerical computing with NumPy, Pandas, and SciPy
- β Create publication-quality visualizations and figures
- β Apply statistical analyses and machine learning techniques
- β Develop mathematical simulations of biological systems
- β Write clean, documented, and maintainable code
- β Debug and troubleshoot complex programming issues
- β Collaborate effectively using modern development workflows
- β Package and distribute scientific software
- β Apply testing and continuous integration practices
- β Transform research questions into computational solutions
- β Analyze complex, multi-dimensional scientific datasets
- β Integrate diverse data types (neural, behavioral, omics)
- β Communicate results through interactive visualizations
-
Clone the repository:
git clone https://github.com/CNNC-Lab/intscipro-2025.git cd intscipro-2025 -
Install Python environment:
# Option A: Using conda (recommended) conda env create -f environment.yml conda activate scientific-programming # Option B: Using pip pip install -r requirements.txt
-
Verify installation:
python -c "import numpy, pandas, matplotlib; print('Setup successful!')" -
Follow Day 1 setup tutorial:
day01-introduction/setup_tutorial.md
π Simple Data Analysis Example
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# Load sample neuroscience data
data = pd.read_csv('datasets/sample_neuron_data.csv')
# Basic analysis
summary = data.groupby('condition')['spike_count'].describe()
print(summary)
# Visualization
plt.figure(figsize=(10, 6))
sns.boxplot(data=data, x='condition', y='spike_count')
plt.title('Neural Activity by Experimental Condition')
plt.show()π€ AI-Assisted Coding Example
# Example prompt for ChatGPT/Copilot:
"""
I have electrophysiological data with columns: neuron_id, condition,
spike_count, isi_mean, burst_frequency. Please create a comprehensive
analysis including summary statistics, ANOVA testing, and publication-quality
visualizations comparing conditions.
"""
# AI will generate complete analysis pipeline
# Students learn to review, understand, and modify AI-generated code- Textbooks: No required textbook - all materials provided in repository
- Online Platforms: Jupyter notebooks, GitHub Codespaces support
- AI Tools: Free tiers of ChatGPT, GitHub Copilot, Claude
- Datasets: Real and synthetic neuroscience datasets from published research
- Python for Data Analysis by Wes McKinney
- Effective Computation in Physics by Scopatz & Huff
- Research Software Engineering with Python
- Instructor: Renato Duarte
- Course Forum: GitHub Discussions (for technical questions)
- Office Hours: Fridays after class (by appointment)
- Check the FAQ:
resources/troubleshooting.md - Search Issues: Look through existing GitHub issues
- Ask on Discussions: Use GitHub Discussions for course-related questions
- Emergency Contact: Email instructor for urgent issues
- Participation & Exercises: Active participation in the course is strongly encouraged
- Final Project: Custom solution to a research problem
Students will develop a custom computational solution addressing their specific research needs:
- Proposal: 1-page project description
- Implementation: Coding and analysis
- Presentation: 15-minute presentation + code demo
- Documentation: Well-documented GitHub repository
This course content is licensed under the MIT License. Students are free to use, modify, and distribute course materials with proper attribution.
University of Coimbra β’ Center for Neuroscience and Cell Biology (CNC)
Empowering the next generation of neuroscientists