Documentos de Académico
Documentos de Profesional
Documentos de Cultura
informática
http://www.arduino.cc/
Software propietario vs libre/abierto
◼ Software propietario: se adquiere “enlatado” sin
posibilidad de personalizar. El uso legal requiere de
licencias. Es es un delito copiar y distribuir este
software ya que cuenta con Copyright . Por ejemplo:
Windows, Word, Internet Explorer
◼ Software libre: ofrece al usuario cuatro libertades
libertad de uso, de estudio y modificación, de
distribución, y de redistribución de las mejoras.
Existen licencias que las garantizan y que dan una
cobertura legal como por ejemplo la GPL. Derechos
copyleft. Ejemplo: Linux, Firefox, LibreOffice
Un poco de historia….
Ábaco: la primera
máquina de calcular
Calculadora de Pascal
(1642)
Computadoras IBM (1954)* Disco rígido 5Mb (1956)
Internet de las
Cosas
Objetivo: analizar y resolver problemas
◼ La palabra ciencia se relaciona con una metodología
fundamentada y racional para el estudio y resolución
de los problemas.
◼ Entonces, la resolución de problemas mediante un
dispositivo tecnológico consiste en dar una adecuada
formulación de pasos precisos a seguir.
no se resume únicamente en la escritura de
un programa, sino que se trata de una tarea
más compleja. El proceso abarca varias
etapas que van desde interpretar las
necesidades del usuario hasta verificar que
la respuesta brindada es correcta.
Etapas
◼ Análisis del problema: se analiza el problema en el
contexto del mundo real y también el objetivo a resolver.
Dos componentes importantes de este modelo son los
datos a utilizar y las transformaciones de los mismos que
llevan al objetivo.
◼ Diseño de una solución : puede ser una tarea compleja a
realizar por partes (subproblemas) para llegar al objetivo
general. Cada subproblema puede tener su propio objetivo.
La integración de las soluciones de los subproblemas es lo
que permitirá obtener la solución buscada.
◼ Especificación de algoritmos: La solución de cada
subproblema debe ser especificada a través de un
algoritmo es decir, lograr la secuencia de pasos a seguir
para resolver el problema y lograr una solución eficiente.
◼ Escritura de programas: Un algoritmo es una
especificación que debe convertirse en un programa real
sobre un lenguaje de programación concreto. A su vez, un
programa escrito en un lenguaje de programación
determinado (ej: Pascal, C) es traducido automáticamente
al lenguaje de máquina de la computadora que lo va a
ejecutar. Esta traducción, denominada compilación,
permite detectar y corregir los errores sintácticos que se
cometan en la escritura del programa.
◼ Verificación: Una vez que se tiene un programa escrito en
un lenguaje de programación se debe verificar que su
ejecución produce el resultado deseado, utilizando datos
representativos del problema real.
◼ La facilidad de verificación y la depuración de errores de
funcionamiento del programa conducen a una mejor
calidad del sistema y es un objetivo central de la Ingeniería
de Software.
◼ En cada una de las etapas vistas se pueden detectar errores
lo cual lleva a revisar aspectos de la solución analizados
previamente.
Algoritmos
◼ Método para resolver problemas.
◼ Instrucciones especificas
Cada problema se puede descomponer en una
secuencia de pasos a seguir para lograr el objetivo.
Pseudocódigo: Descripción en lenguaje natural de los
pasos a seguir para resolver una situación problemática
FIN
Trabajo práctico
Escribir la secuencia de pasos para resolver estas
situaciones
◼ Grupo 1: Subir una escalera
◼ Grupo 2: Hacer una llamada telefónica
◼ Grupo 3: Prender una notebook
◼ Grupo 4: Colgar un cuadro en la pared
◼ Grupo 5: Vestirse para asistir a la Facultad
◼ Grupo 6: Extraer dinero de un cajero automático
Datos, sistemas de
numeración y lenguajes
Datos
37
Instrucciones
Codificación
100101
Sistemas de numeración
◼ Conjunto de símbolos y reglas que se utilizan para la
representación de datos numéricos o cantidades.
◼ Se caracteriza fundamentalmente por su base, que es el
número de símbolos distintos que utiliza, y además es el
coeficiente que determina cuál es el valor de cada símbolo
dependiendo de la posición que ocupe.
◼ Los sistemas de numeración actuales son sistemas
posicionales, en los que el valor relativo que representa
cada símbolo o cifra de una determinada cantidad depende
de su valor absoluto y de la posición relativa que ocupa
dicha cifra con respecto a la coma decimal.
Sistemas de numeración
Sistema Decimal
◼ El sistema que ha usado el hombre para contar.
◼ Es uno de los sistemas posicionales, que utiliza un
conjunto de 10 símbolos. (0 a 9)
◼ Base 10.
Sistemas de numeración
Sistema Hexadecimal
◼ Es un sistema posicional que utiliza dieciséis símbolos
para la representación de cantidades. Estos símbolos
son los siguientes:
0123456789ABCDEF
donde las letras A, B, C, D, E, F equivalen a 10, 11, 12, 13,
14 y 15 del sistema decimal respectivamente.
Sistemas de numeración
Sistema Binario
Es el sistema de numeración que utiliza internamente
el hardware de las computadoras actuales. La base o
número de símbolos que utiliza el sistema binario es 2,
siendo los símbolos 0 y 1.
Unidades de medidas
◼ Bit: acrónimo de Binary Digit. (valores posibles 0
y 1)
◼ Byte es la agrupación de 8 bits. Puede representar
cualquier dato con un valor máximo de
almacenamiento de 256. Ese valor se relaciona con
el código ASCII.
◼ El código ASCII incluye todos los caracteres
validos dentro del computador, desde las letras en
minúsculas, mayúsculas, números y otros
caracteres especiales.
Tabla ASCII
Valor posicional
◼ Un bit tiene un valor de acuerdo a su
posición.
Repasamos las medidas…
Considerar
Almacenamiento= bytes
Transmisión/procesamiento=bits
Lenguajes
Para la resolución de un problema informático
(resumido):
◼ Pseudocódigo
◼ Estructura (secuencial, condicional, etc)
◼ Lenguaje de programación= código fuente. Se compila
o interpreta para que la computadora pueda ejecutarlo
◼ Lenguaje máquina: es el lenguaje que puede ejecutar
una computadora. Especifico para cada arquitectura
siendo un código que es interpretado directamente
por el microprocesador. Secuencia de 1 y 0
Lenguajes
◼ Un lenguaje de programación contiene un conjunto finito
y preciso de instrucciones utilizables para especificar la
solución buscada.
Debe estar formado por un número de instrucciones
finito.
Debe ser completo, es decir que todas las acciones de
interés deben poder expresarse con dicho conjunto de
instrucciones.
Cada instrucción debe tener un significado (efecto)
preciso.
Cada instrucción debe escribirse de modo único
respetando la estructura del lenguaje elegido.
Lenguajes
◼ de Alto Nivel: usados para expresar algoritmos de
una manera adecuada a la capacidad
cognitiva humana (programador). Ejemplos: Pascal,
Java, PHP, C, Ruby, Python, Ajax, Perl, etc.
◼ Dinámicos
◼ Comportamiento
Elementos
• Emisor
• Receptor
• Canal de transmisión
• Datos (señales)
Ejemplos
IP: 200.3.115.8
URL: www.fcad.uner.edu.ar
Un mundo de protocolos
▪ Protocolo: conjunto de reglas y requisitos que permite organizar la
comunicación entre partes. Comunicación dentro de la PC,
comunicación entre sistemas, entre computadoras, etc.
▪ Ejemplo protocolos de red:
▪ IP: Protocolo Internet
Garantizar:
Confidencialidad: la información en un computador o que
circula por la red es accesible solo a los entes autorizados
Integridad: los recursos del computador o la información
circulante son modificados (escribir, cambiar datos o estado,
suprimir, crear) solo por entes autorizados
Disponibilidad: los recursos del computador están
disponibles a los entes autorizados
Código malicioso
Se define como todo programa o fragmento del mismo que genera
algún tipo de problema en el sistema en el cual se ejecuta,
interfiriendo de esta forma con el normal funcionamiento del
mismo. Existen diferentes tipos de código malicioso:
Bombas lógicas: Se encuentran diseñados para activarse ante
la ocurrencia de un evento definido en su lógica.
Troyanos: Suele propagarse como parte de programas de uso
común y se activan cuando los mismos se ejecutan.
Gusanos: Tienen el poder de autoduplicarse causando efectos
diversos.
Virus: se distribuyen por cualquier medio
Delitos informáticos
Se define como toda acción u omisión culpable
realizada por un ser humano, que cause un perjuicio a
personas sin que necesariamente se beneficie el autor
o que, por el contrario, produzca un beneficio ilícito a
su autor aunque no perjudique de forma directa o
indirecta a la víctima, que se realiza en el entorno
informático y está sancionado con una pena
Marco legal vigente
Ley 24.766 de Confidencialidad (30/12/96)
Ley 24.769 Penal Tributaria (15/01/97)
Ley 25.036 Propiedad Intelectual (15/11/98)
Ley 25.236 Habeas Data (02/11/00)
Ley 25.506 Firma Digital (14/12/01)
Ley 25.520 Inteligencia Nacional (06/12/01)
Ley 25.873 Nacional de Telecomunicaciones
(09/02/04)
Ley 25.891 Servicio de Comunicaciones Móviles
(25/05/04)
Ley 26.388- Código Penal (Junio de 2008)
Internet y Ética- RFC 1087
Determina: que es inmoral e inaceptable cualquier
actividad que a propósito trate de:
Obtener acceso no autorizado a recursos de internet
Alterar el destino/uso de la red
Generar mal uso de los recursos como consecuencia de
esas acciones
Destruir/atentar contra la integridad de la información
Poner en peligro la privacidad de los usuarios
3.131.268 incidentes
informáticos registrados
en el Estado y empresas
Argentina (2017) se
crean:
• un esquema de
ciberdefensa para el
área militar,
•una estructura de
ciberseguridad,
Programa Nacional de
Robo de identidad Infraestructuras
Robo de datos Críticas
Grooming (acoso a menores) •CERT Nacional
Ciberbullying
Ciberseguridad
64
Recomendaciones mínimas
Mantener actualizado el sistema operativo y las
aplicaciones (descargar solo desde sitios de confianza)
Utilizar contraseñas fuertes para todos los accesos y
aplicaciones
Instalar y mantener actualizado el antivirus
Navegación web segura (validar los sitios)
Protección del correo electrónico (no responder ni
abrir archivos de remitentes desconocidos)
65
Recomendaciones para redes sociales
No publicar información sensible y confidencial.
Evitar la publicación de fotografías propias y de
familiares. Las fotografías pueden ser utilizadas
para complementar actos delictivos, incluso fuera
del ámbito informático.
En lo posible mantener la privacidad del perfil
No responder las solicitudes de desconocidos, ya
que pueden contener códigos maliciosos o pueden
formar parte de actividades delictivas.
Cambiar periódicamente la contraseña
66
Contenidos curriculares de:
Arquitectura de Computadoras, Sistemas Operativos,
Bases de datos, Comunicaciones y Redes, Seguridad y
Control de Sistemas, Ética y Deontología Profesional.
Seguridad: contenido transversal en la mayoría de las
asignaturas del Plan de Estudios