豆豆友情提示:这是一个非官方 GitHub 代理镜像,主要用于网络测试或访问加速。请勿在此进行登录、注册或处理任何敏感信息。进行这些操作请务必访问官方网站 github.com。 Raw 内容也通过此代理提供。
Skip to content

ccalvar/Libros

Repository files navigation

Introducción

Como profesores de las asignaturas de Programación, estamos convencidos de que el aprendizaje es más significativo cuando los estudiantes enfrentan problemas auténticos y contextualizados, siguiendo un enfoque Aprendizaje Basado en Problemas (Problem-Based Learning, PBL).

Este método no solo fomenta la adquisición de conocimientos técnicos, sino que también impulsaremos las habilidades metacognitivas como el análisis, la síntesis y la evaluación crítica, que son cruciales para el pensamiento crítico.

Este libro está diseñado para guiar a los estudiantes y personas que quieren empezar en el desarrollo de un sistema de punto de venta en Modo Consola o Interfaz de Línea de Comandos (Command-Line Interface, CLI) lo cual sirve como un proyecto de aprendizaje que aplica los principios del Pensamiento de Diseño (La experiencia) .

En el proyecto descomponemos un problema real de negocio, como la gestión de una tienda, en operaciones simples y manejables como registrar productos, procesar ventas y controlar el inventario.

El uso de menús en modo consola y datos precargados es una decisión deliberada y una mejora por parte de los autores para permitir a los estudiantes enfocarse en la lógica del programa y en cómo organizar las tareas, lo cual es un pilar del pensamiento crítico aplicado al diseño de software.

La implementación de la misma secuencia algorítmica (Codificación o Implementación) en diferentes lenguajes, pero con adaptaciones a la naturaleza de cada uno, permite a los alumnos y profesores explorar las mejores prácticas para cada herramienta.

Al adoptar esta estrategia pedagógica, el proyecto se convierte en un vehículo ideal para el pensamiento computacional (Como se va solucionar). Los estudiantes son llevados de una manera practica en la aplicación del pensamiento crítico (porqué se va descomponer , las razones) para descomponer el problema en partes manejables, evaluar alternativas y diseñar soluciones eficientes.

Se enfatiza que las soluciones algorítmicas es el núcleo del desarrollo de sistemas. Además, la modularización del código se presenta como una técnica fundamental para dividir un sistema grande en partes pequeñas que son más fáciles de programar, entender y mantener

A través de este enfoque práctico y centrado en la resolución de problemas reales, el proyecto promueve la adaptabilidad técnica, ya que los estudiantes observarán la implementación de la misma lógica en múltiples lenguajes de programación como C++, Java, C#, JavaScript y Python.

El verdadero valor, como se recalca en el libro, no está en la sintaxis, sino en la capacidad de "Comprender que la descomposición de problemas en pasos lógicos puros". El libro es una guía para que el estudiante aprenda a pensar como un programador, donde la lógica es la verdadera obra de arte.

Actividades De Los Capítulos

• Capítulo 1: Se introduce el proyecto de un sistema Punto de Venta (Point of Sale, en inglés) en modo consola, familiarizando al lector con la estructura operativa del negocio y sus componentes esenciales: gestión de productos, inventario, ventas y listado de ventas. El objetivo es que el lector se enfoque en la lógica del programa y en la organización de las tareas sin distracciones de interfaces gráficas complejas.

• Capítulo 2: Este capítulo da un paso importante al mostrar cómo la misma lógica puede implementarse en distintos lenguajes de programación. Se analizan y comparan cinco lenguajes (C++, Java, C#, JavaScript y Python) en términos de sintaxis, tipado y paradigma para que el lector entienda que lo más importante es la lógica detrás del sistema, no la sintaxis.

• Capítulo 3: Se introduce la modularización del proyecto, explicando cómo dividir un sistema grande en partes más pequeñas y manejables para mejorar la organización del código y facilitar su mantenimiento y comprensión. Se definen las funciones de apoyo esenciales, como la validación de entradas, el formateo de datos y la gestión de menús, para ser reutilizadas en todo el proyecto.

• Capítulo 4: Se cierra la etapa de construcción de la estructura principal del sistema, integrando la lógica y la modularización en menús interactivos y funcionales. Este capítulo muestra cómo se conectan los submenús con sus respectivas funciones, creando un prototipo funcional que demuestra la fluidez y coherencia del sistema.

• Capítulo 5: Se aborda en detalle la gestión de productos, explicando cómo cargar, mostrar, buscar y modificar productos en una matriz estática de cadenas de caracteres. Se resalta la importancia de la organización de los datos en matrices bidimensionales, lo que facilita el acceso eficiente a la información.

• Capítulo 6: Este capítulo se enfoca en la gestión de inventario, incluyendo operaciones como el control de stock y el reabastecimiento a través de algoritmos detallados. Se actualiza el menú de inventario para incluir opciones de listado y agregado de stock, validando las entradas para mantener la integridad de los datos.

• Capítulo 7: Se aborda la gestión de ventas, utilizando dos matrices: una para los detalles del ticket y otra para un registro completo de todas las transacciones. Se detalla el proceso para agregar, eliminar y pagar productos, así como la devolución de ítems al inventario si una venta no se concreta.

• Anexo (Capítulo 8): Se incluyen elementos de apoyo como la persistencia de los datos en archivos CSV, así como operaciones básicas para leer y escribir en ellos. Esto permite que el sistema tenga un registro permanente de sus ventas y productos, en lugar de depender únicamente de datos en memoria.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors