bit.ly/entrega-tareas

Programación Full Stack


Ingeniería de software


Bases de Datos


Tecnologías Digitales


Administración de Sistemas Operativos


Ciberseguridad

Ejercicio 1: Conceptos básicos de PHP

Lee el siguiente material y responde al cuestionario:

Material teórico y Cuestionario

Fecha límite: 23/5/2026

Ejercicio 2: Registro, Login y Perfil de usuario

Crea una aplicación web con las siguientes funcionalidades:

Fecha límite: 30/5/2026

  • Registro de usuarios
  • Login y Logout de usuarios
  • Perfil de usuario
  • Lista de usuarios registrados
  • Ver perfil de otros usuarios (opcional)
  • Añadir y listar publicación en perfil de usuario (opcional)

Puedes utilizar Material teórico y Ejemplos . No olvides incluir la base de datos utilizada en un archivo .sql

Ejercicio 3: Ecommerce (opcional)

Crea un sitio web para la venta de artículos con las siguientes funcionalidades:

  • Registro y login de usuarios
  • Catálogo de artículos
  • Formulario de compra (checkout) con datos del usuario, método de pago y dirección de envío.
  • Registrar el historial de compras en una base de datos

Modelo Entidad-Relación de base de datos sugerida

Puedes consultar los documentos Material teórico y Ejemplos PHP y Material teórico Base de datos . No olvides incluir la base de datos utilizada en un archivo .sql

Fecha límite: 14/11/2026

Ejercicio 3.5: Bootstrap - Sistema de cuadrícula

Crea un sitio web (index.html) utilizando bootstrap y siguiendo las siguientes especificaciones donde cada división corresponde a una "row":

Parte 1: Estructura inicial
  • navbar: col-12 p-3 bg-warning
  • hero: col-8 p-3 mx-auto bg-danger
  • items (x4): col-3 p-3 bg-success border border-dark
  • contact (x2): col-6 p-3 bg-secondary border border-light
  • footer: col-12 p-3 bg-dark text-light
Vista previa del sitio img
Parte 2: Estructura para pantallas pequeñas

Cambia las secciones hero, items y contact para añadir el punto de interrupción (breakpoint) lg a los tamaños de las columnas:

  • hero: col-lg-8 p-3 mx-auto bg-danger
  • items (x4): col-lg-3 p-3 bg-success border border-dark
  • contact (x2): col-lg-6 p-3 bg-secondary border border-light
Ejecuta el sitio web en el navegador y cambia su tamaño para visualizar cómo las secciones se adaptan al largo de la pantalla.a
Parte 3: Contenido para la estructura (Landing page de empresa)

Crea contenido dentro de la estructura adaptado a tu empresa, utiliza imágenes de muestra y colores a elección que se asemeje al siguiente ejemplo:

img

La entrega debe ser un enlace hacia un repositorio en la nube (Github)

Fecha límite: 15/06/2026

Actividad 4: Ataque XSS.

Accede a los siguientes sitios web de ejemplo y sigue las instrucciones para efectuar los ataques XSS correspondientes:

Redacta un informe documentando las vulnerabilidades encontradas y sugiere medidas de seguridad para mitigarlas.

Información:

Código completo:

Fecha límite: 14/11/2026

Actividad 5: Despliegue en servidor remoto (opcional)

Realiza el despliegue de una aplicación PHP (cualquiera que requiera una base de datos) en un alojamientos web y comparte la URL a la aplicación

Servidores

Aplicación de ejemplo para desplegar:

Información:

Fecha límite: 14/11/2026

Comparte el enlace 🔗 en el formulario.

Proyecto: Correcciones MER

Espacion dedicado a la corrección de Diagramas Entidad-Relación para primer entrega del proyecto

Fecha límite: 18/06/2026

X: Temas para presentar en la defensa final

Incluir diagramas, iconos y gráficos a las diapositivas.

  • Arquitectura implementada:
    • Cliente- servidor
    • MVC
    • API
  • Tecnologías utilizadas:
    • Lenguajes
    • Frameworks
    • Librerías
    • Herramientas CASE
  • Políticas de seguridad consideradas:
    • Hash de contraseñas
    • Sanitizar entradas de datos de usuario
    • Verificación de Token (OAuth2)

