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.

Bubble Sort - Pseudocode

Bubble Sort C Program

Bubble Sort is the most simple form of sorting algorithm that works by repeatedly stepping through the list of items (array) and swapping the adjacent elements if they are in incorrect order. This algorithm has no such real life uses due to it’s poor performance and is used primarily as an educational tool.

UDP Data Sender and Receiver in C

Writing UDP Data Sender and Receiver in C

The sender program is a UDP datagram sender that can be configured through command line options. It initializes Winsock, creates a UDP socket, and either connects to a recipient’s IP address or uses sendto() to send datagram messages. The receiver program complements the sender by receiving UDP datagrams.

ICMP Ping - C Implementation

ICMP Ping Program in C

This sample illustrates how an ICMP ping app can be written using the SOCK_RAW socket type and IPPROTO_ICMP protocol. By creating a raw socket, the underlying layer does not change the protocol header so that when we submit the ICMP header nothing is changed so that the receiving end will see an ICMP packet. Additionally, we use the record route IP option to get a round trip path to the endpoint. Note that the size of the IP option header that records the route is limited to nine IP addresses.

graphics.h Reference

graphics: graphics.h Header File

This is the graphics.h header file which contains all the graphics functions and their implementations. It is quite nice to have a look at header files just to know more about functions and their parameters. Also it tells about different structures, enums defined in the file for specific purpose.

backend frameworks

Print Pyramids and Diamonds Shapes in C Programming

So, here in this article I will demonstrate how you can print pyramids and diamonds using for loop and if condition using C Programming. Building a pyramid in c programming is quite easy, but you must have the understanding of how for loop works. With some slight modifications you can print different shapes as well.

PC to PC Communication in C

PC to PC Communication in C

This is a C program to demonstrate PC to PC Communication via RS232 port. Chat with only 3-wire connection. This program is tested with Turbo C++ editor Version 3.0. How ever, authors are not responsible for any damages that may happen to your computer. Please contact us if any problem exits.

random numbers

Find the longest common sub-sequence between two strings: Dynamic Programming Algorithm

This C program finds the longest common sub-sequence between two strings. It implements the most famous dynamic programming algorithm. Dynamic programming is a computational technique used to solve complex problems by breaking them down into smaller subproblems and solving each subproblem only once, storing the solution to each subproblem and using it to solve larger problems.

Scroll to Top