Topic 2: Data and Programming Techniques
- Recognise the elements needed for a data-driven solution, including
- scope of given problems
- constraints and limitations
- programming requirements, e.g. SQL and algorithms
- system requirements, e.g. platforms, connections, hardware and data stores
- the data that is required from real-world data sources, e.g. files, peripheral devices, online sources and users
- the personal, social and economic impacts of storing data in databases for individuals, organisations and governments. - Understand
- the difference between data, information and wisdom
- that data-driven programming is typically applied to streams of structured data for filtering, transforming, aggregating (such as computing statistics), or calling other programs
- SQL syntax and use SQL statements to solve a problem
- that simple algorithms consist of input, process and output at various stages
- that data is organised in tabular form and the skills and knowledge used to normalise and link tables together
- the reasons and methods of database structure modification to third normal form (3NF).
Lots of this has already been covered in Unit 1 BUT now needs to be extended to include data as well which is covered in more detail below.
- Interpret the structure of a database represented by a relational schema (RS) to determine the relationship between data.
Videos
Software
- https://www.convertcsv.com/sqlite-online.htm
- Draw.io: https://github.com/jgraph/drawio-desktop/releases
- Explain data principles including
- acquisition
- organisation, i.e. using appropriate naming conventions, data formats and structures
- representation
- integrity
- anomalies
- redundancy
- security - Explain
- the difference between data validation and data verification
- referential integrity, normalisation and third normal form, relational database management system
- the difference between primary key and foreign key
- relations (tables) including rows; columns; primary, secondary and foreign keys; nulls; and views within a database management system.
Videos
Resources
- https://groklearning.com/course/intro-sql-1/
- https://www.w3schools.com/sql/
- https://www.w3schools.com/sql/sql_quiz.asp
- https://www.w3schools.com/sql/sql_exercises.asp
- https://sqlzoo.net/wiki/SQL_Tutorial
- https://www.sqlitetutorial.net/
Software
- Symbolise
- ideas for user interface and interconnecting systems using sketches, diagrams or mock-ups
- data flow through a system using data flow diagrams.
Examples
Level 0 DFD
Basically the same as a Context Diagram
Level 1 DFD
Videos
Software
Resources
- Analyse and structure data and data stores to reduce redundancy and ensure completeness, consistency and integrity for use and storage.
- Apply data management processes, e.g. encryption, consistency, searching, pattern recognition and de-identification.
Videos
- Understand and use the basic constructs of an algorithm including assignment, sequence, selection, condition, iteration and modularisation.
- Develop well-ordered and unambiguous algorithms using pseudocode for
- a program that processes data for insertion into a database or manipulates or displays retrieved data
- user interaction, data validation and data presentation. - Communicate and clarify knowledge and understanding about the purpose of code statements using code comments.
Videos
Resources
- https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_styleguide.html
- https://gdquest.gitbook.io/gdquests-guidelines/godot-gdscript-guidelines
- https://godot.community/topic/78/gdscript-cheatsheet/2?_=1727226115569
- https://godot.community/topic/27/gdscript-coding-conventions-best-practices-for-readable-and-maintainable-code
- https://godot.community/topic/41/gdscript-best-practices-for-organized-code