Si alguno de los temas no se incluye en la presentación, será preguntado luego de la misma.

Ejercicio tutoría

(parte 1)
Crea un sitio web para la venta de productos con las siguientes funcionalidades:

  • Registro de usuarios
  • Login y logout de usuarios
  • Formulario de carga de productos
  • Listado de productos

Modelo Entidad-Relación de base de datos sugerida

Puedes consultar los documentos Material teórico y Ejemplos PHP y Material teórico Base de datos . No olvides incluir la base de datos utilizada en un archivo .sql

Fecha límite: 12/12/2026

Ejercicio 1: Extracción de Requerimientos

Accede al siguiente documento y extrae los requerimientos de la realidad planteada:

Letra de proyecto

Fecha límite: 28/5/2026

Ejercicio 2: Casos de uso

Diseña los casos de uso a partir de los requerimientos extraídos del ejercicio anterior:

Letra de ejercicio
Documento de ejemplo

Fecha límite: 10/6/2026

Ejercicio 3: Mapa de sitio web

Diseña el mapa del siguiente sitio web:

www.gub.uy

Fecha límite: 16/7/2026

Ejercicio 4: Plan de testing

Redacta el plan de testing para la siguiente prueba de código:
Prueba en vivo
Código completo (7. Testing: Pruebas automatizadas de funcionalidades de API)

Consulta los materiales y documentos de ejemplo en el siguiente enlace

Ejercicio 5: Diagrama Nassi-Schneiderman

1) Solicitar un número e indicar si es PAR o IMPAR.
2) Solicitar 10 números y mostrar la suma de los impares.
3) Solicitar 5 números e indicar cuántos de ellos son positivos
4) Solicitar un número n y mostrar la suma de los impares entre 1 y n.
5) Solicitar números hasta que se ingrese el 0 y mostrar la cantidad de números ingresados

Consulta el material y ejemplos en el siguiente enlace

1. Evaluación Escrita: Diseño de MER y Pasaje a tablas

Diseña el Modelo Entidad-Relación (MER) y Pasaje a tablas a partir de cada una de las siguientes realidades:

1. Conferencias
La organización de una convención desea almacenar información sobre las conferencias que allí se realizan mediante una base de datos.
Las conferencias tratan sobre uno o más temas y son dictadas por uno o más conferencistas, tanto las conferencias como los temas tienen nombre y número identificador.
Cada conferencia dictada tiene asociada uno o más documentos, de los cuales se registran nombre y código que lo identifica.
Los documentos son escritos por uno o más autores, donde cada uno también pudo haber intervenido en más de un documento.
Tanto de los autores como de los conferencistas se registran su cédula de identidad, nombre completo (compuesto por nombre y apellido), email, país de orígen y sus redes sociales.

2. Técnicos y choferes
Una empresa está dividida en varios departamentos de los que se conoce su nombre (que lo identifica) y los números de teléfono para comunicarse.
En cada departamento trabajan varios funcionarios y todo funcionario trabaja solamente en un departamento. De los funcionarios se conoce su número de empleado, nombre y dirección.
Si el funcionario es chofer, se registra su número de libreta y la cantidad de accidentes que tuvo, si es administrativo se registran los idiomas que habla y si es técnico, las especialidades en las que puede trabajar.
La empresa lleva adelante un conjunto de proyectos en los que trabajan los empleados técnicos. Un técnico puede trabajar en varios proyectos y viceversa. Estos proyectos son identificados por un número y tienen un nombre, fecha de comienzo y de finalización
Además la empresa tiene un conjunto de vehículos de los que se conoce matrícula, marca y modelo. Estos vehículos son conducidos por los chóferes y cada chofer puede conducir un vehículo distinto al día.

Puedes consultar el documento Material teórico y ejercicios

2. DDL y Diccionario de datos

Realiza los ejercicios 20 al 23 del siguiente documento: Material teórico y ejercicios

