UGA Bulletin Logo

Advanced Software Carpentries for Scientific Programming


Course Description

An introduction to foundational programming techniques, data organization, and computational analysis approaches commonly used across the biomedical and informational sciences fields. This course uses open-source lessons and curricula developed by The Carpentries organization (https://carpentries.org/). Students will gain an understanding of the command-line interface and how this can be used to manipulate files and perform data analysis tasks on their computers.


Athena Title

Advanced Software Carpentries


Equivalent Courses

Not open to students with credit in BINF 8960E


Non-Traditional Format

Credit hours and lecture hours per week will vary by semester, depending on the course length and format. Course may be run as a traditional semester-long course or an intensive immersive course (e.g., weeklong intensive course during the summer). Students will be required to complete a final capstone project where they will apply command-line tools to solve a problem related to their graduate research.


Semester Course Offered

Offered fall, spring and summer


Grading System

S/U (Satisfactory/Unsatisfactory)


Student learning Outcomes

  • Students will be able to explain how to use command-line computing interfaces and demonstrate the use of common Unix commands and shell scripts.
  • Students will be able to compare and contrast the benefits and drawbacks of command-line versus graphical interfaces.
  • Students will be able to explain the basic principles of automated version control systems (Git) and investigate how to apply these systems to common computational tasks.
  • Students will be able to demonstrate a working knowledge of Python programming fundamentals and common programming applications of this language.
  • Students will be able to demonstrate a working knowledge of R programming and the use of the R studio graphical interface, with an emphasis on using R for data cleaning, organization, and visualization.
  • Students will be able to select and argue for the use of specific data science tools and workflows in different scientific disciplines such as Ecology, Genomics, Social Science, and Library Science.
  • Students will be able to design and execute a scientific programming project using the skills learned in the course, applied toward a problem of relevance to the student’s graduate research.

Topical Outline

  • The Unix Shell
  • Version Control with Git
  • Programming with Python
  • Programming with R and R Studio
  • Introduction to Data Analysis Workflows in Ecology, Genomics, Geospatial data, Social Sciences, and Library Sciences
  • Scientific Programming Capstone Project

Syllabus