Skip to content
@dezashibi-c

C Projects By @dezashibi

C Projects by @dezashibi (Navid Dezashibi)

Hey all 👋 This organization is dedicated to showcasing my skills in C programming and serving as an educational resource for those interested in learning C.

About

I am Navid Dezashibi, a passionate C programmer. This organization contains a collection of my C projects, demonstrating a range of programming concepts, from basic syntax to advanced algorithms and data structures. Each project is well-documented and includes examples and explanations to aid understanding.

I would be glad to hear your opinions and also cooperate in your company project if you need help, don't hesitate to contact me.

Objectives

  • Skill Demonstration: Highlight my proficiency in C programming through various projects. Also demonstrations of repository management, problem solving, patches, etc by simulating real-life situations. Most of these also have been reflected in the readme files of the repos to show knowledge management and keeping lesson learned materials.
  • Educational Resource: Provide a comprehensive code base for beginners and enthusiasts to learn and reference.
  • Collaboration: Encourage contributions and collaboration from other C developers and learners.

My Coding Style

👉 You can find out about my coding style here.

Naming Conventions

When browsing repositories here you can follow these conventions to understand the category of the repository:

  • b-... means the portfolio project demonstrates beginner friendly concepts, the goal is to use most aspect of C programming as much as possible.
  • i-... means the portfolio project demonstrates intermediate level of programming, might be a toy project or just code examples, these codes are mostly focused on algorithms.
  • a-... means the portfolio project is an advanced topic, might be a fully working project or just some code examples.
  • <no prefix>... projects without prefixes are personal projects and code bases that I might work on for the sake of learning, re-implementing, creativity and/or my needs.

Portfolio Projects

Beginner

  1. Hello World: Getting started with C programming and learn all the basics.
  2. Calculator in C: A cli based calulator with ability to load data from file.

Intermediate

  1. Prime Number and Palindrome String Checker: checks if a given string is a palindrome then if the string is also an integer number will checks if the given number is a prime number, too.
  2. Matrix Multiplication: reads matrices data from the given file and prints the result of multiplying them after checking the multiplication possibility.
  3. Task Manager (todo list) using Linked List: This application will manage a list of tasks, allowing users to add, remove, display, save, and load tasks from a file.
  4. Conway's Game of Life in C: It is designed to be as simple as it can and works on Windows and Linux/Mac without problem.
  5. Directory Search: Using Multi-threading and directory traversing in a cross platform way.

Advanced

  1. Portable Binary File Serialization in C: Ensuring Cross-Platform Data Integrity: A simple guide and example code for creating portable binary files in C, addressing architecture-specific challenges like endianness and data alignment.
  2. Understanding SIMD: A Boost for C Programs: Brief description of what this project entails.
  3. Producer/Consumer vs. Publisher/Subscriber in C: An examination of the producer-consumer and publish-subscribe patterns, their implementations using in C, and their key differences and applications.
  4. Lexical Analysis in C with Graphs and Matrices: Using graphs and adjacency matrices in C programming to efficiently implement finite state machines for lexical analysis and parsing.
  5. clox bytecode vm from Crafting Interpreters Book: This is a follow up/re-implementation of clox programming language from Crafting Interpreters Book.

Other Projects

  1. Using CMake aka. CMake template: A very beginner friendly cmake template for c projects with unit testing.
  2. Dezashibi Common Library aka. dcommon lib: My commonly used utilities, headers, scripts, etc.
  3. Easy Cross-Platform File Mapping with a Single-Header C Library: A simple and efficient single-header C library for memory-mapped file access, supporting Windows, Linux, and macOS through a unified interface.
  4. Cross platform multi threading library: Cross platform multi threading library with maximum possible familiarity of pthreads and using native api for windows.

License

👉 Each repository provides information about its license

This very repo however is licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)

Copyright (c) 2024 Navid Dezashibi navid@dezashibi.com. All rights reserved.

By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.

You are free to:

  • Share — copy and redistribute the material in any medium or format
  • Adapt — remix, transform, and build upon the material

Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • NonCommercial — You may not use the material for commercial purposes.

No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.

Full license: https://creativecommons.org/licenses/by-nc/4.0/

Contact

Don't hesitate to contact me to share or discuss personal projects or for commercial cooperations. 👋

Pinned Loading

  1. b-hello-world b-hello-world Public

    How to get started in C as fast as possible, including installer scripts for windows

    C

  2. cmake_template cmake_template Public template

    A very beginner friendly cmake template for c projects with unit testing

    CMake

  3. dthreads dthreads Public

    Cross platform multi threading library with maximum possible familiarity of pthreads and using native api for windows.

    C

  4. dmmap dmmap Public

    A simple and efficient single-header C library for memory-mapped file access, supporting Windows, Linux, and macOS through a unified interface.

    C

Repositories

Showing 10 of 18 repositories
  • dcommon Public

    My commonly used utilities, headers, scripts, etc.

    dezashibi-c/dcommon’s past year of commit activity
    C 0 BSD-3-Clause 0 0 0 Updated Oct 4, 2024
  • cmake_template Public template

    A very beginner friendly cmake template for c projects with unit testing

    dezashibi-c/cmake_template’s past year of commit activity
    CMake 0 BSD-3-Clause 0 0 0 Updated Sep 30, 2024
  • a-clox Public

    This is a follow up/re-implementation of `clox` programming language from Crafting Interpreters Book.

    dezashibi-c/a-clox’s past year of commit activity
    C 0 0 0 0 Updated Sep 30, 2024
  • .github Public
    dezashibi-c/.github’s past year of commit activity
    0 0 0 0 Updated Sep 30, 2024
  • i-task_manager Public

    Task Manager (todo list) using Linked List

    dezashibi-c/i-task_manager’s past year of commit activity
    C 0 0 0 0 Updated Sep 4, 2024
  • b-hello-world Public

    How to get started in C as fast as possible, including installer scripts for windows

    dezashibi-c/b-hello-world’s past year of commit activity
    C 0 0 0 0 Updated Sep 3, 2024
  • i-game_of_life Public

    Conway's Game of Life in Console using C

    dezashibi-c/i-game_of_life’s past year of commit activity
    C 0 0 0 0 Updated Sep 1, 2024
  • dthreads Public

    Cross platform multi threading library with maximum possible familiarity of pthreads and using native api for windows.

    dezashibi-c/dthreads’s past year of commit activity
    C 0 0 0 0 Updated Aug 23, 2024
  • i-directory_search Public

    Using Multi-threading and directory traversing in a cross platform way.

    dezashibi-c/i-directory_search’s past year of commit activity
    C 0 0 0 0 Updated Aug 23, 2024
  • a-prod_cons_vs_pub_sub_in_c Public

    Understanding Producer-Consumer and Publish-Subscribe Patterns in C

    dezashibi-c/a-prod_cons_vs_pub_sub_in_c’s past year of commit activity
    C 0 0 0 0 Updated Aug 23, 2024

Top languages

Loading…

Most used topics

Loading…