3. ALTER TABLE y Caso de estudio

Realiza los ejercicios 24 y 25 del siguiente documento: Material teórico y ejercicios

4. Consultas SELECT (parte 1)

Realiza las consultas del Ejercicio 27 (parte 1) en el siguiente documento:
Ejercicio 27: Tienda

5. Consultas SELECT (parte 2)

Realiza las consultas del Ejercicio 27 (parte 2) en el siguiente documento:
Ejercicio 27: Tienda

6. Consultas SELECT (parte 3)

Realiza las consultas del Ejercicio 27 (parte 3) en el siguiente documento:
Ejercicio 27: Tienda

7. Ejercicio 28 (Biblioteca 2)

Realiza las consultas del Ejercicio 28 en el siguiente documento:
Ejercicio 28: Biblioteca 2

X. Ejercicios de tutoría.

Una empresa dedicada a organizar espectáculos en vivo desea implementar una base de datos para registrar los eventos que produce.

  • De los eventos se conoce el nombre, fecha, hora y un número identificador.
  • Para cada evento se contratan artistas de los cuales se registran el nombre, nacionalidad, tipo (si es una banda o un solista) y un código numérico para identificarlos.
  • A un evento pueden acudir muchos espectadores, de los cuales se registra su CI, el nombre, apellido, fecha de nacimiento.
  • La entrada se identifica por un número único y contiene la fecha y hora en que fue comprada y el número identificador del evento correspondiente.
  • Las entradas se venden en puntos de venta localizados en distintas zonas, los puntos de venta se identifican por el nombre de la calle, número de puerta y ciudad en la que se ubica.

A partir del siguiente Diagrama Entidad-Relación:

  • 1. Realiza pasaje a tablas.
  • 2. Crea la base de datos y sus tablas utilizando DDL.
  • 3. Escribe las siguientes consultas SQL:
    • 1. Lista todos los datos de los eventos (utilizar SELECT).
    • 2. Lista los nombres y nacionalidad de los artistas que son solistas (utilizar WHERE).
    • 3. Lista los nombres de los artistas que se presentaron en el evento llamado “Summer Music Fest” (utilizar JOIN).
    • 4. Lista todos los datos de los espectadores que compraron entradas para el evento llamado “Live in Montevideo” (utilizar JOIN).
    • 5. Lista la dirección del punto de venta con más entradas vendidas (utilizar COUNT y MAX)
    • 6. Lista el nombre de los eventos que hasta el momento no han vendido ninguna entrada (Utilizar NOT IN y GROUP BY)

Ejercicio 1: Primer entrega de documentos

Puedes convertir todo tipo de archivos al formato pdf con la aplicación web: I Love PDF

Completa el formulario con tus datos y carga el documento trabajado en clase.

Fecha límite: 21/5/2026

Ejercicio 2: Logos para la aplicación web

Piensa en formas, colores y posibles diseños para crear una imágen que pueda ser utilizada como logtipo de la aplicación web.
Puedes utilizar herramientas de edición en línea, como por ejemplo: photopea (clon de Photoshop)

Completa el formulario con tus datos y carga el logo creado en clase.

Fecha límite: 28/5/2026

Ejercicio 3: Carta de presentación

Copia el siguiente documento y completalo con los datos correspondientes al equipo de desarrollo del proyecto:
Carta de presentación

Completa el formulario con los datos correspondientes y carga el documento.

Fecha límite: 18/6/2026

Ejercicio 4: Diagrama de Gantt

Descarga la siguiente planilla y completa la línea de tiempo con las tareas indicadas:
Planilla

Fecha límite: 25/6/2026

Ejercicio 5: Test de lógica y razonamiento

Descarga el siguiente documento y responde:
Documento

Fecha límite: 25/6/2026

Ejercicio 6: Diseño de la base de datos

Crea el Modelo Entidad-Relación de la base de datos del sitio web utilizando una herramienta de diagramación:
Ejemplo:
Canva
Draw.io

Fecha límite: 23/7/2026

Ejercicio 7: Diseño de prototipos web

