Skip to content

Esteban528/programacion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Guía de estudio + recursos para ser programador

image

Aclaro que este recurso será actualizado periódicamente, por lo que te recomiendo darle star para estar al tanto de su estado en GitHub.

Sobre la guia

Esta guia no es más que una guia de estudio con recursos relevantes para conseguir competencias y conocimientos de cálidad con el fin de lograr un pérfil de un desarrollador de software completo.

Personalmente invito al lector a seguir paso por paso cada sección/entry de la guia para una mejor experiencia.

Cada sección incluye un apartado de recursos que usted debe estudiar.

Caution

Yo no promuevo la piratería pero casi cualquier libro se puede conseguir fácil en internet, bibliotecas públicas o archivos publicos (Anna's Archive, Internet Archive), aqui indexo los recursos de sitios oficiales (en su mayoría) para apoyar a sus autores, por lo que es su responsabilidad cómo conseguirlos.

Inicio

Motivación

La motivación es muy importante a la hora de empezar a estudiar. Sin motivación ni metas no llegará a ningún lado, en el mundo tech en especial la programación es un universo de conocimientos y para abordarlo hay que plantearse metas y disfrutar del proceso.

La mayoria de personas para las que esta guia va dirigida es muy posible que no estén muy familiarizados con la lectura. En mi recomendación personal si usted es una persona que no le entusiasma leer, le recomiendo empezar de una vez a leer poco a poco hasta que ya no sea abrumador, pues la lectura en especial en términos de ingenieria de software es fundamental ya que los mejores recursos, documentación y articulos técnicos los va a encontrar en texto.

Bases

Las bases son importantes y aunque se pueden saltar, no se recomienda hacerlo. Pues cada base es el cimiento para abordar temas más complejos y saltarse las bases solo creará conocimientos mediocres y pérdidas incalculables de tiempo y esfuerzo, por lo que dominar las bases tendrá innumerables ventajas.

Important

Comprender las ciencias de la computación es casi que obligatorio si se quiere tener un dominio amplio en el campo.

Lógica de programación

La lógica de programación es una habilidad que todos los programadores debemos desarrollar; de esta depende la calidad de las soluciones que empleamos para resolver problemas a lo largo de nuestra carrera. Perfeccionar esta habilidad depende de estudio y experiencia, por lo que no nos apresuremos y veamos los fundamentos.

Algoritmos

Un algoritmo no es más que la serie de pasos que debe ejecutar un proceso para llegar a una solución. El algoritmo no es código como tal; usualmente se hacen en diagramas de flujo o en pseudocódigo, o simplemente texto. La forma en la que se escriban no importa, lo principal es entender como funcionan y cómo debemos hacerlo.

Como ejemplo, piensa en una receta para un pastel. En la receta estará escrita la cantidad necesaria de ingredientes, tiempos, y todos los pasos para hacer un pastel. El proceso sería cuando cocinamos el pastel y el resultado del programa sería el pastel en sí.

Entender cómo funciona un algoritmo es importante, por lo que aquí te comparto los siguientes recursos (algunos en inglés):

Pseudocódigo

El pseudocódigo es aquel que se asemeja al lenguaje natural y puede ser en español. Es sumamente útil para familiarizarte con los conceptos clave de un lenguaje de programación y entender los conceptos básicos de la programación. Este proceso, si no tienes experiencia con programación, no recomiendo saltártelo, ya que te va a dar una base suficiente como para iniciar en un lenguaje de programación.

En esta guía se recomienda empezar con Pseint, un proyecto de código abierto utilizado principalmente en el contexto académico. Puedes instalarlo aquí.

Una vez lo instales, debes estudiar los fundamentos y hacer ejercicios, pues la práctica va a asentar muchas cosas.

Para empezar, puedes hacerlo con estos pequeños cursos:

Una vez tengamos claros los fundamentos se debe practicar y jugar con ejercicios para entender mejor. Puede sentirse libre de hacer todo tipo de ejercicios con este programa

Ejercicios pseint

EJERCICIOS EN PSEINT - Click para expandir
Nivel Básico

    Hola, Mundo: Escribe un algoritmo que imprima en pantalla el mensaje "Hola, Mundo".

    Suma de dos números: Solicita al usuario dos números e imprime la suma de ambos.

    Cálculo del área de un rectángulo: Pide al usuario el largo y el ancho de un rectángulo, y calcula e imprime el área.

    Conversión de grados Celsius a Fahrenheit: Solicita una temperatura en grados Celsius y convierte a Fahrenheit usando la fórmula: F=C×1.8+32F=C×1.8+32.

    Determinar si un número es par o impar: Pide un número al usuario y determina si es par o impar.

    Calculadora de descuento: Pide el precio original de un producto y el porcentaje de descuento. Calcula el precio final con el descuento aplicado.

    Edad en días: Solicita la edad de una persona en años y convierte esa cantidad a días.

    Promedio de tres números: Solicita tres números e imprime su promedio.

    Conversión de metros a centímetros: Pide al usuario una cantidad en metros y conviértela a centímetros.

    Números del 1 al 10: Escribe un algoritmo que imprima en pantalla los números del 1 al 10.

Nivel Intermedio

    Tabla de multiplicar: Solicita un número entero y genera la tabla de multiplicar de ese número del 1 al 10.

    Calculadora básica: Crea un programa que solicite dos números y luego pida al usuario que elija una operación (suma, resta, multiplicación o división) para realizar con esos números.

    Cálculo de salario semanal: Solicita el salario por hora y las horas trabajadas en una semana, y calcula el salario semanal. Considera el pago de horas extras si se trabaja más de 40 horas (pagadas al 1.5 del salario normal).

    Suma de los primeros N números: Pide al usuario un número NN y calcula la suma de los números del 1 al NN.

    Número mayor de tres: Solicita tres números diferentes e imprime el mayor de los tres.

    Calculadora de IMC: Solicita el peso en kilogramos y la altura en metros de una persona. Calcula el Índice de Masa Corporal (IMC) y muestra un mensaje indicando si está en el rango de bajo peso, normal, sobrepeso o obesidad.

    Conversión de segundos a horas, minutos y segundos: Solicita una cantidad de segundos e imprime la conversión en horas, minutos y segundos.

    Número perfecto: Solicita un número e indica si es un número perfecto. Un número perfecto es aquel que es igual a la suma de sus divisores propios positivos (excluyendo el mismo número).

    Serie de Fibonacci: Solicita un número NN y muestra los primeros NN términos de la serie de Fibonacci.

    Contador de dígitos: Solicita un número entero positivo y cuenta cuántos dígitos tiene.

Nivel Avanzado

    Primo o no primo: Solicita un número e indica si es un número primo o no.

    Adivina el número: Programa un juego en el que la computadora elige un número al azar entre 1 y 100, y el usuario debe adivinarlo. La computadora debe responder si el número ingresado es mayor o menor que el número secreto hasta que el usuario acierte.

    Factorial de un número: Solicita un número entero no negativo y calcula su factorial.

    Número palíndromo: Solicita un número y verifica si es un palíndromo (un número que se lee igual de izquierda a derecha y de derecha a izquierda).

    Conversión de número a binario: Solicita un número entero y convierte el número a su representación en binario.

    Ordenar tres números: Solicita tres números y ordénalos de menor a mayor sin utilizar funciones de ordenamiento.

    Promedio de calificaciones: Crea un algoritmo que solicite calificaciones indefinidamente hasta que el usuario indique que ya no quiere ingresar más datos. Calcula el promedio de todas las calificaciones ingresadas.

    Serie de números impares: Solicita un número NN e imprime los primeros NN números impares.

    Ordenar lista de números: Crea un programa que permita al usuario ingresar una lista de números y luego los ordene de menor a mayor.

Fudamentos lógicos y matemáticos

Si la meta es llegar lejos con la programación y tener una comprensión superior, no debes olvidarte de las matemáticas pues estas te abren las puertas a una infinidad de soluciones por la que podrás destacar.

Informática

Comprender conceptos informaticos más allá de hardware y cómo una computadora funciona, es muy importante para hacer una gestión de recursos correcta y un correcto desempeño en ingenieria.

Fundamentos de estructuras de datos

Las estructuras de datos organizan y gestionan información eficientemente. Son clave en software porque impactan el rendimiento, optimizan algoritmos y facilitan la resolución de problemas. En esta sección se invita a estudiar la teoría e intentar entender sus algoritmos y su estructura. No se preocupe si no lo entiende, usted deberá verlo a detalle después.

Para ver luego:

Código

El código es la forma en la que nos comunicamos con lo que vamos a crear, por lo que dominar un lenguaje de programación será lo que nos permitirá crear soluciones mediante software:

Otros enfoques

DESARROLLO WEB

About

Guia de estudio para convertirse en un programador.

Resources

License

Stars

Watchers

Forks