GithubHelp home page GithubHelp logo

erasmetat / holbertonschool-low_level_programming Goto Github PK

View Code? Open in Web Editor NEW

This project forked from byn3/holbertonschool-low_level_programming

0.0 0.0 0.0 744 KB

Subdirectories inside focus on C, Algorithms, and Data Structures. 98%+ of the code inside is written in C.

Shell 0.21% C 98.87% C++ 0.26% Assembly 0.16% Python 0.50%

holbertonschool-low_level_programming's Introduction

holbertonschool-low_level_programming

The C Programming Language

Introduction

Each directory contains the low level projects and code that I wrote during my time at Holberton. More detailed and specific READMEs are located in each folder. The focus of these projects were to master computer science concepts and to practice the theory behind C, algorithms, and basic data structures. There is info and trivia questions that I go over in each directory.

Capstone Projects

I wrote my own printf function with Nicole Swanson. This project had restrictions regarding the use of several functions and libraries, so my partner and I had to write our own functions that behaved similar to their standard counterparts. All of these files had to compile and work together to function as a printf substitute. This project challenged us when we were learning about string manipulation and memory management.

This project was created by Jinzi Zhang and I. It is a simple version of the sh shell. All the outputs and exit statuses should return the same as sh's. This project focused on memory, sys calls, and pointers to pointers. Like the project above, there were limitations

Description of Each Directory


Directory Description
0x00-hello_world The basics of C, standard I/O and the compiling process. Link to a blog post included
0x01-variables_if_else_while More scripts that manipulate the preprocesser of gcc for specific outputs. Another blog post link is included. The focus was mainly on conditions and logic
0x02-functions_nested_loops Loops in loops in loops. Some fibonnaci problems.
0x03-more_functions_nested_loops More loops and in depth
0x04-pointers_arrays_strings Recreate basic built-in functions of the string.h library
0x05-pointers_arrays_strings More practice with pointers, arrays, and strings
0x06-pointers_arrays_strings Even more projects that reinforced the concepts
0x07-recursion Recursion problems, scripts, and projects
0x08-static_libraries Working with and creating my own static libraries. Blog post included
0x09-argc_argv Programs that deal with arguments. No more int main(void)
0x0A-malloc_free Learned memory allocation and valgrind
0x0B-more_malloc_free Extra functions that deal with memory management
0x0C-preprocessor Problem set that focused on headers, MACROS, and abusing the preprocessor
0x0D-structures_typedef Project that introcuded me to C structures and freeing all their attributes
0x0E-function_pointers Projects that go over manipulating pointers, derefrencing, and memory addresses
0x0F-variadic_functions Infinite possible arguments... va_stuff projects
0x10-holberton_printf Project 10 was the capstone printf project
0x11-singly_linked_lists Linked list versus arrays. Building and using linked lists
0x12-more_singly_linked_lists Higher difficulty projects that dealt with strutures and singly linked lists
0x13-bit_manipulation Bitwise manipulation scripts and functions
0x14-file_io File input and output descriptors, system calls, permissions
0x15-holberton_shell Project 15 was the capstone shell project
0x16-doubly_linked_lists Doubly linked lists and manipulation of them
0x17-dynamic_libraries Understanding dynamic libraries and a blog post on Linkedin
0x18-stacks_queues_lifo_fifo Used submodules and worked with stacks and queues
0x19-hash_tables Hash tables and functions
0x1A-sorting_algorithms Practiced sorting algorithms and Big O
0x1B-makefiles Project used to understand Makefiles and their primary uses
0x1C-binary_trees Learned binary trees and concepts
0x1D-search_algorithms Review search algorithms and big O

Technologies Used

  • Language: Bash, C90
  • Operating System: Ubuntu 14.04 LTS (Trusty64)
  • Style: Holberton Betty
  • Compiler: gcc 4.8.4 with flags -Wall -Werror -Wextra -Wpedantic
  • Version Control: Git

Social Media

Linkedin

Twitter: @bynleung

holbertonschool-low_level_programming's People

Contributors

byn3 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.