0% encontró este documento útil (0 votos)
270 vistas8 páginas

Programa TOPICOS DE PROGRAMACION - 2023 C1

Este documento presenta el programa analítico de la asignatura "Tópicos de programación" que forma parte de la carrera de Ingeniería en Informática. El resumen describe los objetivos de la asignatura, que incluyen reforzar conocimientos de programación e introducir conceptos como recursividad y reusabilidad. También presenta la metodología de enseñanza, que utiliza el aprendizaje basado en problemas, y los contenidos temáticos como arrays, tipos de memoria, pasaje de parámetros y tipos de datos abstractos.

Cargado por

Lorenzo Lezcano
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
270 vistas8 páginas

Programa TOPICOS DE PROGRAMACION - 2023 C1

Este documento presenta el programa analítico de la asignatura "Tópicos de programación" que forma parte de la carrera de Ingeniería en Informática. El resumen describe los objetivos de la asignatura, que incluyen reforzar conocimientos de programación e introducir conceptos como recursividad y reusabilidad. También presenta la metodología de enseñanza, que utiliza el aprendizaje basado en problemas, y los contenidos temáticos como arrays, tipos de memoria, pasaje de parámetros y tipos de datos abstractos.

Cargado por

Lorenzo Lezcano
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

PROGRAMA ANALÍTICO

Pág. 1 de 8

Carrera: INGENIERIA EN INFORMATICA


Asignatura: Tópicos de programación
Trayecto: Programación
Año académico 2023
Responsable / Jefe de cátedra: Guatelli, Renata
Carga horaria semanal 4 hs. Carga horaria total 64 hs. Créditos [No
completar]
Modalidad: presencial
Correlativas anteriores Correlativas posteriores
● Matemática Discreta ● Algoritmos y Estructuras de Datos
● Programación Estructurada Básica ● Seguridad de la Información
● Taller de Integración

Conocimientos necesarios [opcional]

Equipo docente
Nombre Cargo Titulo
Guatelli, Renata Silvia Jefe de Cátedra Lic. en Análisis de Sistemas
Soligo, Pablo Adjunto Ing. en Informática
Cacho Mendoza, Ariel JTP Ing. en Informática
Guzman, Gabriel Eduardo JTP Ing. en Informática
Hnatiuk, Jair Ezequiel JTP Ing. en Informática
Martínez, Pablo Witold JTP Ing. en Informática
Pan, Néstor Ariel JTP Ing. en Informática
Pezzola, Federico Daniel JTP Ing. en Informática
Uran Acevedo, Jonatan
Alberto JTP Ing. en Informática
Calaz, Alberto Ezequiel AX1 Ing. en Informática
Jordi, Brian Eduardo AX1 Ing. en Informática
Mendoza, Matías Alejandro AX1 Ing. en Informática
Ghigo, Paola Gabriela AYA Ing. en Informática
Álvarez, Erik Ing. en Informática
González, Giselle Ing. en Informática

Descripción de la asignatura [Breve relato coloquial sobre la temática de la materia,


aporte de la asignatura a la formación profesional, no superar los 1600 caracteres]

La asignatura “Tópicos de programación”, refuerza los conocimientos adquiridos en


asignaturas previas introduciendo a la programación imperativa estructurada
soluciones alternativas mediante recursividad. Además presenta el concepto de
reusabilidad, a través del diseño de algoritmos independientes del tipo de dato y de
una acción particular de forma de crear soluciones realistas. Se presentan estrategias
PROGRAMA ANALÍTICO

Pág. 2 de 8

de diseño de algoritmos para mejorar soluciones ineficientes y diferentes


implementaciones para un problema en particular, trabajando sobre tipos de datos
simples, compuestos, estáticos y dinámicos.

Metodología de enseñanza [descripción de la forma detallada como se dictan las clases, se


hace el seguimiento de los estudiantes, etc.]

Se utilizan metodologías activas de enseñanza, especialmente aprendizaje basado en


problemas (ABP). Se presenta cada unidad temática introduciendo los conceptos
fundamentales realizando analogías con ejemplos reales, que permite relacionar los
contenidos de la materia con las herramientas habituales de trabajo.
Los contenidos de la asignatura se presentan de forma iterativa e incremental, de forma que
le permitan al estudiante, construir sus propios procedimientos para resolver una situación
problemática, lo que implica que sus ideas puedan verse modificadas y de esta forma siga
construyendo nuevos conocimientos.
La materia tiene una fuerte carga práctica. En la misma se resuelven problemas,
desarrollando pequeños sistemas, aplicando lo visto en las clases, trabajando de forma
colaborativa, simulando un entorno de trabajo real.
Se motiva a los estudiantes en el uso de los foros de la plataforma MIeL y recursos de Teams,
para la resolución de dudas, tanto de conceptos teóricos como prácticos, permitiendo
desarrollar las capacidades de comunicación y afianzar el uso del lenguaje técnico. Además,
la cátedra cuenta con soporte digital de los contenidos, que los estudiantes pueden consultar
luego de haber asistido a la clase.
Objetivos de aprendizaje [Enumerar los objetivos previstos para las materias. Refieren a los
saberes comprobables que el estudiante ha de adquirir]

A través de esta asignatura, el alumno habrá adquirido los conocimientos necesarios y


suficientes para estar en condiciones de:

Objetivos Generales:
La materia se desarrolla teniendo en cuenta los siguientes objetivos generales:
● analizar, plantear y resolver situaciones problemáticas.
● organizar y planificar su trabajo.
● hacer transferencia de los conocimientos teóricos a la práctica.
● adquirir la capacidad de trabajar en equipo.
● identificar un problema a partir de una situación problemática presentada.
● diseñar un algoritmo eficiente para la resolución de una situación problemática
analizada.
● desarrollar un algoritmo utilizando un lenguaje de programación.
● plantear casos de prueba de forma tal de ver los casos generales y particulares de
cada situación problemática planteada.
● expresar los contenidos teóricos de la materia y su vinculación con situaciones de la
vida real.
● detectar la fuerte vinculación de esta asignatura con materias de años anteriores y
posteriores del plan de carrera.
PROGRAMA ANALÍTICO

Pág. 3 de 8

● integrar grupos de trabajo, potenciando su propio aprendizaje a través de la


interacción y cooperación con sus pares.
● utilizar con fluidez el lenguaje técnico relacionado con la materia.

Objetivos Específicos:

● Aplicar los principios de la Programación Estructurada.


● Aplicar el concepto de reusabilidad.
● Manejar con solvencia los diferentes tipos de pasaje de parámetros, tanto de
variables como de funciones.
● Aplicar sus conocimientos de algoritmia a colecciones de datos.
● Implementar algoritmos realistas independientes del tipo de dato.
● Diseñar e implementar soluciones que no dependan de un tipo de dato en particular,
de forma que puedan utilizarse para diversos tipos de datos y puedan realizar
diferentes acciones en función de la acción que reciba como parámetro,
administrando correctamente la memoria en tiempo de ejecución.
● Entender, decidir y defender sobre alternativas de implementación conociendo las
implicancias de cada una.
● Entender las diferentes estrategias de persistencia y aplicarla en ejemplos concretos.

Contenidos mínimos [Incluir los contenidos que están incluido en el Plan de Estudio]

Algorítmica. Estructuras de control. Tipos de datos simples y compuestos. (estáticos y


dinámicos). Procedimientos y funciones. Concepto de reusabilidad. Estrategias de diseño de
algoritmos.

Competencias a desarrollar

Genéricas
● Competencias tecnológicas
1. Identificar, formular y resolver problemas de ingeniería.
2. Concebir, diseñar y desarrollar proyectos de ingeniería.
3. Gestionar, planificar, ejecutar y controlar proyectos de ingeniería.
4. Utilizar de manera efectiva las técnicas y herramientas de aplicación en la
ingeniería.

● Competencias sociales, políticas y actitudinales


5. Desempeñarse de manera efectiva en equipos de trabajo.
6. Comunicarse con efectividad.
7. Actuar con ética, responsabilidad profesional y compromiso social, considerando el
impacto económico, social y ambiental de su actividad en el contexto local y global.
8. Aprender en forma continua y autónoma.
9. Actuar con espíritu emprendedor.
10. Capacidad de análisis y síntesis.
11. Toma de decisiones.
12. Razonamiento crítico.

Específicas
PROGRAMA ANALÍTICO

Pág. 4 de 8

● Capacidad de resolución de problemas aplicando conocimientos de matemáticas,


ciencias e ingeniería.
● Tener capacidad para realizar la formalización y especificación de problemas reales
cuya solución requiere el uso de la informática.
● Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma
robusta, segura y eficiente, eligiendo las estructuras de control más adecuadas,
administrando de forma forma eficiente los recursos disponibles.

Programa analítico [Agregar una fila por cada unidad temática]


