C++ and Algorithmic Thinking for the Complete Beginner Part 1 of 5 Kindle Edition Copyright 2015 by Aristides S. Bouras and Loukia V. Ainarozidou http://www.bouraspage.com Oracle and Java are registered trademarks of Oracle and/or its affiliates. Cygwin is a trademark of Red Hat, Inc. g++, gdb, and Make are open source tools distributed under the terms of the GNU General Public License. For information on the Boost Software License, visit www.boost.org Other names may be trademarks of their respective owners.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, mechanical or electronic, including photocopying, recording, or by any information storage and retrieval system, without written permission from the authors. Warning and Disclaimer This book is designed to provide information about learning Algorithmic Thinking, mainly through the use of C++ programming language. Every effort has been taken to make this book compatible with all previous releases of C++, and it is almost certain to be compatible with any future releases of C++. The information is provided on an as is basis. This book is dedicated tothe memory ofmy cousin, Remi.Contents at a GlanceTable of ContentsPreface..About the AuthorsAristides S. This book is dedicated tothe memory ofmy cousin, Remi. Contents at a Glance Table of Contents Preface.. About the Authors Aristides S.
Bouras Aristides1 S. Bouras was born in 1973. During his early childhood, he discovered a love of computer programming. He got his first computer at the age of 12, a Commodore 64, which incorporated a ROM-based version of the BASIC programming language and 64 kilobytes of RAM!!! He holds a degree in Computer Engineering from the Technological Educational Institute of Piraeus, and a degree in Electrical and Computer Engineering from the Democritus Polytechnic University of Thrace. He worked as a software developer at a company that specialized in industrial data flow and labelling of products. His main job was to develop software applications for data terminals (originally in TALL and later in VB.NET language), as well as PC software applications for collecting and storing data on a Microsoft SQL Server.
He has developed many applications such as warehouse managing systems and websites for companies and other organizations. Nowadays, he works as a high school teacher. He mainly teaches courses in computer networks, programming tools for the Internet/intranets, and databases. He is married to Loukia V. Ainarozidou and they have two children. Loukia V.
Ainarozidou Loukia V. Ainarozidou was born in 1975. She got her first computer at the age of 13, an Amstrad CPC6128 with 128 kilobytes of RAM and an internal 3-inch floppy disk drive!!! She holds a degree in Computer Engineering from the Technological Educational Institute of Piraeus, and a degree in Electrical and Computer Engineering from the Democritus Polytechnic University of Thrace. She worked as a supervisor in the data logistics department of a company involved in the packaging of fruit and vegetables. Nowadays, she works as a high school teacher. She mainly teaches courses in computer networks, computer programming, and digital design.
She is married to Aristides S. Bouras and they have two children. 1 Aristides (530 BC468 BC) was an ancient Athenian statesman and general. The ancient historian Herodotus cited him as the best and most honorable man in Athens. He was so fair in all that he did that he was often referred to as Aristides the Just. Acknowledgments If it werent for Dr. Yannis T. Yannis T.
Kappos, we may never have written this book. As a renowned author of technical books on AutoCAD, he inspired us to take a seat and start writing. We wish to express our enormous appreciation to him for generously spending his time answering all of our questionseven the foolish ones. We would also like to extend our thanks, with particular gratefulness, to our friend and senior editor Victoria (Vicki) Austin for her assistance in copy editing. Without her, this book might not have reached its full potential. With her patient guidance and valuable and constructive suggestions, she helped us bring this book up to a higher level! How This Book is Organized The book you hold in your hands follows the spiral curriculum teaching approach, a method proposed in 1960 by Jerome Bruner, an American psychologist.
According to this method, as a subject is being taught, basic ideas are revisited at intervalsat a more sophisticated level each timeuntil the reader achieves a complete understanding of the subject. First, the reader learns the basic elements without worrying about the details. Later, more details are taught and basic elements are mentioned again and again, eventually being stored in the brains long term memory. According to Jerome Bruner, learning requires the students active participation, experimentation, exploration, and discovery. This book contains many examples, most of which can be practically performed. Who Should Buy This Book? This book is for anyone who wants to learn computer programming and knows absolutely nothing about it. Who Should Buy This Book? This book is for anyone who wants to learn computer programming and knows absolutely nothing about it.
Of course, if you are wondering whether this book is going to teach you how to create amazing applets or incredible desktop or mobile applications, the answer is nothat is a job for other books. So many books out there can teach you those skills in C++, Java, or C#. Many of them even claim that they can teach you in 24 hours! Dont laugh! They probably can do that, but all of them take one thing for grantedthat the reader knows some basics about computer programming. None of those books, unfortunately, bothers to teach you the first thing that a novice programmer needs to learn, which is Algorithmic Thinking. Algorithmic Thinking involves more than just learning code. It is a problem solving process that involves learning how to code.
With over 800 pages, and containing more than 300 solved and 400 unsolved exercises, over 450 true/false, 150 multiple choice, and 180 review questions (the solutions and the answers to which can be found on the Internet), this book is ideal for students, teachers, professors, novices or average programmers, or for anyone who wants to start learning or teaching computer programming using the proper conventions and techniques. Where to Find Answers to Review Questions and Exercises Answers to all of the review questions, as well as the solutions to all review exercises, are available free of charge on the Internet. You can download them from the following address: http://www.bouraspage.com How to Report Errata Although we have taken great care to ensure the accuracy of our content, mistakes do occur. If you find a mistake in this book, either in the text or the code, we encourage you to report it to us. By doing so, you can save other readers from frustration and, of course, help us to improve the next version of this book. Conventions Used in This Book Following are some explanations on the conventions used in this book. Conventions Used in This Book Following are some explanations on the conventions used in this book.
Conventions refer to the standard ways in which certain parts of the text are displayed. C++ Statements This book uses plenty of examples written in C++ language. C++ statements are shown in a typeface that looks like this. This is a C++ statement Keywords, Variables, Functions, and Arguments Within the Text of aParagraph Keywords, variables, functions, and arguments are sometimes shown within the text of a paragraph. When they are, the special text is shown in a typeface different from that of the rest of the paragraph.
Next page