Low-level programming & Algorithm

Module of Low-level programming and algorithm, carried out during Full Stack Software Engineering studies at [ALX].

Technologies

  • Scripts written in Vi Editor
  • C files are compiled using gcc 4.8.4
  • C files are written according to the C90 standard
  • Tested on Ubuntu 20.04 LTS

Projects

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 It 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