ALX-low_level_programming

Low Level Programming & Algorithms

Welcome

A low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture—commands or functions in the language map closely to processor instructions. Generally this refers to either machine code or assembly language. The word "low" refers to the small or nonexistent amount of abstraction between the language and machine language; because of this, low-level languages are sometimes described as being "close to the hardware". Programs written in low-level languages tend to be relatively non-portable

Table of Contents

About

At ALX, there are several sprints to become a full stack software engineer. One of those sprints is the low level programming track which covers the following:

  • Compilation
  • Commenting code and following a coding style standard
  • Variables, types, operators, expressions, loops, nested loops
  • Conditional statements
  • Functions
  • Pre-processor, macros, header files, pointers, double pointers, function pointers, pointer arithmetic
  • Makefiles
  • Sorting and search algorithms and more!

Requirements

  • Ubuntu 20.04 LTS
  • gcc (-Wall, -Werror, -Wextra, and -pedantic flags)

Projects

  1. 0x00-hello_world
  2. 0x01-variables_if_else_while
  3. 0x02-functions_nested_loops
  4. 0x03-debugging
  5. 0x04-more_functions_nested_loops
  6. 0x05-pointers_arrays_strings
  7. 0x06-pointers_arrays_strings
  8. 0x07-pointers_arrays_strings
  9. 0x08-recursion
  10. 0x09-static_libraries
  11. 0x0A-argc_argv
  12. 0x0B-malloc_free
  13. 0x0C-more_malloc_free
  14. 0x0D-preprocessor
  15. 0x0E-structures_typedef
  16. 0x0F-function_pointers
  17. 0x10-variadic_functions
  18. 0x12-singly_linked_lists
  19. 0x13-more_singly_linked_lists
  20. 0x14-bit_manipulation
  21. 0x15-file_io
  22. 0x17-doubly_linked_lists
  23. 0x18-dynamic_libraries
  24. 0x1A-hash_tables
  25. 0x1C-makefiles
  26. 0x1E-search_algorithms

Articles

Credits

Collaborators are acknowledged within each project