El Cómputo En Los Cursos De La Facultad De Ciencias, UNAM

El Cómputo En Los Cursos De La Facultad De Ciencias, UNAM

El Cómputo en los Cursos de la Facultad de Ciencias, UNAM Antonio Carrillo Ledesma y Karla Ivonne González Rosas Facultad de Ciencias, UNAM http://academicos.fciencias.unam.mx/antoniocarrillo Una copia de este trabajo se puede descargar de la página: https://sites.google.com/ciencias.unam.mx/acl/en-desarrollo Con…namiento 2020-2021, Versión 1.0 1 1El presente trabajo está licenciado bajo un esquema Creative Commons Atribución CompartirIgual (CC-BY-SA) 4.0 Internacional. Los textos que compo- nen el presente trabajo se publican bajo formas de licenciamiento que permiten la copia, la redistribución y la realización de obras derivadas siempre y cuando éstas se distribuyan bajo las mismas licencias libres y se cite la fuente. ¡Copiaeste libro! ... Compartir no es delito. El Cómputo en los Cursos de la Facultad de Ciencias, UNAM Índice 1 Introducción 7 1.1 Software Propietario y Libre ................... 7 1.1.1 Software Propietario ................... 8 1.1.2 Software Libre ....................... 9 1.2 El Cómputo en las Carreras de Ciencias ............ 11 1.2.1 Algunos Cursos que Usan Cómputo ........... 14 1.3 Paquetes de Cómputo de Uso Común .............. 17 1.3.1 Sistemas Operativos ................... 21 1.3.2 Paquetes de Cálculo Numérico .............. 21 1.3.3 Paquetes de Cálculo Simbólico .............. 22 1.3.4 Paquetes Estadísticos ................... 23 1.3.5 Paquetes O…máticos ................... 24 1.3.6 Lenguajes de Programación y Entornos de Desarrollo . 24 1.3.7 Otros Programas de Cómputo .............. 24 1.4 Sobre los Ejemplos de este Trabajo ............... 25 1.5 Agradecimientos .......................... 25 2 Sistemas Operativos 26 2.1 Windows .............................. 43 2.2 UNIX y BSD ........................... 49 2.3 Mac OS y macOS Big Sur 11 .................. 51 2.4 GNU/Linux ............................ 53 2.5 Android .............................. 62 2.6 Chromebook y Chrome OS .................... 65 2.7 Otros Sistemas Operativos .................... 68 3 Paquetes de Cálculo Numérico 73 3.1 MATLAB ............................. 76 3.2 Octave ............................... 77 3.3 FreeMat .............................. 77 3.4 Scilab ............................... 79 3.5 Julia ................................ 80 3.6 Scipy ................................ 82 3.7 Ventajas, Desventajas y Carencias ................ 83 3.8 Desde la Nube ........................... 86 [email protected] 1 Antonio Carrillo Ledesma, Et alii El Cómputo en los Cursos de la Facultad de Ciencias, UNAM 4 Paquetes de Cálculo Simbólico 88 4.1 Mathematica ........................... 91 4.2 Maple ............................... 95 4.3 Maxima .............................. 97 4.4 Ventajas, Desventajas y Carencias ................ 99 4.5 Desde la Nube ........................... 100 5 Paquetes Estadísticos 101 5.1 SPSS ................................ 103 5.2 R .................................. 104 5.3 SAS ................................ 104 5.4 Ventajas, Desventajas y Carencias ................ 106 5.5 Desde la Nube ........................... 107 6 Paquetes O…máticos 108 6.1 Hojas de Cálculo ......................... 109 6.2 Bases de Datos .......................... 111 6.3 Herramientas de Presentación y Multimedia .......... 113 6.4 Procesamiento de Imágenes ................... 114 6.5 Procesamiento de Textos ..................... 115 6.6 Desde la Nube ........................... 117 7 Lenguajes de Programación 118 7.1 Conceptos Transversales ..................... 127 7.2 Algo de Programación ...................... 134 7.3 Introducción a los Paradigmas de Programación ........ 146 7.4 Errores de Redondeo y de Aritmética en la Programación .. 155 7.5 Trabajando con Punto Flotante ................. 166 7.6 Documentación del Código Fuente ................ 175 7.6.1 Documentar en C, C++ y Java ............. 176 7.6.2 Documentar en Python .................. 185 8 Entornos de Desarrollo y Herramientas de Programación 189 8.1 Java ................................ 191 8.2 C y C++ ............................. 199 8.3 Fortran ............................... 206 8.4 Python ............................... 211 8.5 Herramientas de Programación ................. 227 [email protected] 2 Antonio Carrillo Ledesma, Et alii El Cómputo en los Cursos de la Facultad de Ciencias, UNAM 8.5.1 ¿Qué es eso de ASCII, ISO-8859-1 y UTF-8? ..... 233 8.5.2 Uso de Espacios o Tabuladores en Fuentes ....... 237 8.5.3 Comparar Contenido de Fuentes ............. 239 8.5.4 Astyle ........................... 239 8.5.5 Compilación y la Optimización del Ejecutable ..... 241 8.5.6 Análisis de Rendimiento y Depuración ......... 246 8.5.7 Mejora del Rendimiento en Python ........... 250 8.5.8 Git ............................. 256 8.5.9 Otras opciones ...................... 274 8.6 Programando Desde la Nube ................... 276 9 Bases de Datos 280 9.1 Clasi…cación ............................ 280 9.2 ¿Qué son las bases de datos SQL? ................ 282 9.2.1 Lenguaje de de…nición de datos (DDL) ......... 284 9.2.2 Lenguaje de manipulación de datos DML ........ 285 9.3 ¿Qué son las bases de datos NoSQL? .............. 294 9.3.1 SQL en comparación con NoSQL ............ 298 9.3.2 SQL en comparación con Terminología NoSQL ..... 300 9.4 Programando en Diferentes Manejadores de Bases de Datos .. 305 9.4.1 MySQL y MariaDB .................... 306 9.4.2 PostgreSQL ........................ 309 9.4.3 SQLite ........................... 312 9.4.4 MongoDB ......................... 314 9.5 Programando desde la Web ................... 317 9.5.1 MySQL y MariaDB .................... 317 9.5.2 PostgreSQL ........................ 318 9.5.3 SQLite ........................... 319 9.5.4 MongoDB ......................... 320 10 Otros Programas de Cómputo 323 10.1 Otros Programas Matemáticos .................. 323 10.2 Programas de Visualización y Gra…cación ............ 324 10.3 Navegadores Web ......................... 326 10.4 Compresores y Descompresores de Archivos .......... 327 10.5 Virtualización ........................... 329 10.6 Desde la Nube ........................... 330 [email protected] 3 Antonio Carrillo Ledesma, Et alii El Cómputo en los Cursos de la Facultad de Ciencias, UNAM 11 Seguridad, Privacidad y Vigilancia 331 11.1 Amenazas a la Ciberseguridad .................. 345 11.2 Recomendaciones de Ciberseguridad ............... 350 11.2.1 Contraseñas Robustas .................. 351 11.2.2 Encriptar Discos o Archivos ............... 353 11.2.3 Sistema Operativo .................... 357 11.2.4 Máquinas Virtuales .................... 360 11.2.5 Navegación Segura .................... 362 11.2.6 Banca en Línea Segura .................. 365 11.2.7 Uso Seguro de las Herramientas de la Nube ...... 366 11.2.8 Teléfonos Inteligentes y Tabletas ............. 367 11.2.9 Redes Sociales ....................... 370 11.2.10 Videoconferencias ..................... 375 11.2.11 Seguridad de la Red ................... 377 11.2.12 Ataques con Técnicas de Inteligencia Social ...... 382 11.3 Meltdown, Spectre y lo que se Acumule ............. 383 11.4 Distribuciones de Linux «Seguras y para Penetración» .... 390 12 Consideraciones y Comentarios Finales 398 12.1 Integración del Cómputo en las Carreras de Ciencias ..... 399 12.2 Ventajas, Desventajas y Carencias del Software Libre ..... 400 12.3 Comentarios Finales ....................... 401 13 Apéndice A: Cómputo en Instituciones Educativas 404 14 Apéndice B: Software Libre y Propietario 408 14.1 Software Libre ........................... 408 14.1.1 Tipos de Licencias .................... 411 14.2 Software Propietario ....................... 418 14.3 Implicaciones Económico-Políticas del Software Libre ..... 419 14.4 Nuevas Licencias para Responder a Nuevas Necesidades .... 423 14.5 La Nube y el Código Abierto ................... 424 15 Apéndice C: El Sistema GNU/Linux 428 15.1 Sistema de Archivos y Estructura de Directorios ........ 433 15.2 Interfaz de Usuario ........................ 444 15.2.1 Interfaz Grá…ca de Usuario ................ 445 15.2.2 Línea de Comandos y Órdenes .............. 449 [email protected] 4 Antonio Carrillo Ledesma, Et alii El Cómputo en los Cursos de la Facultad de Ciencias, UNAM 15.3 Trabajando en Línea de Comandos ............... 456 15.4 Desde la Nube ........................... 491 16 Apéndice D: Programación Orientada a Objetos Java vs Python495 16.1 Ejemplo de Clases Java vs Python ................ 495 16.2 Atributos de Objetos ....................... 497 16.3 Métodos y Funciones ....................... 508 16.4 Herencia y Polimor…smo ..................... 509 16.5 Re‡exión .............................. 518 17 Apéndice E: Máquinas Virtuales 523 17.1 Tipos de Máquinas Virtuales ................... 524 17.2 Técnicas de Virtualización .................... 525 17.3 Otras Formas de Virtualización ................. 526 17.4 Aplicaciones de las Máquinas Virtuales de Sistema ....... 528 17.5 Ventajas y Desventajas ...................... 529 17.5.1 Ventajas .......................... 530 17.5.2 Desventajas ........................ 532 17.5.3 Consideraciones Técnicas y Legales de la Virtualización 533 17.6 Máquinas Virtuales en la Educación, Ciencias e Ingeniería .. 534 17.7 ¿Qué Necesito para Crear y Usar una Máquina Virtual? .... 536 17.8 ¿Cómo Funciona una Máquina Virtual? ............. 539 17.9 Aplicaciones y Paquetes Disponibles ............... 540 17.10Acceso a Datos Desde una Máquina Virtual .......... 546 17.11Desde la Nube ..........................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    595 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us