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.
Software Engineering & Data ScienceFree
Why 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
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
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
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
Adam SpannbauerSee More
Machine 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.