Skip to content

bekalue/alx-low_level_programming

Repository files navigation

-----------------------------------------------------

ALX LOW LEVEL PROGRAMMING

3 month study path.

Objective

  • Understand low level programming language like C and Unix system work or “what is going on under the hood”
  • Understand and Apply data structures and algorithims.
Project Description
0x00. C - Hello, World Introduction into the 4 steps of GCC compilation
0x01. C - Variables, if, else, while First C programs using loops and conditionals
0x02. C - Functions, nested loops Simple functions and multilayer looping
0x03. C - Debugging Practice (manual) debugging, methodologies
0x04. C - More functions, more nested loops Drawing on 2D planes with nested loops
0x05. C - Pointers, arrays and strings Implementation of basic string standard library functions with pointers
0x06. C - More pointers, arrays and strings Deep dive into pointer arithmetric and more string manipulation
0x07. C - Even more pointers, arrays and strings Double pointers and multidimensional arrays
0x08. C - Recursion Best practices with recursion in C
0x09. C - Static libraries Creation of static libraries
0x0A. C - argc, argv Programs that handle command line arguments
0x0B. C - malloc, free Introduction into memory management and valgrind
0x0C. C - More malloc, free Dynamic reallocation of memory using malloc
0x0D. C - Preprocessor Proper use of macros and headers
0x0E. C - Structures, typedef Implementation of structs in C
0x0F. C - Function pointers How to use function pointers to write more dynamic programs
0x10. C - Variadic functions Writing functions that can take a variable amount of arguments
0x11. C - printf Custom implementation of C's printf (midterm project)
0x12. C - Singly linked lists Creation and traversal of singly linked lists in C
0x13. C - More singly linked lists Node retrieval, insertion, deletion
0x14. C - Bit manipulation Use of bitwise operators in C programs
0x15. C - File I/O Open/read/write input/output streams
0x16. C - Simple Shell Custom Unix shell interpreter (final project)
0x17. C - Doubly linked lists Creation and traversal of doubly linked lists in C
0x18. C - Dynamic libraries Applications of dynamic libraries
0x19. C - Stacks, Queues - LIFO, FIFO Custom interpreter for Monty ByteCodes files using stacks/queues
0x1A. C - Hash tables Implementation of hash tables with djb2 algorithm
0x1B. C - Sorting algorithms & Big O Big O Notation and sorting algorithms
0X1C. C - Makefiles Makefile Requirements in C
0x1D. C - Binary trees Binary Trees, AVL Trees, Max Heaps
0x1E. C - Search Algorithms Linear, binary, jump, exponential and interpolation searches

Author