1 / 21

The Phoenix Meta-Language Teaching Programming by Classroom Debate .

The Phoenix Meta-Language Teaching Programming by Classroom Debate . Raymond Flood Bob Lockhart Department for Continuing Education The University of Oxford. 1 Wellington Square Oxford, OX1 2JA Wednesday, September 1 st . Fifth annual LTSN-ICS conference

dori
Télécharger la présentation

The Phoenix Meta-Language Teaching Programming by Classroom Debate .

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Phoenix Meta-LanguageTeaching Programming by Classroom Debate. Raymond Flood Bob Lockhart Department for Continuing Education The University of Oxford. 1 Wellington Square Oxford, OX1 2JA Wednesday, September 1st. Fifth annual LTSN-ICS conference University of Ulster, Jordanstown

  2. The Programming Debate • Programming central to modern computing courses. • Poses difficulties as an academic topic. • Most people feel it should be taught non-passively. • Debate centres on which high-level language and what support facilities. • In this talk, we will discuss our approach.

  3. We shall … • Describe the nature of our courses and students. • Outline our approach. • Explain the facilities offered by the Phoenix tool. • Illustrate our use of it in teaching. • Present student responses to it. • Share some of our resources.

  4. One course - two delivery modes • Undergraduate diploma in computing. • Part time study over two years. • 120 CATS points at level two. • Twelve topics - basic undergraduate computer science. • Programming approx 20%. • Continuous assessment plus an annual examination. • No formal admission requirements.

  5. Class course • Two-hour lecture weekly - October to May. • Three weekend schools each year. • One exam each year, in June. • Single class of 15-20 students. • Variety of lecturers. • Majority of students have no previous programming experience. • Possession of a computer is not essential. • Limited amount of “hands-on” computing.

  6. Our approach • Concepts of low-level programming. • Phoenix programming-language generator. • The 4 – D approach! • Debate facilities. • Decide what they should be. • Discover the consequences! • Destination, Java!

  7. Bare Bones • Brookshear’s universal language exemplar. • ONE of the dialects offered by Phoenix. • Stripped-down programming language. • Single control structure. • Only variable type is non-negative integer. • I/O undefined. • Many important questions unresolved.

  8. Illustration of Bare Bones clear Z; while X not 0 do; incr Z; decr X; end;

  9. The questions • Case sensitive? • Pre-set variables? • Decrementing zero values? • Annotation? • Students can decide on all these issues. • They reach a consensus. • We implement their decisions. • They discover the consequences.

  10. How Phoenix works • A language generator written in Java. • Particular dialects correspond to settings of internal state variables. • Students take the decisions but instructors implement them. • Once variables are set, running Phoenix produces this code window which students use to program.

  11. The programming interface

  12. The student experience • Phoenix is only used at the start of the course. • First year we have attempted this! Only 11 students. • Reaction obtained by questionnaire and observation. (See http://www.conted.ox.ac.uk/cleat/ for details). • Only one student with previous programming experience.

  13. Questionnaire • Only one student did not enjoy programming. • Only one reported the programming easy! • Mixed signals about preferring Java only! • All but two students were positive on Bare Bones. • Mixed signals might relate to when the questionnaire was administered and the perceived utility of Java.

  14. Specifics 1. I feel capable of writing a small Java program now. 2. I feel I understand the terms: type, declaration, variable, assignment, control structure, loop, procedure, parameter. 3. I feel I understand the terms:class, object, message constructor, attribute, behaviour, function.

  15. Specifics 1. I feel capable of writing a small Java program now. 5 agreed, 2 neutral, 3 disagreed. 2. I feel I understand the terms: type, declaration, variable, assignment, control structure, loop, procedure, parameter. 3. I feel I understand the terms:class, object, message constructor, attribute, behaviour, function.

  16. Specifics 1. I feel capable of writing a small Java program now. 5 agreed, 2 neutral, 3 disagreed. 2. I feel I understand the terms: type, declaration, variable, assignment, control structure, loop, procedure, parameter. 2 agreed strongly, 4 agreed, 2 neutral, 2 disagreed. 3. I feel I understand the terms:class, object, message constructor, attribute, behaviour, function.

  17. Specifics 1. I feel capable of writing a small Java program now. 5 agreed, 2 neutral, 3 disagreed. 2. I feel I understand the terms: type, declaration, variable, assignment, control structure, loop, procedure, parameter. 2 agreed strongly, 4 agreed, 2 neutral, 2 disagreed. 3. I feel I understand the terms:class, object, message constructor, attribute, behaviour, function. 6 agreed. 2 neutral, 2 disagreed.

  18. Further points Students seemed more confident about concepts than had been the case in other years. • Students welcomed further programming courses ( 2 strongly agreed, 4 agreed, 4 neutral) • The programming questions were among the most popular in their final exam.

  19. Future expansion • Local variables? • Re-use and procedural units? • More flexible control structures? • Direct interface to instructor settings? • Package as an Applet? • Comparative studies? • Phoenix version 2?

  20. Acknowledgements • John Axford – Course Director, Internet diploma in computing. • Suzie McMahon, for help with the programming questionnaire. • Pete Thomas – conversations on programming!

  21. Thank You! Raymond Flood Bob Lockhart

More Related