Welcome to my website. I’m Aristides S. Bouras, an IT teacher, an author and a blogger. Please feel free to have a look around and keep up to date with my latest posts and publications.

Contact me
Find me at
More about me

Python and Algorithmic Thinking for the Complete Beginner – Third Edition

Learn to Think Like a Programmer

Completely updated for the latest version of Python, this book offers a comprehensive introduction to programming, assuming no prior knowledge of the subject. It is designed for individuals eager to learn Python from scratch, providing a strong foundation in Algorithmic Thinking—the fundamental skill every aspiring programmer must acquire. Algorithmic Thinking encompasses more than just writing code; it entails mastering the art of problem-solving through coding.

This edition retains all the popular features of its predecessor while introducing a wealth of new exercises, along with extensive revisions and updates. Furthermore, brand-new chapters offer a practical introduction to working with text files.

Structured for both classroom use and independent study, each chapter is concluded with a set of questions and exercises designed to reinforce your understanding and apply what you’ve learned. With approximately 250 solved and 480 unsolved exercises, 500 true/false questions, 150 multiple-choice questions, and 200 review questions and crosswords (with solutions and answers available online), this book is ideal for:

  • Novices or intermediate-level programmers pursuing self-study
  • High school students
  • First-years college or university students
  • Educators
  • Professors
  • Anyone who wants to start learning or teaching computer programming using the best practices and techniques

Free Programming Books App for Android and Windows

Free Programming Books App

Download the app

Addressed to anyone who has no prior programming knowledge or experience, but a desire to learn programming with Python, C#, C++, PHP, VB.NET, or Java, this app teaches the first thing that every 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.

Six books included!

Class course structure with questions and exercises at the end of each chapter so you can test what you have learned right away and improve your comprehension. 

Interactive crossword puzzles, true/false and multiple choice questions included! Solve the crossword puzzles or answer the questions directly in the app and check your answers with the click of a button!

Direct code execution from within the app.

Read Out Loud operation (specially optimized for reading code), for people with learning disorders such as dyslexia.

Included books:

C# for Tweens and Teens – Second Edition

Learn Computational and Algorithmic Thinking.

If you are wondering whether this book is going to teach you how to create amazing desktop or mobile applications, the answer is “no”—that is a job for other books. So many books out there can teach you those skills in C#, Python, or Java, but all of them take one thing for granted—that 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! This book teaches computational and algorithmic thinking by taking very seriously one thing for granted—that the reader knows absolutely nothing about computer programming!

This edition contains all the popular features of the previous edition, while two brand new chapters provide an effective introduction to files.

This book has been written as a textbook, using a class course structure with questions and exercises at the end of each chapter so you can test what you have learned right away and improve your comprehension. With 380 illustrated pages, and more than 300 solved and unsolved exercises, around 300 true/false, 100 multiple choice, and 100 review questions (the solutions and the answers to which can be found on the Internet), this book is ideal for

  • kids aged 12+ and their parents
  • students
  • teachers
  • anyone who wants to start learning or teaching computer programming using the proper conventions and techniques.

Read more…

Python for Tweens and Teens – Second Edition

Learn Computational and Algorithmic Thinking.

If you are wondering whether this book is going to teach you how to create amazing desktop or mobile applications, the answer is “no”—that is a job for other books. So many books out there can teach you those skills in Python, C#, or Java, but all of them take one thing for granted—that 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! This book teaches computational and algorithmic thinking by taking very seriously one thing for granted—that the reader knows absolutely nothing about computer programming!

This edition contains all the popular features of the previous edition, while two brand new chapters provide an effective introduction to files.

This book has been written as a textbook, using a class course structure with questions and exercises at the end of each chapter so you can test what you have learned right away and improve your comprehension. With 360 illustrated pages, and more than 300 solved and unsolved exercises, around 300 true/false, 100 multiple choice, and 100 review questions (the solutions and the answers to which can be found on the Internet), this book is ideal for

  • kids aged 12+ and their parents
  • students
  • teachers
  • anyone who wants to start learning or teaching computer programming using the proper conventions and techniques.

Read more…

Visual Basic for Tweens and Teens – Second Edition

Learn Computational and Algorithmic Thinking.

If you are wondering whether this book is going to teach you how to create amazing desktop or mobile applications, the answer is “no”—that is a job for other books. So many books out there can teach you those skills in Visual Basic, Python, or Java, but all of them take one thing for granted—that 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! This book teaches computational and algorithmic thinking by taking very seriously one thing for granted—that the reader knows absolutely nothing about computer programming!

