Skip to content

Lulubear974/C_programming

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C Programming Lectures

Welcome to the C Programming Lectures repository by Bayt-al-Hikmah! This collection of lecture notes is designed for beginners and intermediate learners aiming to master C programming fundamentals. Whether you're new to coding or refreshing your skills, these notes provide structured, step-by-step guidance through core concepts.

Bayt-al-Hikmah (House of Wisdom) is dedicated to preserving and disseminating knowledge, inspired by the historic intellectual center of the Islamic Golden Age. These lectures emphasize clear explanations, practical examples, and hands-on exercises to build a strong foundation in the C language.

Prerequisites

  • Basic familiarity with computers and file management.

  • No prior programming experience required (though helpful).

  • A C compiler (e.g., GCC on Windows via MinGW, macOS, or Linux) and an IDE like Visual Studio Code, Code::Blocks, or CLion.

Setup Instructions

  1. Install a C compiler:

    • Windows: Download MinGW from mingw-w64.org.

    • macOS: Use Homebrew: brew install gcc.

    • Linux: sudo apt update && sudo apt install gcc (Ubuntu/Debian).

  2. Install an editor/IDE: VS Code with the C/C++ extension is recommended for beginners.

  3. Test your setup: Compile and run a "Hello, World!" program (example in Lecture 1).

Course Overview

This 5-lecture series covers essential C topics progressively. Each lecture includes:

  • Theoretical explanations.

  • Code examples and snippets.

  • Exercises for practice.

  • References for further reading.

Lecture Topic Key Concepts Covered
Lecture 1 Variables and Input-Output Variables, data types (int, float, char, etc.), user input/output with scanf/printf.
Lecture 2 Control Flow Logical/comparison operators, if-else, switch-case, for/while/do-while loops.
Lecture 3 Pointers and Data Structures Pointers, dynamic memory allocation, dynamic arrays, structs, typedef.
Lecture 4 Functions and Header Files Function creation, parameters, return types, header files, scope rules.
Lecture 5 Advanced Data Structures and Files Data structures, file I/O, working with bitmap and WAV files.

Recommended Pace: 1-2 lectures per week, with time for coding practice. Total estimated time: 15-25 hours.

Practice and Projects

  • Exercises: Each lecture ends with coding challenges. Solutions can be added in a separate /exercises folder.

  • Mini-Project Ideas:

    • Lecture 2: Simple calculator app using control flow.

    • Lecture 3: Dynamic list management with structs.

    • Lecture 5: Bitmap or WAV file parser.

  • Resources: cprogramming.com for docs, HackerRank for problems.

Contributing

We welcome contributions! Help expand these notes with:

  • Corrections or clarifications.

  • Additional examples or exercises.

  • Translations or adaptations.

License

This project is licensed under the MIT License – feel free to use, modify, and distribute.

Contact

Questions? Open an issue or reach out via:

  • GitHub: @Bayt-al-Hikmah

  • Email: Alitigui

Happy coding! 🚀 Let's build wisdom through code.

About

Introduction course to programing with C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 100.0%