Low Level &
Algorithms

Low Level & Algorithms

Low Level & Algorithms

Throughout this program, you will extend your knowledge of the C programming language, dig deeper into the Linux operating system. You will also be challenged with advanced data structures and algorithms, and you will uncover all the mechanisms behind the blockchain technology by building your own basic cryptocurrency, from scratch.

A lo largo de este programa, ampliarás tu conocimiento del lenguaje de programación C y profundizarás en el sistema operativo Linux. También enfrentarás el desafío de estructuras de datos y algoritmos avanzados, y descubrirás todos los mecanismos detrás de la tecnología blockchain al construir tu propia criptomoneda básica, desde cero.

Holberton's System Programming and Blockchain program will equip you to be well-versed in C, Linux kernel (signal, thread, file stream, IPC, ELF, etc.), advanced trees, graph, pathfinding, cryptography, block mining, blockchain, and more.

El programa de programación de sistemas y cadena de bloques de Holberton te equipará para estar bien versado en C, kernel de Linux (señal, hilo, flujo de archivos, IPC, ELF, etc.),”advanced trees”, gráficos, búsqueda de rutas, criptografía, minería de bloques, cadena de bloques y más.

This specialization builds a solid foundation for students who aim to become capable, well rounded Software Engineers who are as comfortable programming a blockchain as they are developing on embedded systems and self-driving cars.

Esta especialización construye una base sólida para los estudiantes que aspiran a convertirse en ingenieros de software completos y capaces que se sientan tan cómodos programando una cadena de bloques como desarrollando en sistemas integrados y automóviles autónomos.

Typical job titles could include: Software engineer, embedded system programmer, SRE, Junior Blockchain engineer.

Los títulos de trabajo típicos podrían incluir: ingeniero de software, programador de sistemas integrados, SRE, ingeniero junior de blockchain.

The last sprint is dedicated to building a personal web project on the technology of a student's choice.

El último sprint está dedicado a construir un proyecto web personal sobre la tecnología elegida por el estudiante.

Examples of Projects

Ejemplos de Proyectos

  • Create your own advanced Shell and ls program

  • Crea tu propio programa avanzado de Shell y ls

  • Create your own Malloc

  • Crea tu propio Malloc

  • Build your own web server in C

  • Construye tu propio servidor web en C

  • Advanced algorithm design

  • Diseño de algoritmos avanzados

  • Blockchain implementation in C

  • Implementación de blockchain en C

Low Level & Algorithms Overview

Descripción general de Low Level & Algoritmos

Curriculum
Low Level & Algorithms

Currículum
Low Level & Algoritmos

Graduate
Graduado
04




4th Sprint
4to Trimestre

  • Unix file management
  • Gestión de archivos Unix
  • Static variables
  • Variables estáticas
  • User inputs
  • Entradas de usuario
  • Create your own advanced Shell
  • Crea tu propio Shell avanzado
  • /proc filesystem
  • /proc sistema de archivos
  • ELF - readelf
  • ELF - readelf
  • ×86 Assembly
  • ×86 Assembly
  • Signals
  • Señales
  • Red-Black trees
  • Árboles Rojo-Negros






05




5th Sprint
5to Trimestre

  • ELF - nm/objdump
  • ELF - nm/objdump
  • CPython
  • CPython
  • Strace
  • Strace
  • Multithreading
  • Multihilo
  • Advanced memory allocation
  • Asignación de memoria avanzada
  • Graphs
  • Gráficos
  • Huffman coding
  • Codificación de Huffman






06




6th Sprint
6to Trimestre

  • Sockets
  • Enchufes
  • N-ary trees
  • Árboles n-arios
  • Blockchain - Crypto
  • Blockchain - Crypto
  • Blockchain - Data structures
  • Blockchain - Estructuras de datos
  • Blockchain - Block mining
  • Blockchain - Minería de bloques
  • Blockchain - Transactions
  • Blockchain - Transacciones
  • Blockchain - CLI
  • Blockchain - CLI
  • Learning project of your choice
  • Proyecto de aprendizaje de su elección