Software Engineering Principles in Python
Learn about modularity, documentation, and automated testing to help you solve data science problems more quickly and reliably.
Start Course for Free4 hours15 videos51 exercises48,011 learnersStatement of Accomplishment
Create Your Free Account
or
By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.Training 2 or more people?
Try DataCamp for BusinessLoved by learners at thousands of companies
Course Description
Data scientists can experience huge benefits by learning concepts from the field of software engineering, allowing them to more easily reutilize their code and share it with collaborators. In this course, you'll learn all about the important ideas of modularity, documentation, & automated testing, and you'll see how they can help you solve Data Science problems quicker and in a way that will make future you happy. You'll even get to use your acquired software engineering chops to write your very own Python package for performing text analytics.
Training 2 or more people?
Get your team access to the full DataCamp platform, including all the features.In the following Tracks
Associate AI Engineer for Data Scientists
Go To TrackAssociate AI Engineer for Developers
Go To Track- 1
Software Engineering & Data Science
FreeWhy should you as a Data Scientist care about Software Engineering concepts? Here we'll cover specific Software Engineering concepts and how these important ideas can revolutionize your Data Science workflow!
Python, data science, & software engineering50 xpThe big ideas50 xpPython modularity in the wild100 xpIntroduction to packages & documentation50 xpInstalling packages with pip50 xpLeveraging documentation100 xpConventions and PEP 850 xpUsing pycodestyle100 xpConforming to PEP 8100 xpPEP 8 in documentation100 xp - 2
Writing a Python Module
Become a fully fledged Python package developer by writing your first package! You'll learn how to structure and write Python code that you can be installed, used, and distributed just like famous packages such as NumPy and Pandas.
Writing your first package50 xpMinimal package requirements50 xpNaming packages100 xpRecognizing packages100 xpAdding functionality to packages50 xpAdding functionality to your package100 xpUsing your package's new functionality100 xpMaking your package portable50 xpWriting requirements.txt100 xpInstalling package requirements50 xpCreating setup.py100 xpListing requirements in setup.py100 xp - 3
Utilizing Classes
Object Oriented Programming is a staple of Python development. By leveraging classes and inheritance your Python package will become a much more powerful tool for your users.
Adding classes to a package50 xpWriting a class for your package100 xpUsing your package's class100 xpAdding functionality to classes50 xpWriting a non-public method100 xpUsing your class's functionality100 xpClasses and the DRY principle50 xpUsing inheritance to create a class100 xpAdding functionality to a child class100 xpUsing your child class100 xpMultilevel inheritance50 xpExploring with dir and help100 xpCreating a grandchild class100 xpUsing inherited methods100 xp - 4
Maintainability
You've now written a fully functional Python package for text analysis! To make maintaining your project as easy as possible we'll leverage best practices around concepts such as documentation and unit testing.
Documentation50 xpIdentifying good comments100 xpIdentifying proper docstrings100 xpWriting docstrings100 xpReadability counts50 xpUsing good function names100 xpUsing good variable names100 xpRefactoring for readability100 xpUnit testing50 xpUsing doctest100 xpUsing pytest100 xpDocumentation & testing in practice50 xpDocumenting classes for Sphinx100 xpIdentifying tools50 xpFinal Thoughts50 xp
Training 2 or more people?
Get your team access to the full DataCamp platform, including all the features.In the following Tracks
Associate AI Engineer for Data Scientists
Go To TrackAssociate AI Engineer for Developers
Go To TrackAdam Spannbauer
See MoreMachine Learning Engineer at Eastman
Adam is a machine learning engineer at Eastman Chemical Company. His work history has had a focus on NLP projects using open source data science tools such as Python, R, and Shiny. He stays active in the open source community on GitHub, mostly working on side-projects involving computer vision. Adam holds degrees from Maryville College and the University of Tennessee.
Join over 15 million learners and start Software Engineering Principles in Python today!
Create Your Free Account
or
By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.