Students will be able to...
- Identify potential users, intended impact, and possible unintended negative consequences.
- Generate ideas to create range of possibilities using a brainstorm technique.
- Conduct user-centered research to understand design opportunities and barriers.
- Critically analyze factors when choosing between project ideas.
- Prioritize proposed project ideas using the identified factors.
When coming up with ideas, personal interests are considered. The final product often reflect the "heart and soul" of the designers behind the product. If you are working in a group, each person should be willing to see the project through to completion.
The design of a new software product progresses through a sequence of stages called the "life cycle", and is often associated with changes in the marketing situation. The first step of introducing a product involves getting to know the market, or in other words, the users or potential customers out there.
When coming up with a great product idea, it is important to conduct user-centered research to understand the needs of the client/customer/end-user. This research helps us understand design opportunities and barriers. This research could be done as a survey or interview, given to random people, to people in your friends or family circle, or to a specific population of people (like customers of a supermarket, or members of a soccer club, for example).
- Unit 6 tips
- Final project specifications (docx)(pdf)
- Final project plan organizer
- Final project development plan
- Examples of TEALS final projects
Duration | Description |
---|---|
5 minutes | Welcome, attendance, bell work, announcements |
10 minutes | Review process and identify first steps |
5 minutes | Brainstorming |
10 minutes | Pitch writing |
15 minutes | Peer review |
5 minutes | Prepare interview or survey questions |
5 minutes | Debrief and wrap-up |
Ask students to identify the steps in the design and planning process as discussed in Lesson 6.1.
- Remind students that all steps are vital, and that thorough and thoughtful planning and design can make the coding phase much easier.
Inform students that today they will take the first steps in designing their final project.
Give students 3-4 minutes to brainstorm and write down as many project ideas as they can. This should be done mostly in silence.
At this point, there should be minimal detail, no evaluation or rejection of ideas, and no discussion. In particular, students should not think about the difficulty or "coolness" of the project yet. Just write down ideas.
Have each student share one idea. Do not allow discussion, criticism, or explanation.
- Each idea should be summarized in only a few words or a single sentence.
Have students look at their list of ideas and spend a few minutes thinking about them. Then, each student should pick their favorite ideas and write a "pitch" for the project. A pitch should be no more than a short paragraph and should describe the basic, high-level features of the project. The pitch should not include any implementation details (scripts, sprites, etc.).
Pitches should include a moderate level of specificity-* enough for someone to imagine how the app will work, but not so much to get bogged down. Enforce the "one short paragraph" restriction.
If a student is having difficulty developing a pitch for an idea, that might be a sign that the idea is not fully-formed enough to be a final project.
If a student is having trouble keeping the pitch short, the project may be too complex to complete in the available time.
Pair students up and have students take turns reading one of their pitches to their partner and asking for feedback. Partners should ask questions to help identify both the best and worst parts of each pitch.
- Remind students to keep all feedback constructive, respectful, and professional. Students should not criticize each other's ideas, but can point out potential concerns.
Students should take notes during their conversations and refine their pitches based on their partner's feedback and their own realizations.
- If time allows (or over the course of multiple days), repeat this process with new partners.
At this points, students should have between one and three pitches that are well-defined and reasonably well fleshed-out. Overnight, students should do some research, re-consider their pitches and rank them in order or which they would most like to pursue as their final project.
Make sure students don't just pick the "coolest" sounding idea, but also consider the technical challenges, amount of time available, and their own interest in and willingness to see the project through to completion.
As homework, students may create a simple survey or a list of questions to ask friends or relatives to help refine ideas, and subsequently, decide on the final project. Make changes to the project pitch based on these recommendations.
Software design is a process that takes time. Conducting user-centered research helps narrow down and refine ideas. What do potential users think? For example, what components are necessary? What components are nice to have? Is it easy to use?
If students are having difficulty coming up with project ideas, encourage them to think about existing software. While simply recreating an existing app should be a last resort, thinking about applications they already know can help students come up with functionality they might like to include.
If your class is fairly self-sufficient and mature, you can consider allowing students to "borrow" an idea from a classmate if they find one they like better than any of their own. Make sure the person who had the idea is OK with it being borrowed, and emphasize that the students must each build their own version.
This can be a bit dangerous, as it puts the student somewhat behind in the process right from the start, since they won't have as much context having not written the pitch themselves. Consider carefully whether this is a good idea.
Encourage each student to pick a project that fits his or her level of technical skill. Make sure students are not over committing and choosing projects they do not have the skills to complete. Also try to discourage stronger students from choosing simpler projects in an effort to do less work.