Course Project
This course is designed to introduce mathematicians and scientific computing students to essential software development tools and practices. No prior programming or Linux experience required.
Learning Path for Mathematics Students
The course is organized in three progressive levels with clear prerequisites and difficulty indicators:
π’ FOUNDATIONAL Prerequisites: None Essential tools every mathematician needs for computational work |
π‘ INTERMEDIATE Prerequisites: Linux basics, Git fundamentals Collaborative development and project management |
π΄ ADVANCED Prerequisites: All previous modules High-performance computing and automation |
Course Modules by Difficulty Level
π’ Level 1: Essential Foundations (Weeks 1-4)
For students with no prior programming or Linux experience:
- Linux Essentials for Mathematics
-
Learn command-line basics for mathematical computing. Navigate file systems, manage mathematical datasets, and access remote computing resources.
- Git for Mathematical Research
-
Track changes in LaTeX documents, collaborate on mathematical projects, and manage research code versions.
β Link: Git Basics for Mathematical Research
- VS Code for Mathematics
-
Set up integrated development environment for mathematical work with LaTeX, Python, and Jupyter integration.
- Research Project Management
-
Apply project management principles to mathematical research, thesis projects, and academic collaborations.
π‘ Level 2: Collaborative Development (Weeks 5-8)
For students comfortable with basic command line and version control:
- Advanced Git Workflows
-
Master branching, merging, and collaborative development for complex mathematical research projects.
β See Git & GitHub module for details
- Containers for Mathematics
-
Create reproducible environments for mathematical computing, share numerical experiments, and ensure research reproducibility.
- Agile Research Methods
-
Apply modern project management methodologies to mathematical research and collaborative investigations.
- Automation Basics
-
Introduce automation concepts for mathematical workflows and computational research.
π΄ Level 3: Advanced Automation (Weeks 9-12)
For students ready for high-performance computing workflows:
- HPC Containerization
-
Deploy mathematical software on high-performance computing systems using advanced container technologies.
- Advanced CI/CD for HPC
-
Implement sophisticated automation workflows for mathematical computing research and deployment.
- Production Workflows
-
Master enterprise-level continuous integration and deployment for mathematical software development.
- Research Visualization
-
Create interactive visualizations and dashboards for mathematical research results and data analysis.
Questions? Comments? Suggestions? > Use Slack
Quick Start for Instructors
π©βπ« Teaching this course? Check out the comprehensive π Instructor Guide with:
-
Week-by-week curriculum for 12-week semester
-
Assessment strategies for mathematics students
-
Common challenges and solutions
-
Mathematical examples and case studies
-
Differentiated instruction for mixed skill levels
Take the Assessment First!
π― Students: Don’t jump straight into modules! Start with the Prerequisites & Self-Assessment to find your optimal starting point and avoid frustration or boredom.
π¨ In a hurry? Check out the π Quick Start Guide for immediate next steps.