Diseña el prototipo web utilizando la herramienta de edición de wix.com.

Incluye algunos ejercicios de prueba obtenidos de actividades anteriores.

Publica el diseño en la nube y copia la URL obtenida para visualizarlo desde cualquier navegador.

Fecha límite: 13/8/2026

Ejercicio 8: Organización de tareas del proyecto

Utiliza la herramienta de organización de tareas Trello para crear un tablero con las tareas que se encuentran en el siguiente documento.

Comparte el enlace 🔗 en el formulario.

Ejercicio 9: Estrategias de descanso

En un documento de texto elabora dos listas con estrategias de descanso divididas en "descanso físico" y "descanso mental".

Ejercicio 10: Carátula de documento integrador

Elabora la carátula para el documento integrador utilizando el siguiente ejemplo .

Ejercicio 11: Documento integrador

Elabora un documento que incluya los diagramas y tareas realizadas durante el curso.

  • Carátula.
  • Carta de presentación.
  • Organización de tareas del proyecto (enlace a Trello).
  • Diagrama de Gantt.
  • Diseño de la base de datos.
  • Banco de datos de ejercicios y rutinas.
  • Diseño de prototipo web.

Ejercicio 12: Presentacion del proyecto

Elabora la presentación del proyecto utilizando presentaciones de Google .

Ejercicio 13: Resumen de herramientas CASE

Crea una lista que describa las aplicaciones y herramientas informáticas utilizadas durante el curso.

Por ejemplo:
Logotipo Nombre Descripción
Windows 10 Gestiona el hardware del PC y permite que las aplicaciones se ejecuten en él.
Google Chrome Permite acceder, navegar y descargar información en Internet.
. . . . . . . . .

X: Relevamiento de tareas entregadas

Verifica en la siguiente tabla las tareas entregadas realizadas durante el curso.
Lista de tareas entregadas:

Estudiante Tarea 6 Tarea 7 Tarea 8 Tarea 9 Tarea 10 Tarea 11 Tarea 12 Tarea 13
Lucas Brun Pendiente Pendiente Pendiente Pendiente OK Pendiente Pendiente Pendiente
Mauro OK OK OK OK OK OK OK Pendiente
Juan Caleta Pendiente Pendiente Pendiente Pendiente Pendiente Pendiente Pendiente Pendiente
Nicol Pendiente Pendiente Pendiente Pendiente Pendiente Pendiente Pendiente Pendiente
Juan Fregueiro Pendiente Pendiente Pendiente OK Pendiente Pendiente Pendiente Pendiente
Yanina Pendiente Pendiente Pendiente Pendiente Pendiente Pendiente Pendiente Pendiente
Lucas Landoni OK OK OK OK OK OK OK Pendiente
Marco OK OK OK OK OK OK OK Pendiente
Luana OK OK OK OK OK OK OK Pendiente

0. Instalación y configuración En máquina virtual.

Redacta una lista de los comandos a ejecutar para instalar las siguientes tecnologías

  • Servidor web Apache
  • Servidor de base de datos MySQL
  • Lenguaje de programacion PHP
  • Firewall
  • SSH

Tarea 1: Scripts de gestión de usuarios y grupos

Crea un script en Bash que realice las siguientes acciones:

Menú Principal

  • 1. Gestión de usuarios
  • 2. Gestión de grupos
  • 0. Salir

Gestión de usuarios

  • 1. Alta usuario
  • 2. Modificar usuario
  • 3. Baja usuario
  • 4. Listar usuarios
  • 0. Regresar

Gestión de grupos

  • 1. Alta grupo
  • 2. Modificar grupo
  • 3. Eliminar grupo
  • 4. Listar grupos (y sus integrantes)
  • 5. Añadir usuario a grupo
  • 6. Retirar usuario de grupo
  • 0. Regresar

Utilizar un diseño modular separando cada opción en un archivo distinto, de manera que todos los usuarios puedan Listar usuarios y grupos pero solamente los administradores puedan realizar alta, baja y modificación de los mismos.

Ejemplo:

