The grade 10 learners are really excited to see something happen, so I give them a very simple program with only string input and output, displaying there name, surname and cellphone number, on day 1 to let them see what coding is about.
Learners learn how the object inspector works by creating their own Form and changing properties as per the table in the text book.
I use the Example program to teach learners the correct way of naming components.
They use three string variables to understand the concept of variables. All starting with the prefix for a string - sName, sSurname, sCell.
We use a RichEdit for output as the code is harder in the RichEdit than in a Label.
The program also has a Reset button.
This program is then used to explain what an event is and how to save the program.
Throughout the year we go back to this Example program to add more code, when a new concept is explained.
I leave coding the properties of components for later as I found this just confuses them at this stage. It is also much quicker for the learners to grasp this concept, once they have some understanding of how to code.
Their next program is used to explain the following:
Different variable types.
Converting numbers to strings and back again for input and output (Type casting).
Simple processing.
They would then store user input for the name, surname and a mark out of 70. Calculate the learners percentage and display their initial, surname, today's date, their mark and percentage for the test.
In this lesson I also teach them to indent and use comments for Input, Processing and Output.
After a few more basic programs, we then start a very large program with several menus to practice many built-in functions and procedures:
sqr
sqrt
pi
power (math)
round
RoundTo (math)
frac
trunc - trunc and floor both rounds down.
floor (math) - To remember the name of the function it rounds to the Floor
ceil (math) Extra activities - To remember the name of the function it rounds to the Ceiling
ord
chr
ABS
pos
Date and DateToStr
Time and TimeToStr
FormatDateTime
RandomRange (1,101);
FormatSettings.LongMonthNames
FormatSettings.ShortMonthNames
FormatSettings.LongDayNames
FormatSettings.ShortDayNames
Div and Mod
We practice many activities from my text book to drill Input, Processing, Output, Applying given Formulas and Built-in Functions.
Next step is to teach Calculating an Average using global variables. This is also a good time to explain how to display values in columns (See TabStops Page)
Time for If-Statements and algorithms.
I explain IN operators and how to store a variable as a char data type.
The Craps Game activity is a fairly difficult for grade 10 learners, so you might choose to only give it for extension.
Next I do Case-Statements and RadioGroup, ComboBoxes and ListBoxes.
Only now do I teach them how to Code Properties of objects and they seem to understand it faster at this stage than at the beginning of the year.
The time that is left for the term, the learners spend doing past papers and I walk around to assist. I also remind learners to do extra at home to bring to school for me to mark and give feedback.
I give the learners past papers to practice with, which they print, I mark and give them each one-on-one feedback.
This is also a good time for them to go over the Basic Rules and the functions, procedures and operators as in the appendices.
I use my Dandel10n DIMS Workbook to prepare them for the June exam question 5.
Dynamic Components I explain in grade 11, which is only needed for the PAT.
Writing your own User-Defined Functions with parameters
String handling without loops.
For Loops.
String Handling with loops.
While loop.
Repeat loop.
Once learners know how to do all the above they can practice the activity in the RevisionData folder. You are welcome to print the questions from there but they can also just use it electronically.
The rest of this term is used to do revision by doing previous past November grade 10 papers.