[Year 12 SofDev] Should I teach lists?

Selina Dennis selina at dennis.net.au
Mon Mar 7 16:44:43 AEDT 2016


My perspective on this dot-point is that the use of 'array' is a starting
point, with the programming language shaping where that point 'ends'. For
example, I use Python in the classroom, yet I have no intention of having
students use the array module that limits the data inside their lists to a
single data type beyond creating a small programming exercise to demonstrate
its use. I will, however, discuss with them the difference between Python's
default implementation of lists and the 'computer science' definition of an
array, as well as why using 'array' in the traditional sense isn't terribly
common if coding in Python.

 

I see it as a good opportunity to discuss the pros and cons of Python's
implementation and what this means for a programmer. As a comparison, I'll
discuss the C/C++/etc implementation of array with the fixed size
limitation. It's possible to create dynamically sized arrays in these
languages, it's just not elegant - you need to malloc the memory to the size
of the initial array, and then realloc that memory every time you wish to
resize it - useful if you want full control, and a pain in the butt if you
don't care about memory management. It's good for them to know this, because
it gives them a better understanding as to why people produce "new
programming languages" as well - I would guess that some of the main
contributors of Python really disliked needing to mess around so directly
with memory management, which is why Python has that kind of memory
management built in by default.

 

To me, it doesn't make sense to limit students to stick to only the
programming concepts that are covered in the Study Design, and in fact, it's
not possible for me to do that using Python anyway. For example, Python
doesn't have native support for "records" as a data structure, but it does
have classes and dictionaries (including ordered dictionaries), which do the
job just as well. I could teach them about SimpleNamespace or mutable
namedtuples, both of which allow them to mimic what a record does, but this
will confuse them unnecessarily and there's no real benefit for them
implementing their Python code in this way.  Instead, I plan to teach them
about records as part of their theoretical knowledge of programming in the
same way that I'm teaching them about the difference between a function,
subroutine and method.

 

Just my thoughts, hope that helps,

 

Selina Dennis

Strathmore Secondary College

(03) 9379 7999

 

From: sofdev-bounces at edulists.com.au [mailto:sofdev-bounces at edulists.com.au]
On Behalf Of Baas, Benjamin B
Sent: Monday, 7 March 2016 3:13 PM
To: Year 12 Software Development Teachers' Mailing List
<sofdev at edulists.com.au>
Subject: Re: [Year 12 SofDev] Should I teach lists?

 

Hi all,

 

Message is pretty clear stick to the Study Design.

 

<rant>

 

I feel like I'm teaching my students poor programming practices by sticking
to the SD, all my students that have come up with ideas for the SAT don't
know how much data their program will store at run time in these cases a
dynamic data collection, like a list, would be the best option compare to an
array which in VB and C# has a fixed size. Yes they can create a really
large array, but then they are creating a program with built in security
vulnerabilities.

 

Also isn't the point of the SAT is so the students can show us what they are
capable of doing, if we limit them to only concepts covered in the SD then
we limit what they can show us on the SAT and if that's the case what is the
point of the SAT if we have to teach to the exam.

 

Also why can't students still get marks on the exams, if they show a better
way of doing things.

 

</rant>

 

Cheers,

 

Ben

 

Benjamin Baas

 Alkira Secondary College

*   Nurture Ave, Cranbourne North | PO Box 4314, Narre Warren South 3805

'   +61 3 5991 3500      6 +61 3 5991 3599     *
<http://www.alkirasecondarycollege.com.au/>
www.alkirasecondarycollege.com.au

Alkira Secondary College believes in Personalised learning for all, and
Respect for the individual

 

 

 

From: sofdev-bounces at edulists.com.au <mailto:sofdev-bounces at edulists.com.au>
[mailto:sofdev-bounces at edulists.com.au] On Behalf Of Paragreen, Chris J
Sent: Monday, 7 March 2016 2:18 PM
To: Year 12 Software Development Teachers' Mailing List
<sofdev at edulists.com.au <mailto:sofdev at edulists.com.au> >
Subject: Re: [Year 12 SofDev] Should I teach lists?

 

The key knowledge for U4O1 includes: "uses of data structures to organise
and manipulate data, including associative arrays (or dictionaries or hash
tables)"

 

I think that could rule lists in .? Otherwise I would agree with the KISS
principle.

 

Chris

 

 

