Informática: Ciencia, Sistemas y
Desarrollo de Software
Introducción
La Informática (o Ciencia de la Computación) es la disciplina que estudia métodos, procesos,
técnicas y desarrollos en el tratamiento automático de la información, haciendo uso de
sistemas computacionales. Esta abarca la teoría, el diseño, la implementación y la aplicación
de sistemas de información.
I. Arquitectura y Componentes Fundamentales
Para entender la Informática, es crucial conocer sus componentes físicos (Hardware) y
lógicos (Software).
A. Hardware
El hardware es la parte física de un sistema informático.
1. Unidad Central de Procesamiento ($\text{CPU}$): El "cerebro" de la computadora,
responsable de ejecutar instrucciones.
2. Memoria:
○ $\text{RAM}$ (Memoria de Acceso Aleatorio): Almacenamiento temporal y
volátil para programas en ejecución.
○ $\text{ROM}$ (Memoria de Solo Lectura): Almacenamiento permanente para el
software de arranque (BIOS/UEFI).
3. Dispositivos de Almacenamiento: Almacenamiento persistente de datos (Discos
Duros $\text{HDD}$, Unidades de Estado Sólido $\text{SSD}$).
4. Periféricos: Dispositivos de entrada (teclado, ratón) y salida (monitor, impresora).
B. Software
El software es el conjunto de programas y datos que hacen funcionar el hardware.
1. Software de Sistema: Administra los recursos del hardware y proporciona una
plataforma para el software de aplicación (e.g., Sistemas Operativos como Windows,
macOS, Linux).
2. Software de Aplicación: Programas diseñados para realizar tareas específicas para el
usuario (e.g., navegadores web, procesadores de texto, juegos).
II. Fundamentos de la Programación (Desarrollo de
Software)
Esta sección se centra en la parte lógica del diseño y la creación de programas.
A. Algoritmos y Estructuras de Datos
● Algoritmo: Un conjunto finito y ordenado de pasos lógicos y no ambiguos que
resuelven un problema.
● Estructuras de Datos: Métodos eficientes para organizar y almacenar datos (e.g.,
Arrays, Listas, Árboles, Grafos).
B. Conceptos de Lenguaje
● Variables y Tipos de Datos: Espacios de memoria con nombre y la naturaleza del valor
que almacenan (entero, booleano, cadena).
● Control de Flujo: Define el orden de ejecución de las instrucciones (estructuras
condicionales como if-else y bucles como for/while).
C. Paradigmas de Programación
1. Programación Imperativa: Se centra en cómo el programa debe ejecutar la tarea,
especificando una secuencia de pasos (e.g., C, Pascal).
2. Programación Orientada a Objetos ($\text{POO}$): Organiza el código alrededor de
objetos que agrupan datos (atributos) y comportamiento (métodos). Pilares:
Encapsulamiento, Herencia, Polimorfismo (e.g., Java, Python).
3. Programación Funcional: Trata la computación como la evaluación de funciones
matemáticas, evitando cambios de estado (e.g., Haskell, Lisp).
III. El Ciclo de Desarrollo de Software ($\text{SDLC}$)
El $\text{SDLC}$ (Software Development Life Cycle) es el marco que rige la producción de
software de calidad:
Fase Descripción
1. Planificación Definición de requisitos, alcance y viabilidad
del proyecto.
2. Diseño Creación de la arquitectura del software,
modelos de datos y diagramas de clases.
3. Implementación Codificación del software utilizando el
lenguaje de programación elegido.
4. Pruebas ($\text{Testing}$) Verificación sistemática para encontrar errores
y asegurar el cumplimiento de requisitos.
5. Despliegue Puesta en producción del software.
6. Mantenimiento Corrección de errores, adaptaciones y adición
de nuevas funcionalidades post-lanzamiento.
IV. Redes y Conectividad
Las redes permiten la comunicación e intercambio de recursos entre sistemas informáticos.
A. Modelos de Red
● Modelo $\text{OSI}$: Marco conceptual de 7 capas que estandariza las funciones de
comunicación.
● Modelo $\text{TCP}/\text{IP}$: Protocolos utilizados en Internet, divididos en 4 o 5
capas (e.g., $\text{HTTP}$, $\text{FTP}$).
B. Direccionamiento y Topología
● $\text{IP}$ (Protocolo de Internet): Dirección única asignada a cada dispositivo en una
red.
● $\text{DNS}$ (Sistema de Nombres de Dominio): Traduce nombres de dominio
legibles (e.g., [Link] a direcciones $\text{IP}$
numéricas.
● Topología: La disposición física o lógica de la red (e.g., Bus, Estrella, Anillo).
V. Tendencias Actuales de la Informática
1. Inteligencia Artificial ($\text{IA}$) y Aprendizaje Automático ($\text{ML}$):
Creación de sistemas que pueden aprender de los datos y tomar decisiones (Lenguajes
clave: Python).
2. Computación en la Nube ($\text{Cloud Computing}$): Suministro de servicios
informáticos (servidores, almacenamiento, bases de datos, redes) a través de Internet
(e.g., $\text{AWS}$, Azure, Google Cloud).
3. Ciberseguridad: La práctica de proteger sistemas, redes y programas de ataques
digitales maliciosos.
4. $\text{DevOps}$: Un conjunto de prácticas que combina el desarrollo de software
($\text{Dev}$) y las operaciones de $\text{IT}$ ($\text{Ops}$) para acortar el ciclo de
desarrollo de sistemas.