Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/05427.jsonl.gz/16

Los estudiantes deberían ser capaces de diseñar, programar y evaluar sistemas relativamente complejos, basados en computadora, que son modelos de problemas orientados a procesos en muchos temas y áreas de aplicación.
Los estudiantes deberían ser capaces de:
Los estudiantes deberían desarrollar habilidades para resolver problemas más complejos y sofisticados en muchas áreas de aplicación. Debe enfatizarse el modelado a través de la abstracción de datos (una técnica importante para mejorar la confianza y el uso continuado). Una atención específica debe darse a los algoritmos y estrategias para la simulación lineal avanzada, para las estructuras de datos no lineales, y para la implantación de las tipos abstractos de datos.
Esta unidad se extiende y se construye sobre la unidad GA1: Fundamentos de Programación y Desarrollo de Software. Los estudiantes resolverán problemas de complejidad creciente desde áreas de aplicación reales.
Análisis de problemas
Los estudiantes desarrollarán modelos para sistemas relativamente complejos orientados a procesos, usando estrategias de diseño, como la modelado a través de los tipos abstractos de datos. Analizarán sistemas para determinar los tipos de datos básicos y las funciones asociadas, las cuales son usadas por estos objetos en el sistema.
Diseño
Los estudiantes desarrollarán tipos abstractos de datos para objetos identificados, los cuales deben ser reutilizados en otros diseños que incluyen a los mismos objetos. Los estudiantes diseñarán una solución para el problema expresado en términos modulares, que manipule objetos de las tipos abstractos de datos solo a través de funciones identificadas. Asimismo, diseñarán una interfaz de usuario efectivo y conveniente.
Programación
Los estudiantes construirán estructuras de datos sofisticadas en forma lineal y de árbol para representar los tipos abstractos de datos, construyendo también las funciones necesarias para acceder a dichos datos en un lenguaje de programación de propósito general que soporte la ocultación y el encapsulamiento de la información, directamente o mediante la simulación de abstracciones de datos. Los estudiantes codificarán su diseño en el lenguaje de programación.
Realización
Los programas codificados serán realizados y ejecutados en el entorno de programación. Los estudiantes primero realizarán, comprobarán y verificarán la realización de los tipos abstractos de datos y, sólo entonces, introducirán el programa.
Evaluación
Los estudiantes determinarán el orden de los indicadores de magnitud para comparar los algoritmos y practicarán algunos métodos formales básicos de verificación de programas.
Enfoques alternativos
Siempre que se disponga de las TIempo, se diseñarán estrategias usando otros paradigmas de desarrollo, tales como la metodología orientada a objetos o la programación lógica, que puede explorarse si los recursos lo hacen posible.
Ingeniería del software.
Análisis
Diseño
Algoritmos
Evaluación
Elementos de los lenguajes de programación
Optativo
Recursos mínimos necesarios:
Recursos optativos
Fundamentos de programación y desarrollo de software (GA1)
El énfasis hay que ponerlo más bien sobre los conceptos, teorías y prácticas de la disciplina que sobre la sintaxis del lenguaje. Es aconsejable usar, si es posible, el mismo lenguaje de programación estructurado para ambas unidades. La unidad tiene un contenido tradicional establecido que se describe en muchos libros de texto avanzados sobre estructura de datos. Los profesores y los diseñadores del currículo deberían considerar utilizar la estructura de estos textos como base para sus subunidades y desarrollo del currículo.