* Utiliza transistores . Los transistores reemplazaron a los tubos de vacío como componente electrónico principal. Los transistores son más pequeños, más rápidos y más confiables que los tubos de vacío y consumen menos energía. Esto permitió que las computadoras se volvieran más pequeñas, más rápidas y más baratas de operar.
* Lenguaje ensamblador . El lenguaje ensamblador es un lenguaje de programación de bajo nivel diseñado para una arquitectura de computadora específica. El lenguaje ensamblador no era tan fácil de usar como los lenguajes de programación de alto nivel, pero daba a los programadores más control sobre la computadora.
* Memoria de núcleo magnético . Se utilizó memoria de núcleo magnético para almacenar datos y programas. La memoria de núcleo magnético está formada por pequeños núcleos magnéticos, que están hechos de un material que puede magnetizarse en dirección positiva o negativa. Esto permitió que los datos se almacenaran en formato binario.
* Dispositivos de entrada/salida . Para comunicarse con la computadora se utilizaron dispositivos de entrada/salida como teclados, impresoras y unidades de cinta magnética.
* Procesamiento por lotes . El procesamiento por lotes era la forma principal de ejecutar programas. Con el procesamiento por lotes, se enviaba un grupo de programas a la computadora a la vez y ésta los procesaba en orden.
* **Las computadoras de segunda generación incluyen IBM 709, IBM 1401, IBM 1620, CDC 1604, UNIVAC LARC.