This edition contains all the popular features of the previous edition, while two brand new chapters provide an effective introduction to files.

This book has been written as a textbook, using a class course structure with questions and exercises at the end of each chapter so you can test what you have learned right away and improve your comprehension. With 384 illustrated pages, and more than 300 solved and unsolved exercises, around 300 True/False, 100 multiple choice, and 100 review questions (the solutions and the answers to which can be found on the Internet), this book is ideal for

  • kids aged 12+ and their parents
  • students
  • teachers
  • anyone who wants to start learning or teaching computer programming using the proper conventions and techniques.

Read more…

Arduino: Αλγοριθμική, Προγραμματισμός και Εφαρμογές

COVER_FRONTΟδηγός για την ανάπτυξη εφαρμογών και εκπαιδευτικών δραστηριοτήτων STEM με το Arduino.

Στη σημερινή εποχή, όπου και να ψάξουμε θα βρούμε κρυμμένους μηχανισμούς που ελέγχουν κάποιες συνθήκες και ενεργούν ανάλογα. Οι μηχανισμοί αυτοί συνήθως στηρίζονται σε μικροϋπολογιστές ή μικροελεγκτές και βρίσκονται μέσα στις οικιακές συσκευές, στις προσωπικές ηλεκτρονικές συσκευές που χρησιμοποιούμε καθημερινά (ψηφιακά ρολόγια χειρός, κινητά τηλέφωνα, τάμπλετ, κ.ά.), μέχρι και μέσα στο αυτοκίνητό μας, το οποίο σε μερικές περιπτώσεις μπορεί να παρκάρει ή ακόμη και να οδηγεί «μόνο» του.

Όλα αυτά φαίνονται θαυμαστά, γιατί μοιάζουν σαν να γίνονται από μόνα τους. Αν όμως προβληματιστούμε λίγο, θα διαπιστώσουμε ότι πίσω τους κρύβεται ένας ανθρώπινος νους, ο οποίος έχει δώσει τις κατάλληλες εντολές σε αυτούς τους μηχανισμούς ώστε να ενεργούν με αυτόν τον τρόπο.

Οι κατασκευές που μπορούμε να δημιουργήσουμε με το Arduino είναι πάρα πολλές και για διάφορους σκοπούς. Οι χομπίστες μπορούν να κατασκευάσουν τηλεκατευθυνόμενα αυτοκινητάκια, οι φοιτητές και οι μαθητές διάφορες διατάξεις που μπορούν να παίρνουν μετρήσεις, να ανάβουν λαμπάκια όταν η φωτεινότητα στον χώρο είναι χαμηλή, να ενεργοποιούν μηχανισμούς, και πολλά άλλα.

Το βιβλίο που κρατάτε στα χέρια σας ακολουθεί τη μέθοδο διδασκαλίας της σπειροειδούς διάταξης της ύλης, όπως αυτή διατυπώθηκε το 1960 από τον Αμερικανό ψυχολόγο Jerome Bruner. Περιέχει πληθώρα παραδειγμάτων, το μεγαλύτερο μέρος των οποίων μπορεί να υλοποιηθεί πρακτικά, δίνοντας έτσι τη δυνατότητα στον αναγνώστη να εξοικειωθεί με τη γλώσσα προγραμματισμού Arduino C++ ώσπου τελικά να είναι σε θέση να δημιουργεί τις δικές του εφαρμογές. Είναι κατάλληλο για αρχαρίους αλλά και προχωρημένους, για μαθητές γυμνασίου-λυκείου αλλά και φοιτητές ανωτέρων και ανωτάτων εκπαιδευτικών ιδρυμάτων, για ερασιτέχνες του κλάδου αλλά και για επαγγελματίες.

Read more…

Visual Basic and Algorithmic Thinking for the Complete Beginner – Second Edition

Learn to Think Like a Programmer.

Thoroughly revised for the latest version of Visual Basic, this book explains basic concepts in a clear and explicit way that takes very seriously one thing for granted—that the reader knows nothing about computer programming.

Addressed to anyone who has no prior programming knowledge or experience, but a desire to learn programming with Visual Basic, it teaches the first thing that every 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.

