đź“–
Introduction to programming with Python
  • Introduction to programming with Python 3
  • Preface
    • Common misconceptions about learning to program
    • The Hard truth about learning to program
    • Personal qualities for success
  • 1 - The way of the program
    • Python Programming Language
    • The first program
    • What is debugging?
    • Glossary
    • Exercises
  • 2 - Variables, expressions and statements
    • Values, types and variables
    • Common Built-in data types
    • Expressions
    • Code Format
    • Debugging
    • Glossary
    • Exercises
  • 3 - Functions
    • Python "built-in" Functions
    • Math Functions
    • Composition
    • User Defined Functions
    • PEP 8 Recommendations
    • Debugging
    • Glossary
    • Exercises
  • 4 - Conditionals
    • Boolean expressions
    • Conditional statements
    • PEP 8 Recommendations
  • 5 - Iteration
    • The while statement
    • The for statement
    • break and continue statements
    • Nested Loops
    • PEP 8 Recommendations
    • Debugging
    • Glossary
    • Exercises
  • 6 - A short introduction to testing: Building Reliable Software
  • 7 - A deeper dive into Strings, Lists and Tuples
    • More on Strings
    • More on Lists
    • More on Tuples
    • Debugging
    • Glossary
    • Exercises
  • 8 - A deeper look at Functions in Python
    • Function Preconditions and Postconditions
    • Positional and Keywords arguments
    • Nested Functions
    • Scope of a variable
    • Recursion
    • Functions' side effects
    • Glossary
    • Exercises
  • 9 - Code Documentation
    • Basics of Commenting Code
    • Documenting Code via Python Docstring
  • 10 - Sets and dictionaries
    • Sets
    • Dictionaries
    • Which data structure should I use?
    • Debugging
    • Glossary
    • Exercises
  • 11 - File I/O
    • Read/Write to a file
    • File management
    • Debugging
    • Glossary
    • Exercises
  • 12 - Handling Errors and Exceptions
  • 13 - Writing modules
  • 14 - Classes
    • Classes and Objects
    • Classes and Functions
    • Classes and Methods
    • Pythonic Magic: Understanding and Implementing Dunder Methods
    • Glossary
    • Exercises
  • 15 - Python's Type Hinting
  • Acknowledgements
Powered by GitBook
On this page
Edit on GitHub
  1. Preface

Common misconceptions about learning to program

PreviousPrefaceNextThe Hard truth about learning to program

Last updated 1 year ago

Learning to program can be a rewarding and fulfilling experience, but there are many misconceptions that can prevent people from pursuing this skill. One of the most common misconceptions about programming is that it's only for geniuses. As much as I would like to call myself a genius, it is sadly not the case. The idea that you need to be a genius to be good at coding is far from the truth. Programming is a skill that anyone can learn, just like any other skill. You don't need to be a genius or have a high IQ to learn to program. All you need is the right mindset, dedication, and practice.

There are some beliefs that in order to be successful in computer science, you need to possess the “programming gene” or “geek gene”. This is simply not true, and despite half a century of research trying to predict who can succeed in an introductory programming course, no reliable predictor could be found. This is simply a myth that is cultivated in social environments, and propagated via popular culture and media such as sitcoms and movies.

The myth that women cannot do programming is a damaging and false stereotype. Throughout history, there have been many attempts to explain the under-representation of women in science and technology fields perpetuating untruths about women's abilities. For example, in the 19th century, there was a belief that exposure to scientific education would damage women's biology. In the 20th century, explanations focused on supposed deficits in specific skill sets required for science, such as spatial cognition. However, there is increasingly strong evidence that females often outperform males in many spheres of science, disproving the myth that women lack the cognitive capacity to do science. In addition, Women have played an essential role in the history of programming. Some of the most important women in programming history include Ada Lovelace, who is often called the world’s first computer programmer (before physical computers even existed), and Grace Hopper, who was one of the first person to design a compiler for a programming language. Furthermore, Grace Hopper was the first to devise the theory of machine-independent programming languages.

Another common misconception about programming is that it's all about maths. While some aspects of programming involve maths, you don't need to be a maths expert to learn to program. Programming is more about problem-solving and logic than it is about maths. As long as you have a basic understanding of maths concepts, you can learn to program. However, if you are interested in pursuing a career in artificial intelligence or cryptography, you will need a solid foundation in advanced mathematics concepts.

Some people believe that programming is a solitary activity that requires working alone for long hours -- in a basement--. While programming can be done alone, it's not always the case. Many programming projects require collaboration with other programmers, designers, and stakeholders. As a programmer, you need to be able to work effectively in a team and communicate your ideas effectively.

Finally, some people think that programming is a boring and monotonous task. However, programming can be fun and exciting. As a programmer, you get to create things that can solve real-world problems, and that can be a rewarding experience. Additionally, programming can be a creative endeavour, and you can use your creativity to come up with innovative solutions to complex problems. Moreover, computer science is omnipresent in fields such as medicine, chemistry and space exploration, as well as arts like music and movies.