-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsoftware_development.yml
35 lines (33 loc) · 2.42 KB
/
software_development.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
- title: Best Practices Workshop
link: python-package-best-practices
description: Our best practices workshops introduce and promote <a href="https://molssi.org/molssis-best-practices/">MolSSI best practices</a> to workshop attendees. This workshop is designed for graduate students, post docs, or advanced undergraduate students. In this course, students create a Python package using best practices and the <a href="https://github.com/MolSSI/cookiecutter-cms">MolSSI CookieCutter</a>, and host this project on GitHub. Although this workshop is taught using a Python example, the concepts are broadly applicable to software projects in other languages.
topics: <li> Conda and Python environments
<li> Structuring a Python project using the MolSSI CookieCutter.
<li> Version control using git
<li> Python Coding Style
<li> Online code repositories such as GitHub
<li> GitHub collaboration
<li> Unit testing and the PyTest testing framework
<li> Code coverage
<li> Continuous integration tools
<li> Documentation for Python packages using Sphinx.
- title: Object Oriented Programming and Design Patterns
link: oop_and_design_patterns
description: The Object Oriented Programming (OOP) and Design Patterns tutorials provide a brief introduction to good software design principles. These tutorials are designed for graduate students, post docs, or advanced undergraduate students. Students will develop python modules using OOP principles and software design patterns.
topics: <li> Encapsulation
<li> Data Abstraction
<li> Inheritance
<li> Polymorphism
<li> Factory Design Pattern
<li> Adapter Design Pattern
<li> Facade Design Pattern
<li> Observer Design Pattern
- title: Python Type Hints, Dataclasses, and Pydantic
link: type-hints-pydantic-tutorial
youtube: https://www.youtube.com/watch?v=zh7Qpkto6n0
description: Do more with structured and named data than putting everything into a Dictionary. Learn about Python type hints for arguments and variables to tell users what to expect. Structure data into Dataclasses for functional named data handlers. Leverage validation and the powerful third party tool pydantic to handle complex schema and automatic validation.
topics: <li> Type hints in native Python
<li> Python Dataclasses for structured data organization
<li> Data validation fundamentals
<li> Data validation with Pydantic
<li> Nested data models in Pydantic