<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = "urn:schemas-microsoft-com:vml" xmlns:o = "urn:schemas-microsoft-com:office:office" xmlns:w = "urn:schemas-microsoft-com:office:word" xmlns:m = "http://schemas.microsoft.com/office/2004/12/omml"><HEAD>
<META content="text/html; charset=iso-8859-15" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.7600.16385">
<STYLE>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.5pt;
        font-family:Consolas;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:Consolas;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</STYLE>
</HEAD>
<BODY style="MARGIN: 4px 4px 1px; FONT: 10pt Segoe UI" lang=EN-AU link=blue vLink=purple>
<DIV>Your textbook will be very handy to have, Adrian, but if the examinations panel members do not agree with your definition, then we are all in deep yoghurt.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Maggie</DIV>
<DIV>&nbsp;</DIV>
<DIV>
<DIV><STRONG>Margaret Iaquinto</STRONG></DIV>
<DIV>Information Technology Coordinator</DIV>
<DIV>&nbsp;</DIV>
<DIV>St Leonard's College</DIV>
<DIV>Brighton Campus</DIV>
<DIV>t (+61 3) 9909 9300</DIV>
<DIV>&nbsp;</DIV>
<DIV>x&nbsp;529</DIV>
<DIV>&nbsp;</DIV>
<DIV><A href="http://www.stleonards.vic.edu.au/">www.stleonards.vicedu.au</A></DIV>
<DIV>&nbsp;</DIV>
<DIV><IMG src="cid:WZVPOFQELOQV.IMAGE_4.BMP"></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Alternate email: <A href="mailto:maggie@iaquinto.net">maggie@iaquinto.net</A></DIV><BR><BR>&gt;&gt;&gt; Adrian Janson &lt;janson.adrian.a@edumail.vic.gov.au&gt; 19/08/2010 11:30 AM &gt;&gt;&gt;<BR></DIV>
<DIV class=Section1>
<P class=MsoNormal><SPAN style="COLOR: #1f497d">Hmm... the definition from Wikipedia also does not include a reference to arrays needing to be the same type:<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN>In <A title="Computer science" href="http://en.wikipedia.org/wiki/Computer_science">computer science</A>, an <B>array data structure</B> or simply <B>array</B> is a <A title="Data structure" href="http://en.wikipedia.org/wiki/Data_structure">data structure</A> consisting of a collection of <I>elements</I> (<A title="Value (computer science)" href="http://en.wikipedia.org/wiki/Value_(computer_science)">values</A> or <A title="Variable (programming)" href="http://en.wikipedia.org/wiki/Variable_(programming)">variables</A>), each identified by one or more <A title="Integer (computer science)" href="http://en.wikipedia.org/wiki/Integer_(computer_science)">integer</A> <I><A title="Index (information technology)" href="http://en.wikipedia.org/wiki/Index_(information_technology)">indices</A></I>, stored so that the <A title="Physical address" href="http://en.wikipedia.org/wiki/Physical_address">address</A> of each element can be computed from its index <A title=Tuple href="http://en.wikipedia.org/wiki/Tuple">tuple</A> by a simple mathematical formula.<SUP id=cite_ref-0><A href="http://en.wikipediaorg/wiki/Array_data_structure#cite_note-0">[1]</A><A href="http://en.wikipedia.org/wiki/Array_data_structure#cite_note-knuth-1">[2]</A></SUP> For example, an array of 10 integer variables, with indices 0 through 9, may be stored as 10 <A title="Word (computing)" href="http://en.wikipedia.org/wiki/Word_(computing)">words</A> at memory addresses 2000, 2004, 2008, . 2036 (this memory allocation can vary because some computers use other than 4 bytes to store integer type variables); so that the element with index <I>i</I> has address 2000 + 4 × <I>i</I>.<SUP id=cite_ref-2><A href="http://en.wikipedia.org/wiki/Array_data_structure#cite_note-2">[3]</A></SUP></SPAN><SPAN style="COLOR: #1f497d"><o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d">I will change my definition and remove the reference to variable type.&nbsp; I will also not talk about 'strongly typed languages' etc - as will definitely cause confusion.&nbsp; The ultimate goal of the text is to support the study - and as such does need to state a definition that students would be expected to know - teachers can then provide the icing on this cake.&nbsp; Guy - your breakdown of arrays/records in different languages is great - and it may be that we share some materials that flesh out these points.&nbsp; In the context of the text again, adding this sort of detail will probably add to confusion.&nbsp; <o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d">Cheers,<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d">Adrian<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
<DIV>
<P class=MsoNormal><B><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; COLOR: #002060; FONT-SIZE: 18pt">Adrian Janson </SPAN></B><B><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; COLOR: #002060; FONT-SIZE: 7pt">B.Sc, Dip.Ed, M.Ed<BR></SPAN></B><B><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; COLOR: #002060; FONT-SIZE: 14pt">Director of ICT<BR></SPAN></B><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; COLOR: #244061; FONT-SIZE: 12pt">Melbourne High School, Forrest Hill, South Yarra, Victoria 3141 Australia.<BR>Phone: 03 9826 0711 International: +61 3 9826 0711<BR>Fax: 03 9826 8767 International: +61 3 9826 8767<BR>E-mail: <A href="janson.adrian.a@edumail.vic.gov.au">janson.adrian.a@edumail.vic.gov.au</A><o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; COLOR: #244061; FONT-SIZE: 12pt">Website: <A href="http://www.mhs.vic.edu.au/">http://www.mhs.vic.edu.au</A></SPAN><SPAN style="COLOR: black"><o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; COLOR: #244061; FONT-SIZE: 12pt">Blog: <A href="http://jansona.edublogs.org/" target=_blank>http://jansona.edublogs.org</A></SPAN><SPAN style="COLOR: black"><o:p></o:p></SPAN></P></DIV>
<P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
<DIV>
<DIV style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<P class=MsoNormal><B><SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt" lang=EN-US>From:</SPAN></B><SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt" lang=EN-US> sofdev-bounces@edulists.com.au [mailto:sofdev-bounces@edulists.com.au] <B>On Behalf Of </B>Laurie Savage<BR><B>Sent:</B> Thursday, 19 August 2010 10:32 AM<BR><B>To:</B> 'Year 12 Software Development Teachers' Mailing List'<BR><B>Subject:</B> Re: [Year 12 SofDev] Records and Arrays<o:p></o:p></SPAN></P></DIV></DIV>
<P class=MsoNormal><o:p>&nbsp;</o:p></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d">I'm sorry, but "</SPAN><SPAN lang=EN-US>an array has to contain elements all of the same type"</SPAN><SPAN style="COLOR: #1f497d"> is neither generally nor necessarily true so should not be taught</SPAN><SPAN lang=EN-US>. When I teach Physics I do not teach the Geocentric model, and in Geology I do not teach the Biblical flood. Why? Because they are neither useful nor predictive and are refuteable.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>Laurie</SPAN><SPAN style="COLOR: #1f497d"><o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
<DIV>
<DIV style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<P class=MsoNormal><B><SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt" lang=EN-US>From:</SPAN></B><SPAN style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt" lang=EN-US> sofdev-bounces@edulists.com.au [mailto:sofdev-bounces@edulists.com.au] <B>On Behalf Of </B>Adrian Janson<BR><B>Sent:</B> Thursday, 19 August 2010 10:01 AM<BR><B>To:</B> 'Year 12 Software Development Teachers' Mailing List'<BR><B>Subject:</B> Re: [Year 12 SofDev] Records and Arrays<o:p></o:p></SPAN></P></DIV></DIV>
<P class=MsoNormal><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Hi everyone,<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>As the one writing the text book for 2011+, here is what I have written for the definitions of array and record (there is more detail and examples following these definitions):<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoNormal><SPAN lang=EN-US><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal><B>One-Dimensional Arrays<o:p></o:p></B></P>
<P class=MsoNormal><o:p>&nbsp;</o:p></P>
<P style="TEXT-ALIGN: justify" class=MsoNormal>A one dimensional (or 1D) array is a data structure in which variables of the same type are grouped together under the same name.&nbsp; <o:p></o:p></P>
<P style="TEXT-ALIGN: justify" class=MsoNormal>...<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P style="TEXT-ALIGN: justify" class=MsoNormal><o:p>&nbsp;</o:p></P>
<P class=MsoNormal><B>Records<o:p></o:p></B></P>
<P class=MsoNormal><o:p>&nbsp;</o:p></P>
<P class=MsoNormal><SPAN lang=EN-US>A record is a structure that can be used to group together a variety of information for a particular purpose.&nbsp; Records are similar to arrays but whereas an array has to contain elements all of the same type, the variables within a record can be of different types.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoPlainText>...<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>I do think that there is a place for a standard definition - as students will probably not use 1 language in their lives (assuming that they progress to an IT course of some description), and even if they don't, the standard definition can set a context for a discussion of how the language differs from this (if it is not strongly typed).&nbsp; I don't think it would hurt to say 'the definition of an array is XYZ, however in PHP, an array works in this way....'&nbsp; Interesting to note that there are 6 languages for which the definitions above do not strictly hold!&nbsp; <o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Is the concensus of this community that you would like me to include more in these definitions about the distinction of strongly typed languages?&nbsp; Or what is the general feeling about the definitions that I have written above?<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Cheers,<o:p></o:p></P>
<P class=MsoPlainText>Adrian<o:p></o:p></P>
<P class=MsoNormal><B><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; COLOR: #002060; FONT-SIZE: 18pt"><o:p>&nbsp;</o:p></SPAN></B></P>
<P class=MsoNormal><B><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; COLOR: #002060; FONT-SIZE: 18pt">Adrian Janson </SPAN></B><B><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; COLOR: #002060; FONT-SIZE: 7pt">B.Sc, Dip.Ed, M.Ed<BR></SPAN></B><B><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; COLOR: #002060; FONT-SIZE: 14pt">Director of ICT<BR></SPAN></B><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; COLOR: #244061; FONT-SIZE: 12pt">Melbourne High School, Forrest Hill, South Yarra, Victoria 3141 Australia.<BR>Phone: 03 9826 0711 International: +61 3 9826 0711<BR>Fax: 03 9826 8767 International: +61 3 9826 8767<BR>E-mail: <A href="janson.adrian.a@edumail.vic.gov.au">janson.adrian.a@edumail.vic.gov.au</A><o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; COLOR: #244061; FONT-SIZE: 12pt">Website: <A href="http://www.mhs.vic.edu.au/">http://www.mhs.vic.edu.au</A></SPAN><SPAN style="COLOR: black"><o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; COLOR: #244061; FONT-SIZE: 12pt">Blog: <A href="http://jansona.edublogs.org/" target=_blank>http://jansona.edublogs.org</A></SPAN><SPAN style="COLOR: black"><o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN lang=EN-US>-----Original Message-----<BR>From: sofdev-bounces@edulists.com.au [mailto:sofdev-bounces@edulists.com.au] On Behalf Of Laurie Savage<BR>Sent: Thursday, 19 August 2010 9:23 AM<BR>To: 'Year 12 Software Development Teachers' Mailing List'<BR>Subject: Re: [Year 12 SofDev] Records and Arrays</SPAN><o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Guy,<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>You are right, and of course I have taught this distinction. As I mentioned<o:p></o:p></P>
<P class=MsoPlainText>to Maggie, I do object to teaching things that students need to unlearn or<o:p></o:p></P>
<P class=MsoPlainText>that are irrelevant.<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Laurie<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>-----Original Message-----<o:p></o:p></P>
<P class=MsoPlainText>From: sofdev-bounces@edulists.com.au [mailto:sofdev-bounces@edulists.com.au]<o:p></o:p></P>
<P class=MsoPlainText>On Behalf Of Guy Flaherty<o:p></o:p></P>
<P class=MsoPlainText>Sent: Thursday, 19 August 2010 9:19 AM<o:p></o:p></P>
<P class=MsoPlainText>To: 'Year 12 Software Development Teachers' Mailing List'<o:p></o:p></P>
<P class=MsoPlainText>Subject: Re: [Year 12 SofDev] Records and Arrays<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Laurie,<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Typing is not really the issue, and Steven's explanation is quite likely to<o:p></o:p></P>
<P class=MsoPlainText>cause more confusion in my opinion. Let me explain my thinking:<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>The difference between a record and an array is simply that one allows only<o:p></o:p></P>
<P class=MsoPlainText>one type of data to be used, the other allows multiple types of data to be<o:p></o:p></P>
<P class=MsoPlainText>used (some languages require type to be declared, others don't).<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Associative 'arrays' are called 'arrays' in their language literature, but<o:p></o:p></P>
<P class=MsoPlainText>according to the study design they are in fact 'records' and not 'arrays'.<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Java does not even have a record type, you have to create a class with no<o:p></o:p></P>
<P class=MsoPlainText>instance methods to represent a 'record' type, so now you have to include<o:p></o:p></P>
<P class=MsoPlainText>classes if you start thinking about Java. Additionally, other languages,<o:p></o:p></P>
<P class=MsoPlainText>such as PHP, Python, Ruby etc can do the same thing as Java but are not<o:p></o:p></P>
<P class=MsoPlainText>required to as their 'array' types can work as 'arrays' or 'records'.<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Ruby names their 'record' type an 'array' and their 'associative array' a<o:p></o:p></P>
<P class=MsoPlainText>'hash', making it even more difficult for students learning Ruby to<o:p></o:p></P>
<P class=MsoPlainText>understand the Study Design definitions.<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Thinking about all this, I am simply going to instruct my students that for<o:p></o:p></P>
<P class=MsoPlainText>the purpose of completing any exam questions, the difference between a<o:p></o:p></P>
<P class=MsoPlainText>record and an array IS that one can contain multiple types of data and the<o:p></o:p></P>
<P class=MsoPlainText>other can only contain one type of data. Despite the fact that this is not<o:p></o:p></P>
<P class=MsoPlainText>what they are seeing when they do their programming, this is how it would<o:p></o:p></P>
<P class=MsoPlainText>seem to be best to approach it.<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Guy Flaherty<o:p></o:p></P>
<P class=MsoPlainText>&nbsp;<o:p></o:p></P>
<P class=MsoPlainText>&gt;&gt;&gt; "Laurie Savage" &lt;savage.john.l@edumail.vic.gov.au&gt; 19/08/10 08:39 AM &gt;&gt;&gt;<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Well yes, and no. Thanks for the very clear description of a record which IS<o:p></o:p></P>
<P class=MsoPlainText>an array (is ISBN an integer or a string? PHP will treat it contextually)!<o:p></o:p></P>
<P class=MsoPlainText>However this does not take away from the fact that some major modern<o:p></o:p></P>
<P class=MsoPlainText>languages are not strongly typed and so the study guide distinction does not<o:p></o:p></P>
<P class=MsoPlainText>apply and this disadvantages students working in those languages.<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>&nbsp;<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Laurie<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>&nbsp;<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>From: sofdev-bounces@edulists.com.au [mailto:sofdev-bounces@edulists.com.au]<o:p></o:p></P>
<P class=MsoPlainText>On Behalf Of Steven Bird<o:p></o:p></P>
<P class=MsoPlainText>Sent: Wednesday, 18 August 2010 8:58 PM<o:p></o:p></P>
<P class=MsoPlainText>To: Year 12 Software Development Teachers' Mailing List<o:p></o:p></P>
<P class=MsoPlainText>Subject: Re: [Year 12 SofDev] Records and Arrays<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>&nbsp;<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>The following might help you to distinguish these concepts.<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Consider any kind of real world entity, e.g. a student, a school, a book, a<o:p></o:p></P>
<P class=MsoPlainText>patient, etc.&nbsp; Now think about its attributes.&nbsp; For a book this might be<o:p></o:p></P>
<P class=MsoPlainText>title, author, year, isbn, price...&nbsp; When we model such an entity using a<o:p></o:p></P>
<P class=MsoPlainText>computer, we specify a set of attributes.&nbsp; This is a "record".&nbsp; It is just a<o:p></o:p></P>
<P class=MsoPlainText>collection of attributes describing an entity.<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>A record could be stored on disk (e.g. as a row of a relational database<o:p></o:p></P>
<P class=MsoPlainText>table, or as a row of a CSV file), or represented in volatile memory in a<o:p></o:p></P>
<P class=MsoPlainText>data structure in a running program.&nbsp; Perhaps the most common data type used<o:p></o:p></P>
<P class=MsoPlainText>for representing a record is an "associative array" ("hash" in Perl;<o:p></o:p></P>
<P class=MsoPlainText>"dictionary" in Python; "array" (!) in PHP, "map" in C++); some languages<o:p></o:p></P>
<P class=MsoPlainText>support a "tuple" type which is also appropriate for representing records.<o:p></o:p></P>
<P class=MsoPlainText>However, at one level these details don't matter.&nbsp; What's important is just<o:p></o:p></P>
<P class=MsoPlainText>that we have a set of attributes.<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Now consider any collection of entities of the same type, e.g. students,<o:p></o:p></P>
<P class=MsoPlainText>schools, books, patients, etc.&nbsp; When we model these in a computer, we<o:p></o:p></P>
<P class=MsoPlainText>specify a collection of like entities.&nbsp; This is just a set or list of<o:p></o:p></P>
<P class=MsoPlainText>entities.<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>This list could be stored on disk (e.g. as a relational table, or a CSV<o:p></o:p></P>
<P class=MsoPlainText>file), or represented in a running program.&nbsp; The most common data type is an<o:p></o:p></P>
<P class=MsoPlainText>"array", and that's what it is called in most languages (but it is "list" in<o:p></o:p></P>
<P class=MsoPlainText>Python).&nbsp; Some languages encourage you to define array elements to be all of<o:p></o:p></P>
<P class=MsoPlainText>the same type, but not all.&nbsp; In general, I think this is a good practice.<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>PHP blurs the distinction between records and arrays.&nbsp; However, a programmer<o:p></o:p></P>
<P class=MsoPlainText>can use PHP in such a way to keep them quite distinct:<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>my_record1 = array('isbn'=&gt;1441412050, 'title'=&gt;'Alice in Wonderland',<o:p></o:p></P>
<P class=MsoPlainText>'author'=&gt;'Lewis Carroll');<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>my_record2 = array('isbn'=&gt;1441412050, 'title'=&gt;'Through the Looking Glass',<o:p></o:p></P>
<P class=MsoPlainText>'author'=&gt;'Lewis Carroll');<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>my_array = array(my_record1, my_record2);<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>my_record1['isbn'];&nbsp;&nbsp; /* access a record's attribute by name */&nbsp; <o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>my_array[1];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* access an array's element by index */<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>I hope this helps!<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>--<o:p></o:p></P>
<P class=MsoPlainText>Steven Bird<o:p></o:p></P>
<P class=MsoPlainText>http://stevenbird.me/<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Important - This email and any attachments may be confidential. If received<o:p></o:p></P>
<P class=MsoPlainText>in error, please contact us and delete all copies Before opening or using<o:p></o:p></P>
<P class=MsoPlainText>attachments check them for viruses and defects. Regardless of any loss,<o:p></o:p></P>
<P class=MsoPlainText>damage or consequence, whether caused by the negligence of the sender or<o:p></o:p></P>
<P class=MsoPlainText>not, resulting directly or indirectly from the use of any attached files our<o:p></o:p></P>
<P class=MsoPlainText>liability is limited to resupplying any affected attachments. Any<o:p></o:p></P>
<P class=MsoPlainText>representations or opinions expressed are those of the individual sender,<o:p></o:p></P>
<P class=MsoPlainText>and not necessarily those of the Department of Education and Early Childhood<o:p></o:p></P>
<P class=MsoPlainText>Development.<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Scanned by Sonar. <o:p></o:p></P>
<P class=MsoPlainText>Date: 2010-08-19 08:45:37.693<o:p></o:p></P>
<P class=MsoPlainText>From: sofdev-bounces@edulists.com.au<o:p></o:p></P>
<P class=MsoPlainText>To: g.flaherty@xavier.vic.edu.au<o:p></o:p></P>
<P class=MsoPlainText>Profile: Default_In<o:p></o:p></P>
<P class=MsoPlainText>Mail id: challenge-2171534856i43-0<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>"This email and any files transmitted with it are confidential and intended<o:p></o:p></P>
<P class=MsoPlainText>solely for the use of the individual or entity to whom they are addressed.<o:p></o:p></P>
<P class=MsoPlainText>If you have received this email in error please notify the Network Manager<o:p></o:p></P>
<P class=MsoPlainText>at Xavier College. Please note that any views or opinions presented in this<o:p></o:p></P>
<P class=MsoPlainText>email are solely those of the author and do not necessarily represent those<o:p></o:p></P>
<P class=MsoPlainText>of Xavier College. Whilst every attempt has been made to ensure material in<o:p></o:p></P>
<P class=MsoPlainText>this email message is free from computer viruses or other defects, the<o:p></o:p></P>
<P class=MsoPlainText>attached files are provided, and may only be used, on the basis that the<o:p></o:p></P>
<P class=MsoPlainText>user assumes all responsibility for the use of the material transmitted."<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>_______________________________________________<o:p></o:p></P>
<P class=MsoPlainText>http://www.edulists.com.au - FAQ, Subscribe, Unsubscribe<o:p></o:p></P>
<P class=MsoPlainText>IT Software Development Mailing List kindly supported by<o:p></o:p></P>
<P class=MsoPlainText>http://www.vcaa.vic.edu.au - Victorian Curriculum and Assessment Authority<o:p></o:p></P>
<P class=MsoPlainText>and<o:p></o:p></P>
<P class=MsoPlainText>http://www.vcaa.vic.edu.au/vce/studies/infotech/softwaredevel3-4.html <o:p></o:p></P>
<P class=MsoPlainText>http://www.vitta.org.au&nbsp; - VITTA Victorian Information Technology Teachers<o:p></o:p></P>
<P class=MsoPlainText>Association Inc<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoPlainText>Important - This email and any attachments may be confidential. If received in error, please contact us and delete all copies. Before opening or using attachments check them for viruses and defects. Regardless of any loss, damage or consequence, whether caused by the negligence of the sender or not, resulting directly or indirectly from the use of any attached files our liability is limited to resupplying any affected attachments. Any representations or opinions expressed are those of the individual sender, and not necessarily those of the Department of Education and Early Childhood Development.<o:p></o:p></P>
<P class=MsoPlainText>_______________________________________________<o:p></o:p></P>
<P class=MsoPlainText>http://www.edulists.com.au - FAQ, Subscribe, Unsubscribe<o:p></o:p></P>
<P class=MsoPlainText>IT Software Development Mailing List kindly supported by<o:p></o:p></P>
<P class=MsoPlainText>http://www.vcaa.vic.edu.au - Victorian Curriculum and Assessment Authority and<o:p></o:p></P>
<P class=MsoPlainText>http://www.vcaa.vic.edu.au/vce/studies/infotech/softwaredevel3-4.html <o:p></o:p></P>
<P class=MsoPlainText>http://www.vitta.org.au&nbsp; - VITTA Victorian Information Technology Teachers Association Inc<o:p></o:p></P>
<P><B>Important - </B>This email and any attachments may be confidential. If received in error, please contact us and delete all copies. Before opening or using attachments check them for viruses and defects. Regardless of any loss, damage or consequence, whether caused by the negligence of the sender or not, resulting directly or indirectly from the use of any attached files our liability is limited to resupplying any affected attachments. Any representations or opinions expressed are those of the individual sender, and not necessarily those of the Department of Education and Early Childhood Development.<o:p></o:p></P>
<P><B>Important - </B>This email and any attachments may be confidential. If received in error, please contact us and delete all copies. Before opening or using attachments check them for viruses and defects. Regardless of any loss, damage or consequence, whether caused by the negligence of the sender or not, resulting directly or indirectly from the use of any attached files our liability is limited to resupplying any affected attachments. Any representations or opinions expressed are those of the individual sender, and not necessarily those of the Department of Education and Early Childhood Development.<o:p></o:p></P></DIV>
<P></P>
<P><B>Important - </B>This email and any attachments may be confidential. If received in error, please contact us and delete all copies. Before opening or using attachments check them for viruses and defects. Regardless of any loss, damage or consequence, whether caused by the negligence of the sender or not, resulting directly or indirectly from the use of any attached files our liability is limited to resupplying any affected attachments. Any representations or opinions expressed are those of the individual sender, and not necessarily those of the Department of Education and Early Childhood Development.</P>
<B>CAUTION - </B>This message may contain privileged and confidential information intended only for the use of the addressee named above. If you are not the intended recipient of this message you are hereby notified that any use, dissemination, distribution or reproduction of this message is prohibited. If you have received this message in error please notify St Leonard's College immediately. Any views expressed in this message are those of the individual sender and may not necessarily reflect the views of St Leonard's College. 
</BODY></HTML>