[Year 12 SofDev] Records and Arrays

John Schwartz jschwartz at parade.vic.edu.au
Thu Aug 19 10:44:10 EST 2010


Adrian

 

I'm happy with the standard definitions. I intend to talk about
exceptions to things which occur all through IT anyway.

 

John Schwartz

 

John Schwartz
Parade College
1436 Plenty Road
Bundoora, Victoria, 3083
Phone: 03 9468 3300
Fax: 03 9467 3937
e-mail: jschwartz at parade.vic.edu.au
web: www.parade.vic.edu.au

This e-mail and any attachments may be confidential. You must not disclose or use the information in this e-mail if you are not the intended recipient. If you have received this e-mail in error, please notify Parade College on (03) 9468 3300 immediately and delete the e-mail and all copies. Parade College does not guarantee that this e-mail is virus or error free. The attached files are provided and may only be used on the basis that the user assumes all responsibility for any loss, damage or consequence resulting directly or indirectly from the use of the attached files, whether caused by the negligence of the sender or not. Any views expressed in this e-mail are the views of the individual sending the message, and do not necessarily reflect the views held by Parade College.
________________________________

From: Adrian Janson [mailto:janson.adrian.a at edumail.vic.gov.au] 
Sent: Thursday, 19 August 2010 10:01 AM
To: 'Year 12 Software Development Teachers' Mailing List'
Subject: Re: [Year 12 SofDev] Records and Arrays

 

Hi everyone,

 

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):

 

 

One-Dimensional Arrays

 

A one dimensional (or 1D) array is a data structure in which variables
of the same type are grouped together under the same name.  

...

 

 

Records

 

A record is a structure that can be used to group together a variety of
information for a particular purpose.  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.

 

...

 

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).  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....'  Interesting to note that there are 6
languages for which the definitions above do not strictly hold!  

 

Is the concensus of this community that you would like me to include
more in these definitions about the distinction of strongly typed
languages?  Or what is the general feeling about the definitions that I
have written above?

 

Cheers,

Adrian

 

Adrian Janson B.Sc, Dip.Ed, M.Ed
Director of ICT
Melbourne High School, Forrest Hill, South Yarra, Victoria 3141
Australia.
Phone: 03 9826 0711 International: +61 3 9826 0711
Fax: 03 9826 8767 International: +61 3 9826 8767
E-mail: janson.adrian.a at edumail.vic.gov.au

Website: http://www.mhs.vic.edu.au <http://www.mhs.vic.edu.au/> 

Blog: http://jansona.edublogs.org <http://jansona.edublogs.org/> 

-----Original Message-----
From: sofdev-bounces at edulists.com.au
[mailto:sofdev-bounces at edulists.com.au] On Behalf Of Laurie Savage
Sent: Thursday, 19 August 2010 9:23 AM
To: 'Year 12 Software Development Teachers' Mailing List'
Subject: Re: [Year 12 SofDev] Records and Arrays

 

Guy,

 

You are right, and of course I have taught this distinction. As I
mentioned

to Maggie, I do object to teaching things that students need to unlearn
or

that are irrelevant.

 

Laurie

 

-----Original Message-----

From: sofdev-bounces at edulists.com.au
[mailto:sofdev-bounces at edulists.com.au]

On Behalf Of Guy Flaherty

Sent: Thursday, 19 August 2010 9:19 AM

To: 'Year 12 Software Development Teachers' Mailing List'

Subject: Re: [Year 12 SofDev] Records and Arrays

 

Laurie,

 

Typing is not really the issue, and Steven's explanation is quite likely
to

cause more confusion in my opinion. Let me explain my thinking:

 

The difference between a record and an array is simply that one allows
only

one type of data to be used, the other allows multiple types of data to
be

