©2025 Escuela Tecnologías de la Información S.L. Todos los derechos reservados.
Curso de Fundamentos del Software
Introducción a los conceptos recurrentes en el desarrollo del software, entornos y herramientas básicas
Material disponible
Este es el módulo que da comienzo al Máster de Programación y Diseño de Software, en el que se abordan los conceptos esenciales, que se repiten a lo largo de todas las disciplinas del desarrollo de software. Son conceptos estructurales como complejidad, eficiencia, asociación y muchos otros, que se encuentran en el ámbito de la programación, pero también en el ámbito de la vida cotidiana.
Durante este curso abordaremos muchos de los conceptos teóricos de necesario conocimiento para todo el Máster, pero además iremos realizando prácticas de lenguajes para ir calentando motores antes de entrar de lleno con la programación. Veremos lenguajes como HTML, XML, SVG y otros, que nos ofrecerán una vía para la realización de prácticas y nos prepararán para afrontar más adelante los conocimientos de programación, en futuros cursos del Máster.
Durante este curso abordaremos muchos de los conceptos teóricos de necesario conocimiento para todo el Máster, pero además iremos realizando prácticas de lenguajes para ir calentando motores antes de entrar de lleno con la programación. Veremos lenguajes como HTML, XML, SVG y otros, que nos ofrecerán una vía para la realización de prácticas y nos prepararán para afrontar más adelante los conocimientos de programación, en futuros cursos del Máster.
Paralelamente, estudiaremos y trabajaremos con varias herramientas necesarias para el desarrollo, como editores de código y el sistema de control de versiones Git, que necesitaremos tanto para publicar las prácticas del máster como herramienta indispensable para el control de proyectos de software por cualquier desarrollador.
Qué aprenderé en el Curso de Fundamentos del Software
Objetivos del curso
Por qué debes aprender Fundamentos del Software
Qué tengo que saber
Este curso no tiene requisitos iniciales. Es suficiente con saber manejar un ordenador. La única necesidad es tener una mente despierta y abierta para aprender.
Clases y contenidos
En esta clase vemos la introducción del curso, con los conceptos recurrentes que usaremos en todas las disciplinas del desarrollo de sofware.
Además vemos una introducción a Git, mayormente práctica, para que se sepa cómo se publicarán las prácticas a lo largo del curso.
En esta clase explicamos qué son patrones, en la vida real y en el mundo de la programación por supuesto también. Para los avanzados, aclarar que no se trata de hablar de patrones de diseño de software, sino el concepto en general que es transversal a todas las disciplinas.
- Conceptos importantes en programación como recurrente, iterativo y recursivo.
- UML, tipos de diagramas y cómo se realizan mediante herramientas de interfaz gráfica, como StarUml
En este vídeo vemos diversas soluciones de prácticas del modelo de dominio del juego Conecta 4 y las correcciones de Luis y de los críticos.
En esta unidad del máster veremos el tema de conocimiento, donde abordamos los lenguajes en general, conjuntos, clases, objetos... Recordar que no estamos en programación, sino que se trata de aterrizar conceptos de la vida real, entendiendo sus definiciones, lo que nos ayudará a ir muy veloces cuando lleguemos a programación.
En este vídeo tenemos la resolución de la prueba propuesta en el tema de patrones-UML
Esta es la segunda parte del tema de conocimiento, en la que se vieron asuntos como los tipos de relaciones, las estructuras, las clasificaciones y sus estrategias. Además se vieron métodos creados a lo largo de la historia de la ciencia y cómo nos atañen a los desarrolladores.
En este vídeo veremos unas cuantas soluciones de diagramas de modelo de dominio de los juegos Conecta4 y Klondike, propuestas por los estudiantes, con las correcciones sugeridas del profesor.
Comenzamos el tema de PlantUML, que es el lenguaje declarativo que usaremos para construir todo tipo de diagramas para el curso, principalmente de UML. Hemos explicado cómo se declaran las clases, sus propiedades y métodos y cómo se dibujan las relaciones entre clases de todos los tipos vistos durante el máster.
En este vídeo se resuelve la prueba de la unidad de conocimiento, con la corrección de las preguntas respondidas por los artistas y críticos.
En este vídeo veremos todo el detalle del lenguaje PlantUML, para la creación de los distintos tipos de diagramas que soporta.
Corrección en vivo de varios diagramas del modelo de dominio del juego del Klondike (solitario de Windows) realizados por estudiantes.
Esta es la primera parte de la teoría sobre el concepto de complejidad. Veremos qué son sistemas, qué son sistemas complejos, por qué es importante para que nosotros podamos realizar el software con éxito. Además explicamos qué es la eficacia y la eficiencia y por qué cada uno de estos conceptos tiene importancia en el desarrollo de software
Cerramos la unidad temática con la corrección de la prueba realizada para la unidad de PlantUML.
Segunda parte de la teoría de la complejidad, en la que se explican entre otras cosas 4 conceptos que debemos tener siempre muy presentes y claros en la cabeza: Abstracción, Encapsulación, Modularidad, Jerarquía.
En este vídeo veremos la corrección de algunas prácticas presentadas, con nuevas propuestas del modelo de dominio del juego Conecta 4.
Veremos qué es el lenguaje XML, cuáles son sus objetivos, qué nos ofrece XML y qué ventajas tenemos si usamos XML para la interoperabilidad entre sistemas. Además veremos qué lenguajes existen dentro del ecosistema de XML y finalmente la sintaxis permitida.
En este vídeo se corrigen las preguntas formuladas en la prueba de la unidad de complejidad.
Este es el segundo bloque de teoría de la unidad de XML, JSON y YAML. Veremos el final de los contenidos relacionados con XML y los bloques de JSON y YAML.
En esta clase vamos a corregir prácticas realizadas hasta la fecha en distintos laboratorios. Se verá el modelado en XML de la historia de una partida de Klondkie y además todo el modelo de dominio de Klondike que se ha ido realizando a lo largo de las últimas semanas del curso.
Veremos qué es el software, con un poco de su historia, y para qué se quiere el software. Además comenzaremos a ver cómo se realiza el software, abordando su complejidad.
En este vídeo veremos cuáles son las preguntas de la prueba de la unidad de XML, JSON y YAML, junto con las correcciones realizadas por Luis.
En esta sesión vemos la segunda parte de la teoría de la unidad de Software. Se explicará cuáles son las variables existentes en un proyecto de software, establecidas en el triángulo de hierro: Tiempo, costes, requisitos (features) y en medio la calidad. Veremos cómo están relacionadas y cómo se pueden ajustar. Además veremos cómo la calidad es fundamental para conseguir el éxito en los proyectos de software.
Volvemos a corregir prácticas del modelo de dominio del juego Conecta 4 realizadas durante las últimas semanas. Ya nos vamos acercando en muchos casos a diagramas que expresan muy bien el vocabulario y las relaciones entre las entidades del mundo real.
Nos metemos de lleno en las disciplinas del software, lo que nos dará una idea muy global de los distintos planos de la profesión de desarrollador. Explicaremos qué incluye cada disciplina, no profundamente sino de manera resumida, por establecer unas ideas en común sobre qué disciplinas existen y qué incluye cada una.
En este vídeo tenemos la parte dedicada a la prueba, con preguntas relacionadas con la unidad "Software".
Continuamos con el tema de las disciplinas del software, explicando desde el análisis, el diseño, pruebas, despliegue y cómo se relacionan entre sí.
En este vídeo se corrigen prácticas presentadas durante la semana, de los juegos Klondike y Conecta 4. En este caso se corrigen solamente los diagramas de estado, o en algunos casos diagramas de secuencia del modelo de dominio.
En este vídeo veremos qué es el DOM, qué vino a solucionar. Cómo se define el DOM, su modelo de dominio y dónde se aplica, tanto en el mundo de la web como en documentos como el XML. Qué lenguajes se usan para acceder al DOM y trabajar en XML o transformar la manera de presentar los documentos, abordando específicamente Xpath.
En este caso la prueba de la unidad se centra sobre todo en disciplinas del software, haciendo analogías con otros tipos de negocios del mundo real.
En esta clase hablaremos del lenguaje SVG, sin intención de describir exhaustivamente el lenguaje, sino más bien para que entendamos cómo se puede crear un vocabulario de XML que sirva para hacer algo tan impresionante como cualquier tipo de dibujo. Veremos que SVG soluciona diversos problemas, reutilizando ideas y conceptos existentes en XML y la web.
Se explicará cómo han ido evolucionando las tecnologías de publicación, desde mitad del siglo pasado cuando se inventaron los documentos con hiperenlaces, hasta el nacimiento de la web en 1991.
Corregimos diagramas de estado de los juegos Conecta4 y Klondike realizados durante la última práctica.
En este vídeo tendremos un resumen del mundo de las tecnologías de la web. Un recorrido histórico a los lenguajes y tecnologías que han ido circulando por la web y cómo hemos llegado a tener una plataforma para cualquier tipo de aplicación en un medio que fue pensado para otra cosa. Cómo todas las tecnologías han luchado en una guerra que, afortunadamente, los estándares han conseguido zanjar.
Se realizaron una serie de preguntas y respuestas sobre la unidad de DOM y SVG.
Explicamos el lenguaje HTML, no de manera exhaustiva, sino con la intención de ver cómo es un lenguaje basado en las ideas de SGML, similar a XML pero con otro vocabulario. Veremos la estructura, las etiquetas, los usos, virtudes y defectos de HTML.
Corregimos las prácticas propuestas sobre HTML, viendo el modelado de las interfaces de Klondike y Conecta4, junto con el contenido de un curriculum propuesto.
Qué es CSS, para qué y cómo lo usamos. Veremos las bases de CSS, como la estructura del lenguaje y temas tan importantes como la especificidad y las reglas de aplicación de estilos ante colisiones. Luego se explicará con detalle todo el tema de selectores de CSS.
En esta clase avanzamos sobre el lenguaje CSS. Veremos cómo aplicar los estilos, los atributos, unidades posibles, el modelo de caja, etc.
Valoraciones
Luise
Luis Guillermo Márquez Cañas
Richard González
La Mejor Experiencia
ANDRES KAMYCKI
Tomás De Anta
Yojan David Castellanos Peña
Joamna
Excelente!
Sergio
Un grande Luis! Y Migue, por supuesto.
Jonathan Restan
Juan Andrés Candido Segovia
Bastante claro en las explicaciones y muy dinamico el curso
Juan Carlos Gaibor
Magnífico. He buscado por mucho tiempo un máster q explique desde cero la programación y creo que lo he encontrado.
Jose Caicedo
Sergio Bou Garcés
Interesante y entretenida pero....las clases hay que verlas 2 o 3 veces para coger todos los conceptos., para alguien que empieza realmente desde cero ....es muy "denso" este inicio.....Gracias por vuestro trabajo y especialmente a Luis .
Leonardo Arena
muy practica
Andres Cubillos Salazar
Kenny Jordan Tinoco Cerda
¡Un gran curso! Una exquisita exposición de información muy interesante y relevante.
Eduardo A. F.
todavia es pronto para valorarlo pero por ahora todo bien. Quizas hubiera estado bien tener el material que sigue Luis en un dominio para poder estudiarlo sin necesidad de descargar el repo.
Piero Luyo
Pablo Domínguez
Antonio Cortes
Me encanta, es fasinante la profundidad con las que explica Fernandez
Marcos Diaz
Con este curso vas a cambiar tu forma de ver y persar, sobre el software, muy pero muy recomendable
José Luis Marín Escamilla
El mejor curso de habla hispana que he tomado, es tener lo mejor de la educación superior europea al alcance de las manos. Este tipo de cursos si pueden sustituir la formación universitaria, en caso de ser autodidactas.
Eva Fernández
Profesor de 10!!!
Jorge62
Abarca mucho pero sin profundidad, no se pueden ver muchos lenguajes, cada uno en un rato y luego asumir que ya sabemos tal y cual...
Gabriel Diego Cejas
Fue un excelente curso, Luis explica los temas de forma excelente.
Manuel Rosendo Castro Iglesias
Hay cosa que flojea, otras estupendas, y otras demasiado densas se necesitaría más detalle, en general bastante bien, no perfecto pero, muy bien.
Antonio Berbel Gonzalez
Luis es un profesor genial. Gracias a este máster y al anterior he aprobado una oposicion de gestion informatica
Cristo Carlos López Manzano
Me pareció muy interesante el curso, ademas al ser videos permitía volver a verlos mas tarde para terminar de comprender algunos temas.
Martín Juárez Gutiérrrez
Si buscas como modelar la realidad, este es el curso que debes tomar
¿Conoces nuestra tarifa plana?
Toda la formación de EscuelaIT, con más de 200 cursos completos para aprender las más variadas tecnologías de programación, diseño y marketing online. Todo! con tu suscripción.