Basic programming course: Lesson #1 - Introduction to programming [ESP-ENG]

in devwithseven •  2 months ago  (edited)

Lesson #1 Algorithms.jpg

Creado con canva

ESP

Untitled design.png

Al principio de la era de la computadora programar era una actividad que se realizaba directamente en los circuitos, modificando código binario. Solo los mas expertos eran capaces de trabajar directamente en el mar de 0s y 1s que escribir en binario implicaba. Para los menos expertos, código binario no es mas que un lenguaje que solo emplea 0 y 1 en su estructura, y se ve algo así:

Con el pasar de los años el mundo de la programación ha ido avanzando, y nuevas tecnologías han surgido con el objetivo de transformar la programación en algo mas comprensible por todos. Los lenguajes modernos utilizan estructura mas parecida al lenguaje natural que usamos a diario para permitir así que mas personas puedan aprender esta actividad que estoy seguro que será necesaria en el futuro cercano.

En este curso nos adentraremos en el mundo de la programación utilizando métodos que permiten a cualquier persona comenzar a incursionar en el área, personalmente, estos fueron mis primeros pasos en este mundo y estoy ansioso de compartirlos con ustedes.

La programación


Socialmente hemos reconocido a las computadoras como “dispositivos inteligentes”, sin embargo, no hay nada mas alejado de la realidad. Una computadora por si sola no es capaz de realizar nada, somos nosotros (los humanos) quienes les damos instrucciones a ellas, y ellas solo se encargan de repetir tareas que nosotros hemos pedido previamente.

La programación, en esencia consiste en eso, en aprender a hablar con las computadoras para poder darles instrucciones y hacer que hagan lo que nosotros queramos.

Algoritmos


En el mundo de la programación solemos escuchar mucho la palabra “algoritmo”, puede que para ti resulte una palabra intimidante, pero calma, es mas sencillo de lo que parece y esta presente en nuestras vidas mas de lo que te imaginas.

Un algoritmo, no es mas que una serie de pasos lógicos que seguimos para resolver un problema. Por ejemplo, imagina los pasos que debes seguir cuando recién estas despertando por las mañanas y deseas desayunar:

1. Te levantas de la cama.
2. Lavas tus dientes.
3. Vas a la cocina.
4. Preparas unos huevos revueltos.
5. Tomas un pan.
6. Te sientas a comer.

Los algoritmos cumplir una serie de características: deben ser directos y claros; deben estar ordenados, cada paso se ejecuta en orden, sin saltarse ninguno o regresar a un paso anterior; deben tener un fin, los algoritmos se usan para resolver un problema, si no concluyen entonces nunca se llega a la solución.

Algoritmos y la programación


La labor principal de un programador es solucionar problemas del mundo real, y para hacer esto se utilizan algoritmos que posteriormente son transformados en instrucciones comprensibles para una computadora, por lo que para programar es necesario desarrollar la capacidad de identificar problemas, y resolverlos a través de algoritmos bien definidos.

El que tan eficientes sean los algoritmos que crees, determinará la calidad de las instrucciones que puedas darle a una maquina, y por ende, afectará la calidad de tus creaciones. La practica hace al maestro, por lo que solo practicando muchísimo es posible desarrollar estas habilidades.

Ejemplos de algoritmos


Para comprender mejor los algoritmos es necesario ver y realizar muchos ejemplos, por lo que te comparto algunos de ellos:

  • Algoritmo para preparar un sandwich:
  1. Tomar un plato y colocarlo sobre la mesa.
  2. Abrir la bolsa de pan y sacar la cantidad necesaria.
  3. Poner aderezos y todos los ingredientes al gusto sobre una rebanada de pan.
  4. Colocar la segunda rebanada de pan sobre todos los ingredientes.
  5. Comer.
  • Algoritmo para escuchar música en una app de Streaming (Spotify, YouTube, Apple Music, etc):
  1. Tomar el dispositivo deseado.
  2. Abrir la App seleccionada.
  3. Buscar la Playlist, o canción deseada asumiendo que ya estamos previamente registrados y tenemos una suscripción.
  4. Reproducir la canción.
  • Algoritmo para calcular el promedio de las edades de 5 personas (María 23 años, Carlos 21 años, Jesús 28 años, Carla 22 años, Andres 23 años):
  1. Sumamos todas las edades: 23+21+28+22+23=117.
  2. Dividimos el resultado entre la cantidad total de personas (5): 117/5=23.
    En este último vimos los pasos a seguir para conseguir la edad promedio de un grupo de personas.