From: sofdev-bounces at edulists.com.au <mailto:sofdev-bounces at edulists.com.au>
[mailto:sofdev-bounces at edulists.com.au] On Behalf Of Guy Flaherty
Sent: Monday, 7 March 2016 1:47 PM
To: Year 12 Software Development Teachers' Mailing List
<sofdev at edulists.com.au <mailto:sofdev at edulists.com.au> >
Subject: Re: [Year 12 SofDev] Should I teach lists?

 

Python does have an array type which is similar to what other languages
define as an array. It limits the array to a specific type. It may be
useable, especially to contrast with a 'list' in python to help students
understand the pythonic way of doing things!

 

https://docs.python.org/2/library/array.html 

 

You can use it like the following:

 

>>>from array import array

>>>a = array('I',[1,2,3,4])

>>>a[1]

2

>>>a.append('a')

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: an integer is required (got type str)

 

The 'I' is the typecode which forces the array to be restricted to the type
this typecode represents (int's in this case). It might be useful if you are
using python and need to explain/demo arrays.

 

Guy Flaherty

 

From: sofdev-bounces at edulists.com.au <mailto:sofdev-bounces at edulists.com.au>
[mailto:sofdev-bounces at edulists.com.au] On Behalf Of Croke, Daryl D
Sent: Monday, 7 March 2016 12:06 PM
To: Year 12 Software Development Teachers' Mailing List
<sofdev at edulists.com.au <mailto:sofdev at edulists.com.au> >
Subject: Re: [Year 12 SofDev] Should I teach lists?

 

Hi all 

 

Python doesn't do arrays as such, but you can make list within list and make
them function like an array, so surely that's the point. 

 

see:
http://www.i-programmer.info/programming/python/3942-arrays-in-python.html

 

 

What are we trying to achieve? What code do we require to achieve that? 

 

Even though we can have mixed data type lists in Python it would be best to
avoid that. 

 

Cheers

Daryl Croke


Mount Ridley College
8338 3600
http://mountridleycollege.vic.edu.au/

 

keep on coding

http://geekstuff.global2.vic.edu.au/
http://physicalcomputing.global2.vic.edu.au/

 

 

  _____  

From: sofdev-bounces at edulists.com.au <mailto:sofdev-bounces at edulists.com.au>
[sofdev-bounces at edulists.com.au] on behalf of Laurie Savage
[08327998 at pvgc.vic.edu.au]
Sent: Monday, 7 March 2016 11:30 AM
To: Year 12 Software Development Teachers' Mailing List
Subject: Re: [Year 12 SofDev] Should I teach lists?

I'm no expert here so I'm very happy to be corrected but this poses a
problem with PHP and Python where arrays and lists are interchangeable. In
PHP and Python arrays can contain elements of different types: e.g. 

 

$fred = array("Fred", "Smith", 40, 78.50) so $fred[2] + $fred[3] = 118.5 but
$fred[0] + $fred[1] should throw an error in PHP, not in Python.

 

or

 

$fred = array("FName"=>"Fred", SName"=>"Smith", "Age"=>40, "Weight"=> 78.5)

 

I seem to remember having this discussion with Kevork back in 2010!

 

Laurie

 

 

Laurie Savage

IT Teacher/Assessment and Reporting Coordinator

Pascoe Vale Girls College

 

 

 

 

On 7 Mar 2016, at 11:09 AM, Chris Bucknell
<Chris.Bucknell at haileybury.vic.edu.au
<mailto:Chris.Bucknell at haileybury.vic.edu.au> > wrote:

 

Hi All,

 

Like Damien I don't encourage my students to use List and Dictionaries
because in they tend to confuse them and arrays when it comes to exams.  So
I find it simpler to avoid them and get the students to understand what's on
the study design and what they'll be assessed on.

 

Cheers  

 

Chris Bucknell

Head of CDT; Coord, Internal Exam; House Tutor

+61 3 9904 6360

 <mailto:%7bemail%7d> Chris.Bucknell at haileybury.vic.edu.au

 <http://www.haileybury.vic.edu.au/> www.haileybury.vic.edu.au

From:  <mailto:sofdev-bounces at edulists.com.au>
sofdev-bounces at edulists.com.au [ <mailto:sofdev-bounces at edulists.com.au>
mailto:sofdev-bounces at edulists.com.au] On Behalf Of ATKINSON-BUCK, Damien
Sent: Monday, 7 March 2016 10:38 AM
To: Year 12 Software Development Teachers' Mailing List
Subject: Re: [Year 12 SofDev] Should I teach lists?

 

Hi Ben,

              Personally steer away from Lists and Dictionaries, even though
they're technically easier to use (and in at least the case of dictionaries,
sometimes faster) purely because I don't want to add any extra confusion for
the students. When it comes to exams, they are likely to be asked questions
about arrays. If they put in an example in list format, an exam assessor may
not get that and give them zero.. Especially if you look at RemoveAt() and
other list shortcuts. 

That's just my overly cautious approach, quite possibly I'm underselling the
students ability to discriminate the best time to use it.

Cheers

Damien

 

 

Damien Atkinson-Buck  
Head of Learning Area: Technology/Arts 


<image001.png>


 <http://www.ivanhoe.com.au/> <image002.jpg>


The Ridgeway, Ivanhoe VIC 3079 Australia


p. +61 3 9490 3848


e.  <mailto:damien.atkinson-buck at ivanhoe.com.au>
damien.atkinson-buck at ivanhoe.com.au


w.  <http://www.ivanhoe.com.au/> www.ivanhoe.com.au


 <http://www.facebook.com/IvanhoeGrammarSchool> <image003.png>
<http://twitter.com/ivanhoegrammar> <image004.png>  

 

From: Baas, Benjamin B [ <mailto:baas.benjamin.b at edumail.vic.gov.au>
mailto:baas.benjamin.b at edumail.vic.gov.au] 
Sent: Monday, 7 March 2016 9:49 AM
To: Year 12 Software Development Teachers' Mailing List
Subject: [Year 12 SofDev] Should I teach lists?

 

Hi all,

 

I'm contemplating whether on not I should teach my students about Lists in
C# and VB as they will be of more use to them then Arrays when doing their
SAT (List are dynamic and have more functionality). I just wanted to know
what peoples thoughts are on this and if they go beyond the data collections
mentioned in the study design. The SD just mentions Arrays and Records.

 

Cheers,

 

Ben.

 

Benjamin Baas

<image005.png> Alkira Secondary College

*   Nurture Ave, Cranbourne North | PO Box 4314, Narre Warren South 3805

'   +61 3 5991 3500      6 +61 3 5991 3599     *
<http://www.alkirasecondarycollege.com.au/>
www.alkirasecondarycollege.com.au

Alkira Secondary College believes in Personalised learning for all, and
Respect for the individual

 

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 Training.





Privacy, Virus and Copyright Warning

The information contained in this electronic message (e-mail), and any files
transmitted with it:

* is intended for the named recipients only. If you have received this in
error, please advise the sender and delete it and any copies immediately;
* Any personal information in this email must be used in accordance with the
Privacy Act 1988 and this always applies even if it has been sent to you in
error.
* represents the views of the sender and does not necessarily represent the
views or formal advice of Ivanhoe Grammar School;
* may be subject to Copyright, so no further use should be made of it
without the author's permission.

The School does not represent or warrant that the email or any files
attached do not contain errors or are free from computer viruses or other
defects nor does it accept responsibility for any loss or damage resulting
directly or indirectly from the use of the email or any attached files. 

 


  _____  



This email, including any attachments, is confidential. If you are not the
intended recipient you must not copy, use, disclose, distribute or rely on
this information. If you have received this email in error, please notify
the sender immediately by reply email and delete the email from your system.
Confidentiality and legal privilege attached to this communication are not
waived or lost by reason of mistaken delivery to you. Haileybury does not
guarantee that this email is unaffected by computer virus, corruption or
other defects. Haileybury monitors all incoming and outgoing email for
compliance with its IT Policies. ABN: 34 004 228 906
_______________________________________________
 <http://www.edulists.com.au/> http://www.edulists.com.au - FAQ, Subscribe,
Unsubscribe
IT Software Development Mailing List kindly supported by
 <http://www.vcaa.vic.edu.au/> 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.vcaa.vic.edu.au/vce/studies/infotech/softwaredevel3-4.html 
 <http://www.vitta.org.au/> http://www.vitta.org.au  - VITTA Victorian
Information Technology Teachers Association Inc
 <http://www.swinburne.edu.au/ict/schools>
http://www.swinburne.edu.au/ict/schools - Swinburne University

 

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 Training.

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 Training.

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 Training.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.edulists.com.au/pipermail/sofdev/attachments/20160307/a47b72f9/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 1700 bytes
Desc: not available
Url : http://www.edulists.com.au/pipermail/sofdev/attachments/20160307/a47b72f9/attachment-0001.png 


More information about the sofdev mailing list