This edition contains all the popular features of the previous edition and adds a significant number of exercises, as well as extensive revisions and updates. Apart from Visual Basic ’s arrays, it now also covers dictionaries, while a brand new section provides an effective introduction to the next field that a programmer needs to work with, which is Object Oriented Programming (OOP).

This book has a class course structure with questions and exercises at the end of each chapter so you can test what you have learned right away and improve your comprehension. With 250 solved and 450 unsolved exercises, 475 true/false, about 150 multiple choice, and 200 review questions and crosswords (the solutions and the answers to which can be found on the Internet), this book is ideal for

  • novices or average programmers, for self-study
  • high school students
  • first-year college or university students
  • teachers
  • professors
  • anyone who wants to start learning or teaching computer programming using the proper conventions and techniques

Read more…

C++ and Algorithmic Thinking for the Complete Beginner – Second Edition

Learn to Think Like a Programmer.

Thoroughly revised for the latest version of C++, this book explains basic concepts in a clear and explicit way that takes very seriously one thing for granted—that the reader knows nothing about computer programming.

Addressed to anyone who has no prior programming knowledge or experience, but a desire to learn programming with C++, it teaches the first thing that every 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.

This edition contains all the popular features of the previous edition and adds a significant number of exercises, as well as extensive revisions and updates. Apart from C++ ’s arrays, it now also covers unordered maps, while a brand new section provides an effective introduction to the next field that a programmer needs to work with, which is Object Oriented Programming (OOP).

This book has a class course structure with questions and exercises at the end of each chapter so you can test what you have learned right away and improve your comprehension. With 250 solved and 450 unsolved exercises, 475 true/false, about 150 multiple choice, and 200 review questions and crosswords (the solutions and the answers to which can be found on the Internet), this book is ideal for

  • novices or average programmers, for self-study
  • high school students
  • first-year college or university students
  • teachers
  • professors
  • anyone who wants to start learning or teaching computer programming using the proper conventions and techniques

Read more…

Python 3 – Αλγοριθμική και προγραμματισμός

COVER_FRONTΟδηγός  για  νέους  και  έμπειρους προγραμματιστές

Σύμφωνα με τον Jerome Bruner, η μάθηση απαιτεί ενεργή συμμετοχή του εκπαιδευόμενου, πειραματισμό, εξερεύνηση και ανακάλυψη. Το βιβλίο Python 3: Αλγοριθμική και προγραμματισμός περιέχει πλήθος παραδειγμάτων, το μεγαλύτερο μέρος των οποίων μπορεί να υλοποιηθεί στην πράξη από τους αναγνώστες, επιτρέποντάς τους να εξοικειωθούν με τη γλώσσα Python ώστε τελικά να αποκτήσουν τις απαραίτητες δεξιότητες για να δημιουργούν τις δικές τους εφαρμογές.

Γι’ αυτόν το λόγο, το βιβλίο είναι κατάλληλο για αρχάριους αλλά και προχωρημένους προγραμματιστές, μαθητές γυμνασίου και λυκείου, φοιτητές ανωτέρων και ανωτάτων εκπαιδευτικών ιδρυμάτων, ερασιτέχνες και επαγγελματίες του κλάδου. Έχει ληφθεί ειδική μέριμνα ώστε να εξυπηρετεί και τις ανάγκες των μαθητών της Β´ και Γ´ τάξης των Επαγγελματικών Λυκείων (ΕΠΑ.Λ.) του τομέα Πληροφορικής, προκειμένου να προετοιμαστούν κατάλληλα για τις πανελλήνιες εξετάσεις.

Read more…

PHP and Algorithmic Thinking for the Complete Beginner – Second Edition

COVER_FRONTLearn to Think Like a Programmer.

Thoroughly revised for the latest version of PHP, this book explains basic concepts in a clear and explicit way that takes very seriously one thing for granted—that the reader knows nothing about computer programming.

Addressed to anyone who has no prior programming knowledge or experience, but a desire to learn programming with PHP, it teaches the first thing that every 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.

This edition contains all the popular features of the previous edition and adds a significant number of exercises, as well as extensive revisions and updates. Furthermore, a brand new section provides an effective introduction to the next field that a programmer needs to work with, which is Object Oriented Programming (OOP).

This book has a class course structure with questions and exercises at the end of each chapter so you can test what you have learned right away and improve your comprehension. With 250 solved and 450 unsolved exercises, 475 true/false, about 150 multiple choice, and 200 review questions and crosswords (the solutions and the answers to which can be found on the Internet), this book is ideal for

  • novices or average programmers, for self-study
  • high school students
  • first-year college or university students
  • teachers
  • professors
  • anyone who wants to start learning or teaching computer programming using the proper conventions and techniques

