Informática
CLASE-XII (Código N° 083)
Optativa para el año académico 2019-20 y obligatoria para el año académico 2020-21 en adelante
1. Prerrequisitos: Informática – Clase XI
2. Resultados del aprendizaje:
- Comprender el concepto de funciones y recursividad.
- Aprenda a crear y usar bibliotecas de Python.
- Aprenda el manejo de archivos.
- Aprende sobre el concepto de eficiencia en algoritmos y computación en general.
- Aprenda estructuras de datos básicas: listas, pilas y colas.
- Obtenga una comprensión básica de las redes informáticas: pila de red, hardware de red básico, protocolos básicos y herramientas básicas.
- Conecte un programa Python con una base de datos SQL y aprenda las funciones de agregación en SQL.
- Tener una comprensión clara de la ética cibernética y el delito cibernético. Comprender el valor de la tecnología en las sociedades, las cuestiones de género y discapacidad, y la tecnología detrás de las identificaciones biométricas.
3. Distribución de Marcas
UnitNo. Unit Name Marks 1. Programming and Computational Thinking–2 30 2. Computer Networks 15 3. Data Management–2 15 4. Society, Law and Ethics–2 10 5. Practicals 30 Total 100
4.1 Unidad 1: Programación y pensamiento computacional (PCT-2) (80 Teoría + 70 Práctica)
Revisión de los conceptos básicos de las
funciones de Python: alcance, paso de parámetros, propiedades mutables/inmutables de objetos de datos, paso de arrays a funciones, valores de retorno, funciones utilizando bibliotecas: matemáticas y funciones de string.
Manejo de archivos: abrir y cerrar un archivo, leer, escribir y agregar a un archivo, flujos de error, entrada y salida estándar, rutas relativas y absolutas.
Uso de bibliotecas de Python: crear e importar bibliotecas de Python
Recursión: algoritmos simples con recursión: factorial , números de Fibonacci ; recursividad en arreglos:búsqueda binaria
Idea de eficiencia: el rendimiento se define como inversamente proporcional al tiempo del reloj de pared, cuenta el número de operaciones que realiza una pieza de código y mide el tiempo que tarda un programa. Ejemplo: tome dos programas diferentes para el mismo problema y comprenda cómo el eficiente toma menos tiempo.
Visualización de datos mediante Pyplot: gráfico de líneas, gráfico circular y gráfico de barras.
Estructuras de datos: listas , pilas, cola .
4.2 Unidad 2: Redes de Computadores (CN) (30 Teoría + 10 Práctica)
Estructura de una red: Tipos de redes: área local y área amplia (web e internet) , nuevas tecnologías como nube e IoT , nube pública vs privada, redes alámbricas e inalámbricas ; concepto de cliente y servidor .
Dispositivos de red , como una NIC, un conmutador, un concentrador, un enrutador y un punto de acceso .
Pila de red: modulación de amplitud y frecuencia , colisión en redes inalámbricas , verificación de errores y la noción de una dirección MAC, idea principal de enrutamiento . Direcciones IP: ( v4 y v6 ), DNS y URL web, TCP: idea básica de retransmisión y modulación de velocidad cuando hay congestión (analogía a una red vial) , Protocolos: 2G, 3G, 4G, WiFi Qué hace un protocolo tiene un mayor ancho de banda?
Herramientas básicas de red: traceroute , ping , ipconfig, nslookup , whois, speed-test.
Capa de aplicación: HTTP (idea básica) , funcionamiento del correo electrónico , comunicación segura: cifrado y certificados (HTTPS), aplicaciones de red: escritorio remoto, inicio de sesión remoto, FTP , SCP, SSH, POP/IMAP, SMTP , VoIP, NFC .
4.3 Unidad 3: Gestión de datos (DM-2) (20 Teoría + 20 Práctica)
Escriba una aplicación web mínima basada en Django que analice una solicitud GET y POST, y escriba los campos en un archivo: archivo plano y archivo CSV.
Interfaz de Python con una base de datos
SQL Comandos SQL: funciones de agregación: agrupar por, tener, ordenar por .
4.4. Unidad 4: Sociedad, Derecho y Ética (SLE-2) (Teoría 10)
Derechos de propiedad intelectual, plagio, gestión de derechos digitales y licencias (Creative Commons, GPL y Apache), código abierto, datos abiertos, privacidad.
Leyes de privacidad, fraude; ciberdelincuencia: phishing, descargas ilegales , pornografía infantil, estafas; ciencia forense cibernética, Ley de TI, 2000.
Tecnología y sociedad: comprensión de los problemas sociales y los cambios culturales inducidos por la tecnología.
Gestión de residuos electrónicos: eliminación adecuada de aparatos electrónicos usados.
Robo de identidad, identificaciones únicas y biometría.
Cuestiones de género y discapacidad al enseñar y usar computadoras.
5. Práctico
S. No. | Nombre de la unidad | Marcas (Total=30) |
1. | Prueba de laboratorio (10 puntos) | |
Programa Python (60% lógica + 20% documentación + 20% calidad del código) |
7 | |
Pequeño programa de Python que envía una consulta SQL a una base de datos y muestra el resultado. Se puede proporcionar un programa stub. | 3 | |
2. | Informe Archivo + viva (9 puntos) | |
Archivo de informe: Mínimo 21 programas de Python. De estos, al menos 4 programas deberían enviar comandos SQL a una base de datos y recuperar el resultado; al menos 1 programa debe implementar el servidor web para escribir datos de usuario en un archivo CSV. |
7 | |
Viva voce (basado en el archivo del informe) | 3 | |
3. | Proyecto + viva (11 puntos) | |
Proyecto (que utiliza la mayoría de los conceptos aprendidos) | 8 | |
Proyecto Viva Voz | 3 |
Algunas tareas de laboratorio de muestra son las siguientes:
5.1. Programación en Python:
- Encuentre recursivamente el factorial de un número natural.
- Leer un archivo línea por línea e imprimirlo.
- Elimina todas las líneas que contienen el carácter `a’ en un archivo y escríbelo en otro archivo.
- Escribe una función de Python sin(x, n) para calcular el valor de sin(x) usando su expansión en serie de Taylor hasta n términos. Compare los valores de sin(x) para diferentes valores de n con el valor correcto
- Escribe un generador de números aleatorios que genere números aleatorios entre 1 y 6 (simula un dado).
- Escribe un código recursivo para encontrar la suma de todos los elementos de una lista.
- Escriba un código recursivo para calcular el n-ésimo número de Fibonacci.
- Escriba un programa de Python para implementar una pila y una cola utilizando una estructura de datos de lista .
- Escriba un programa Python recursivo para probar si una string es un palíndromo o no .
- Escriba un programa en Python para trazar la función y = x 2 utilizando las bibliotecas pyplot o matplotlib.
- Cree una aplicación gráfica que acepte entradas del usuario, realice alguna operación en ellas y luego escriba la salida en la pantalla. Por ejemplo, escribe una pequeña calculadora. Utilice la biblioteca tkinter.
- Abra una página web utilizando la biblioteca urllib.
- Calcule los EMI para un préstamo utilizando las bibliotecas numpy o scipy.
- Tome una muestra de 10 correos electrónicos de phishing y encuentre las palabras más comunes.
5.2. Gestión de datos: SQL y servidor web
- Encuentre el mínimo, el máximo, la suma y el promedio de las calificaciones en una tabla de calificaciones de los estudiantes.
- Encuentre el número total de clientes de cada país en la tabla (ID de cliente, nombre de cliente, país) usando agrupar por.
- Escriba una consulta SQL para ordenar la tabla (ID del estudiante, notas) en orden descendente de las notas.
- Integre SQL con Python importando el módulo MySQL
- Escriba un servidor web basado en Django para analizar una solicitud de usuario (POST) y escríbalo en un archivo CSV.
6. Proyecto
El objetivo del proyecto de clase es crear algo que sea tangible y útil. Esto debe hacerse en grupos de 2 a 3 estudiantes, y debe ser iniciado por los estudiantes al menos 6 meses antes de la fecha límite de presentación. El objetivo aquí es encontrar un problema del mundo real que valga la pena resolver. Se alienta a los estudiantes a visitar negocios locales y preguntarles sobre los problemas que enfrentan. Por ejemplo, si a una empresa le resulta difícil crear facturas para presentar reclamos de GST, los estudiantes pueden hacer un proyecto que tome los datos sin procesar (lista de transacciones), agrupe las transacciones por categoría, contabilice las tasas de impuestos de GST y cree facturas en el formato adecuado. Los estudiantes pueden ser extremadamente creativos aquí. Pueden usar una amplia variedad de bibliotecas de Python para crear aplicaciones fáciles de usar, como juegos, software para su escuela, software para sus compañeros discapacitados y aplicaciones móviles. Por supuesto, para hacer algunos de estos proyectos, se requiere un aprendizaje adicional; esto debe ser alentado. Los estudiantes deben saber cómo enseñarse a sí mismos. Si tres personas trabajan en un proyecto durante 6 meses, se esperan al menos 500 líneas de código. El comité también ha sido informado sobre el grado de plagio en dichos proyectos. Los maestros deben observar esta situación de manera muy estricta y tomar medidas disciplinarias muy estrictas contra los estudiantes que hacen trampa en las tareas o proyectos de laboratorio, o que usan software pirateado para hacer lo mismo. Todo lo que se propone se puede lograr utilizando un software de código abierto legítimo y absolutamente gratuito. esto debe ser alentado. Los estudiantes deben saber cómo enseñarse a sí mismos. Si tres personas trabajan en un proyecto durante 6 meses, se esperan al menos 500 líneas de código. El comité también ha sido informado sobre el grado de plagio en dichos proyectos. Los maestros deben observar esta situación de manera muy estricta y tomar medidas disciplinarias muy estrictas contra los estudiantes que hacen trampa en las tareas o proyectos de laboratorio, o que usan software pirateado para hacer lo mismo. Todo lo que se propone se puede lograr utilizando un software de código abierto legítimo y absolutamente gratuito. esto debe ser alentado. Los estudiantes deben saber cómo enseñarse a sí mismos. Si tres personas trabajan en un proyecto durante 6 meses, se esperan al menos 500 líneas de código. El comité también ha sido informado sobre el grado de plagio en dichos proyectos. Los maestros deben observar esta situación de manera muy estricta y tomar medidas disciplinarias muy estrictas contra los estudiantes que hacen trampa en las tareas o proyectos de laboratorio, o que usan software pirateado para hacer lo mismo. Todo lo que se propone se puede lograr utilizando un software de código abierto legítimo y absolutamente gratuito. y tomar medidas disciplinarias muy estrictas contra los estudiantes que hagan trampa en las tareas o proyectos de laboratorio, o que utilicen software pirateado para hacer lo mismo. Todo lo que se propone se puede lograr utilizando un software de código abierto legítimo y absolutamente gratuito. y tomar medidas disciplinarias muy estrictas contra los estudiantes que hagan trampa en las tareas o proyectos de laboratorio, o que utilicen software pirateado para hacer lo mismo. Todo lo que se propone se puede lograr utilizando un software de código abierto legítimo y absolutamente gratuito.
Publicación traducida automáticamente
Artículo escrito por aishwaryaagarwal2 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA