hts.StevenWood.com

Activity 2-3

Home ] Up ] Fostering Groups ] Activity 2-1 ] [ Activity 2-3 ][ Last Page ]

Life Cycle
Definition
IPO Chart
Pseudocode
Assignment
Checklist
Rubric

The Programmer's Plan Of Action: The Software Design Process

Unit 2, Activity 3

Time:  480 minutes

Description

Students are introduced to the stages of the software design process and use this process to create a simple program design. Students use problem-definition tables to devise a simple method of obtaining complete and unambiguous information from the user to arrive at a clear problem definition. Students build their own algorithms to solve specific problems using input, processing, and output (IPO) charts and represent their algorithms either with pseudo-code or flowcharts. Students verify their algorithm with appropriate test data to ensure it produces the required results and use a variety of tools to check results. Students write documentation that sets the required specifications of the computer program for the implementation (coding) stage. Students are challenged to reflect on how their listening, presentation, and decision-making skills are related to problem solving.

Strand(s) and Expectations

  Strand(s)
Theory and Foundation Skills and Processes Impact and Consequences
Overall Expectations TFOE.01 SPOE.01  
Specific Expectations TFPS.01, TFPS.02, TFPS.03 SPPS.01, SPPS.02, SPPS.03, SPPS.04, SPPS.05
SPHI.04
SPPC.09, SPPC.11
 

Planning Notes

  • Emphasize the importance of the design stage in the software development process. This stage requires students to think logically and creatively to determine the most efficient algorithm, best possible data types, and format for user interface. Students generally tend to ignore this phase and jump right to coding on computer. This bad habit is detrimental as students confront more complex programs that demand good design.

  • Place the stages of the software design process (Appendix 2.3.1), the problem-definition table (Appendix 2.3.2), the input-processing-output chart (Appendix 2.3.3), and examples of pseudo-codes and flowcharts (Appendix 2.3.4)  in a shared directory on the school network for students to access. Alternatively, publish them on a web site where students have access from the school’s Internet connection. Where the above-mentioned methods are not feasible, photocopy the appendices for student reference and use.

  • Ensure students have access to software such as a word processor, a web-page editor (can be any text editor like Windows Notepad or Wordpad), and/or a presentation package.

  • Ensure there is the possibility of showing students’ work to the whole class (e.g., use a projection unit or place students’ work in a shared directory for other students to access).

Teaching/Learning Strategies

The teacher:

  • facilitates and assists students in mapping out common points between the problem-solving model and the software design stages and discovering how closely they are related;

  • reviews the problem-solving model (Appendix 2.1.2);

  • introduces the software design stages (Appendix 2.3.1) and assist students to create a mind map on the commonalties between the problem-solving model and the software design stages and discover how closely they are related;

  • models use of problem-definition tables (Appendix 2.3.2) and IPO charts (Appendix 2.3.3);

  • places students in groups of three, gives a problem definition with ambiguities (Appendix 2.1.4) and missing information (e.g., problems 3, 4, 8, 11, and 12), then asks each group to formulate a problem definition (Appendix 2.3.2) by applying the IPO charts (Appendix 2.3.3);

  • provides an opportunity for each group to share its problem definition;

  • uses class discussion to encourage students to take note of the importance of clear and unambiguous problem statements;

  • asks students to reflect on how their listening, presentation, and decision-making skills are related to problem-solving;

  • explains and models the concept of algorithms as steps/instructions to solving a problem;

  • explains the use of flowchart symbols and pseudo-code in the building of an algorithm in the software design stage;

  • checks for students' understanding of software design stages by providing another question for students to solve using problem-definition tables, IPO charts, and pseudo-code or flowcharts;

  • models the importance of verifying the algorithm with test data;

  • models the writing of documentation for program specification;

  • reminds students that the end-of-unit project requires them to use the IPO chart and either pseudo-code or flowchart to represent their algorithms as the third stage (this is done individually as homework and then each student is paired with a partner to compare designs; from the two designs, a common design is created and presented);

  • assigns the end-of-unit program design project (Appendix 2.3.5) and allows students to create their own problem to solve. Clearly outline the requirements for the project by reviewing the presentation expectations (Appendix 2.3.6).

The students:

  • use Co-operative Learning 3-Step Interview structure in groups of three to investigate ways of obtaining missing information and clarifying information in the definition of an ambiguous problem;

  • individually apply their understanding of the software design stages (Appendix 2.3.1) with the use of problem-definition tables (Appendix 2.3.2), flowcharts, or pseudo-code (Appendix 2.3.4) to prepare a program design;

  • (in pairs) compare designs and create a common design (taking the best of the two ), then prepare an oral and visual presentation of their program design;

  • present their program design to the whole class.

Assessment/Evaluation Techniques

The teacher and students gather assessment information based on specific expectations outlined for this activity including:

  • a formative assessment in roving conferences to ensure students can explain and apply the software design process;

  • a summative assessment (checklist, Appendix 2.3.6) of students’ completed design and presentation;

  • a summative assessment of the final programming design project (Appendix 2.3.7).

Accommodations

The following are ways in which the activity can be modified to accommodate students’ individual needs:

  • pair and group students according to abilities such that stronger students can be presented with more challenging problems while weaker students can have more intervention from teacher;

  • provide support as needed for those students who benefit from direct one-to-one teacher intervention;

  • provide students with special needs help in mapping out commonalities between the problem-solving model and the software design stages;

  • use prepared program designs for identified students to update and/or fill in gaps instead of creating program designs from the problem statements;

  • provide initial testing data for students to test their algorithms;

  • assist students with special needs in using a word processor, web-page editor, or presentation software;

  • help students with special needs choose a suitable problem set;

Resources

Print

Bailey, Edward R., et al. Computer Science: A Structured Approach. Canada: D.C. Heath Canada Limited, 1985. ISBN 0-669-95104-8

Lambert, K. A., D. W. Nance, and T.L. Naps. Introduction to Computer Science with C++, Revised Edition. Boston: PWS Publishing Company, 1997. (Chpt. 2,3) ISBN 0-534-95204-6

Lewis, J. and W. Loftus. Java Software Solutions: Foundations of Program Design. MA: Addison-Wesley, 1998. (Chpt. 11) ISBN 0-201-57164-1

Rood, H.J. Logic and Structured Design for Computer Programmers, Second Edition. Boston: PWS-KENT Publishing Company, 1992. (Chpt. 1.2, 2) ISBN 0-534-92966-4

Sprankle, M. Problem-Solving & Programming Concepts, Third Edition. New Jersey: Prentice Hall, 1995. (Chpt. 1,3) ISBN 0-02-415350-8

Uckan, Y. Problem-Solving Using C Structured Programming Techniques. Chicago: Times Mirror Higher Education Group, Inc., 1995. (Chpt. 2) ISBN 0-697-22465-1

Flowchart template

 

Software

Current Ministry of Education licensed software (e.g., Corel Suite, Claris Works)

Home ] Up ] Fostering Groups ] Activity 2-1 ] [ Activity 2-3 ][Last Page]
All material on this site is copyright © 1997- by Steven Wood or as credited. All right reserved. Use of this site indicates you agreement with the  terms of use.
Send comments or questions to about this page.
Every attempt has been made to credit work under copyright. If there are any claims that copyright has been missed please contact the .
+SDG+