10.06.2017 Views

A Handbook for Teaching and Learning in Higher Education Enhancing academic and Practice

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Comput<strong>in</strong>g science<br />

❘<br />

285<br />

skill is m<strong>in</strong>imal. Some <strong>in</strong>stitutions have developed programs where the curriculum is<br />

more focused on the application of software <strong>and</strong> software packages, with less focus on<br />

the design <strong>and</strong> development of software itself. Nevertheless, the dem<strong>and</strong> <strong>for</strong> skilled<br />

programmers is <strong>in</strong>creas<strong>in</strong>g <strong>and</strong> <strong>academic</strong>s must consider carefully how best to deal<br />

with the problems associated with programm<strong>in</strong>g <strong>in</strong> order to provide better student<br />

support.<br />

Case study 1: <strong>Teach<strong>in</strong>g</strong> programm<strong>in</strong>g<br />

<strong>Teach<strong>in</strong>g</strong> computer programm<strong>in</strong>g is <strong>in</strong>deed a problem. At the heart of the<br />

problem lies the very nature of the skill itself; programm<strong>in</strong>g is someth<strong>in</strong>g that is<br />

best learnt over a long time <strong>and</strong> with a great deal of practice. This is not a learn<strong>in</strong>g<br />

model that fits happily <strong>in</strong> today’s still prevail<strong>in</strong>gly lecture-based <strong>and</strong> often<br />

semesterised higher education system.<br />

There is a danger <strong>in</strong> any lecture sett<strong>in</strong>g that students can become little more than<br />

passive recipients of <strong>in</strong><strong>for</strong>mation conveyed by the lecturer. The old cliché has this<br />

<strong>in</strong><strong>for</strong>mation pass<strong>in</strong>g from the notes of the lecturer <strong>in</strong>to the notes of the student,<br />

<strong>and</strong> pass<strong>in</strong>g through the m<strong>in</strong>ds of neither. This scenario might be acceptable, or<br />

even effective, <strong>in</strong> some discipl<strong>in</strong>es, but it is absolutely fatal when programm<strong>in</strong>g<br />

is be<strong>in</strong>g taught or learnt.<br />

The key to mak<strong>in</strong>g lectures on programm<strong>in</strong>g more effective is <strong>for</strong> the ‘lecturer’ to<br />

make the students participate. The students should be active participants rather<br />

than passive recipients. There are many ways <strong>in</strong> which this can be done – the only<br />

limitation is the imag<strong>in</strong>ation of the lecturer. The follow<strong>in</strong>g are some examples.<br />

Parameter pass<strong>in</strong>g<br />

There are usually two <strong>for</strong>ms of parameter pass<strong>in</strong>g supported <strong>in</strong> a programm<strong>in</strong>g<br />

language, <strong>and</strong> the difference is subtle, especially <strong>for</strong> novices. The essential<br />

difference between parameters passed as values <strong>and</strong> those passed as references<br />

can be illustrated with a simple demonstration.<br />

Armed with some sample functions, accept<strong>in</strong>g a variety of parameters, the<br />

<strong>in</strong>structor can record the values of variables on the back of a collection of Frisbees.<br />

Different colours of Frisbee, or different sizes, can be used to <strong>in</strong>dicate different<br />

variable types. The sample functions can be ‘walked through’, <strong>and</strong> a student (or<br />

group) is nom<strong>in</strong>ated to carry out this process; they are passed the appropriate<br />

parameters by the <strong>in</strong>structor. Where a value parameter is required, the <strong>in</strong>structor<br />

simply reads out the value. But if a reference parameter is used, the value<br />

(the Frisbee) must itself be passed to the students represent<strong>in</strong>g the function. If<br />

the function changes the value of the variable, the students must change the

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!