Lenguajes de programación


Sabiendo lo que es la programación te hago la siguiente pregunta: ¿Para que dos personas se comuniquen entre sí, qué es necesario que exista?

Si pensaste en un lenguaje o idioma, estas en lo correcto. Tal como en un lenguaje convencional, un lenguaje de programación a groso modo no es mas que un conjunto de normas, y palabras comprensibles para nuestra computadora que nos permite escribir instrucciones para ella.

Al igual que pasa con los algoritmos, las computadoras leerán tu código en orden, por lo que es importante saber crear algoritmos óptimos antes de programar ya que esto te ayudará en gran medida a evitar errores de interpretación por parte de la computadora.

Pseudo-código


Involucrarse con un lenguaje de programación sin una preparación previa puede ser una tarea difícil debido a la complejidad de los mismos. Para facilitar el aprendizaje de los programadores se creo lo que conocemos como “pseudo-código”, un lenguaje que respeta todas las normas de un lenguaje de programación formal pero haciendo uso de lenguaje natural o comprensible por cualquier persona.

Para programar basta con tener un programa para escribir texto plano, como el bloc de notas, sin embargo, existen entornos de trabajo que facilitan el programar permitiéndote compilador tu código y ejecutarlo para ver el resultado. Para pseudo-código tenemos PSeint un IDE de código abierto que te permitirá compilar y ejecutar pseudo-código, si tienes computadora recomiendo realizar los ejercicios desde este programa descargándolo desde su web oficial, sin embargo, no es necesario utilizarlo para completar este curso. (Este programa solo funciona para pseudo-código en español)

Para comenzar a escribir un algoritmo en pseudo-código, siempre crearemos esta estructura básica:

Algoritmo nombre_del_algoritmo

FinAlgoritmo

Todo lo que este ENTRE Algoritmo y FinAlgoritmo serán las instrucciones que nuestra computadora leerá y ejecutara cuando arranquemos nuestro programa.

En este caso, vamos a escribir un algoritmo que simplemente muestre un mensaje al usuario como “Bienvenidos a la semana 1 del curso de programación básica!”, para ello utilizaremos la palabra clave Imprimir seguido de el mensaje que queremos mostrar entre comillas, y terminamos la instrucción con un punto y coma (;). Quedaría algo así:

Algoritmo nombre_del_algoritmo
Imprimir “Bienvenidos a la semana 1 del curso de programación básica!”;
FinAlgoritmo

Si estamos en PSeint podemos ejecutar este código pulsando la tecla F9. La computadora lo que hará es leer todas las instrucciones que tengas y empaquetarlas para poder ser usadas cuando desees, a este proceso se le conoce como compilar el código. Si no hay errores después de la compilación te aparecerá una ventana negra mostrando el mensaje que hayas configurado:

Captura de pantalla 2024-09-05 a la(s) 8.06.11 p. m..png

Probemos alterar el mensaje un poco, vamos a poner el clásico “Hola mundo” que los programadores solemos poner cuando empezamos en un lenguaje de programación:

Captura de pantalla 2024-09-05 a la(s) 8.12.44 p. m..png

Problemas al programar


Es normal que mientras programemos tengamos errores, ya sea que se nos olvide cerrar algo, o colocar un punto y coma. La ventaja de utilizar herramientas como PSeint es que nos ayudarán a depurar nuestro código en caso de ser necesario. Por ejemplo, borraré el FinAlgoritmo del código y mira lo que pasa:

Captura de pantalla 2024-09-05 a la(s) 8.16.40 p. m..png

El programa me señalará en rojo donde cree que puede existir un error, en este caso detecta que mi algoritmo no finaliza y me arroja un error que no me dejará compilar hasta arreglarlo.