Read more…

Python编程完全入门教程

Python编程完全入门教程

(Python and Algorithmic Thinking for the Complete Beginner- Chinese Edition)

这是一本经典的Python入门教材。《Python编程完全入门教程》采用螺旋式课程教学方法,使用Python编程语言来介绍“算法思维”的相关内容,让你不再“表面化”地学习Python编码,而是从根本上掌握解决问题的方法。 全书共39章,分为入门知识、Python基础、顺序控制结构、决策控制结构、循环控制结构、列表和子程序7个部分。书中有300余个可以实际运行的示例,在不断向更高层次推进的同时反复强化基本思想的学习,力求帮助你更透彻地理解基本概念,提升动手创建程序的能力,进而将算法思维作为解决问题的手段应用于其他编程语言中,达到触类旁通的效果。 本书非常适合计算机专业的学生和教师,也适合编程初学者以及程序员。

Read more…

10대를 위한 파이썬 교과서 – 컴퓨팅 사고력과 알고리즘 배우기

COVER_FRONT

10대를 위한 파이썬 교과서 – 컴퓨팅 사고력과 알고리즘 배우기

(Python for Tweens and Teens – Korean Edition)

알고리즘 사고는 단순히 코드를 배우는 것 이상을 포함합니다. 즉, 코딩하는 법을 배우는 것은 문제 해결 과정입니다! 이 책은 컴퓨터 프로그래밍 입문자들을 고려하여 컴퓨팅 및 알고리즘 사고를 가르칩니다!

파이썬은 의심할 여지 없이 가장 인기 있는 프로그래밍 언어입니다. 그리고 이 책은 파이썬을 활용해 프로그래밍세계로 들어가는데 도움을 줄 것입니다. 많은 설명과 함께 약 450페이지에는 100개 이상의 예제, 200개 이상의문제, 250개 이상의 O/X 문제, 100개 이상의 복수 정답 문제, 100개 이상의 복습 문제(※ 솔루션과 정답은 인터넷에서 찾을 수 있습니다.)가 있습니다. 이 책은 10세 이상의 아이들, 그들의 부모님들, 학생, 선생님뿐만 아니라적절한 규칙이나 기술을 사용하여 컴퓨터 프로그래밍을 배우거나 가르치기 시작하는 사람들에게 이상적입니다.

Read more…

C# and Algorithmic Thinking for the Complete Beginner – Second Edition

COVER_FRONTLearn to Think Like a Programmer.

Thoroughly revised for the latest version of C#, this book explains basic concepts in a clear and explicit way that takes very seriously one thing for granted—that the reader knows nothing about computer programming.

Addressed to anyone who has no prior programming knowledge or experience, but a desire to learn programming with C#, it teaches the first thing that every 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.

This edition contains all the popular features of the previous edition and adds a significant number of exercises, as well as extensive revisions and updates. Apart from C# ’s arrays, it now also covers dictionaries, while a brand new section provides an effective introduction to the next field that a programmer needs to work with, which is Object Oriented Programming (OOP).

This book has a class course structure with questions and exercises at the end of each chapter so you can test what you have learned right away and improve your comprehension. With 250 solved and 450 unsolved exercises, 475 true/false, about 150 multiple choice, and 200 review questions and crosswords (the solutions and the answers to which can be found on the Internet), this book is ideal for

  • novices or average programmers, for self-study
  • high school students
  • first-year college or university students
  • teachers
  • professors
  • anyone who wants to start learning or teaching computer programming using the proper conventions and techniques

Read more…

Java and Algorithmic Thinking for the Complete Beginner – Second Edition

COVER_FRONTLearn to Think Like a Programmer.

Thoroughly revised for the latest version of Java, this book explains basic concepts in a clear and explicit way that takes very seriously one thing for granted—that the reader knows nothing about computer programming.

Addressed to anyone who has no prior programming knowledge or experience, but a desire to learn programming with Java, it teaches the first thing that every 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.

This edition contains all the popular features of the previous edition and adds a significant number of exercises, as well as extensive revisions and updates. Apart from Java’s arrays, it now also covers hashmaps, while a brand new section provides an effective introduction to the next field that a programmer needs to work with, which is Object Oriented Programming (OOP).

