Course Description

Data scientists work in teams and it's important for each team member to understand software engineering processes and practices. From requirements gathering to agile development to testing and deployment, the ability to go beyond writing macros and simple scripts is key to both more sophisticated analyses and building reproducible and scalable data investigations and data products. This course, based in Python, will cover fundamental aspects of computer science, good practices in software engineering, and practical aspects of deploying code in production environments. To do this, we will use the Python language, a simple yet elegant general purpose programming language that is well-suited for data analysis and visualization.

Course Objectives

Upon successful completion of the course, students will:

  • Understand software architecture and design
  • Examine agile and hypothesis-driven software development processes
  • Identify team roles and workflows in software engineering
  • Conduct requirements gathering
  • Use Git and Github for version control and collaboration
  • Recognize the importance of testing and building test suites
  • Understand the legal aspects of software development
  • Apply software engineering practices to your data science project


Enrollment in this course is restricted. Students must submit an application and be accepted into the Certificate in Data Science in order to register for this course.

Current Georgetown students must create an application using their Georgetown NetID and password. New students will be prompted to create an account.

Course Prerequisites

Course prerequisites include:

  • A bachelor's degree or equivalent
  • Completion of at least two college-level math courses (e.g. statistics, calculus, etc.)
  • Successful completion of Foundations of Data Analytics and Data Science (XBUS-500)
  • Basic familiarity with programming or a programming language
  • A laptop for class meetings and coursework

Students with little or no programming experience are strongly encouraged to complete Python Basics for Data Analysis before enrolling in this course.

Applies Towards the Following Certificates

Enroll Now - Select a section to enroll in
6:30PM to 9:30PM
Feb 10, 2023 to Feb 24, 2023
9:00AM to 4:00PM
Feb 11, 2023 to Feb 25, 2023
Schedule and Location
Contact Hours
Course Tuition
Tuition non-credit $1,249.00 Click here to get more information
Required Software
Computing Requirements A laptop with at least a dual-core 1.8 GHz processor, 4GB of RAM, and 20 GB free hard disk space (e.g. a laptop purchased in the past two years). Windows 10 or newer (updated to the latest semi-annual channel version), OS X 10.15 Catalina or newer, or Ubuntu 20.04 or newer (or an equivalent Linux distribution). OS X and Linux are strongly encouraged. Administrator access on your system to install new software. A command prompt available (Powershell on Windows, Terminal on OS X or Linux).
Section Notes

Welcome to Live Online!

Using the Live Online platform, Georgetown faculty deliver real-time online exceptional educational experiences based on a human-centered approach that integrates the needs of professional learners and the possibilities of technology.

Live online classes are small to support highly interactive engaged learning and collaboration, deliver the same learning objectives as classroom courses, and count towards the completion of a Georgetown certificate.

You will experience:

  • live lectures, discussions, activities, and the dynamic exploration of topics and concepts
  • the immediacy of live connections with the instructor and your peers to challenge and encourage innovative thinking and the meaningful exploration of ideas
  • scheduled lectures, discussions, and presentations with a comparable level of interaction as classroom attendance
  • networking and the creation of social connections with other professional learners in a global classroom


Required fields are indicated by .