https://github.com/vanstrouble/basic-programming-lsia-class
All homeworks, projects and stuffs of Basic Programming LSIA class | UG
https://github.com/vanstrouble/basic-programming-lsia-class
Last synced: about 1 year ago
JSON representation
All homeworks, projects and stuffs of Basic Programming LSIA class | UG
- Host: GitHub
- URL: https://github.com/vanstrouble/basic-programming-lsia-class
- Owner: vanstrouble
- Created: 2023-07-30T15:45:41.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-07-30T16:28:00.000Z (almost 3 years ago)
- Last Synced: 2025-02-02T14:14:02.732Z (over 1 year ago)
- Language: C
- Homepage:
- Size: 14.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Programación básica
## Definición de “Programación”
La programación es el proceso de crear instrucciones que una computadora puede seguir para llevar a cabo una tarea específica. Consiste en escribir código en un lenguaje de programación que se traduce en instrucciones comprensibles por la computadora.
## Conceptos básicos
- **Algoritmo**
Es una serie de pasos o instrucciones que resuelven un problema o realizan una tarea específica. Los algoritmos son la base de la programación y se utilizan para diseñar soluciones.
**Lenguaje de programación**
Es un conjunto de reglas y símbolos utilizados para escribir programas informáticos. Algunos ejemplos populares de lenguajes de programación son Python, Java, C++, JavaScript, entre otros.
- **Variables**
Son contenedores utilizados para almacenar valores en la memoria de un programa. Puedes asignar un valor a una variable y luego utilizarla en tu código. Por ejemplo, **`edad = 25`**.
- **Tipos de datos**
Representan el tipo de información que se puede almacenar en una variable. Algunos tipos de datos comunes incluyen números enteros (int), números de punto flotante (float), cadenas de texto (str), booleanos (bool), listas, diccionarios, entre otros.
- **Estructuras de control**
Permiten controlar el flujo de ejecución en un programa. Algunas estructuras de control comunes son las instrucciones condicionales (if-else) y los bucles (for, while) que te permiten tomar decisiones y repetir tareas según ciertas condiciones.
- **Funciones**
Es un bloque de código que realiza una tarea específica. Puedes definir tus propias funciones y reutilizarlas en diferentes partes de tu programa. Las funciones ayudan a organizar y modularizar el código.
- **Depuración**
Es el proceso de encontrar y corregir errores en el código. Es común que los programadores encuentren errores mientras desarrollan sus programas y la depuración es una habilidad importante para resolver problemas y mejorar el rendimiento del software.
## Buenas prácticas de programación
- **Nomenclatura descriptiva:**
Utilizar nombres significativos para las variables, funciones y clases, de modo que reflejen su propósito y función en el programa. Evitar nombres ambiguos o demasiado cortos.
- **Indentación y espaciado consistente:**
Aplicar una indentación consistente para mejorar la legibilidad del código. Utilizar espacios en blanco adecuados para separar bloques de código y operadores.
- **Comentarios claros y concisos:**
Incluir comentarios en el código para explicar su lógica, su funcionamiento y cualquier otra información relevante. Los comentarios deben ser claros, concisos y utilizarse de manera efectiva para facilitar la comprensión del código.
- **Modularización y reutilización de código:**
Dividir el código en funciones y módulos más pequeños y coherentes para facilitar la comprensión y la reutilización. Evitar la duplicación de código y buscar oportunidades para crear funciones genéricas y reutilizables.
- **Manejo adecuado de errores y excepciones:**
Implementar mecanismos de manejo de errores y excepciones para capturar y manejar errores de manera adecuada. Proporcionar mensajes de error claros y útiles para facilitar la depuración.
- **Documentación del código:**
Proporcionar documentación clara y concisa que explique el propósito y la funcionalidad del código. Utilizar comentarios o herramientas de generación de documentación para crear documentación legible y actualizada.
- **Pruebas unitarias:**
Escribir pruebas unitarias para verificar el correcto funcionamiento de partes individuales del código. Las pruebas unitarias ayudan a detectar y corregir errores de forma temprana y garantizan que los cambios posteriores no introduzcan regresiones.
- **Adherencia a estándares de estilo:**
Seguir un estándar de estilo de codificación consistente, como PEP 8 en el caso de Python, para mantener la consistencia y facilitar la lectura del código.
## Lectura recomendada
### Introducción a la programación
1988 - Tremblay - Introducción a las Ciencias de la Computacion enfoque algoritmico, Chapter 2
2004 - Concepts, Techniques, and Models of Computer Programming
2014 - Stevanovic - Advanced C and C Compiling, Chapter 2
### Control de flujo
2020 - Szuhay - Learning C Programming, Chapter 6, 7
### Elementos del lenguaje de programación
2020 - Szuhay - Learning C Programming, Chapter 4, 5
### Punteros
2013 - Reese - Understanding and Using C Pointers, Chapter 1, 2
---
## Personajes históricos de la programación
- Ada Lovelace
Matemática británica del siglo XIX, es considerada la primera programadora de la historia. Trabajó en colaboración con Charles Babbage en la máquina analítica, un dispositivo mecánico de propósito general que se considera precursor de las computadoras modernas. Ada Lovelace escribió lo que se considera el primer algoritmo destinado a ser procesado por una máquina, lo que la convierte en una figura fundamental en la historia de la programación.
- Alan Turing
Matemático y científico de la computación británico que hizo contribuciones fundamentales al campo de la computación y la inteligencia artificial. Durante la Segunda Guerra Mundial, Turing trabajó en descifrar los códigos de la máquina Enigma utilizada por las fuerzas alemanas. Sus trabajos teóricos sentaron las bases de la ciencia de la computación y el concepto de una "máquina universal" capaz de realizar cualquier cálculo lógico.
- Grace Hopper
Científica de la computación estadounidense conocida por su trabajo en el desarrollo del primer compilador, un programa que traduce el código fuente escrito en lenguaje de programación a código de máquina ejecutable. Hopper también fue pionera en el desarrollo del lenguaje de programación COBOL, utilizado ampliamente en aplicaciones empresariales.
- Dennis Ritchie y Ken Thompson
Son conocidos por desarrollar el lenguaje de programación C y el sistema operativo UNIX en los laboratorios Bell a principios de la década de 1970. El lenguaje C se convirtió en un lenguaje fundamental en el desarrollo de sistemas operativos y aplicaciones de bajo nivel, y UNIX sentó las bases para muchos sistemas operativos modernos.