Teach students to storyboard in Alice so they know a systematic process to follow when approaching challenging problems.
Use the model of Towers of Hanoi in order to help students understand recursion. To demonstrate Towers of Hanoi, use three baby ring-stacking toys and the programming language Alice.
Allow students to find examples of Alice worlds that they want to build in order to motivate learning new concepts.
Show students examples of infinite loops in Alice using Do-together and Do-in-order blocks with the goal of furthering students’ understanding and recognition of for loops.
Use these two novel Prolog problems with solutions that are not commonly available online to spruce up your prolog assignments in an engaging way.
Misconception: Students mix up whether model class names and database table names should be singular or plural in Ruby on Rails.
Misconception: Students have trouble understanding the difference between Get, Post, Put/Patch, and Delete in Ruby on Rails Routing.
Misconception: Students may not realize that websites need and use servers to store, process, and deliver content to users’ browsers, causing struggles with the distinction between Server side vs. Client side.
Use LightBot, Picobot, and Manufactoria as introductory exercises to figure out what types of problems might arise in the classroom.
Have students complete CodeLab’s practice exercises to improve their skills in Python, Java, C++, or other programming languages.
Students have trouble seeing the connection between models (UMLs, etc.) and code so they only want to focus on coding, a problem when teaching modeling.
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.
Mention to students that individual blocks in Scratch and Snap can be tested by double clicking them in the block library so they know this useful, non-intuitive trick for learning what an individual block does.
Explain the “discards qualifiers” error in C++ using the metaphor of a contractor who has signed a contract not to change instance variables, but then attempts to use subcontractor who hasn’t agreed to the same terms or signed the appropriate forms.