Escribir de forma incorrecta una palabra, omitir algún simbolo, o escribir mas de una instruccion de una sola linea son solo uno de los errores mas comunes, y hacerlo puede generar fallos que no dejarán a tu aplicación funcionar. Es importante prestar atención a los detalles. Algunos ejemplos de código con errores podrían ser:

Algoritmo nombre_del_algoritmo
Imprimir “Hello world!”;
Fin

En el ejemplo anterior colocamos Fin en lugar de FinAlgoritmo, esto evita que la ejecución sea exitosa.

Algoritmo nombre_del_algoritmo
Imprimir ;
FinAlgoritmo

En el ejemplo anterior no colocamos ningún mensaje en la instrucción Imprimir, lo que ocasiona que no se ejecute por estar incompleto el código.

Los lenguajes de programación también son sensibles a las letras mayúsculas, y a los caracteres latinos como los acentos, no es lo mismo Imprimir que imprimir, por lo que es importante prestar atención a estos detalles.

Tarea


Es tu turno de brillar pequeño programador Jr. Para asegurarme que hayas entendido el tema te dejo las siguientes tareas:

  • Tarea 1. Describe con tus propias palabras un algoritmo de alguna actividad que hagas a diario.
  • Tarea 2. ¿Cuál es la importancia de los lenguajes de programación en el mundo? ¿Cómo nos ayudan?
  • Tarea 3. ¿Qué necesitas mientras programas?
  • Tarea 4. Escribe tu primer "¡Hola mundo!" Usando pseudo-código.

Estaré resolviendo todas tus dudas en los comentarios, no temas equivocarte, estoy acá para ayudarte.

Cada tarea tiene un valor de 2.5 puntos para sumar un total de 10 puntos. Para presentar tu código puedes escribirlo dentro de tu propia publicación.

Normas


  • El contenido debe ser #steemexclusive.
  • El contenido debe ser publicado en el blog, fuera de cualquier comunidad.
  • El artículo debe contener la etiqueta #devjr-s20w1.
  • El plagio no está permitido.
  • El link de tu tarea debe ser agregado en los comentarios de esta publicación.
  • El curso estará abierto durante 7 días a partir de las 00:00 UTC del 9 de Septiembre. Después de la fecha limite los usuarios podrán seguir participando sin optar a premios con el objetivo de permitir a mas personas en el tiempo de aprovechar este contenido.

ENG

Untitled design.png

At the beginning of the computer era, programming was an activity that was carried out directly on the circuits, modifying binary code. Only the most expert were able to work directly in the sea of 0s and 1s that writing in binary implied. For the less expert, binary code is nothing more than a language that only uses 0 and 1 in its structure, and it looks something like this:

Over the years, the world of programming has advanced, and new technologies have emerged with the aim of transforming programming into something more understandable for everyone. Modern languages use a structure more similar to the natural language that we use daily to allow more people to learn this activity that I am sure will be necessary in the near future.

In this course we will enter the world of programming using methods that allow anyone to begin to venture into the area, personally, these were my first steps in this world and I am eager to share them with you.

The programming


Socially we have recognized computers as "smart devices", however, there is nothing further from reality. A computer alone is not capable of doing anything, it is we (humans) who give instructions to them, and they are only responsible for repeating tasks that we have previously requested.

Programming, in essence, consists of that, learning to talk to computers to be able to give them instructions and make them do what we want.

Algorithms


In the world of programming we usually hear the word "algorithm" a lot, it may be an intimidating word for you, but calm down, it is simpler than it seems and is present in our lives more than you imagine.

An algorithm is no more than a series of logical steps that we follow to solve a problem. For example, imagine the steps you should follow when you are just waking up in the morning and want to have breakfast:

1. You get out of bed.
2. You brush your teeth.
3. You go to the kitchen.
4. You prepare some scrambled eggs.
5. You have a bread.
6. You sit down to eat.

Algorithms meet a series of characteristics: they must be direct and clear; they must be ordered, each step is executed in order, without skipping any or returning to a previous step; they must have an end, the algorithms are used to solve a problem, if they do not conclude then the solution is never reached.

