Muhammad Saqib – Senior Software Engineer & Founder of MyCPlus

Muhammad Saqib author banner — MyCPlus

Muhammad Saqib is the founder and lead author of MyCPlus, the programming-education site he launched in 2004. The idea grew out of his own struggle learning to program at university — C was the first language he picked up — and the help he wished he’d had became the site he built for others. What began as a C and C++ resource has since grown into a broad hub of tutorials, working code examples, and computer science guides across many languages and skill levels.

He holds an MSc in Computer Applications from the University of Plymouth, UK (2008) and has spent over 15 years building large-scale software across automotive, healthcare, retail, mobility, and education. Along the way he has worked with Ford, Hyundai, Trilogy/DevFactory, OT EMR, Al Othaim Markets, and NUST–SEECS, and today leads backend engineering as Technical Team Lead at a public transportation authority.

A hands-on, polyglot engineer, he works across C/C++, Java, C#, PHP, Python, and JavaScript, and writes here about programming, software engineering, DevOps, Agile, and computer science.

More than twenty years on, MyCPlus keeps the goal it started with: clear tutorials, real source code, and a place for learners to get unstuck — written by someone who has been on both sides of the problem.

Basic Data Types in C Programming

Basic Data Types in C Programming

C language provides a standard and minimal set of basic data types. Sometimes these are called primitive data types. More complex data structures can be built up from these basic data types. Data types specify how we enter data into our C programs and what type of data we use for different operations. C has some predefined set of data types to handle various kinds of data that we can use in our program.

Programming Coding

Indian Hill C Coding Styles and Standards

This document is a result of a committee formed at Indian Hill to establish a common set of coding standards and recommendations for the Indian Hill community. The scope of this work is the coding style, not the functional organization of programs. The standards in this document are not specific to ESS programming only.

Generating Controlled Random Numbers in C#

Generating Controlled Random Numbers in C#

Generating random numbers is a fundamental requirement in various programming scenarios, from creating dynamic content to simulating unpredictable events. In C#, the System.Random class provides a versatile solution for generating random values. In this article, are going to explore the basics of random number generation in C# and write practical examples that showcase its applications.

Number Shuffling Game

C Program: Number Shuffling Game

This C program is a simple console-based implementation of a number-shuffling game. The game presents a grid of numbers, and the objective is to rearrange them in ascending order. The player can move the numbers by pressing the corresponding number keys, and the game tracks the number of moves taken to complete the puzzle.

Snake Game – C Imlementation

This C program simulates the game “snake” which is usually available in old mobile phones. A string of characters moves on the screen according to arrow keys pressed by user. If it touches itself or screen boundary, the program terminates. When the snake moves, in arbitrary screen positions some digit (1-9) appears. The objective of the game is to make the snake eat the said digit, so that it is added to the score. When a digit is eaten, the size of the snake increases by the number of characters equal to the value of the digit.

Scroll to Top