Hero image

Guy Bartle's Shop

Guy Bartle is a retired teacher, who still freelances as a programmer, systems analyst, web designer, database manager and spreadsheet builder. This shop provides a wealth of resources for teaching and learning Computing from Year 7 onwards with an emphasis on Programming, GCSE and AS/A Level. There are resources for learning to program in Python for Year 7 onwards and interactive models for AS and A Level specifications: Data Structures, Data Sorts and Compilation. There are also spreadsheet in

Guy Bartle is a retired teacher, who still freelances as a programmer, systems analyst, web designer, database manager and spreadsheet builder. This shop provides a wealth of resources for teaching and learning Computing from Year 7 onwards with an emphasis on Programming, GCSE and AS/A Level. There are resources for learning to program in Python for Year 7 onwards and interactive models for AS and A Level specifications: Data Structures, Data Sorts and Compilation. There are also spreadsheet in
Noughts and Crosses – a first Visual Studio Project (Visual Basic.net Coded Front End Version)
gbartle_shsgbartle_shs

Noughts and Crosses – a first Visual Studio Project (Visual Basic.net Coded Front End Version)

(0)
Noughts and Crosses – a first Visual Studio Project is designed as a first opportunity to code a Microsoft Visual Studio project from start to finish having finished a course of study learning C#, either through classes, self-study or following a tutorial. Presented in a series of thirteen steps, the learner is guided through the whole process, from interface design to adding functionality through coding, to produce a noughts and crosses (tic tac toe) game. Towards the end of developing the game, a little twist is added which gives the opportunity to code a practical use of a Circular Queue. Each step in the development process is supported by a fully commented coded example of a possible solution to prevent learners from hitting an insurmountable roadblock. In this version, the learner builds the interface by writing code. This method offers the opportunity to see how, by using constants and placing controls mathematically relative to each other, ongoing maintenance and development of the solution can be simplified. It also shows how control arrays can be created and how to write efficient code by using a single handler to action the same event for all the controls within an array or of the same type on the form. The supplied example solutions use this approach. Both versions offer an ideal gateway to developing the skills necessary to create one’s own, unique solutions to coding problems rather than following someone else’s style as in a tutorial. They also make an ideal jump-off point to using our File Handling Visual Studio project, which provides a one-stop guide to adding loading and saving functionality to an application.
Noughts and Crosses – a first Visual Studio Project (Visual Basic.net Form Designer Version)
gbartle_shsgbartle_shs

Noughts and Crosses – a first Visual Studio Project (Visual Basic.net Form Designer Version)

