Misconception: Students think that both the IF and the ELSE cases of a conditional are executed every single time a conditional runs. Share Misconception: Students think that both the IF and the ELSE cases of a conditional are executed every single time a conditional runs. with FacebookShare Misconception: Students think that both the IF and the ELSE cases of a conditional are executed every single time a conditional runs. with Twitter
Run a pair programming contest in Python to motivate, challenge, and boost students’ self-confidence. Share Run a pair programming contest in Python to motivate, challenge, and boost students’ self-confidence. with FacebookShare Run a pair programming contest in Python to motivate, challenge, and boost students’ self-confidence. with Twitter
Misconception: Students who first learn object-oriented programming in Python don’t realize they need to explicitly define instance variables in Java because this is done implicitly in Python. Share Misconception: Students who first learn object-oriented programming in Python don’t realize they need to explicitly define instance variables in Java because this is done implicitly in Python. with FacebookShare Misconception: Students who first learn object-oriented programming in Python don’t realize they need to explicitly define instance variables in Java because this is done implicitly in Python. with Twitter
Misconception: Students get confused with object-oriented programming in Python because function declarations explicitly take self as an argument, but function calls don’t use self as argument. Share Misconception: Students get confused with object-oriented programming in Python because function declarations explicitly take self as an argument, but function calls don’t use self as argument. with FacebookShare Misconception: Students get confused with object-oriented programming in Python because function declarations explicitly take self as an argument, but function calls don’t use self as argument. with Twitter
Give students tips and resources to help them shift from one programming language to another. Share Give students tips and resources to help them shift from one programming language to another. with FacebookShare Give students tips and resources to help them shift from one programming language to another. with Twitter
Have students complete CodeLab’s practice exercises to improve their skills in Python, Java, C++, or other programming languages. Share Have students complete CodeLab’s practice exercises to improve their skills in Python, Java, C++, or other programming languages. with FacebookShare Have students complete CodeLab’s practice exercises to improve their skills in Python, Java, C++, or other programming languages. with Twitter
Use command-line running scripts or IDEs over the Python shell, which students may find incredibly confusing. Share Use command-line running scripts or IDEs over the Python shell, which students may find incredibly confusing. with FacebookShare Use command-line running scripts or IDEs over the Python shell, which students may find incredibly confusing. with Twitter
Misconception: students forget about language-specific or paradigm-specific material (e.g., new/delete or types) when they switch between languages that don’t use the same concepts. Share Misconception: students forget about language-specific or paradigm-specific material (e.g., new/delete or types) when they switch between languages that don’t use the same concepts. with FacebookShare Misconception: students forget about language-specific or paradigm-specific material (e.g., new/delete or types) when they switch between languages that don’t use the same concepts. with Twitter
Focus on these four key concepts when first teaching C to help students with previous programing experiences transition from higher-level languages such as Python. Share Focus on these four key concepts when first teaching C to help students with previous programing experiences transition from higher-level languages such as Python. with FacebookShare Focus on these four key concepts when first teaching C to help students with previous programing experiences transition from higher-level languages such as Python. with Twitter
Draw attention to types when teaching students Python to help lay the groundwork for understanding types in lower-level programming languages they’ll learn about later. Share Draw attention to types when teaching students Python to help lay the groundwork for understanding types in lower-level programming languages they’ll learn about later. with FacebookShare Draw attention to types when teaching students Python to help lay the groundwork for understanding types in lower-level programming languages they’ll learn about later. with Twitter
Spend extra time teaching Big O in intro classes that use Python because the underlying implementation of Python lists is a mystery to students that leads students to believe many operations are constant, O(1), that are not. Share Spend extra time teaching Big O in intro classes that use Python because the underlying implementation of Python lists is a mystery to students that leads students to believe many operations are constant, O(1), that are not. with FacebookShare Spend extra time teaching Big O in intro classes that use Python because the underlying implementation of Python lists is a mystery to students that leads students to believe many operations are constant, O(1), that are not. with Twitter
Check out the Computing At School website for resources for a variety of CS courses. Share Check out the Computing At School website for resources for a variety of CS courses. with FacebookShare Check out the Computing At School website for resources for a variety of CS courses. with Twitter
Reinforce that certain types in Python such as lists are mutable while others (e.g. strings, tuples) are not. Students have difficulty tracing code that uses mutable types because they often forget this. Share Reinforce that certain types in Python such as lists are mutable while others (e.g. strings, tuples) are not. Students have difficulty tracing code that uses mutable types because they often forget this. with FacebookShare Reinforce that certain types in Python such as lists are mutable while others (e.g. strings, tuples) are not. Students have difficulty tracing code that uses mutable types because they often forget this. with Twitter
Get students paying attention to types in Python; although type declarations aren’t explicitly required in Python, they still exist and are crucial to understanding how Python manages data. Share Get students paying attention to types in Python; although type declarations aren’t explicitly required in Python, they still exist and are crucial to understanding how Python manages data. with FacebookShare Get students paying attention to types in Python; although type declarations aren’t explicitly required in Python, they still exist and are crucial to understanding how Python manages data. with Twitter
Forward students links to programs in Python Tutor and ask them to answer questions about how the code works to go over what happens during a function call to provide students in-depth practice. Share Forward students links to programs in Python Tutor and ask them to answer questions about how the code works to go over what happens during a function call to provide students in-depth practice. with FacebookShare Forward students links to programs in Python Tutor and ask them to answer questions about how the code works to go over what happens during a function call to provide students in-depth practice. with Twitter
Misconception: Return is a mystery to students because they may not understand that functions have an entry point and an exit point. This results in mistakes such as assuming Python will return the right thing. Share Misconception: Return is a mystery to students because they may not understand that functions have an entry point and an exit point. This results in mistakes such as assuming Python will return the right thing. with FacebookShare Misconception: Return is a mystery to students because they may not understand that functions have an entry point and an exit point. This results in mistakes such as assuming Python will return the right thing. with Twitter
Use CodingBat problems to supplement Java and Python curricula to give students more practice. Share Use CodingBat problems to supplement Java and Python curricula to give students more practice. with FacebookShare Use CodingBat problems to supplement Java and Python curricula to give students more practice. with Twitter
Help students build intuition about recursion in Python by comparing each recursive call to a function call, which may be more intuitive for students in introductory classes. Share Help students build intuition about recursion in Python by comparing each recursive call to a function call, which may be more intuitive for students in introductory classes. with FacebookShare Help students build intuition about recursion in Python by comparing each recursive call to a function call, which may be more intuitive for students in introductory classes. with Twitter
Use Python as an introductory language rather than Java or C to allow students to focus on problem-solving more than syntax. Share Use Python as an introductory language rather than Java or C to allow students to focus on problem-solving more than syntax. with FacebookShare Use Python as an introductory language rather than Java or C to allow students to focus on problem-solving more than syntax. with Twitter
Have students who are transitioning from Python to Java explore the “From Python to Java” website to show them the differences between the two languages. Share Have students who are transitioning from Python to Java explore the “From Python to Java” website to show them the differences between the two languages. with FacebookShare Have students who are transitioning from Python to Java explore the “From Python to Java” website to show them the differences between the two languages. with Twitter