Algorithms and programming


The main task of a programmer is to solve real-world problems, and to do this algorithms are used that are later transformed into understandable instructions for a computer, so to program it is necessary to develop the ability to identify problems, and solve them through well-defined algorithms.

The efficientness of the algorithms you create will determine the quality of the instructions you can give to a machine, and will affect the quality of your creations. Practice makes the master, so only by practicing a lot is it possible to develop these skills.

Examples of algorithms


To better understand the algorithms it is necessary to see and make many examples, so I share some of them with you:

  • Algorithm to prepare a sandwich:
  1. Take a plate and place it on the table.
  2. Open the bag of bread and take out the necessary amount.
  3. Put dressings and all the ingredients to taste on a slice of bread.
  4. Place the second slice of bread on all the ingredients.
  5. Eat.
  • Algorithm to listen to music in a Streaming app (Spotify, YouTube, Apple Music, etc.):
  1. Take the desired device.
  2. Open the selected App.
  3. Search for the desired Playlist, or song assuming that we are already previously registered and have a subscription.
  4. Play the song.
  • Algorithm to calculate the average age of 5 people (María 23 years, Carlos 21 years, Jesús 28 years, Carla 22 years, Andres 23 years):
  1. We add all ages: 23+21+28+22+23=117.
  2. We divide the result by the total number of people (5): 117/5=23.

In the latter we saw the steps to follow to achieve the average age of a group of people.

Programming languages


Knowing what programming is, I ask you the following question: For two people to communicate with each other, what is necessary to exist?

If you thought about a language, you're right. As in a conventional language, a rough programming language is no more than a set of rules, and understandable words for our computer that allows us to write instructions for it.

As with algorithms, computers will read your code in order, so it is important to know how to create optimal algorithms before programming since this will greatly help you avoid interpretation errors by the computer.

Pseudo-código


Engagling with a programming language without prior preparation can be a difficult task due to their complexity. To facilitate the learning of programmers, what we know as "pseudo-code" was created, a language that respects all the rules of a formal programming language but making use of natural language or understandable by anyone.

To program it is enough to have a program to write plain text, such as the notepad, or in your own publication. The way of teaching pseudo-code can vary, but in essence the goal is to learn how to structure your algorithms in something surrounded by real code.

Para comenzar a escribir un algoritmo en pseudo-código, siempre crearemos esta estructura básica:

Algorithm name_of_algorithm

EndAlgorithm

Everything that is BETWEEN Algorithm and EndAlgorithm will be the instructions that our computer will read and execute when we start our program.

In this case, we will write an algorithm that simply shows a message to the user like "Welcome to week 1 of the basic programming course!", for this we will use the keyword Print followed by the message we want to show in quotation marks, and we finish the instruction with a semicolon (;). It would look something like this:

Algorithm name_of_algorithm
Print “Welcome to week 1 of the basic programming course!”;
EndAlgorithm

This code is designed to show a message on the screen with everything that is inside the quotes, let's try changing it a little. Within the community of programmers it is normal to write the well-known "Hello world" when you start a programming language, so let's try.

Algorithm name_of_algorithm
Print “Hello world!”;
EndAlgorithm

If we were in a conventional programming language and executed this code it would look something like this:

Captura de pantalla 2024-09-08 a la(s) 11.44.20 a. m..png

Problems when programming


It is normal that while we program we have errors, whether we forget to close something, or place a semicon. Writing a word incorrectly, omitting a symbol, or writing more than one instruction on a single line are just one of the most common mistakes, and doing so can generate failures that will not let your application work. It is important to pay attention to the details. Some examples of code with errors could be:

Algorithm name_of_algorithm
Print “Hello world!” ;
End

In the previous example we put End instead of EndAlgorithm, this prevents the execution from being successful.

Algorithm name_of_algorithm
Print ;
EndAlgorithm

In the previous example we do not place any message in the Print statement, which causes it not to run because the code is incomplete.

