Research Computing Foundational Courses
Modern research increasingly depends on computational tools. Whether you are analyzing data, automating workflows, managing code, or collaborating with others, a working knowledge of programming fundamentals is essential.
The following recommended research computing foundational courses provide entry-level training in core computational skills for researchers who:
- Do not have a computational background
- Are new to programming
- Need a structured refresher
- Want to build confidence using research computing tools
These courses emphasize practical, research-relevant skills and are designed specifically for beginners. No prior programming experience is required.
Contents
Who These Courses Are For
These courses are designed specifically for researchers — faculty, graduate students, postdoctoral scholars, and research staff — who need foundational computing skills but are not pursuing a computer science degree.
If you are new to computation, we encourage you to complete these beginner-friendly self-paced lessons. They move at an accessible pace and prioritize clarity, hands-on practice, and practical application.
Course materials are provided and maintained by The Carpentries.
What You’ll Learn
This group of self-paced courses introduces foundational tools widely used across disciplines. The lessons are structured, hands-on, and focused on real research workflows.
UNIX Shell
Learn how to work efficiently in a command-line environment — a core skill for managing data and working on research servers and high-performance computing systems.
Topics include:
- Navigating files and directories
- Creating, copying, and organizing files
- Searching and filtering data
- Combining commands to automate repetitive tasks
- Running programs from the command line
The UNIX shell helps researchers manage data at scale and streamline workflows.
Python
An introduction to programming concepts using Python, one of the most widely used languages in research and data analysis.
Topics include:
- Variables and data types
- Lists, loops, and conditionals
- Writing reusable functions
- Reading and processing data files
- Basic data analysis workflows
The focus is on building problem-solving skills and understanding how code supports reproducible research.
R
An introduction to R for statistical computing and data analysis.
Topics include:
- Working with vectors and data frames
- Writing scripts
- Creating basic visualizations
- Performing simple data analysis tasks
- Organizing code for reproducibility
R is widely used across disciplines including public health, social sciences, life sciences, and beyond.
Git & Version Control
Learn how to track changes, manage code, and collaborate effectively using Git.
Topics include:
- Initializing and managing repositories
- Tracking and committing changes
- Reviewing project history
- Branching and merging
- Supporting collaborative and reproducible research
Version control is a foundational skill for modern research teams and long-term project sustainability.
Course Format
The materials are designed for:
- Self-paced learning
- Independent review and practice
- Structured, in-person instruction
Live adaptations of these courses are offered during the Spring and Fall semesters. Visit our Events page to see upcoming workshops and presentations.
Frequently Asked Questions
Do I need a special computer or software to complete these courses?
No. Most laptop and desktop computers running Windows, MacOS, and Linux are compatible. Instructions to install software on your computer will accompany each lesson.
Are recordings of these courses available?
No. The materials are intentionally designed for active, hands-on learning either through self-paced engagement or live instruction. Recordings are not available.
Is credit given for these courses?
No. These are non-credit skills-based training lessons that students can do at their own pace.
Are there any other courses available?
Yes! The material for these courses is provided and maintained by The Carpentries. More details about these courses can be found on the Software Carpentries Lessons page.