Esta presentación es parte del contenido del curso de Estructuras de Datos I impartido en la Universidad Rafael Landívar durante el año 2017.
Creado por Ing. Alvaro Enrique Ruano
https://alvaroruano.me/
Procesos Ligeros: Hilos o Hebras
Un proceso ligero es una unidad básica de utilización de la CPU consistente en un juego de registros y un espacio de pila.
Comparte datos, código y registros con sus hebras pares.
Una tarea o proceso pesado esta conformado por una o mas hebras.
Una hebra solo puede pertenecer a una sola tarea.
Esta presentación es parte del contenido del curso de Estructuras de Datos I impartido en la Universidad Rafael Landívar durante el año 2017.
Creado por Ing. Alvaro Enrique Ruano
Estructura de Datos - Unidad III Estructuras Lineales
Material de Clase de la Asignatura Estructura de Datos
Ingeniería en Sistemas Computacionales
Estructuras de datos en C++
Tutorial de JFLAP en español que explica paso a paso todas las funcionalidades de la herramienta y al final contiene varias prácticas que van de un nivel de dificultad bajo hacia uno más alto.
Procesos Ligeros: Hilos o Hebras
Un proceso ligero es una unidad básica de utilización de la CPU consistente en un juego de registros y un espacio de pila.
Comparte datos, código y registros con sus hebras pares.
Una tarea o proceso pesado esta conformado por una o mas hebras.
Una hebra solo puede pertenecer a una sola tarea.
Esta presentación es parte del contenido del curso de Estructuras de Datos I impartido en la Universidad Rafael Landívar durante el año 2017.
Creado por Ing. Alvaro Enrique Ruano
Estructura de Datos - Unidad III Estructuras Lineales
Material de Clase de la Asignatura Estructura de Datos
Ingeniería en Sistemas Computacionales
Estructuras de datos en C++
Tutorial de JFLAP en español que explica paso a paso todas las funcionalidades de la herramienta y al final contiene varias prácticas que van de un nivel de dificultad bajo hacia uno más alto.
Esta presentación es parte del contenido del curso de Estructuras de Datos I impartido en la Universidad Rafael Landívar durante el año 2017.
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Estructuras de Datos I impartido en la Universidad Rafael Landívar durante el año 2017.
Incluye los temas:
•Listas
•Listas Enlazadas
•Listas Circulares
•Listas Doblemente Enlazadas
•Pilas
•Colas
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Estructuras de Datos I impartido en la Universidad Rafael Landívar durante el año 2017.
Incluye los temas:
1.1 Complejidad de un algoritmo
• Espacial
• Temporal
1.2 Análisis asintótico
• Notaciones
• Clasificación de algoritmos
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Ordenamiento rápido
• Ordenamiento por mezcla
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Método por Selección
• Método Shell
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Búsqueda por método secuencial
• Búsqueda por método binario
• Búsqueda por método hashing
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Recursividad directa e indirecta
• Recursión versus iteración
Creado por Ing. Alvaro Enrique Ruano
Programación Orientada a Objetos - constructores y destructoresAlvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Constructores
• Destructores
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Método Burbuja
• Método por Inserción
Creado por Ing. Alvaro Enrique Ruano
Programación Orientada a Objetos - Otras relaciones entre clasesAlvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Herencia
• Polimorfismo
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• POO - atributos y métodos
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Introducción a los paradigmas de programación
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Técnicas de programación
• Estilo y codificación
• Documentación
• Depuración
• Pruebas
Creado por Ing. Alvaro Enrique Ruano
Análisis de una inversión en activos financieros negociados por medio de la B...Alvaro Enrique Ruano
El presente trabajo pretende ejemplificar el proceso de creación de un portafolio de inversión diversificado eligiendo entre diferentes valores en la BVN. El entendimiento del funcionamiento básico de la bolsa de valores y de la teoría de creación de portafolios es clave para poder realizar inversiones exitosas, por lo que se repasará el proceso completo mientras se vaya avanzando en el ejemplo.
Creado por Alvaro Enrique Ruano como parte del curso de "Teoría de Inversiones" de la Maestría en Finanzas de la Universidad Rafael Landívar
Solución de problemas y ciclo de vida del desarrollo de softwareAlvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
* Abstracción y resolución de problemas
* Introducción al ciclo de vida del software
Creado por Ing. Alvaro Enrique Ruano
Los desafíos de calidad de software que nos trae la IA y los LLMsFederico Toledo
En esta charla, nos sumergiremos en los desafíos emergentes que la inteligencia artificial (IA) y los Large Language Models (LLMs) traen al mundo de la calidad del software y el testing. Exploraremos cómo la integración, uso o diseño de modelos de IA plantean nuevos retos, incluyendo la calidad de datos y detección de sesgos, sumando la complejidad de probar algo no determinístico. Revisaremos algunas propuestas que se están llevando adelante para ajustar nuestras tareas de testing al desarrollo de este tipo de sistemas, incluyendo enfoques de pruebas automatizadas y observabilidad.
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
29. Hash tables
● En este tipo de estructuras se almacenan pares Llave, Valor.
● Usualmente requerimos buscar en base al valor de la llave,
teniendo que realizar búsquedas secuenciales (datos
desordenados) o búsquedas binarias (datos ordenados).
● La tabla hash es una solución al problema de la búsqueda ya que
permite acceder directamente a la ubicación donde se encuentre
nuestro dato, sin tener que revisar las otras posiciones.
● Se dice que la ubicación es computada en base al valor de la llave.
31. Hash tables
● Existen casos donde es sencillo encontrar una función de
conversión.
o Por ejemplo una lista de 100 empleados, donde el código de
empleado es un número del 1 al 100, la correspondencia es directa.
● Existen otros casos donde no es posible establecer una relación
como el inciso anterior.
o Por ejemplo, si necesitamos que el campo de búsqueda sea el
número de documento de identificación DPI (varios millones) para
una muestra de 100 empleados.
32. Hash tables
● Las tablas hash almacenan la información en arreglos.
● El índice del arreglo no es igual a la llave, pero se puede calcular a
partir de esta.
● Lo anterior es importante, ya que si fueran iguales habrían casos
donde tendríamos que tener un arreglo de tamaño infinito para
poder alojar todas las distintas claves.
● Al índice dentro del arreglo se le llama “Hash Code”.
● A la función que realiza la conversión a “Hash Code” se le llama
“Hash Function”.
33. Hash tables
● Cuando dos o más claves tiene el mismo hash code decimos que
existe una colisión.
● Una colisión es parte del funcionamiento normal de una hash table,
no es un error.
● La solución más común para el manejo de colisiones es que cada
posición del arreglo a su vez sea un Lista Enlazada (ver el diagrama
en la siguiente diapositiva).
● En una hash table apropiadamente diseñada, la mayoría de listas
enlazadas deberán tener una longitud de 0 o 1.
● En algunas implementaciones, cuando el número de items en alguna
lista exceda un cierto porcentaje del tamaño del arreglo, el arreglo es
expandido y los ítems reasignados.
36. Arreglos “Tradicionales”
Es una estructura donde podemos acceder a
cualquier elemento por medio de operaciones de
obtención (get) o asignación (put) .
Operaciones referenciadas por un número entero
“i” que estará en el rango de 0 a N
N es la cantidad de elementos contenidos.
38. Arreglos Asociativos
Normalmente este tipo de asociación solamente
define una interfaz, más no un implementación
específica, por lo que la implementación del
arreglo asociativo puede hacerse de varias formas.
Ejemplos de estas interfaces son:
◦ Java: Map <K, V>
◦ C#: IDictionary <TKey, TValue>
44. Dictionary - Ejemplo 3
Para el ejemplo 3, se deberá
modificar la definición de la clase
”Carro” presentada anteriormente,
se deberá indicar que implementa
la interfaz “IEquatable<Carro> ”.
Además, se deberán agregar los
siguientes tres métodos.