Permisos Propietario Grupo Archivo
rwxrwx--- admin admin alta_usuario.sh
rwxrwxr-x admin admin listar_usuarios.sh

Comando para la opción Gestión de usuarios:

  • 4. Listar usuarios

  • awk -F: '$3 >= 1000 && $1 != "nobody" { print $1 }' /etc/passwd

    Comando para la opción Gestión de grupos:

  • 4. Listar grupos (y sus integrantes)

  • awk -F: '$3 >= 1000 && $1 != "nogroup" {print $1 " -> " $4}' /etc/group


    Fecha límite: 2/6/2026

    Tarea 2: Justificación del sistema operativo y configuración de servicios Apache, MySQL y SSH.

    Redacta un documento que justifique la selección del sistema operativo para utilizar como servidor.
    Incluye también los comandos para instalar los servicios Apache, MySQL y SSH y su configuración (puertos utilizados)

    Fecha límite: 27/6/2026

    Tarea 3: Práctica de usuarios, grupos y permisos.

    Escribe los comandos necesarios para:

    • a. Crear los usuarios paco y pablo
    • b. Crear los grupos oficina1 y oficina2
    • c. Añadir a los usuarios paco y pablo al grupo oficina1
    • d. Crear al usuario alba y añadirlo al grupo oficina2
    • e. Mostrar a qué grupos pertenece el usuario paco
    • f. Eliminar al usuario pablo del grupo oficina1
    • g. Establecer a oficina1 como grupo principal de paco
    • h. Eliminar al usuario paco del grupo oficina1
    • i. Cambia al usuario pablo y crea un archivo con nombre topsecret.txt en su directorio de trabajo al que únicamente él tenga acceso, tanto de lectura como de escritura.
    • j. También como el usuario pablo, crea otro archivo con nombre ventas_trimestre.txt al que tengan acceso de lectura y escritura todos los usuarios que pertenezcan al mismo grupo. Se deben dejar los permisos que haya por defecto para el propietario y para el resto de usuarios del sistema. (Comprueba si el usuario paco puede editar el contenido del archivo).
    • k. Cambia al usuario alba y crea un archivo con nombre empleados.txt al que pueda acceder cualquier usuario para leer su contenido, y los usuario del mismo grupo para leer o escribir.
    • m. Copia el archivo empleados.txt al directorio de trabajo de paco. Cambia el propietario (paco) y el grupo (paco) al que pertenece el archivo.

    Fecha límite: 1/5/2026

    Ejercicios de tutoría.

    1. Resuelve los siguientes ejercicios

    2. Realiza una lista de los comandos a ejecutar para instalar las siguientes tecnologías en Ubuntu 24.04LTS

    • Servidor web Apache
    • Servidor de base de datos MySQL
    • Lenguaje de programacion PHP
    • Firewall
    • SSH

    Actividad 0: Bandidos.

    Accede al siguiente enlace, sigue las instrucciones y crea un documento con las contraseñas extraídas de cada nivel.

    Actividad 1: Colisiones hash.

    Accede al siguiente documento, responde las preguntas y prueba los ejemplos de colisiones.

    Actividad 1.5: Cifrado simétrico: César.

    Julio César cifraba su correspondencia particular mediante un algoritmo de sustitución de este tipo: cada letra del mensaje original era sustituida por la que le seguía tres posiciones (corrimiento) más adelante en el alfabeto. Siguiendo esta regla y utilizando nuestro alfabeto, la letra A era sustituida por la D, la B por la E, la C por la F, y así sucesivamente hasta la última letra.

    Accede al siguiente documento y descifra el mensaje.

    Responde: ¿cuántas posiciones de corrimiento tiene el cifrado?
    Puedes utilizar la siguiente herramienta para corroborar el corrimiento.

    Actividad 2: Ataques XSS.

    Accede a los siguientes sitios web de ejemplo y sigue las instrucciones para efectuar los ataques XSS correspondientes

    Redacta un informe documentando las vulnerabilidades encontradas y sugiere medidas de seguridad para mitigarlas.

    Información:

    Código completo