An open API service indexing awesome lists of open source software.

https://github.com/jorgepiloto/software-development-101

Taller de desarrollo de software con Python
https://github.com/jorgepiloto/software-development-101

Last synced: 3 months ago
JSON representation

Taller de desarrollo de software con Python

Awesome Lists containing this project

README

        

# Software development 101

[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/jorgepiloto/software-development-101/main)

This document is a guide to the sessions that will take place in a course on
software development, focused on using Python to solve engineering problems. The
course consists of two sessions, covering topics ranging from basic Python
syntax to the creation of APIs and microservices. First session

## Python in Engineering (5 min)

In this section, a brief introduction will be given on the use of Python in
engineering, and some examples of problems that can be solved with Python will
be presented.

![The Python Ecosystem](https://camo.githubusercontent.com/96774b842f21fc54a20bc1b780a98f610bfd0cc3a6873943a6a0cd7f3785252a/68747470733a2f2f6a7570797465617274682e6f72672f5f696d616765732f707974686f6e2d737461636b2e706e67)

## Python Syntax: Variables, Loops, Conditionals, and Functions (30 min)

In this section, basic Python syntax will be reviewed, and the concepts of
variables, loops, conditionals, and functions will be explained, along with some
examples of their use in solving engineering problems.

![The Python Logo](https://camo.githubusercontent.com/edbf0a154fb266da96cd1b5379eec350cff7ef072ba42ee003c713c321cb0ba8/68747470733a2f2f7777772e707974686f6e2e6f72672f7374617469632f696d672f707974686f6e2d6c6f676f2e706e67)

## Example I: Temperature, Pressure, and Density Calculator for the ISA Model (30 min)

In this example, the use of Python syntax to create a calculator for
temperature, pressure, and density for the ISA (International Standard
Atmosphere) model will be demonstrated.

## Example II: Using NumPy for Vectorizing Calculations and Matplotlib for Visualization (20 min)

In this example, the NumPy package will be introduced for performing vectorized
calculations, and the matplotlib package will be used for visualizing the
results of the calculations.

## Testing and Continuous Integration (20 min)

In this section, the importance of testing code will be discussed, and tools for
automating tests, such as Pytest and Travis CI, will be presented.

![CI CD](https://hum-soft.com/blog/wp-content/uploads/2021/04/CI-CD-graphic-1.png)

## Example III: Using Pytest to Verify the ISA Model (15 min)

In this example, Pytest will be used to verify the proper functioning of the
calculator created in Example I.

![Pytest logo](https://res.cloudinary.com/practicaldev/image/fetch/s---dy84CM3--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/i/ls1nn7bpt6xfxtm6vbam.png)

## Second session

### Object-Oriented Programming (5 min)

In this section, the concept of object-oriented programming and its importance
in software development will be explained.

### Example I: Class for the ISA Model (30 min)

In this example, a class for the ISA model will be created, which will
encapsulate the calculation logic and make it easier to use in different parts
of the code.

### Example II: Modifying Class Operators (30 min)

In this example, the modification of class operators will be demonstrated to
enable mathematical operations between class instances.

### Modern Software Development: APIs, Containers, and Microservices (10 min)

In this section, modern software development and the technologies that make it
possible, such as APIs, containers, and microservices, will be discussed.

### Example III: Creating a REST API for the ISA Model (45 min)

In this example, a REST API for the ISA model will be created, enabling its use
from other applications and services. The Flask and Docker technologies will be
used to implement the API.