Module of Low-level programming and algorithm, carried out during Full Stack Software Engineering at ALX.
- Scripts written in Bash
- C files are compiled using
gcc 9.3.0
- C files are written according to the Betty Coding 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 |
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 |
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) |