Programming languages are also sensitive to capital letters, and to Latin characters such as accents, it is not the same Print as print so it is important to pay attention to these details.

Tarea


It's your turn to shine little programmer Jr. To make sure you have understood the subject, I leave you the following tasks:

  • Task 1. Describe in your own words an algorithm of some activity you do daily.
  • Task 2. What is the importance of programming languages in the world? How do they help us?
  • Task 3. What do you need while programming?
  • Task 4. Write your first "Hello world!" Using pseudo-code.

I will be solving all your doubts in the comments, don't be afraid to make a mistake, I'm here to help you.

Each task has a value of 2.5 points to add a total of 10 points. To present your code you can write it within your own publication.

Rules


  • The content must be #steemexclusive.
  • The content must be published on the blog, outside of any community.
  • The article must contain the tag #devjr-s20w1.
  • Plagiarism is not allowed.
  • The link of your task must be added in the comments of this publication.
  • The course will be open for 7 days from 00:00 UTC on September 9. After the deadline, users will be able to continue participating without applying for prizes with the aim of allowing more people in time to take advantage of this content.
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Your post has been rewarded by the Seven Team.

Support partner witnesses

@seven.wit
@cotina
@xpilar.witness

We are the hope!

Saludos amigo pensé que esto es más complicado pero como lo has demostrado se ve algo sencillo claro siempre y cuando sea el mismo lenguaje en todos los programas como este Pseint que nos presentas, si no es así me gustaría que me hagas la acotación para animarme participar

Hola, todo el curso lo explicaré con ejemplos en PSeint, así que animate, te espero por aca!

Saludos amigo @alejos7ven

Interesante concurso, es bueno ir desarrollando conocimientos sobre estos temas de programación, espero poder participar, por lo menos, en algunos de ellos.

Le invito a usar la etiqueta #contest para que tenga mayor visualización, o sea más fácil de encontrar.

Gracias por la recomendación, ya la agrego!! Espero verte por acá

Hello sir, I desire to learn this course and I am working on it but I got a problem here and decide to inquire, how can I write my pseudo code as a mobile phone user? 🥺 What application can be recommend?, strictly andriod sir

You can use your notes, the exercises are just plain text, you just need to write them in your post!

Search the Google Play Store and you will find a wide variety of applications for using programming .

Okay sir how about the ones used for mobile application making by mohammas faisal do you have any app you can recommend as I am a mobile phone user, or can mobile app not be made with mobile phones.

Yes ok but the activities that will be done here I think you can do it with mobile even if you can't develop apps or create apps.It will be best to know the best application name from YouTube and download it and check it.

Okay, thanks a lot

Okay sir, I thought they were codes, Thank you

Dear @alejos7ven Sir, I am looking forward with great interest to participate in your programming assignment. I love learning to program. Is your Task04 C++ programming code and code blocks software output and assignment?

No, use pseudo-code as in the example.

But if you know how to code in C++ you can do the task with it, I can evaluate you using that language.

Many success for you, looking forward for your participation!

Thanks sir, I will prepare the assignment as per your suggestion.

Please should the Pseudo code be in any editor? Or should we just write the syntax as text on steemit

You can just add the code in Steemit! Good luck

Te faltó la etiqueta del curso, agrégala para poder verificarte.

Disculpe la tardanza con el problema de la luz, recién acabo de leer la notificación

Hi! I almost forgot to include the link to my task in the comments https://steemit.com/devjr-s20w1/@jen0revision/basic-programming-course-my-homework-for-lesson-1

It seems to me that at first the rules stated that you can publish on a blog or in any community. And now you have changed this point of the rules.

The content must be published on the blog, outside of any community.

Am I wrong?

Several people already published inside one community so it is ok, but I will always prefer students to do it in their own blog if possible!

Hola amigo @alejos7ven me gusto participar en el curso, espero seguir aprendiendo. Dejo mi entrada para la primera clase.

https://steemit.com/hive-190211/@ternuritajessi/curso-basico-de-programacion-leccion-1-introduccion-a-la-programacion

Bendiciones y éxito.

Wow! Excellent. I wanna participate too!

Waiting for u

muy bueno!