Have students learn to make themselves a profile page with pop-ups using JavaScript for an exciting and relatively fast way to get students engaged and programming.
Give research students an initial set of papers to read to help them generate their own potential research questions.
Allow students to choose from a list of possible projects, and have them pursue multiple research questions. This increases the chances that at least one project/question will emerge as feasible.
Don’t shortchange your students; believe they can do investigative problem solving and assign open-ended projects.
Tie the importance of searching and sorting to internet search engines, then encourage students to create search mechanisms for data they want to analyze.
Provide multiple equivalent project options, but keep the number of choices limited to ensure that students have enough time to complete an assignment.
Allow students to make their own design decisions by providing problems that have multiple solutions.
When designing CS courses for total novices, integrate activities based on students’ pre-existing interests to engage them.