Unidad 1 Arrays
Arrays unidimensionales. Concepto de puntero. Aritmética de Punteros.
Manejo de arrays unidimensionales con diferentes notaciones. Arrays
numéricos. Cadenas. Funciones de biblioteca.
Arrays multidimensionales. Manejo de arrays multidimensionales con
diferentes notaciones. Uso de arrays.
Unidad 2 Tipos de memorias
Tipos de memoria. Memoria de pila. Memoria Heap.
Manejo de memoria en tiempo de ejecución. Ventajas y desventajas de
cada tipo de memoria.
Unidad 3 Pasaje de parámetros
Concepto de pasaje de parámetros. Pasaje de parámetros por copia o
valor. Pasaje de parámetros por dirección. Punteros a variables.
Punteros a funciones. Funciones de biblioteca de ordenamiento y
búsqueda. Creación de funciones independientes del tipo de dato.
Concepto de funciones map, filter y reduce. Argumentos en el main.
Unidad 4 Tipo de Dato Abstracto (TDA)
Concepto de Tipo de Dato Abstracto. Creación e implementación de un
TDA. Diferencia entre TDA y estructuras de datos.
Unidad 5 Persistencia de memoria
Archivos binarios y de texto, su creación, modos de acceso,
posicionamiento, cierre, eliminación, y funciones relacionadas. Creación
de archivos como lotes de prueba. Merge o apareo de archivos.
Unidad 6 Introducción a la Recursividad
Concepto de recursión. Estructura de funciones recursivas. Diferencias
entre recursividad e Iteración.

Planificación de actividades [15/16 semanas dependiendo del calendario académico


universitario – UNLaM]
Semana Clas Actividad Tipo Duración Unida
e [Detalle de la actividad a desarrollar] [indicar el estimad d
tipo de a /des
actividad a
desarrollar:
teoría,
PROGRAMA ANALÍTICO

Pág. 5 de 8

práctica,
práctica de
laboratorio,
trabajo de
campo,
otra]
Semana 1 Presentación de los docentes del Teoría - 4 hs 3
1 curso, breve explicación de las pautas Práctica en
generales de la materia. laboratorio
Breve repaso de conceptos adquiridos o virtual
en “Programación Estructurada sincrónico
Básica”. Trabajar en forma modular.
Creación de funciones. Pasaje de
parámetros por copia o valor.
Semana 2 Breve explicación de cómo trabajar Teoría - 4 hs 1-3
2 con proyectos y cómo Práctica en
documentar. Edición, compilación, laboratorio
depuración y ejecución de programas, o virtual
pautas de trabajo en laboratorio. sincrónico
Arrays unidimensionales. Concepto
de puntero. Aritmética de punteros.
Relación entre punteros y vectores.
Arrays numéricos. Uso de punteros y
aritmética de punteros en lugar del
uso de índices para arrays
unidimensionales. Pasaje de
parámetros por dirección. Variables
dimensionadas como parámetros.
Presentación del trabajo práctico.
Semana 3 Arrays de caracteres. Uso de punteros Teoría - 4 hs 1
3 y aritmética de punteros en lugar del Práctica en
uso de índices para arrays de laboratorio
caracteres. Funciones de conversión. o virtual
Revisión de funciones de biblioteca, sincrónico
reemplazo de las mismas por
versiones propias. Estrategias para
buscar, contar, etc. palabras en una
cadena. Estrategia para resolver una
función que permite 'normalizar' una
cadena de caracteres.
Semana 4 Arrays Multidimensionales. Teoría - 4 hs 1
4 Ejemplificación del uso de arrays Práctica en
bidimensionales. Arrays de punteros. laboratorio
Aritmética de punteros en lugar del o virtual
uso de índices para arrays sincrónico
bidimensionales. Punteros a
punteros.
Desarrollar funciones sobre matrices.
PROGRAMA ANALÍTICO

Pág. 6 de 8

Recorridos y procesamiento de arrays


