0% encontró este documento útil (0 votos)
38 vistas5 páginas

Programa de Programación I en IA

Cargado por

Manu Lazarte
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)
38 vistas5 páginas

Programa de Programación I en IA

Cargado por

Manu Lazarte
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

Programa de

PROGRAMACIÓN I
Código: IA 1.4

Identificación y características de la Actividad Curricular

Carrera: Tecnicatura Universitaria en Inteligencia Artificial


Plan de Estudios: 2021 Carácter: Obligatoria
Bloque: Ciencias y Tecnologías Básicas
Régimen de cursado: cuatrimestral
Cuatrimestre: 1°
Carga horaria: 64 hs / 4 hs semanales

Programa Sintético

Tipos de datos, variables, operaciones básicas de entrada y salida, operadores básicos.


Valores booleanos, ejecución condicional, bucles, listas y procesamiento de listas,
operaciones lógicas y bit a bit. Funciones, tuplas, diccionarios y procesamiento de datos.
Módulos, paquetes, cadenas, métodos de listas y excepciones. Enfoque Orientado a
Objetos: clases, métodos, objetos y sus características estándar: manejo de
excepciones y manejo de archivos. Desarrollo integral de proyecto de programación.

Asignaturas Relacionadas

Previas: -
Simultáneas Recomendadas: IA1.3 Entorno de Programación
Posteriores: IA2.2 Programación II - IA3.5 Redes de Datos

Objetivos

● Presentar los conceptos fundamentales de la programación como herramienta


para la resolución de problemas.
● Conocer y saber emplear un lenguaje de programación de alto nivel.
● Comprender los aspectos principales del trabajo de programador, de manera
individual o como miembro de un equipo de programación.
● Incentivar el pensamiento abstracto para la construcción de soluciones,
apoyándose sobre bases matemáticas y lógicas.
● Resolver de manera eficaz diferentes tipos de problemas, de complejidad
variada, con independencia del lenguaje de programación utilizado.
● Motivar la adopción de buenas prácticas durante el desarrollo de los programas.
Contenido Temático

Unidad 1. PRELIMINARES.

1.1 Programación, definiciones

1.2 Concepto de Algoritmo

1.3 Lenguajes de programación, diferentes paradigmas y categorías

1.4 Sintaxis y semántica de un lenguaje de programación

1.5 Compilación e Interpretación de código

1.6 Escritura de un primer programa y ejecución

1.7 Estrategias algorítmicas: Divide y vencerás, reducción, desarrollo iterativo

1.8 Comentarios y palabras reservadas.

1.9 Documentación de programas, aspectos básicos.

Unidad 2. REPRESENTACIÓN DE DATOS. OPERADORES Y EXPRESIONES.

2.1 Tipos de datos, rango de valores y límites

2.2 Declaraciones de variables, nomenclatura

2.3 Números, enteros, flotantes y complejos

2.4 Strings (texto) y operadores relacionados

2.5 Booleanos y bits. Operadores

2.6 Selección adecuada de tipos de datos para representación

2.7 Operadores, precedencia, asociatividad y aridad.

2.8 Operadores de asignación, aritméticos, relacionales, lógicos

2.9 Funciones para entrada y salida de datos, formato

Unidad 3. EJECUCIÓN CONDICIONAL.

3.1 Sentencia if-else

3.2 Condiciones simples y compuestas

3.3 Anidamiento

3.4 Buenas prácticas

Unidad 4. CONSTRUCCIONES ITERATIVAS.

4.1 Concepto de bucle

4.2 Sentencia for

4.3 Sentencia while

4.4 Anidamiento
4.5 Condiciones y errores comunes

4.6 Control: break, pass y continue

Unidad 5. VECTORES, LISTAS, TUPLAS Y DICCIONARIOS.

5.1 Declaración y uso de listas

5.2 Declaración y uso de tuplas

5.3 Declaración y uso de vectores

5.4 Declaración y uso de diccionarios

5.5 Operadores y funciones

5.6 Índices y slicing

5.7 Procesamiento de datos

Unidad 6. FUNCIONES.

6.1 Funciones integradas (built-in)

6.2 Declaración e invocación de funciones propias

6.3 Retorno y envío de valores

6.4 Argumentos, parámetros, valor y referencia

6.5 Argumentos indeterminados: args y kwargs.

6.6 Funciones lambda

6.7 Números aleatorios

Unidad 7. MODULARIZACIÓN.

7.1 Conceptos de módulo y paquete

7.2 Módulos estándar

7.3 Creación de módulos propios

7.4 Namespaces

7.5 Listado de contenidos de un módulo

7.6 Buenas prácticas

Unidad 8. ENFOQUE ORIENTADO A OBJETOS.

8.1 Descripción del concepto de clase

8.2 Atributos

8.3 Constructores y métodos, getters & setters

8.4 Objetos, creación/instanciación

8.5 Conceptos: Encapsulamiento, Herencia y Polimorfismo


Unidad 9. EXCEPCIONES.

9.1 Errores y excepciones

9.2 Tratamiento de excepciones

9.3 Lanzamiento de excepciones

9.4 Desarrollo de excepciones propias

Unidad 10. GESTIÓN DE ARCHIVOS.

10.1 Persistencia de datos

10.2 Apertura de archivos. Modos de apertura

10.3 Posicionamiento (seek)

10.4 Excepciones comunes

Unidad 11. PROYECTO FINAL.

11.1 Análisis de requerimientos

11.2 Prototipado

11.3 Documentación

11.4 Desarrollo siguiendo buenas prácticas

11.5 Presentación formal del proyecto

Evaluación

La evaluación de la materia se lleva a cabo mediante el desarrollo, entrega y


presentación de un trabajo práctico, donde se evalúa que el alumno haya conseguido
dominar los aspectos fundamentales de la programación, demuestre un empleo
adecuado de los elementos y construcciones del lenguaje de programación y desarrolle
un documentación con los detalles y lineamientos solicitados.
El Proyecto Final trata de la resolución de un problema de una dimensión y complejidad
que permita evaluar los conocimientos adquiridos.
Se introduce al alumno en el proceso completo del desarrollo de una solución, iniciando
por el análisis de requerimientos, planteando uno o más diseños que puedan ser
validados con el docente. Posteriormente debe realizar la implementación y
documentación, los cuales deben ser consistentes entre sí. Por último deberá realizar la
oposición de la solución demostrando cómo la misma satisface los requerimientos y
brindando comentarios u observaciones sobre mejoras funcionales o complementos que
puedan agregarse.
Distribución de la carga horaria

Unidad Carga Dedicación fuera de


Temática horaria clases

1 4 2

2 6 4

3 7 4

4 7 4

5 6 3

6 8 4

7 5 4

8 7 5

9 4 3

10 4 3

11 6 12

Total 64 48

Bibliografía básica

● Programming Languages Academy (2020). Python para Principiantes: 2 Libros

en 1: Programación de Python para principiantes + Libro de trabajo de Python.

● Lutz, M. (2013). Learning Python, 5th Edition.

● Downey, A. B. (2016). Think Python: How to Think Like a Computer Scientist.

Bibliografía complementaria

● Severance, C. R. (2020). Python para Todos: Explorando la información con

Python 3

● Sweigart, A. (2019). Automate the Boring Stuff with Python, 2nd Edition:

Practical Programming for Total Beginners.

También podría gustarte