Your browser does not support JavaScript!
Please enable JavaScript to use the full functionality of the site.
Without JavaScript, you will not be able to expand the content tables in the PD Materials Page and CSP Index Page.

## 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.

 This work is supported by the National Science Foundation under grant number 1502462. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation"