To solve complex problems, students need to develop a strategy.
They need to be able
- to identify inputs and outputs,
- to select, describe and use relevant data structures,
- to explain the procedures required for the solution and explain how each of these will interact.
The development of structured algorithms to document the logical solution of problems is a fundamental principle of this course. These must be developed independently of any coding language. Students should appreciate that the real skill is in the development of the algorithm, not the implementation of the logic in a particular language. Not every algorithm developed in this section of the course need be implemented.
Problems must be chosen with an appropriate level of difficulty that reflects the ability level of students. The level of difficulty should be greater than in the Preliminary course. Relevant problems could include the development of games such as hangman, quizzes, mastermind, draughts and search-a-word. These problems should include use of data structures such as arrays of records and multidimensional arrays.
Students should experience the storing, retrieving and updating of data in files.
Outcomes
A student:
H1.1 explains the interrelationship between hardware and software
H1.3 describes how the major components of a computer system store and manipulate data
H3.1 identifies and evaluates legal, social and ethical issues in a number of contexts
H3.2 constructs software solutions that address legal, social and ethical issues
H4.1 identifies needs to which software solutions are appropriate
H4.2 applies appropriate development methods to solve software problems
H4.3 applies a modular approach to implement well structured software solutions and evaluates their effectiveness
H5.1 applies project management techniques to maximise the productivity of the software development
H5.2 creates and justifies the need for the various types of documentation required for a software solution
H5.3 selects and applies appropriate software to facilitate the design and development of software solutions
H6.2 communicates the processes involved in a software solution to an inexperienced user
H6.3 uses and describes a collaborative approach during the software development cycle
H6.4 develops and evaluates effective user interfaces, in consultation with appropriate people.
Computational Thinking
- A problem-solving method that involves various techniques and strategies that can be implemented by digital systems.
- Techniques and strategies may include
- organising data logically,
- breaking down problems into parts,
- defining abstract concepts and
- designing and using algorithms, patterns and models.
Students Learnt About: Standard algorithms
Custom-designed logic used in software solutions
Standard modules (library routines) used in software solutions
| Students Learn To:
• design and evaluate effective interfaces for software solutions • use a RAD environment to produce user interfaces
|
