This repository contains all of the projects done for Holberton School's Low Level Programming track. All of the projects are written in C. The projects follow a styling guide provided for students lovingly known as Betty. All projects are created to run on Ubuntu 14.04 and compiled with the command gcc -Wall -Wextra -Werror -pedantic
.
For information on Holberton School look here.
- 0x00-hello_world: Project for learning how to compile C projects on a Linux machine, as well as some basic C program files.
- 0x01-variables_if_else_while: Project introducing variables, if/else statements, and while loops.
- 0x02-functions_nested_loops: Project introducing the creation of functions and nested loops.
- 0x03-more_functions_nested_loops: Project with more advanced usage of functions and nested loops.
- 0x04-pointers_array_strings: Project introducing concepts of strings, arrays, and pointers.
- 0x05-pointers_array_strings: Project detailing more on strings, arrays, and pointers.
- 0x06-pointers_array_strings: Project detailing even more on strings, arrays, and pointers.
- 0x07-recursion: Project introducing the concept of recursive functions.
- 0x08-static_libraries: Project introducing the concept of static libraries and their use.
- 0x09-argc_argv: Project introducing how to pass arguments to your program's main function from the command line.
- 0x0A-malloc_free: Project introducing manual memory management.
- 0x0B-more_malloc_free: Project with more advanced cases of manual memory management.
- 0x0C-preprocessor: Project introducing usage of macros in C.
- 0x0D-structures_typedef: Project introducing the concept of structs and typedef.
- 0x0E-function_pointers: Project introducing the concept of function pointers.
- 0x0F-variadic_functions: Project introducing the concept of variadic functions (functions that take a variable number of arguments).
- 0x11-singly_linked_lists: Project introducing the concept of singly linked lists.
- 0x12-more_singly_linked_lists: Project with more advanced uses of singly linked lists.
- 0x13-bit_manipulation: Project introducing bitwise operators.
- 0x14-file_io: Project introducing opening, reading, and writing files from a program.
- 0x16-doubly_linked_lists: Project introducing doubly linked lists.
- 0x17-dynamic_libraries: Project introducing dynamic libraries and how to use them.
- 0x19-hash_tables: Project working with and creating hash tables.
- 0x1A-sorting_algorithms: Project focusing on some basic sorting algorithms.
- 0x1B-makefiles: Project introducing makefiles and their uses.
- 0x1C-binary_trees: Project introducing the idea of a binary tree.
- 0x1D-search_algorithms: Project introducing different search algorithms.
- 0x1E-huffman_rb_trees: Project introducing Huffman and Red-Black trees.
Below are some of the other bigger projects that I have worked on.
A recreation of a very simple Linux shell
A recreation of the C standard library function printf
A basic clone of the AirBnB website written in Python
A SMS Docker Container Management System (2nd place at a Docker Hackathon 2017)
A simple 3D maze written in C using SDL2 and ray casting for graphics
Corbin Coleman <[email protected]> @CorbinMColeman