Skip to article frontmatterSkip to article content

Bienvenida a Programación 1

UNRN

Bienvenidos a Programación 1

Les damos la bienvenida a la cursada de Programación 1, una materia fundamental del primer año de la carrera de Ingeniería en Computación de la Universidad Nacional de Río Negro.

Este sitio es el corazón digital de la cátedra: un espacio donde encontrarán el material de estudio, las guías de trabajos prácticos, la bibliografía recomendada y, por qué no, algún que otro meme para amenizar el viaje.

El arte de pensar antes de programar

Antes de sumergirnos en el lenguaje C, es crucial entender una idea central que guiará toda la materia: programar no es solo aprender una sintaxis, es desarrollar una forma de pensar. El lenguaje es la herramienta, pero el verdadero desafío y la habilidad que buscamos forjar residen en la construcción de soluciones lógicas y estructuradas a problemas complejos.

Programar es dar instrucciones precisas a una computadora, una entidad que no interpreta ambigüedades. Cada paso debe estar perfectamente definido. Omitir un detalle puede hacer que todo falle. Por ello, aprenderemos a pensar como una máquina en términos de lógica, pero también a estructurar el pensamiento como un ser humano inteligente.

Roll Safe thinking

Pensar es más importante que escribir.

¿Qué encontrarán en este sitio?

Este repositorio está organizado para acompañarlos de manera gradual en su aprendizaje. El contenido se divide en varias secciones clave:

El Apunte de Cátedra

El material principal de la materia está diseñado para seguir el ritmo de las clases. Comienza con una introducción gradual al lenguaje C y avanza progresivamente hacia conceptos más complejos.

Guías de Trabajos Prácticos

Las prácticas son el campo de entrenamiento. Aquí aplicarán la teoría vista en clase para resolver problemas concretos, afianzando el conocimiento y ganando experiencia.

Ejercicios Adicionales

En la sección de ejercicios encontrarán problemas de todo tipo para seguir practicando y desafiando sus habilidades.

Artículos y Guías Complementarias

Hay una sección de temas extras que profundiza sobre herramientas y conceptos importantes, como el uso de printf, la gestión del estado de un programa o los roles de las variables.

Las herramientas del oficio

Para empezar a programar, necesitarán un conjunto básico de herramientas. La buena noticia es que no hace falta nada extravagante.

En sistemas Debian/Ubuntu, pueden instalar todo lo necesario con un solo comando:

sudo apt install build-essential

Para Windows, pueden seguir la guía de instalación del compilador.

Sobre las reglas de estilo

A lo largo de la cursada, haremos hincapié en la importancia de escribir código claro, consistente y legible. Adherirse a un conjunto de reglas de estilo no es una restricción arbitraria, sino una práctica profesional fundamental que facilita la colaboración y el mantenimiento del software.

Un buen estilo eleva la calidad del código no solo en su funcionalidad, sino también en su claridad. Para más detalles, pueden consultar la regla sobre la claridad y prolijidad (Regla 0x0000h: La claridad y prolijidad son de máxima importancia).

¡Se aceptan contribuciones!

Este sitio es un proyecto vivo y en constante mejora. Está construido con MyST Markdown, una herramienta que combina la simplicidad de Markdown con la potencia de la documentación técnica.

Si encuentran errores, tienen sugerencias para mejorar una explicación o quieren añadir nuevo material, ¡sus contribuciones son bienvenidas! Participar en el proyecto es una excelente manera de aprender y de ayudar a sus compañeros.

Para ejecutar el sitio en su computadora, la forma más sencilla es usar uv:

$> uvx --from mystmd myst start

Este comando se encargará de instalar todo lo necesario para previsualizar los cambios en tiempo real.

Documentos como Código

Este sitio abraza la filosofía de “documentos como código”. Todo el contenido, incluyendo el texto y los diagramas, se escribe en texto plano. Usamos MyST Markdown para el contenido, y los diagramas se generan directamente desde el código fuente usando herramientas como Mermaid y Svgbob.

Esto significa que los diagramas de flujo, esquemas y otras visualizaciones son tan fáciles de editar y versionar como el resto del apunte. ¡Animate a proponer mejoras visuales también!

Agradecimientos