de más de una dimensión.
Argumentos a main.
Semana 5 Tipos de memorias. Gestión de Teoría - 4 hs 2
5 memoria dinámica, funciones de Práctica en
solicitud y devolución de memoria. laboratorio
Ejemplificación. Creación de arrays en o virtual
tiempo de ejecución. Memoria de sincrónico
Pila. Memoria heap.
Semana 6 Punteros a funciones. Concepto de Teoría - 4 hs 3
6 punteros a función. Definición de Práctica en
punteros a función. Uso de punteros a laboratorio
función. Función de ordenamiento. o virtual
Desarrollo de funciones propias que sincrónico
permitan ordenar vectores de
cualquier tipo de dato, utilizando
diferentes métodos de
ordenamiento. Desarrollo de
funciones independientes del tipo de
dato.
Semana 7 Estructuras de datos. Punteros a Teoría - 4 hs 5
7 estructuras de datos. Práctica en
Concepto de archivo. Tipos de laboratorio
archivos. Archivos binarios y de texto, o virtual
modos de apertura. Archivos binarios. sincrónico
Acceso secuencial. Ejemplificación.
Desarrollo de funciones genéricas
para operar sobre archivos.
Semana 8 Actualización masiva de archivos Teoría - 4 hs 3-5
8 binarios. Búsqueda de un registro por Práctica en
su clave o por su posición relativa laboratorio
dentro del archivo y actualización del o virtual
mismo. Desarrollo de funciones sincrónico
genéricas para operar sobre archivos.
Semana 9 Archivos de texto. Archivos de texto Teoría - 4 hs 3-5
9 de longitud fija y variable. Convertir Práctica en
información de archivos de texto en laboratorio
binarios y viceversa. o virtual
Ejercitación sobre conversión de sincrónico
archivos.
Semana 10 Proceso de merge. Creación de Teoría - 4 hs 3-5
10 archivos como lotes de prueba. Práctica en
Ejercitación sobre archivos de laboratorio
diferentes tipos. o virtual
sincrónico
Semana 11 Presentación del concepto de TDA. Teoría - 4 hs 4
11 Conveniencia de trabajar con tipos Práctica en
abstractos de datos. Diferencia entre laboratorio
PROGRAMA ANALÍTICO

Pág. 7 de 8

estructura de datos y TDA. o virtual


Presentación del TDA fecha. Breve sincrónico
explicación de cómo documentar.
Armado de un proyecto, pruebas de
las distintas operaciones.
Semana 12 Ejercitación sobre todos los temas Teoría - 4 hs 1 - 2 -3
12 vistos hasta el momento. Consultas Práctica en - 4 -5
sobre el trabajo práctico. laboratorio
o virtual
sincrónico
Semana 13 Parcial 1 Teoría - 4 hs 1 - 2 -3
13 Entrega trabajo práctico Práctica en - 4 -5
laboratorio
o virtual
sincrónico
Semana 14 Devolución parcial 1. Teoría - 4 hs 6
14 Defensa del TP. Práctica en
laboratorio
Introducción a la recursividad. o virtual
Concepto. Elementos característicos sincrónico
de las funciones recursivas. Ventajas
y desventajas de implementaciones
recursivas vs. iterativas.
Semana 15 Recuperatorio Parcial 1 Teoría - 4 hs 1 - 2 -3
15 Defensa del TP. Práctica en - 4 -5 -
laboratorio 6
o virtual
sincrónico
Semana 16 Entrega de notas finales. Teoría - 4 hs 1 - 2 -3
16 Defensa trabajo práctico Práctica en - 4 -5 -
laboratorio 6
o virtual
sincrónico

Evaluación
Descripción del proceso evaluativo desarrollado por la cátedra
El proceso de evaluación consta de:
● un examen parcial presencial
● un trabajo práctico grupal. La aprobación del trabajo práctico conlleva la
aprobación del código entregado y una defensa oral individual del mismo.
● un examen recuperatorio presencial.
Las evaluaciones podrán ser teórico - prácticas. o únicamente prácticas o teóricas.
PROGRAMA ANALÍTICO

Pág. 8 de 8

Las evaluaciones teóricas constan de preguntas para desarrollar y/o preguntas del tipo
opción múltiple y/o verdadero / falso, justificando la respuesta o no.
Las evaluaciones prácticas constan de la resolución de ejercicios en máquina. Desarrollando
el código necesario para resolver el problema solicitado y el lote de pruebas
correspondiente.

Primera evaluación Semana 13 teórico - práctica 4 hs


Aprobación TP Grupal A partir de la semana 13 teórico - práctica 4 hs
Recuperatorio Semana 15 teórico - práctica 4 hs

Bibliografía obligatoria [Disponibles en la Biblioteca Leopoldo Marechal, o con acceso


digital]
Titulo Autor Editorial Edició Año
n
El Lenguaje de Programación C Kernighan y Ritchie Prentice Hall 2.ed. 1991
Cómo Programar en C / C++ Deitel y Deitel Prentice Hall 2a. ed. c1994
Apuntes de cátedra Docentes de la cátedra

Bibliografía complementaria recomendada ([disponible en la Biblioteca Leopoldo


Marechal, o con acceso digital]
Titulo Autor Editorial Edició Año
n

Otros recursos obligatorios [Videos, enlaces, otros. Incluir una fila por cada recurso]
Nombre

Otros recursos complementarios [Videos, enlaces, otros. Incluir una fila por cada recurso]
Nombre
https://pythontutor.com/c.ht Permite visualizar en el navegador lo que la computadora está haciendo
ml#mode=edit paso a paso mientras ejecuta un programa.
https://loom.wecode.io Plataforma para realizar revisión entre pares

También podría gustarte