Learn you some math for a great good.

This course starts from the certainty that most mathematics learned during a university program have the potential to be used in solving everyday problems that a programmer or software developer confronts, only to remember that knowledge and have examplesConcrete ones that serve as an inspiration so that individually new application opportunities that are helpful are found.On the other hand, certain relatively recent specializations require a greater level of mathematical competence for their true understanding and domination that we were accustomed, such is the case of the Machine Learning, cryptography and the analysis of social networks, for citing some.

By reviewing topics and fundamental concepts, and its illustration with real examples, this course has the objective of wake up again in the participants mathematical curiosity, encourage them in the application of mathematical knowledge that they ever handled, as well as encourage them to acquire themnew.Knowing mathematics does not have any waste.

## · Who is going:

This training is recommended for:

- People who like software developers, want to find applications in their daily work to the mathematical knowledge they acquired during the university.
- People seeking to expand their skills as developers through the Insights that provides mathematical knowledge.
- People who are dedicated to programming, but they did not have formal mathematical training and want to have a first approach and guide to build these skills.
- Programmers in general.

## · Pre-requirements:

### Needed:

- Have knowledge of any programming language.
- Have knowledge of higher middle-level mathematics.

### Recommended:

- Having studied the materials of probability and statistics.
- Knowledge in Python.

## · Training content:

- Introduction to Ipython.
- Mathematical demonstrations
- Theory of sets
- Applications
- Design of database consultations
- Diagnosis of corrupt data

- Applications
- Functions
- Boolean algebra
- Applications
- Reduction of complexity in programs
- Problems of satisfaction

- Applications
- Linear algebra
- Applications
- Manipulation of images
- Software Architecture
- Machine Learning.

- Applications
- Combinatorial
- Applications
- Software tests
- Evaluation of the difficulty of a problem

- Applications
- Probability and statistics
- Applications
- Logs Analysis
- Machine Learning

- Applications
- Chains of Markov
- Applications
- Creation of software test models
- Discovery of dynamic processes models

- Applications
- Information theory
- Applications
- Data compression
- cryptography
- Evaluation of software architectures

- Applications
- Graphic theory and networks
- Applications
- Social Network Analysis
- Analysis of technological networks

- Applications
- Mathematics and computing
- Introduction to the lambda calculation