This book has a class course structure with questions and exercises at the end of each chapter so you can test what you have learned right away and improve your comprehension. With 250 solved and 450 unsolved exercises, 475 true/false, about 150 multiple choice, and 200 review questions and crosswords (the solutions and the answers to which can be found on the Internet), this book is ideal for

  • novices or average programmers, for self-study
  • high school students
  • first-year college or university students
  • teachers
  • professors
  • anyone who wants to start learning or teaching computer programming using the proper conventions and techniques

Read more…

한 권으로 배우는 파이썬 기초 & 알고리즘 사고법

COVER_FRONT

한 권으로 배우는 파이썬 기초 & 알고리즘 사고법

(Python and Algorithmic Thinking for the Complete Beginner – Korean Edition)

프로그래밍을 처음 접하는 입문자들을 위해 집필된 이 책은 파이썬 언어를 기반으로 알고리즘 및 컴퓨팅 사고력을 키워줍니다. 저자의 오랜 강의 경험과 전문 지식은 친절하면서도 군더더기 없는 설명, 그리고 기본 요소와 심화 내용이 의도적으로 반복되고 있는 나선형 교육 방식을 통해 독자들의 적극적인 학습을 유도합니다.
300개 이상의 프로그래밍 예제와
400개 이상의 프로그래밍 연습문제,
450개 이상의 참/거짓 문제,
150개 이상의 객관식 문제,
180개 이상의 복습문제 등
다른 책에서는 찾아볼 수 없는 독보적이면서도 풍부한 예제와 문제는 여러분의 프로그래밍 학습을 더욱 단단하게 만들어 줄 것입니다. 가장 이상적인 방법으로 알고리즘적 사고와 파이썬 프로그래밍을 설명한 이 책으로 스터디를 진행해 보세요. 프로그래밍과 파이썬을 더욱 쉽게 터득할 멋진 기회가 될 것입니다.

Read more…

青少年学Python

COVER_FRONT

青少年学Python

(Python for Tweens and Teens – Chinese Edition)

Python 是一门非常流行的编程语言,不仅有着非常广泛的应用,而且由于学习门槛较低,适合中小学生和青少年学习。

本书帮助读者利用Python语言进入编程世界。本书强调以计算和算法思维训练为导向,从计算机的工作原理和算法基础开始,详细介绍了Python 编程的基础知识,进而引入了数据结构、过程式编程和面向对象编程等话题。全书图文并茂,讲解细致,包含100 多道已解答和200 道未解答的练习,250 多道判断题,100 道多选题和100 道复习题,可以帮助读者牢固地掌握所学的知识。

本书适合任何希望使用正确的习惯和技术开始学习或教授计算机编程的人,尤其适合10岁以上的孩子或者他们的父母和老师教孩子学习编程。

Read more…

Αλγοριθμική και προγραμματισμός υπολογιστών σε Python

COVER_FRONTΟδηγός  για  νέους  και  έμπειρους προγραμματιστές

Σύμφωνα με τον Jerome Bruner, η μάθηση απαιτεί ενεργή συμμετοχή του εκπαιδευόμενου, πειραματισμό, εξερεύνηση και ανακάλυψη. Το βιβλίο Αλγοριθμική και προγραμματισμός υπολογιστών σε Python περιέχει πλήθος παραδειγμάτων, το μεγαλύτερο μέρος των οποίων μπορεί να υλοποιηθεί στην πράξη από τους αναγνώστες, επιτρέποντάς τους να εξοικειωθούν με τη γλώσσα Python ώστε τελικά να αποκτήσουν τις απαραίτητες δεξιότητες για να δημιουργούν τις δικές τους εφαρμογές.

Γι’ αυτόν το λόγο, το βιβλίο είναι κατάλληλο για αρχάριους αλλά και προχωρημένους προγραμματιστές, μαθητές γυμνασίου και λυκείου, φοιτητές ανωτέρων και ανωτάτων εκπαιδευτικών ιδρυμάτων, ερασιτέχνες και επαγγελματίες του κλάδου.

Έχει ληφθεί ειδική μέριμνα ώστε να εξυπηρετεί πλήρως και τις ανάγκες των μαθητών της Β΄ και Γ΄ τάξης των Επαγγελματικών Λυκείων (ΕΠΑ.Λ.) του τομέα Πληροφορικής, προκειμένου να προετοιμαστούν κατάλληλα για τις πανελλήνιες εξετάσεις.

Read more…