https://www.youtube.com/watch?v=qtWEm5NEZBg&list=PL1mPu0A4F0dCE_5kJxYyHq_4k16o3GhnP
-
Language Basics (One or Two of: Python, JavaScript, Rust, ...)
- Elements of the Program
- Flow, Control Sentences, and Functions
- Testing and Documentation
- Data Types
- Iterator Pattern
- Applications
- Distance Metrics: L1, L2, and Max
- Variance and Covariance
- Packages and Libraries for Science and Matrix Operations
- Probability
- Linear Regression
- Principal Component Analysis (PCA)
- Persistence Formats (Plain Text, CSV, JSON, ...)
- Elements of the Program
-
Numerical Methods
- Floating-Point Numbers
- Definition of Algorithmic Complexity and Types of Problems
- Significant Figures and Error Propagation in Iterated Equations
- Gaussian Elimination using kiRi + kjRj -> Rj with ki and kj as integers
- Ill-conditioned system of linear equations
- Chaos
- Roots of Polynomials
- Analytical Formulas (Degree 2, 3, and 4)
- Iterative Algorithms
- Matrix Operations (Inverse and Pseudoinverse)
- Comparison of Iterative and Non-Iterative Algorithms in Terms of Complexity and Error
-
Machine Learning
- Unsupervised method
- k-mean clustering algorithm
- Supervised method
- Nearest Neighbors
- Classification and Confusion Matrix
- Regression and Accuracy
- Bayesian Methods (Classification and Regression)
- Gradient Descent and Lasso (Classification and Regression)
- Nearest Neighbors
- Applying the 'Model View Controller' Pattern to Web Development
- Database Operations (CRUD)
- Frontend Development
- Backend Development
- Sockets and Websockets
Laboratories (ESP32, Raspberry Pico W, ...)
-
Machine I/O
- PIO (Programable Input/Output)
- ADC (Analog-to-Digital Conversion)
- DAC (Digital-to-Analog Conversion) using R-2R Network
- PWM (Pulse Width Modulation)
- IRQ (Interrupt Request)
- FSM (Finite State Machine)
- IoT (Internet of Things) using Sockets or MQTT
-
Tools and Markup Languages** (1 week)
- Examples of Markup Languages (HTML, LaTeX, Markdown)
- GitHub
- Git (clone, add, commit, status, checkout, push, pull)
- Jupyter and Colab
- IDEs (IDLE, Thonny, VSCode, ...)
- SCRUM Methodology
Computer Lab:
- Introduction to GitHub
- Signing Up on GitHub
- Managing Issues and Using Project Boards
- Understanding Markdown and Working with .md Files
- Git Fundamentals
- Cloning Repositories, Adding Changes, Committing, Checking Status
- Checking Out Branches, Pushing Changes, Pulling Updates
- Introduction to Colab and Jupyter Notebooks
- Exploring Integrated Development Environments (IDEs) like IDLE, Thonny, VSCode
- Activity: Working in Colab:
- Create a GitHub account video
- Create a private repository "Programacion_Aplicada" and add GerardoMunoz-UD as a collaborator
- Log in at your personal Colab account
- Copy in your Colab account the Language Basics Jupyter and add a cell at the top with your personal information and links to each section of the same Jupyter.
- Save this Jupyter in the GitHub account
Classroom:
- Introduction to SCRUM Methodology
- Activity: Creating the Project Backlog for a New Product
- Homework: Uploading the Backlog to GitHub