C++ for Python programmers

Welcome to the advanced programming course which is devoted to C++ for Python programmers.

This course consists of several chapters, each covering a specific topic or feature of C++. Each chapter contains a lot of code examples and exercises to help you understand and practice the concepts. You can find the source code on the GitHub repository of this course (TO-DO). I hope you enjoy this course and learn a lot from it.

I should also mention that the original material of this course was from Jan Pearce, Berea College and Brad Miller, Runestone. I have forked the related repository, convert rst files to markdown, and I am modifying it to suit my own needs and preferences. I would like to thank them for her great work and generosity.

Reporting Typos or Other Problems

Thank you for your help in improving this text. If you find a typo or other problem, you can visit the Github issue tracker giving as much information as needed to understand the problem. If you include the URL of the page where the problem occurred, this is especially helpful.

The following section is written by the authors of the original text.

C++ for Python Programmers

This short ebook is intended to help Python programmers or students with at least one term of Python programming experience learn the basics of the C++ programming language.

This book is written using the build on what you know philosophy. In order to help you learn C++ we will start with a Python example and then implement the example in C++. We will also examine the strengths, weaknesses, and differences between these two languages. As such, this book does not attempt to replace the many good C++ reference books that are available. Please feel free to use this book for yourself, or as a resource for a course you are teaching.

This ebook is published using a Creative Commons license to encourage you to use it, change it, and modify it for your own purposes. We would appreciate knowing what you think if you do use this book, and we would love to see any modifications or additions you make. Please, Fork Me!

By Jan Pearce, Berea College and Brad Miller, Runestone

Acknowledgements

Many thanks to Runestone for creating a very strong framework for open source computing books. Many thanks also to Berea College's Labor Program for making it possible for students to undergraduate students to receive funding to contribute.

Some sections of this book were originally written by Dr. Brad Miller as Java for Python Programmers. These were translated to the C++ language by Dr. Jan Pearce and a team of excellent students from Berea College. Other sections were originally written as course web pages by Dr. Jan Pearce.

We would like to extend a special note of gratitude to Jesse Walker-Schadler who had the vision to create the CTurtle library which makes graphing in C++ particularly easy for Python programmers because it used the Python Turtle library syntax, and for his excellent work in porting it to Runestone.