Python, data science, & software engineering

Software Engineering Principles in Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Data Science Venn Diagram

Software Engineering Principles in Python

Data Science Venn Diagram

Software Engineering Principles in Python

Data Science Venn Diagram

Software Engineering Principles in Python

Data Science Venn Diagram

Software Engineering Principles in Python

Data Science Venn Diagram

Software Engineering Principles in Python

Software engineering concepts

  • Modularity
  • Documentation
  • Testing
  • Version Control & Git
Software Engineering Principles in Python

Benefits of modularity

  • Improve readability
  • Improve maintainability
  • Solve problems only once

Modular Puzzle Pieces

Software Engineering Principles in Python

Modularity in python

# Import the pandas PACKAGE
import pandas as pd

# Create some example data
data = {'x': [1, 2, 3, 4], 
        'y': [20.1, 62.5, 34.8, 42.7]}

# Create a dataframe CLASS object
df = pd.DataFrame(data)

# Use the plot METHOD
df.plot('x', 'y')
Software Engineering Principles in Python

Benefits of documentation

  • Show users how to use your project
  • Prevent confusion from your collaborators
  • Prevent frustration from future you

Confused User

Software Engineering Principles in Python

Benefits of automated testing

  • Save time over manual testing
  • Find & fix more bugs
  • Run tests anytime/anywhere

Squash Bugs with Pytest

Software Engineering Principles in Python

Let's Review

Software Engineering Principles in Python

Preparing Video For Download...