Module of Low-level programming and algorithm, carried out during Full Stack Software Engineering studies at Holberton School. Technologies
Scripts written in Bash 4.3.11(1)
C files are compiled using gcc 4.8.4
C files are written according to the C90 standard
Tested on Ubuntu 20.04 LTS
All of the following folders are projects done during the studies:
| Project name | Description |
|---|---|
| 0x00-hello_world | #It aims to learn about what is entry point, basics commands (puts, printf, putchar), compilation process with gcc in C language |
| 0x01-variables_if_else_while | t aims to learn about arithmetic operators, relational operators, boolean operators, comments, declaring variables and loops in C language |
| 0x02-functions_nested_loops | It aims to learn about header files, functions, loops and nested loops in C language |
| 0x03-debugging | It aims to learn how to debug in C language |
| 0x04-more_functions_nested_loops | It aims to learn about nested loops in C language |
| 0x05-pointers_arrays_strings | It aims to learn about pointers and arrays in C language |
| 0x06-pointers_arrays_strings | It aims to learn about pointers and arrays in C language |
| 0x07-pointers_arrays_strings | It aims to learn about pointers and arrays in C language |
| 0x08-recursion | It aims to learn about recursion and how to implement it in C language |
| 0x09-static_libraries | It aims to learn about static libraries in C language |
| 0x0A-argc_argv | It aims to learn about how to use arguments passed to a program in C language |
| 0x0B-malloc_free | It aims to learn about automatic and dynamic allocation in C language |
| 0x0C-more_malloc_free | It aims to learn about how to use malloc, calloc, realloc and exit functions in C language |
| 0x0D-preprocessor | It aims to learn about how to include guard in the header files and macros in C language |
| 0x0E-structures_typedef | It aims to learn about structures and typedef in C language |
| 0x0F-function_pointers | It aims to learn about function pointers in C language |
| 0x10-variadic_functions | It aims to learn about variadic functions in C language |
| 0x12-singly_linked_lists | It aims to learn about linked lists in C language |
| 0x13-more_singly_linked_lists | It aims to learn about singly linked lists in C language |
| 0x14-bit_manipulation | It aims to learn about how to manipulate bits and use bitwise operators in C language |
| 0x15-file_io | It aims to learn about how to handle files (open, close, read and write), file descriptors, system calls and file permissions in C language |
| 0x17-doubly_linked_lists | It aims to learn about doubly linked list in C language |
| 0x18-dynamic_libraries | It aims to learn about dynamic and shared libraries in C language |
| 0x19-stacks_queues_lifo_fifo | Submodule of monty, an interpreter of Monty ByteCode files written with C language |
| 0x1A-hash_tables | It aims to learn how to implement Hash Tables with C language |
| 0x1B-sorting_algorithms | It aims to learn about sorting algorithms (bubble sort, insertion sort, selection sort, quick sort and so on) and Big O Notation in C language |
| 0x1C-makefiles | It aims to learn what are makefiles, when, why and how to use them (with variables, explicit and implicit rules) |
| 0x1D-binary_trees | It aims to learn about what is a binary tree, the different traversal methods to go through a binary tree and the different types of binary trees (complete, full, perfect and balanced) |