Programación y Computación

Contenidos Curriculares (en construcción, se indica material base)

Bloque 1. Representación digital de la información

Sociedad del Conocimiento. Papel de la Computación en la innovación tecnológica actual. Impacto social y económico de la Computación en nuestro mundo. Representación binaria de la información: el bit, el byte. Almacenamiento, transmisión y tratamiento básico de la información en binario: números, texto, imágenes, ficheros. Representación hexadecimal. 

Criterios de evaluación 1. Describir el impacto de la computación en la sociedad y los aspectos positivos y negativos del mismo. CD, CSC, CED. 2. Explicar cómo la computación afecta a la innovación en otras disciplinas y posibilita la comunicación, la interacción y el conocimiento. CCL, CD, SIEP. 3. Describir la variedad de mecanismos de abstracción empleados para representar datos. CMCT, CD, CAA. 4. Explicar cómo se representan los datos digitalmente en forma de secuencias binarias. CD, CMCT, CCL. 


Bloque 2. Programación. 

Lenguajes de programación: Estructura de un programa informático y elementos básicos del lenguaje. Tipos de lenguajes. Tipos básicos de datos. Constantes y variables. Operadores y expresiones. Comentarios. Estructuras de control. Condicionales e iterativas. Profundizando en un lenguaje de programación: Estructuras de datos. Funciones y bibliotecas de funciones. Reutilización de código. Facilidades para la entrada y salida de datos de usuario. Manipulación de archivos. Orientación a objetos: Clases, objetos y constructores. Herencia. Subclases y superclases. Polimorfismo y sobrecarga. Encapsulamiento y ocultación. Bibliotecas de clases. Metodologías de desarrollo de software: Enfoque Top-Down, fragmentación de problemas y algoritmos. Pseudocódigo y diagramas de flujo. Depuración. Entornos de desarrollo integrado. Ciclo de vida del software. Análisis, Diseño, Programación y Pruebas. Trabajo en equipo y mejora continua. Control de versiones. 


Criterios de evaluación 1. Descomponer problemas complejos en otros más simples, e idear modelos abstractos de los mismos y algoritmos que permiten implementar una solución computacional. CMCT, CD. 2. Identificar, elegir y operar adecuadamente los diferentes tipos de datos en el programa. CMCT, CD. 3. Escribir programas, convenientemente estructurados y comentados, que recogen y procesan la información procedente de diferentes fuentes y generan la correspondiente salida. CMCT, CD, CCL. 4. Escribir programas que instancian y usan objetos de clases propias y ajenas, y utilizan bibliotecas de funciones u objetos. CMCT, CD. 5. Identificar y aplicar los principales pasos del ciclo de vida de una aplicación, trabajando de forma colaborativa en equipos de desarrollo. CMCT, CD, SIEP, CSC. 6. Aplicar la creatividad al proceso de desarrollo de software, transformando ideas en aplicaciones. CD, CED, # $ #  7. Elegir y utilizar IDE, depuradores y herramientas de control de versiones de código. CMCT, CD, SIEP. 8. Diseñar y probar programas propios o ajenos, elaborando la correspondiente documentación. CMCT, CD, SIEP, CCL. 


Bloque 3. Datos e Información. 

Almacenamiento de la información: Ficheros. Bases de datos relacionales. Sistemas gestores de bases de datos. Diseño conceptual. Diagramas entidad-relación. Normalización hasta 3FN. Definición y manipulación. Comandos básicos de SQL: create, insert, delete, select, update. Big data: Volumen y variedad de datos. Datos estructurados, no estructurados y semiestructurados. Introducción a las bases de datos NoSQL. Recogida y almacenamiento. Seguridad y privacidad. Extracción y limpieza. Análisis y visualización. 


Criterios de evaluación 1. Describir los sistemas lógicos de almacenamiento y sus características básicas. CD, CCL. 2. Diseñar, crear y manipular una base de datos relacional sencilla, utilizando comandos básicos de SQL. CD, CMCT, CAA. 3. Conocer las posibilidades de las bases de datos para el manejo de grandes cantidades de información. CMCT, CSC, CD. 4. Recoger, almacenar y procesar datos para encontrar patrones, descubrir conexiones, y resolver problemas. CMCT, CD, CAA, SIEP. 5. Emplear herramientas de análisis y visualización para obtener información y conocimiento. CD, CAA, CSC, SIEP. 6. Describir los aspectos relacionados con la seguridad y privacidad en la gestión de datos. CD, CSC, CMCT. 


Bloque 4. Internet. Diseño: Organización y estructura. 

Modelo TCP/IP. Direccionamiento IP. Funcionamiento: Enrutamiento. Modelo cliente/servidor. Protocolo de Control de las Transmisiones (TCP). Sistema de Nombres de Dominio (DNS). Protocolo de Transferencia de Hipertexto (HTTP). Seguridad: Ciberseguridad. Criptografía. Cifrado de clave pública. Ciberseguridad en el mundo real, Hacking. Desarrollo web: Lenguaje de marcas de hipertexto (HTML), estructura, etiquetas y atributos, formularios, multimedia y gráficos. Hoja de estilo en cascada (CSS), diseño adaptativo y plantillas. Herramientas de diseño web. Visión general de los lenguajes de scripts. Introducción a la programación en entorno servidor. Acceso a bases de datos. 


Criterios de evaluación 1. Explicar la estructura y características de Internet como una red de sistemas autónomos que facilita la comunicación global. CMCT, CD, CSC. 2. Identificar los componentes básicos de Internet y los mecanismos de abstracción que permiten su funcionamiento. CMCT, CD, CAA. 3. Explicar los principios de seguridad en Internet basados en la criptografía, el cifrado y las técnicas de autenticación, así como identificar amenazas y riesgos de seguridad. CMCT, CD, CSC. 4. Utilizar los lenguajes de marcado y presentación para la elaboración de páginas web. CMCT, CD, CCL. 5. Emplear herramientas de diseño web, utilizando plantillas, teniendo en cuenta aspectos relativos al diseño adaptativo. CD, SIEP, CED. 6. Diseñar, programar y probar una aplicación web sencilla con acceso a una base de datos, mediante un lenguaje de script en el entorno servidor. CMCT, CD, CAA, SIEP. 


Bloque 5. Computación física

Robótica. Programación de dispositivos inteligentes. Características principales de los robots: cuerpo, control y comportamiento. Microcontroladores, entrada/salida, sensores, actuadores, RFID. El Internet de las Cosas: Aplicaciones. De la casa inteligente a la ciudad Inteligente. % & ' ( ) & ' * + , ) ) - . / 0 . 1 ' 2 3 1. 


Criterios de evaluación 1.Identificar qué criterios determinan si un dispositivo es un robot o no. CSC, CD. 2. Describir los principios de funcionamiento de Internet de las Cosas. CMCT, CD, CAA. 3. Diseñar, programar y probar una aplicación que lea datos de un sensor, los procese, y como resultado, ejecute un actuador. CMCT, CD, CED