Coder Social home page Coder Social logo

alx-low_level_programming's Introduction

Low Level Programming :octocat:

Each folder in this repository illustrates an essential concept of programming, specific to the C programming language. The file names reference the concepts (i.e. pointers, recursion, malloc, free, structures, function pointers, variadic functions, linked lists, etc) Inside these folders are files containing bash scripts and functions around that particular concept. Some functions are re-creations of functions found in the C standard libraries (i.e. _strcpy, _strlen, etc).

Environment

  • Language: C
  • OS: Ubuntu 14.04 LTS
  • Compiler: gcc 4.8.4
  • Style guidelines: Betty style

Low Level Programming in C

The low level curriculum focuses on the understanding of how programming languages and UNIX systems work - "what is going on under the hood." This allows you to optimize and debug your programs. The curriculum focuses on algorithms and data structures.

Projects

Project Description
0x00-hello_world Intro to C, GCC compilation, and the Implementation of main & print functions
0x01-variables_if_else_while Loops and Conditionals: if, else, while and boolean & arithmetic operators
0x02-functions_nested_loops The use of Functions & Nested Loops and Implementation of Header Files and Variable Scoping
0x03-debugging Intro to Debugging: read error messages and handle them
0x04-more_functions_nested_loops Understand 2D planes with nested loops & Understand the difference between defining a function vs declaring a function
0x05-pointers_arrays_strings The use of String Standard Library functions with pointers: pointers vs. arrays
0x06-pointers_arrays_strings String Manipulation
0x07-pointers_arrays_strings Multidimensional arrays with double pointers: change, traverse, and search for strings
0x08-recursion Recursion in C and implementing best practice by using math functions and string manipulation
0x09-static_libraries Create your own Static Library and its usage
0x0A-argc_argv Command line arguments and its implementation
0x0B-malloc_free Intro to Memory Management and the use of Valgrind, & the use of malloc function to concatonate strings
0x0C-more_malloc_free Management of memory & Implementation of Valgrind
0x0D-preprocessor The use of Macros for readable constants & implementation of headers
0x0E-structures_typedef The use of structs in C with their functionality
0x0F-function_pointers Function Pointers & its use in Dynamic Programming
0x10-variadic_functions Functions that can pass a variable amount of arguments
0x12-singly_linked_lists Introduction to data structures and singly linked lists & Implementation in string manipulation
0x13-more_singly_linked_lists Nodes: How to Retrieve, Insert, and Delete
0x14-bit_manipulation Bitwise Operators & Its implementation in the bitwise values of a number

Author

Imane J.

Email me on [email protected]

Follow me on Linkedin

WHEN to Contribute?

You are always welcome to contribute.

HOW to Contribute?

  • Fork this repository.
  • Do your desired changes.
  • Make a pull request.

alx-low_level_programming's People

Contributors

pie972 avatar

Watchers

 avatar

Forkers

gakiik

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.