Unit Title: 8.2.2Building Software Solutions (duration 4 Weeks)
Timing: Term 3, Weeks 1-4
Aims: For students to gain knowledge, understanding and skills in building software solutions
Objectives:
  • Student understanding of syntax of chosen language (Visual Basic)
  • Student able to both develop new code and modify existing code
  • Student understands role and considerations in developing effective user interfaces
  • Student understands purpose and capable of completing documentation pertaining to Build phase

Student Outcomes:
A student:
P1.2describes and uses appropriate data types
P1.3describes the interactions between the elements of a computer system
P3.1identifies the issues relating to the use of software solutions
P4.2investigates a structured approach in the design and implementation of a software solution
P4.3uses a variety of development approaches to generate software solutions and distinguishes between these approaches
P5.1uses and justifies the need for appropriate project management techniques
P5.2uses and develops documentation to communicate software solutions to others
P6.1describes the role of personnel involved in software development
P6.2communicates with appropriate personnel throughout the software development process
P6.3designs and constructs software solutions with appropriate interfaces.
Required Resources:
  • Text –Wilson, Carole. Software Design and Development The Preliminary Course. Cambridge Press
  • Text – Fowler, Allan. Software Design and Development Preliminary Course. Heinemann.
  • Booklet – VB Programming. Year 12 Software Design & Development
  • Sample algorithms – many and range of degree of difficulty for engaging students in number of learning activities.
  • Sample program code – as for algorithms, many samples and range of difficulty to support number of learning activities.
  • Specifications for algorithms and plans for what type of modifications students will need to make to them, some with suggested plans/worked answers
  • Samples of Software Documentation.
  • Source code documentation (target audience software developer) for students to use in order to identify control structures and variables and explain their purpose.
  • Computer labs – PCs with Microsoft Office Suite & Visual Basic

Perspectives to be taken into the unit: building phase needs to have exposure to both developing and maintaining code. Students need to be given ample opportunity to become familiar with the syntax of Visual Basic in early lessons in order that meaningful learning can occur within subsequent lessons. This class is few in number and prefers being hands on rather than engaged in didactic learning interactions. Propose for majority of this unit to be presented in hands-on learning activities, some activities performed as a trio, others individually.
Language to be developed in the unit: meta language, pseudocode, algorithm development, syntax of Visual Basic, Syntax Error, Runtime Error, Logic Error, Debugging, Stubs, Flags, Error Correction, Libraries of code, reusable code, module, User Interface, Prompts, indentation, white space, grouping, documentation
Students learn about / Students learn to / Outcome / Proposed Lesson Date/
Register / Learning experience strategy, instruction and assessment / Evidence of learning / Feedback to student
Coding in an approved programming
language
• meta-languages, including:
– BNF
– EBNF
– Railroad diagrams
• reading and writing statements in
meta-languages
• the syntax of the statements used to
represent the control structures,
including:
– sequence
– selection (binary, multiway)
– iteration (pre-test, post-test)
– combinations of these
• the syntax of the statements used to
define and use a range of data types,
including:
– integer
– string
– floating point
– one-dimensional array
– record
– sequential files / • use meta-language statements from manuals and help files to develop syntactically correct code
• verify the syntax of a command using meta-language statements
• generate appropriate source code by: – using a programming environment to generate and execute code
– coding an algorithm into the chosen programming language
– using different data types in
solutions / P1.2, P4.2, P4.3, P6.3 / Thursday July 20 2006 / Meta languages Refresher
Students have already been exposed to meta langages, this material will be reviewed.
Syntax of statements representing control structures
Students proficient in this area, will be covered off during acquisition of Visual Basic skills.
Syntax of statements used to define and use a range of data types
As for control structures, students are already familiar with these data types. These skills will be addressed during acquisition of Visual Basic skills. /
  • Student identifies purpose of meta-language statements.
  • Students develop syntactically correct code.
  • Students use a programming language (Visual Basic) to generate and execute code
  • Students code an algorithm using Visual Basic
  • Students use different data types within code developed in Visual Basic
/ Teacher provides oral feedback on student ability to
a) identify purpose of meta language statements,
b) Interpret meta-language statements,
c) develop skills and syntax knowledge in Visual Basic programming
Students learn about / Students learn to / Outcome / Proposed Lesson Date/
Register / Learning experience strategy, instruction and assessment / Evidence of learning / Feedback to student
Error correction techniques
• types of coding errors, including:
– syntax errors
– runtime errors
– logic errors
• stubs
– used to check the connection
between modules of code
• flags
– used to check if a section of code
has been processed
– can be used as part of the logic of
a solution or as a systematic error
correction process
• debugging output statements:
– additional print statements in the
code that help in telling what part of
the code has been executed or for
interrogating variable contents at a
particular point in the program’s
execution / • trace the output of a given code
fragment and modify it appropriately
• run, correct and extend existing code
• systematically eliminate syntax errorsso that a program can be executed
• test a program with boundary valuesto detect runtime errors
• detect and correct logic errors inprogram code by using a systematicerror correction process
• use automated debugging features inprogramming environments / P1.2, P4.2, P4.3 / Friday July 21 2006 / Interactive Group Activity
As a group students use a sample program and follow a series of steps to force error conditions. Latter steps include exploring debugging features within Visual Basic and following instructions to create flags and debugging output statements.
/
  • Student identifies types of coding errors
  • Student describes techniques for error correction