used (some languages require type to be declared, others don't).

 

Associative 'arrays' are called 'arrays' in their language literature,
but

according to the study design they are in fact 'records' and not
'arrays'.

 

Java does not even have a record type, you have to create a class with
no

instance methods to represent a 'record' type, so now you have to
include

classes if you start thinking about Java. Additionally, other languages,

such as PHP, Python, Ruby etc can do the same thing as Java but are not

required to as their 'array' types can work as 'arrays' or 'records'.

 

Ruby names their 'record' type an 'array' and their 'associative array'
a

'hash', making it even more difficult for students learning Ruby to

understand the Study Design definitions.

 

Thinking about all this, I am simply going to instruct my students that
for

the purpose of completing any exam questions, the difference between a

record and an array IS that one can contain multiple types of data and
the

other can only contain one type of data. Despite the fact that this is
not

what they are seeing when they do their programming, this is how it
would

seem to be best to approach it.

 

Guy Flaherty

 

>>> "Laurie Savage" <savage.john.l at edumail.vic.gov.au> 19/08/10 08:39 AM
>>>

 

Well yes, and no. Thanks for the very clear description of a record
which IS

an array (is ISBN an integer or a string? PHP will treat it
contextually)!

However this does not take away from the fact that some major modern

languages are not strongly typed and so the study guide distinction does
not

apply and this disadvantages students working in those languages.

 

 

 

Laurie

 

 

 

From: sofdev-bounces at edulists.com.au
[mailto:sofdev-bounces at edulists.com.au]

On Behalf Of Steven Bird

Sent: Wednesday, 18 August 2010 8:58 PM

To: Year 12 Software Development Teachers' Mailing List

Subject: Re: [Year 12 SofDev] Records and Arrays

 

 

 

The following might help you to distinguish these concepts.

 

Consider any kind of real world entity, e.g. a student, a school, a
book, a

patient, etc.  Now think about its attributes.  For a book this might be

title, author, year, isbn, price...  When we model such an entity using
a

computer, we specify a set of attributes.  This is a "record".  It is
just a

collection of attributes describing an entity.

 

A record could be stored on disk (e.g. as a row of a relational database

table, or as a row of a CSV file), or represented in volatile memory in
a

data structure in a running program.  Perhaps the most common data type
used

for representing a record is an "associative array" ("hash" in Perl;

"dictionary" in Python; "array" (!) in PHP, "map" in C++); some
languages

support a "tuple" type which is also appropriate for representing
records.

However, at one level these details don't matter.  What's important is
just

that we have a set of attributes.

 

Now consider any collection of entities of the same type, e.g. students,

schools, books, patients, etc.  When we model these in a computer, we

specify a collection of like entities.  This is just a set or list of

entities.

 

This list could be stored on disk (e.g. as a relational table, or a CSV

file), or represented in a running program.  The most common data type
is an

"array", and that's what it is called in most languages (but it is
"list" in

Python).  Some languages encourage you to define array elements to be
all of

the same type, but not all.  In general, I think this is a good
practice.

 

PHP blurs the distinction between records and arrays.  However, a
programmer

can use PHP in such a way to keep them quite distinct:

 

my_record1 = array('isbn'=>1441412050, 'title'=>'Alice in Wonderland',

'author'=>'Lewis Carroll');

 

 

 

 

 

 

my_record2 = array('isbn'=>1441412050, 'title'=>'Through the Looking
Glass',

'author'=>'Lewis Carroll');

 

 

 

 

 

my_array = array(my_record1, my_record2);

 

 

 

 

 

 

 

 

 

 

 

 

my_record1['isbn'];   /* access a record's attribute by name */  

 

 

my_array[1];          /* access an array's element by index */

 

I hope this helps!

 

--

Steven Bird

http://stevenbird.me/

 

 

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.

 

 

Scanned by Sonar. 

Date: 2010-08-19 08:45:37.693

From: sofdev-bounces at edulists.com.au

To: g.flaherty at xavier.vic.edu.au

Profile: Default_In

Mail id: challenge-2171534856i43-0

 

 

 

"This email and any files transmitted with it are confidential and
intended

solely for the use of the individual or entity to whom they are
addressed.

If you have received this email in error please notify the Network
Manager

at Xavier College. Please note that any views or opinions presented in
this

email are solely those of the author and do not necessarily represent
those

of Xavier College. Whilst every attempt has been made to ensure material
in

this email message is free from computer viruses or other defects, the

attached files are provided, and may only be used, on the basis that the

user assumes all responsibility for the use of the material
transmitted."

 

_______________________________________________

http://www.edulists.com.au - FAQ, Subscribe, Unsubscribe

IT Software Development Mailing List kindly supported by

http://www.vcaa.vic.edu.au - Victorian Curriculum and Assessment
Authority

and

http://www.vcaa.vic.edu.au/vce/studies/infotech/softwaredevel3-4.html 

http://www.vitta.org.au  - VITTA Victorian Information Technology
Teachers

Association Inc

 

 

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.

_______________________________________________

http://www.edulists.com.au - FAQ, Subscribe, Unsubscribe

IT Software Development Mailing List kindly supported by

http://www.vcaa.vic.edu.au - Victorian Curriculum and Assessment
Authority and

http://www.vcaa.vic.edu.au/vce/studies/infotech/softwaredevel3-4.html 

http://www.vitta.org.au  - VITTA Victorian Information Technology
Teachers Association Inc

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.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.edulists.com.au/pipermail/sofdev/attachments/20100819/58c9e943/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 5918 bytes
Desc: not available
Url : http://www.edulists.com.au/pipermail/sofdev/attachments/20100819/58c9e943/attachment-0001.gif 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 99964 bytes
Desc: not available
Url : http://www.edulists.com.au/pipermail/sofdev/attachments/20100819/58c9e943/attachment-0001.jpe 


More information about the sofdev mailing list