(0)
Noughts and Crosses – a first Visual Studio Project is designed as a first opportunity to code a Microsoft Visual Studio project from start to finish having finished a course of study learning C#, either through classes, self-study or following a tutorial. Presented in a series of thirteen steps, the learner is guided through the whole process, from interface design to adding functionality through coding, to produce a noughts and crosses (tic tac toe) game. Towards the end of developing the game, a little twist is added which gives the opportunity to code a practical use of a Circular Queue. Each step in the development process is supported by a fully commented coded example of a possible solution to prevent learners from hitting an insurmountable roadblock. In this version, the learner builds the interface using Visual Studio’s built-in Form Designer. This method offers the opportunity to develop the front end quickly and simply at the expense of some inefficiency in coding the functionality behind the controls. The supplied example solutions use this approach. Both versions offer an ideal gateway to developing the skills necessary to create one’s own, unique solutions to coding problems rather than following someone else’s style as in a tutorial. They also make an ideal jump-off point to using our File Handling Visual Studio project, which provides a one-stop guide to adding loading and saving functionality to an application.
Noughts and Crosses – a first Visual Studio Project (C# Coded Front End Version)
gbartle_shsgbartle_shs

Noughts and Crosses – a first Visual Studio Project (C# Coded Front End Version)

(0)
Noughts and Crosses – a first Visual Studio Project is designed as a first opportunity to code a Microsoft Visual Studio project from start to finish having finished a course of study learning C#, either through classes, self-study or following a tutorial. Presented in a series of thirteen steps, the learner is guided through the whole process, from interface design to adding functionality through coding, to produce a noughts and crosses (tic tac toe) game. Towards the end of developing the game, a little twist is added which gives the opportunity to code a practical use of a Circular Queue. Each step in the development process is supported by a fully commented coded example of a possible solution to prevent learners from hitting an insurmountable roadblock. In this version, the learner builds the interface by writing code. This method offers the opportunity to see how, by using constants and placing controls mathematically relative to each other, ongoing maintenance and development of the solution can be simplified. It also shows how control arrays can be created and how to write efficient code by using a single handler to action the same event for all the controls within an array or of the same type on the form. The supplied example solutions use this approach. Both versions offer an ideal gateway to developing the skills necessary to create one’s own, unique solutions to coding problems rather than following someone else’s style as in a tutorial. They also make an ideal jump-off point to using our File Handling Visual Studio project, which provides a one-stop guide to adding loading and saving functionality to an application.
Noughts and Crosses – a first Visual Studio Project (C# Form Designer Version)
gbartle_shsgbartle_shs

Noughts and Crosses – a first Visual Studio Project (C# Form Designer Version)

(0)
Noughts and Crosses – a first Visual Studio Project is designed as a first opportunity to code a Microsoft Visual Studio project from start to finish having finished a course of study learning C#, either through classes, self-study or following a tutorial. Presented in a series of thirteen steps, the learner is guided through the whole process, from interface design to adding functionality through coding, to produce a noughts and crosses (tic tac toe) game. Towards the end of developing the game, a little twist is added which gives the opportunity to code a practical use of a Circular Queue. Each step in the development process is supported by a fully commented coded example of a possible solution to prevent learners from hitting an insurmountable roadblock. In this version, the learner builds the interface using Visual Studio’s built-in Form Designer. This method offers the opportunity to develop the front end quickly and simply at the expense of some inefficiency in coding the functionality behind the controls. The supplied example solutions use this approach. Both versions offer an ideal gateway to developing the skills necessary to create one’s own, unique solutions to coding problems rather than following someone else’s style as in a tutorial. They also make an ideal jump-off point to using our File Handling Visual Studio project, which provides a one-stop guide to adding loading and saving functionality to an application.
Mathematics for Computing Multi-Buy offer
gbartle_shsgbartle_shs

Mathematics for Computing Multi-Buy offer

7 Resources
Buy all seven products together and save £15 Endless Number Base Conversion question generator Endless Unsigned Binary Addition and Subtraction question generator Endless Signed Binary Addition and Subtraction question generator Endless Guided Floating Point Binary Conversion question generator Endless Unguided Floating Point Binary Conversion question generator Endless Guided Floating Point Binary Mathematics questions Endless Unguided Floating Point Binary Mathematics questions
Floating Point Multi-Buy offer
gbartle_shsgbartle_shs

Floating Point Multi-Buy offer

4 Resources
Buy all four floating point question spreadsheets together and save £10: Endless Guided Floating Point Binary Conversion question generator Endless Unguided Floating Point Binary Conversion question generator Endless Guided Floating Point Binary Mathematics questions Endless Guided Floating Point Binary Mathematics questions Endless Unguided Floating Point Binary Mathematics questions
Computing Investigations Multi-Buy offer
gbartle_shsgbartle_shs

Computing Investigations Multi-Buy offer

3 Resources
Buy all three Computing investigations together for the price of two! Bundle includes: Addressing Mode investigation Binary Search investigation Complexity Comparisons investigation
Endless Unguided Floating Point Binary Mathematics questions
gbartle_shsgbartle_shs

Endless Unguided Floating Point Binary Mathematics questions

(0)
This macro-enabled spreadsheet is designed to demonstrate the ability to add and subtract Floating Point Binary numbers as used in Computing. There are two worksheets, one with addition, and one with subtraction. The following options can be selected: • The size of the Mantissa can be varied between 4 and 8 bits in size. This both changes the question difficulty and also gives learners an opportunity to appreciate how altering the size of the Mantissa affects the accuracy with which values can be represented. • The size of the Exponent can be either 3 or 4 bits in size. This both changes the question difficulty and also gives learners an opportunity to appreciate how altering the size of the Exponent affects the range of values which can be stored. • Both positive and negative Mantissae can be generated, or questions can be made simpler by allowing only positive Mantissae to be generated. • There is an option to emulate how some processors treat the Carry Bit as an additional Sign Bit in certain conditions, allowing learners to determine the circumstances when this happens and the effect it has on eliminating Overflow. With the Binary Exponent, both types of question use the convention with negative Binary numbers whereby if only the Sign Bit is a 1, it represents both sign and magnitude. For example, with a signed 4 bit Binary number, 1000 represents -8 in Decimal. Each worksheet generates five questions every time the ‘Generate Questions’ button is clicked. Once the learners have completed a question, clicking the associated ‘Mark It’ button reveals whether their answer are right or wrong, and the steps required to complete the question successfully, namely: • Converting the two values from Floating Point form to raw binary; • Aligning the points of the raw binary values and padding out with additional Sign Bits and trailing zeroes as necessary; • Twos Complementing the bottom of the point-aligned values (subtraction only); • Performing the addition or subtraction of the point-aligned values; • Determining the Mantissa, or if Overflow has occurred; • Determining the Exponent, or if Overflow (the Exponent is a positive value too big to be represented in its selected number of bits) or Underflow (the Exponent is a negative value too big to be represented in its selected number of bits) has occurred; • Giving the full Floating Point binary string if possible, or stating it is impossible to do so if not; • Stating whether the Floating Point value has been truncated or not if it was possible to generate it. Changing an answer removes the marking until the button is clicked again. This worksheet is designed to be used after completing our ‘Guided Floating Point Binary questions’, ‘Unguided Floating Point Binary questions’ and ‘Guided Floating Point mathematics questions’ worksheets.
Endless Guided Floating Point Binary Mathematics questions
gbartle_shsgbartle_shs

Endless Guided Floating Point Binary Mathematics questions

(0)
This macro-enabled spreadsheet is designed to practice adding and subtracting Floating Point Binary numbers as used in Computing. There are two worksheets, one with addition, and one with subtraction. Learners are guided through the steps necessary to complete each type of question, namely: • Converting the two values from Floating Point form to raw binary; • Aligning the points of the raw binary values and padding out with additional Sign Bits and trailing zeroes as necessary; • Twos Complementing the bottom of the point-aligned values (subtraction only); • Performing the addition or subtraction of the point-aligned values; • Determining the Mantissa, or if Overflow has occurred; • Determining the Exponent, or if Overflow (the Exponent is a positive value too big to be represented in its selected number of bits) or Underflow (the Exponent is a negative value too big to be represented in its selected number of bits) has occurred; • Giving the full Floating Point binary string if possible, or stating it is impossible to do so if not; • Stating whether the Floating Point value has been truncated or not if it was possible to generate it. The following options can be selected: • The size of the Mantissa can be varied between 4 and 8 bits in size. This both changes the question difficulty and also gives learners an opportunity to appreciate how altering the size of the Mantissa affects the accuracy with which values can be represented. • The size of the Exponent can be either 3 or 4 bits in size. This both changes the question difficulty and also gives learners an opportunity to appreciate how altering the size of the Exponent affects the range of values which can be stored. • Both positive and negative Mantissae can be generated, or questions can be made simpler by allowing only positive Mantissae to be generated. • There is an option to emulate how some processors treat the Carry Bit as an additional Sign Bit in certain conditions, allowing learners to determine the circumstances when this happens and the effect it has on eliminating Overflow. With the Binary Exponent, both types of question use the convention with negative Binary numbers whereby if only the Sign Bit is a 1, it represents both sign and magnitude. For example, with a signed 4 bit Binary number, 1000 represents -8 in Decimal. Each worksheet generates five questions every time the ‘Generate Questions’ button is clicked. Once the learners have completed a question, clicking the associated ‘Mark It’ button reveals which steps of their answer are right or wrong. Changing an answer removes the marking until the button is clicked again. This worksheet is designed to be used after completing our ‘Guided Floating Point Binary questions’ and ‘Unguided Floating Point Binary questions’ worksheets, and prior to completing our ‘Unguided Floating Point mathematics questions’ worksheet.
Endless Unguided Floating Point Binary Conversion question generator
gbartle_shsgbartle_shs

Endless Unguided Floating Point Binary Conversion question generator

(0)
This macro-enabled spreadsheet is designed to demonstrate the ability to convert from Decimal to Floating Point Binary as used in Computing, and vice-versa. There are two worksheets, one with questions converting from Decimal to Floating Point Binary, and one with questions converting from Floating Point Binary to Decimal. The size of the Mantissa can be varied between 4 and 8 bits in size, and the Exponent can be either 3 or 4 bits in size. This both changes the question difficulty and also gives learners an opportunity to appreciate how altering the sizes of the Mantissa and Exponent affect the range of values which can be stored and the accuracy with which they can be represented. With the Binary Exponent, both types of question use the convention with negative Binary numbers whereby if only the Sign Bit is a 1, it represents both sign and magnitude. For example, with a signed 4 bit Binary number, 1000 represents -8 in Decimal. Each worksheet generates five questions every time the ‘Generate Questions’ button is clicked. Once the learners have completed a question, clicking the associated ‘Mark It’ button reveals whether their answer are right or wrong, and the steps required to complete the question successful, namely: Decimal to Floating Point Binary Calculating the positive signed raw Binary; Twos Complementing to obtain the negative raw Binary, if required; Determining the distance the point floats; Determining the direction the point floats; Determining the positive Decimal value of the Exponent; Calculating the Binary value of the Exponent; Twos Complementing to obtain the negative Binary value of the Exponent if required; Working out the Mantissa; Giving the full Floating Point Binary. Floating Point Binary to Decimal Calculating the positive signed raw Binary; Working out the Mantissa; Working out the Binary Exponent; Twos Complementing to obtain the positive Binary value of the Exponent to determine its magnitude if required; Determining the Decimal value of the Exponent; Determining the distance the point floats; Determining the direction the point floats; Un-normalising the Binary Mantissa into its raw Floating Point form; Twos Complementing to obtain the positive Binary value of the raw Floating Point Binary Mantissa to determine its magnitude if required; Giving the Decimal value. Changing an answer removes the marking until the button is clicked again. This worksheet is designed to be used after completing our ‘Guided Floating Point Binary Conversion questions’ worksheet. NOTE: for this spreadsheet to work correctly, the copy of Excel in which it is running must allow macros to execute, and ‘Enable Content’ must be clicked when the spreadsheet is opened.
Endless Guided Floating Point Binary Conversion question generator
gbartle_shsgbartle_shs

Endless Guided Floating Point Binary Conversion question generator

(0)
This macro-enabled spreadsheet is designed to practice converting from Decimal to Floating Point Binary as used in Computing, and vice-versa. There are two worksheets, one with questions converting from Decimal to Floating Point Binary, and one with questions converting from Floating Point Binary to Decimal. Learners are guided through the steps necessary to complete each type of question, namely: Decimal to Floating Point Binary Calculating the positive signed raw Binary; Twos Complementing to obtain the negative raw Binary, if required; Determining the distance the point floats; Determining the direction the point floats; Determining the positive Decimal value of the Exponent; Calculating the Binary value of the Exponent; Twos Complementing to obtain the negative Binary value of the Exponent if required; Working out the Mantissa; Giving the full Floating Point Binary. Floating Point Binary to Decimal Calculating the positive signed raw Binary; Working out the Mantissa; Working out the Binary Exponent; Twos Complementing to obtain the positive Binary value of the Exponent to determine its magnitude if required; Determining the Decimal value of the Exponent; Determining the distance the point floats; Determining the direction the point floats; Un-normalising the Binary Mantissa into its raw Floating Point form; Twos Complementing to obtain the positive Binary value of the raw Floating Point Binary Mantissa to determine its magnitude if required; Giving the Decimal value. The size of the Mantissa can be varied between 4 and 8 bits in size, and the Exponent can be either 3 or 4 bits in size. This both changes the question difficulty and also gives learners an opportunity to appreciate how altering the sizes of the Mantissa and Exponent affect the range of values which can be stored and the accuracy with which they can be represented. With the Binary Exponent, both types of question use the convention with negative Binary numbers whereby if only the Sign Bit is a 1, it represents both sign and magnitude. For example, with a signed 4 bit Binary number, 1000 represents -8 in Decimal. Each worksheet generates five questions every time the ‘Generate Questions’ button is clicked. Once the learners have completed a question, clicking the associated ‘Mark It’ button reveals which steps of their answer are right or wrong. Changing an answer removes the marking until the button is clicked again. This worksheet is designed to be used prior to completing our ‘Endless Unguided Floating Point Binary Conversion question generator’ worksheet. NOTE: for this spreadsheet to work correctly, the copy of Excel in which it is running must allow macros to execute, and ‘Enable Content’ must be clicked when the spreadsheet is opened.
Endless Number Base Conversion question generator
gbartle_shsgbartle_shs

Endless Number Base Conversion question generator

(0)
This macro-enabled spreadsheet is designed to practice converting between the number bases Decimal (Denary, Base 10), Binary (Base 2), Hexadecimal (Hex, Base 16) and Octal (Base 8) as used in Computing. There are four worksheets, each having questions converting from one of the number bases to the other three. Each worksheet generates ten questions every time the ‘Generate Questions’ button is clicked. Once the learners have completed a question, clicking the associated ‘Mark It’ button reveals whether the answer is right or wrong. Changing an answer removes the marking until the button is clicked again. NOTE: for this spreadsheet to work correctly, the copy of Excel in which it is running must allow macros to execute, and ‘Enable Content’ must be clicked when the spreadsheet is opened.
Endless Signed Binary Addition and Subtraction question generator
gbartle_shsgbartle_shs

Endless Signed Binary Addition and Subtraction question generator

(0)
This macro-enabled spreadsheet is designed to practice signed integer binary addition and subtraction in Computing. Each worksheet generates ten questions every time the ‘Generate Questions’ button is clicked. Once the learners have completed a question, clicking the associated ‘Mark It’ button reveals which bits are right and which are wrong. Changing an answer removes the marking until the button is clicked again. Both worksheets allow for difficulty to be adjusted by selecting whether negative numbers can form part of the question. They also have space for the learner to place carry bits and any necessary Twos Complementation as part of their working. The Addition worksheet further allows for difficulty to be adjusted by selecting whether questions generate overflow or not which the learner then has to pick up. NOTE: for this spreadsheet to work correctly, the copy of Excel in which it is running must allow macros to execute, and ‘Enable Content’ must be clicked when the spreadsheet is opened.
Endless Unsigned Binary Addition and Subtraction question generator
gbartle_shsgbartle_shs

Endless Unsigned Binary Addition and Subtraction question generator

(0)
This macro-enabled spreadsheet is designed to practice unsigned integer binary addition and subtraction in Computing. Each worksheet generates ten questions every time the ‘Generate Questions’ button is clicked. Once the learners have completed a question, clicking the associated ‘Mark It’ button reveals which bits are right and which are wrong. Changing an answer removes the marking until the button is clicked again. Both worksheets have space for the learner to place carry bits as part of their working. Also, the Addition worksheet allows for difficulty to be adjusted by selecting whether questions generate overflow or not which the learner then has to pick up, while the Subtraction worksheet provides space for the number to be subtracted to be Twos Complemented. NOTE: for this spreadsheet to work correctly, the copy of Excel in which it is running must allow macros to execute, and ‘Enable Content’ must be clicked when the spreadsheet is opened.
Complexity Comparisons investigation
gbartle_shsgbartle_shs

Complexity Comparisons investigation

(0)
This spreadsheet is designed to support learning how well algorithms of differing time complexities scale in Computing. By changing the size of the data set, n, the learner can see how well algorithms with Constant, Linear and differing Polynomial, Exponential and Logarithmic complexities scale, even with small data sets.
Addressing Mode investigation
gbartle_shsgbartle_shs

Addressing Mode investigation

(0)
This macro-enabled spreadsheet is designed to support learning how different memory addressing modes work in Computing. The addressing modes supported are Immediate, Direct, Indirect and Indexed. Clicking the ‘New question’ button clears any previous answers and generates a new base address and an offset for Indexed Addressing. The learner then enters the data that will be found using each of the addressing modes. Clicking the ‘Show answers’ button then reveals the correct answers. NOTE: for this spreadsheet to work correctly, the copy of Excel in which it is running must allow macros to execute, and ‘Enable Content’ must be clicked when the spreadsheet is opened.
Binary Search investigation
gbartle_shsgbartle_shs

Binary Search investigation

(0)
This macro-enabled spreadsheet is designed to support learning how a Binary Search works in Computing. It simulates a database with record keys in the range zero to the user’s choice of between ten and one million. After entering the record number to be found, the spreadsheet shows how each iteration of the Binary Search focusses in tighter and tighter on the required record until it is found. It also gives learners the opportunity to see how algorithms of logarithmic complexity O(Log n) scale, i.e. how doubling the number of records only adds one to the maximum number of searches required to find the target. NOTE: for this spreadsheet to work correctly, the copy of Excel in which it is running must allow macros to execute, and ‘Enable Content’ must be clicked when the spreadsheet is opened.
Math Parser Compiler Emulator with Math Parser Virtual Machine (single Windows PC only)
gbartle_shsgbartle_shs

Math Parser Compiler Emulator with Math Parser Virtual Machine (single Windows PC only)

(0)
Math Parser Virtual Machine supports learning how Reverse Polish Notation (RPN) is evaluated to produce answers. Using RPN files created using Math Parser Compiler Emulator (supplied) as input, Math Parser Virtual Machine shows how: The Stack is used in evaluation How the X Register in the CPU is used How the Y Register in the CPU is used How the Accumulator in the CPU is used How run-time errors are handled Fully supported by a comprehensive Help file, Math Parser Virtual Machine includes the algorithm used and explains all the technical terminology.
Math Parser Compiler Emulator (for single Windows PC only)
gbartle_shsgbartle_shs

Math Parser Compiler Emulator (for single Windows PC only)

(0)
Math Parser Compiler Emulator supports learning how a compiler creates an executable program file from source code. Using mathematical expressions as an input, Math Parser shows how the following stages of compilation are performed: Lexical Analysis Syntax Analysis Code Generation Optimisation In addition, Math Parser demonstrates: How mathematical expressions are formed into Reverse Polish Notation (RPN) for execution using the Shunting Yard algorithm and the Stack data structure. How an Abstract Syntax Tree can be created from the RPN, showing how a recursive algorithm is used in practice. The RPN and Data Dictionary from successfully compiled expressions can be saved and then evaluated using the Math Parser Virtual Machine. Math Parser supports implied multiplication (e.g. 5x) as well as explicit multiplication (e.g. 5 * x) in its input expressions. Fully supported by a comprehensive Help file, Math Parser includes all the algorithms used and explains all the technical terminology.
Data Sorts (for single Windows PC only)
gbartle_shsgbartle_shs

Data Sorts (for single Windows PC only)

(0)
Data Sorts provides theory notes and interactive models of four common data sorting routines used in computing: the Bubble Sort, Insertion Sort, Merge Sort and Quicksort. The models include a delay feature so sorting occurs at a speed to suit the user, or, alternatively, instantaneously. In addition, the element of the Sort that is currently being processed is highlighted, making it easier to see what is going on and to relate it to the algorithm being used. There is an option to switch on a step-by-step explanation of how each algorithm is functioning. Speed Trials generates a large data set and then allows the user to sort that data using one of the sorting algorithms, timing how long it took. The data can then be returned to its original order, and one of the other sorts used, allowing comparisons to be drawn. Further sets of data can then be generated to substantiate results. Unlike the standalone models, Speed Trials is not deliberately slowed down and has all unnecessary formatting code removed to optimise performance and therefore provide true comparative data. Alongside the five interactive models are a set of theory notes describing each of the sort algorithms and designed to be read before interacting with the models and to reinforce learning as they are used. Data Sorts is supported by a comprehensive help file.