Student Misconceptions and Challenges
Misconceptions and challenges students have when learning how to program and execute computational tasks often relate to not yet having fully mastered a particular concept or the interaction between concepts. For example, understanding the change of values of elements in a list can lead to misconceptions on what a loop does. Most of our topics contain posts on how a teacher can help students overcome their most common misconceptions. We also address aspects students often find challenging. Below we give a summary of all Misconception and Challenges related material and indicate the context in which it is covered.
[Click the Topics below to Show and Hide Detials]
▸ M&Cs in Variables
In the Variables posts, teachers can explore the challenges and complexities that the concept of variables can present to a new programmer. Videos, examples, and a description of common student misconceptions illustrate the topic at hand.
▸ M&Cs in Data Structures
The Data Structure posts show how data is stored and managed by programs. Examples are given in both Scratch and Python, which helps illustrate the common features of data structures in all languages. The posts also help teachers understand misconceptions and challenges that students face.
▸ M&Cs in Loops
The Loop posts use a broad range of examples to illustrate the most effective and correct uses of loops in Scratch and Python. The material helps teachers to better understand loop scenarios students may find confusing and provides insights into how to respond to questions and difficulties students have.
▸ M&Cs in Functions
The Function posts illustrate through a wide range of examples the important features and common misconceptions of functions in Python. The material helps teachers gain a better understanding of what students may find confusing and provides insights into how to respond and help students.
▸ M&Cs in Algorithms
Want to know how to arrange pancakes doing a minimum number of flips? Use the fewest number of coins to make change? The Algorithms posts discuss a number of classic problems and their algorithmic solutions. Many examples can be presented without programming (Python programs are presented for selected problems).
▸ M&Cs in Classes and Objects
Classes are one of the fundamental concepts used in the development of modern, large-scale software systems. These posts explore the basic concepts of classes and object-oriented programming, provide a number of examples in Python, and illustrate problems and misconceptions that students are likely to have.
▸ M&Cs in Internet
The Internet allows convenient and inexpensive communication among people and computers around the world. These posts cover the basic concepts of how the Internet is organized and how the World-Wide Web works.