OBJETIVOS
El curso se propone como objetivo principal, lograr que él o la participante, se capacite en técnicas de diseño de algoritmos y su codificación en lenguajes de programación estructurados, y así poder utilizar la computadora como una herramienta para resolver problemas de mediana complejidad, dentro del área de conocimiento en tecnología industrial.
Se plantean como objetivos específicos, lograr que él o la participante sea capaz de:
1. Diseñar algoritmos que le permitan resolver problemas en el área industrial.
2. Analizar e interpretar algoritmos.
3. Demostrar habilidades y destrezas en el uso de herramientas para la elaboración de algoritmos.
4. Traducir los algoritmos desarrollados en lenguajes de Programación estructurados como C, Python, Go, entre otros
4. Conocer los distintos tipos de arquitectura de computadoras y su uso para resolver problemas del área industrial.
5. Conocer los componentes del computador, sus interrelaciones y usos en la resolución de problemas dentro del área de conocimiento en tecnología industrial.
MODALIDADES
Se consideran dos (2) modalidades para la asignatura: Modalidad Presencial y Modalidad en linea.
1. Criterios Generales para la Modalidad Presencial
En las llamadas “clases teóricas” la profesora transmitirá la información conceptual básica y trabajará en la solución de problemas junto con los y las participantes. En las llamadas “clases prácticas”, se seguirán resolviendo problemas y discutiendo soluciones. Estas clases serán preferiblemente de consulta y discusión de los ejercicios de la práctica hechos por los y las participantes antes en clases y podrán ser facilitadas por un preparador. En las clases de laboratorio, los estudiantes utilizaran las diferentes arquitecturas de computadoras que se dispongan en los laboratorios de la Universidad.
Las actividades se realizan en un laboratorio de computación, puesto que las actividades están estructuradas al igual que la asignatura Microprocesadores (TI-3223), es decir:
1. La profesora inicia la actividad de aula, con los aspectos teóricos necesarios al tema.
2. Se realizan los ejercicios en papel indicados en la práctica que corresponda al tema, iniciando con el algoritmo y posteriormente la codificación en el lenguaje estructurado que corresponda a la actividad (lenguaje C, Python, Go, u otro).
3. Un estudiante (o grupo de estudiantes), pasa a la pizarra para discutir el ejercicio y corregir lo necesario.
4. Los estudiantes utilizan las computadoras y realizan los ejercicios, lo corren y comparten sus apreciaciones con sus compañeros. Es importante señalar que, se debe rotar el estudiante que utiliza el computador, para que todos los estudiantes puedan correr ejercicios por lo menos un ejercicio de cada práctica.
Propuesta de Evaluación para la Modalidad Presencial
La nota final de la materia está distribuida de la siguiente forma:
25% Primer Parcial/ semana 4
25% Segundo Parcial/ semana 7
25% Tercer Parcial/ semana 12
25% Proyecto: Inicio a partir de semana 5, entrega semana 11
2. Criterios Generales para la Modalidad en Linea
El sitio está estructurado en cuatro (4) temas, cada tema contiene:
Vídeos explicativos con los aspectos relevantes
Material teórico
Sección de prácticas
Sección de laboratorio
Evaluación que él o la participante deberá completar una vez avanzado el tema.
En caso de presentar alguna duda el o la participante podrá comunicarse por twitter mediante el #algoritmosyprogramacionusb Tweets sobre #algoritmosyprogramacionusb o por el grupo de Telgram
En la sección teórica se presenta de forma detallada toda la explicación del tema, incluyendo algunos ejemplos de casos. En la sección de práctica, se presentan un conjunto de ejercicios, para que él o la participante los complete.
Para la sección de laboratorio, se requiere que él o la participante, tenga instalado en su computadora los lenguajes de trabajo como son: C, Python y Go (véase descargas de software).
La modalidad en Linea se realiza de forma sincrona y asíncrona. Para las actividades asíncronas se tiene el sitio web de la materia, con toda la información que se detallo en esta sección. Para las actividades sincronas, se emplea la plataforma de Google Meet, estas clases en linea, se realizan en encuentros definidos previamente, (generalmente una o dos veces a la semana). La invitación para estos encuentros en linea, se realiza mediante el correo institucional (carnet@usb.ve), es recomendable que tenga disponible un computador para y micrófono. En las clases en linea se mezclan las plataformas de Telgram (grupo de la materia) con el Google Meet.
Propuesta de Evaluación para la Modalidad en Linea
La nota final de la materia está distribuida en:
10% Autoevaluación Tema I
10% Ejercicios propuestos en clases y publicados en Telgram
20% Autoevaluación Tema II
10% Ejercicios propuestos en clases y publicados en Telgram
10% Autoevaluación Tema III
20% Autoevaluación Tema IV
20% Proyecto Final
Horas Semanales Propuestas para ambas modalidades (Presencial y en Linea)
Teoría: 2 horas
Practica: 1:30 horas (resolución de casos prácticos de algoritmos)
Laboratorio: 1:30 horas (codificación de los ejercicios realizados en las practica y ejecutados en los lenguajes C, Python y Go), en el caso de la modalidad en linea, las horas de laboratorio se realizan en las PC de cada estudiante.
Nota: Estas horas se distribuyen en las actividades en linea en Google Meet y luego él o la estudiante, debe continuar hasta que logre el objetivo de la semana.
El curso esta estructurado para acreditar 60 horas académicas
Observaciones Importantes
La nota o calificación es acumulativa y para aprobar la materia es indispensable tener una nota final mayor o igual a 3 puntos.
Los estudiantes desarrollaran un proyecto práctico en grupos de estudiantes (máximo cinco). Luego de la entrega del proyecto se realizará un interrogatorio INDIVIDUAL, con el propósito de evaluar los conocimientos adquiridos.
La Escala de Evaluación de la materia 1-5. Se redondea solo la nota final con una cifra decimal, las notas parciales no se redondean.
BIBLIOGRAFÍA RECOMENDADA
Brassard, G. y Bratley, G. (1997). Fundamentos de Algoritmia. España: Prentice Hall
Chikhani, A. (2011). Algoritmos y Programacion. Teoría, Practicas y Fichas de programación. [Documento en línea]. Disponible: https://sites.google.com/site/chikhanialgoritmia/
Joyanes, L. A. (1992). Fundamentos de Programación. Madrid: McGraw Hill
Heileman, G. (1997). Estructuras de Datos, Algoritmos y Programación Orientada a Objetos. España: McGraw Hill
Wirth, N. (1980). Algoritmos + Estructuras de datos = Programas. Madrid: Ediciones del Castillo
https://kesquivel.files.wordpress.com/2014/08/estructuras-dinamicas.pdf
Algunos Sitios de Interés Recomendados
Material recomendado para el capitulo V, en la sección de Estructuras dinámicashttps://kesquivel.files.wordpress.com/2014/08/estructuras-dinamicas.pdf
Nota: Si desea el material del curso en formato PDF, lo puede obtener en este enlace
CONTENIDO O PROGRAMA ANALÍTICO
Objetivos:
El objetivo del Tema I, es generar las destrezas en los y las participantes que permitan estar en capacidad de:
• Conocer la estructura y el funcionamiento básico del computador
• Identificar los criterios importantes de la Programación
• Definir: Acción, Proceso, Esquema, Algoritmo y Programa
• Identificar los métodos generales: Capacidad de abstracción, Construcción descendente, Probar y Decidir.
Duración: 5 horas/teoría
3 horas/practica/laboratorio.
Contenido:
1. El Sistema Computadora
2. Analista y Programador
3. Definiciones fundamentales: Algoritmos, Programas, Nemotecnia, Potabilidad, Amigable/Usable
4. Criterios de Programación
5. Lenguajes de Programación
6. Tipos de Datos Básicos
Objetivo:
El objetivo del Tema II, es generar las destrezas en los y las participantes que permitan:
Conocer los aspectos más relevantes de la metodología para la realización de algoritmos que se empleará en el curso
Conocer los aspectos básicos para la traducción o codificación de algoritmos en lenguajes estructurados (C, Python, Go)
Tener las capacidades que permitan realizar algoritmo asociado a problemas de mediana complejidad en el área de conocimiento de Ingeniería/Tecnología Industrial.
Duración: 20 horas/teoría/practica /laboratorio
Contenido:
1. Aspectos fundamentales de Algebra Booleana
TEMA III. NOCIÓN DE BLOQUE, FUNCIÓN Y ACCIÓN PARAMETRIZADA
Objetivo:
El objetivo del Tema III, es que el y la participante adquiera las competencias que permitan resolver un problema del área industrial con herramientas algorítmicas mediante la descomposición del problema en sub problemas, diferenciando las funciones y las acciones, así como, el pase de parámetros.
Duración: 5 horas/teoría/practica/laboratorio
Contenido
1. Acciones y Funciones
2. Acciones y Funciones Parametrizadas
TEMA IV. ESTRUCTURAS FUNDAMENTALES DE DATOS
Objetivo:
El objetivo del tema IV, es familiarizar al estudiante en el manejo de las estructuras fundamentales de datos
Duración: 27 horas de teoría/practica/ laboratorio
Contenido
1. Introducción a las Estructuras Fundamentales de Datos (EFD): Estáticas y Dinámicas
Almacenamiento en Memoria
Tipos
2. Estructuras Fundamentales de Datos de Tipo Estáticas
Arreglos
Arreglos Multidimensionales (matrices)
3. Manejo de las EFD de Tipo Estáticas en la Resolución de Problemas en el Área Industrial
CRONOGRAMA PROPUESTO DE ACTIVIDADES