Chapter 0: Notes

0.1 Remarks

This is an introductory book for beginners about the basic concepts of the C/C++ programming languages. Part 1 discusses the basic concepts of procedural programming and structured programs, and Part 2 will be about object-oriented programming

This book is under development and continuous improvement. You can send me your thoughts and suggestions, or if you find some ambiguous topics that need more clarification, you can also report typos or mistakes by emailing me at s4ifbn@gmail.com with my thanks and appreciation.

DISCLAIMER: THIS IS A FREE BOOK FOR EDUCATIONAL PURPOSES ONLY, AND ALL TRADEMARKS ARE THE PROPERTY OF THEIR RESPECTIVE OWNERS.

0.2 General Notes

This book is for beginners in programming; it doesn't assume any previous experience in programming to read it, but you need the basic information about computers in general. The book is written for the first-year undergraduate college students of the computer science major or anyone who wants to learn the basics of programming and dive into the massive world of programming.

The book contains two parts: the first part (this part) will gradually explain the fundamental concepts of structured programming using the C/C++ languages, and part two will enter the world of object-oriented programming (the modern style of programming), which is usually taught at the second-year computer sciences colleges in Iraq. This book is dedicated to everyone who wants to know what programming is all about.

0.3 Development Environment

There are many development environments, or IDEs, to work with and execute our programs. The working environment I use in executing all the examples in this book is called CodeBlocks. The current version is 20.03; it's an up-to-date environment that is updated and improved regularly. The number 20 indicates the year, which is 2020, and the number 3 indicates the month the version was released. This environment is free, lightweight, and cross-platform, which means that you can find a version that works on all the major operating systems. You can find the Windows version on my website, follow this link Programs. You can find other versions for other platforms at their official website at codeblocks.org.

Make sure the version you download contains the GCC compiler. The version I provided on my website contains the GCC compiler version 6.2.0. All the programs in this book are executed using CodeBlocks 20.03 on a laptop with these specifications:

  • CPU Intel Core i3 1.9 GHz
  • RAM DDR3 8 GB
  • OS Windows 10 Pro 64-bit

For Mac users the programs were also tested on Xcode IDE using a MacBook Pro with these specifications:

  • Apple M1 Pro
  • RAM DDR5 16 GB
  • OS MacOS Ventura 13.4 64-bit

Before we start our journey, you need to install the CodeBlocks IDE. You can watch the video in the link below to follow the steps required for installing and configuring this environment to get you up and ready to write your programs and create your own C/C++ projects:

There is however a nice website that provides online compilers for most of the famous programming languages. This website makes you write, execute, and share programs with your friends without installing anything on your machine. The website is https://replit.com. All the programs in this book will be hosted on this site and on GitHub for testing our programs at this location.

https://github.com/s4ifbn/CPP-Book

Here is a video to show you how to use the website.

0.4 Warning!

Before we begin, you have to know something important: you cannot learn to program or be a programmer by only reading books or listening to lectures. You have to practice programming by writing programs and fixing errors that occur; in fact, you will spend more time fixing errors than writing code. You have to work on all the examples in this book and solve the exercises and challenges at the end of each chapter. Most importantly, you have to make sure that your programs are working correctly and giving the desired output, because making the program run is one thing, and making it give correct results is another.

Learning programming is like learning how to play a musical instrument; the only way to be proficient is by continuous practice.



Leave a Comment