/ Teacher provides oral feedback to students during activity on
a) identify types of coding errors,
b) understanding of purpose of debugging tools.
Friday July 28 2006
and Monday July 31 2006 / Individual Student Self-paced Activity
Students are provided with code that requires debugging, correction of logic errors prior to modifications (involving developing standard routines for re-use) and finally testing of the program.
This activity will include elements from libraries of code topic.
Get students to write both a procedure and a function and call to both. /
  • Student achieves the learn to goals for this topic in the unit
/ Teacher provides oral feedback to student during and upon completion of the activity.
Students learn about / Students learn to / Outcome / Proposed Lesson Date/
Register / Learning experience strategy, instruction and assessment / Evidence of learning / Feedback to student
Libraries of code
• reusable code
– standard routines, such as data
validation, date conversion and
words to numbers
• combining code and modules from
different sources
– copying and pasting into code
– ways of calling modules of code
– sharing/passing variables between
modules / • develop standard routines for reuse
• create solutions to problems using existing code with minimal change or additions
• represent code from different sources as an algorithm, to assist in understanding its purpose / P1.2, P4.2, P4.3 / Monday July 24 2006 / Student Self-Investigation Activity
Students will be given a range of data manipulation and data conversion requirements. Students will need to investigate how each requirement would be satisfied within the Visual Basic environment. /
  • Student uses the Visual Basic help environment
  • Student identifies data functions and their purpose within the programming environment
/ Teacher provides oral feedback to students during the activity.
Group discussion at end of activity, teacher feedback on outcome of activity to the group.
Thursday July 27 2006 / Libraries of Code Interpretation Exercise
Students will be presented with code that performs a variety of data validation activities. Students need to identify the purpose of the code and describe how it would be implemented within an application. /
  • Student can interpret code and documentation prepared by others.Also satisfies learn to goal of documentation topic
  • Student describes purpose of libraries of code
/ Oral feedback during and upon group review of the activity.
Friday July 28 2006
and Monday July 31 2006 / Individual Student Self-paced Activity
Students are provided with code requiring debugging. Once the code executes successfully, modifications will be required, including the development of standard routines for reuse and sharing/passing variables.
This activity will include elements from the error correction topic. /
  • Student achieves the learn to goals for the topic in this unit
/ Teacher provides oral feedback to student during and upon completion of the activity.
Students learn about / Students learn to / Outcome / Proposed Lesson Date/
Register / Learning experience strategy, instruction and assessment / Evidence of learning / Feedback to student
User interface development
• consult with users
• the different perspectives a user and
a developer have to a program
• effective user interfaces
– factors affecting readability
– use of white space
– effective prompts
– judicious use of colour and
graphics
– grouping of information
– unambiguous and non-threatening
error messages
– legibility of text: justification, font
type (serif vs sans serif), size, style
– recognition of relevant social and
ethical issues
– consistency / • solve problems that require the
creation of a user interface
• evaluate the effectiveness of screensused in commercially availablesoftware
• design screens incorporating gooddesign and ergonomic features / P1.2, P1.3, P3.1, P4.2, P4.3, P5.1, P5.2, P6.1, P6.2, P6.3 / Friday August 4 2006 / Student Self-Paced Research Activity
Students search the internet for examples of both good and bad user interfaces.
As a group, critique examples and identify characteristics that make a user interface either ‘good’ or ‘bad’ /
  • Student can identify examples of both good and bad user interfaces.
  • Student can evaluate the effectiveness of screens used in commercially available software
/ Teacher provides oral feedback to student during and upon completion of the activity.
Monday August 7 2006
and Thursday August 10 2006
and
Friday August 11 2006 / Building Software Solutions Mini-Project
Students will design a user interface for a particular purpose. Using scaffolds, students will fully document the solution. The program must include reusable code and sharing/passing of variables between modules. /
  • Develop standard routines for reuse
  • Solve problems that require the creation of a user interface.
  • Design screens incorporating good design and ergonomic features
  • document code for different audiences.
  • Fully document a solution developed in the classroom.
  • Use application packages to document a solution.
/ Teacher provides oral and brief written feedback to student during and upon completion of the activity.
Students learn about / Students learn to / Outcome / Proposed Lesson Date/
Register / Learning experience strategy, instruction and assessment / Evidence of learning / Feedback to student
Documentation
• types of documentation
– documentation for developers
– documentation for users
• internal documentation
– meaningful variable names
(intrinsic)
– readability of code (comments,
white space and indentation)
• online help / • document code for differentaudiences
• fully document a solution that has been developed in the classroom
• use application packages todocument a solution
• interpret code and documentationprepared by others / P3.1, P4.2, P4.2, P5.1, P5.2, P6.1, P6.2 / Thursday August 3 2006 / Individual Student Self-paced Activity
Students examine samples of various types of documentation for developers, users and code. Students required to critique the documentation, specifically to comment upon suitability for purpose, layout, meets target audience, completeness.
Class will re-group to compare and contrast results of their critiques. /
  • Student can analyse documentation to identify good and poor features
  • Student understands purpose of types of documentation
/ Teacher provides oral feedback to student during and upon completion of the activity.
Thursday July 27 2006 / Libraries of Code Interpretation Exercise
During this exercise students will examine sample code and analyse it for readability, comments, whitespace and indentation etc. /
  • Student can describe characteristics of well documented program code. Student can interpret code prepared by others
/ Teacher provides oral feedback to students at the completion of the activity.

Version 1.0

July 23, 2006

Page 1 of 6