1 / 31

Say it another way Sam

Say it another way Sam. Christopher Carter ▲ Formerly of Sheffield Hallam University. Teaching programming. Who are we teaching?. 80’s mathematically literate highly motivated Some could already program (badly!) 90’s Mathematically less able Well motivated

dorjan
Download Presentation

Say it another way Sam

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. Say it another way Sam Christopher Carter ▲ Formerly of Sheffield Hallam University

  2. Teaching programming

  3. Who are we teaching? • 80’s • mathematically literate • highly motivated • Some could already program (badly!) • 90’s • Mathematically less able • Well motivated • Fewer had concept of programming • 00’s • Many have no concept of algebra even • Poorly motivated – fearful of programming • Culture of being ‘cool’ to skip lectures and tutorials • Pressure to pass high percentage of students

  4. What we aim to teaching them • 80’s • Teach as much as possible • Challenge was to wean students off poor habits • Discrete mathematical framework • 90’s • Teach concepts rather than techniques • Challenge to understand and simplify material • Software Engineering context • 00’s • Teaching concept of programming • Challenge becomes how to motivate • May not gain more than ability in logical thinking

  5. How do we teach it? • 80’s • Many programming exercises building up to quite advanced programs • 90’s • Algorithm design – programming in the large – team programming – modifying existing programs • 00’s • Try to find ways to motivate students – reduce fear factor - experience they may wish to follow up later

  6. Why learning paths? • Some years ago I noticed that: • After ~50 hours a large minority of students seemed not to understand the first thing about programming. • First 4 weeks of learning seemed crucial. • If students didn’t ‘get it’ within that time they seemed to mentally switch off for the rest of the course (relying on friends for help with tests or simply dropping out). • Seemed worth making a disproportionate effort to get first few weeks right.

  7. Strategy • Set up BB to get students to share their experiences (of Maths and other things); • Help students reflect on how they learn; • Try to overcome problem of getting stuck (and not asking for help) by offering alternative routes to knowledge. • Make first assignment as non-threatening and enjoyable as possible;

  8. First assignment • Orally assessed low weighting (5%) • Credit for learning styles questionnaire. • Credit for taking part in BB discussion. • Credit for images using Paint (simple interface). • Students had to choose a learning method. • Get program working (using chosen method). • Record position and size of objects on VB form and put these numbers into Start Subroutine.

  9. Maths in School BB • “Who likes maths? Def not me” • “At school I struggled with maths, so I had to go to extra classes to keep up with the class work , which helped me a lot.” • “I'm glad it's not just me that sometimes struggles a bit, I don't feel so alone now :)” • “maths was so boring in school, now its even more boring!!! But I still go to lesson!!!!” • “i've never been could at maths and don't think i'll ever be!!!!” • “I v never been to good at maths but it seems to be alright at the movement”

  10. We already see a problem • Students are very careless about way they put sentences together even when their peers can read their mistakes: • First thing that typing in other people’s programs teaches us: • Wrong syntax is unforgiving – less so in VB! • accepts ‘if a = 3 or 4 then a = 5 and b = 5’ • Ouch!!

  11. Liking maths vs. progress

  12. 5 dimensional Felder model • Inductive Deductive – (fundamentals first vs. problem/discovery) • Felder says don’t need to consider - all learning should be inductive! (problem/discovery) What type of learner do you think you are?

  13. Are you Active or Reflective? • When I am learning something new, it helps me to: • talk about it. ACTIVE • think about it. REFLECTIVE • I would rather first: • try things out. ACTIVE • think about how I'm going to do it. REFLECTIVE

  14. Are you Sensing or Intuitive? • I would rather be considered • realistic. SENSING • innovative. INTUITIVE • I am more likely to be considered: • careful about the details of my work. SENSING • creative about how to do my work. INTUITIVE

  15. Are you Sequential or Global? • When I start a homework problem, I am more likely to: • start working on the solution immediately. SEQUENTIAL • try to fully understand the problem first. GLOBAL • I tend to : • understand details of a subject but may be fuzzy about its overall structure. SEQUENTIAL • understand the overall structure but may be fuzzy about details. GLOBAL

  16. Are you Visual or Verbal? • I like teachers • who put a lot of diagrams on the board. VISUAL • who spend a lot of time explaining. VERBAL • When I get directions to a new place, I prefer • a map VISUAL • written instructions. VERBAL

  17. Lessons of Learning model • Lesson for teachers: • Does your teaching assume that all learners have the same learning style as yourself? • Lesson for learners: • If you are finding a subject difficult or boring it may just be you are trying to learn it or being taught it in a way that does not suit you.

  18. How I compare with my students Key: Me – my profile f/t – full time students p/t – part time students Results for students are similar to those reported in the literature e.g. http://www.eng.monash.edu.au/uicee/gjee/vol6no1/Zywno.pdf

  19. Choosing a first program • Football seems very popular with both sexes • Action programs Visual more fun than static ones • Football penalty program allows us to introduce elements that are fundamental to good programming.

  20. Different Learning paths • Type it all in and get it working: • Learning by repetition! • Experimentation: • For those who don’t like discipline? • Theory first: • For those who like to read the instructions. • Step by step: • For cautious people who like to understand one thing before going on to the next.

  21. Type it in method • Name and place all the Controls • Set the properties such as Style & Color • Note Top Left Height and Width of each Control • Add code for Start button BUT • Substitute dimension values recorded above. • Add code for Hit Ball button • Explanation of how it all works (pseudo-code) • Add Text Box explain and run program. • 10 exercises on changing the program and explaining what the effect is.

  22. Exercises after typing in • Position the ball closer to the striker • Position the Goalie in front of the goal • Make Striker head ball by changing Top • Stop Label from moving • Make ball move backwards • Make ball move down instead of up

  23. Experimentation • Don’t bother changing default names • Start with clickable image move 300 units. • After certain point image moves down instead. • Call click routine recursively. • Introduce loop instead of above recursion. • Add Command Button. • Explain need for more disciplined approach. • Start again correctly naming project etc.

  24. Strengths and weaknesses Consider Experimenter personality type: • Strength • Willing to try things if instructions don’t work • Weakness • May not be very disciplined (sloppy control names ?) Taking strengths and weaknesses into account : • particularly emphasise the importance/advantages of taking care over naming controls etc. • take for granted they will be willing to try things out.

  25. Theory First • Explain Boolean logic / defensive programming (Enabled property) • Mention States of the program and which controls are enabled in which states • Introduce code to implement states • Add user instructions • Pseudo-code of iteration then implement • Assignment statements etc.

  26. Learn by Doing • Make ball jump from left to right suddenly. • Make ball move in steps (repeated code). • Using a loop to make it move smoothly. • Making player move up to ball etc. • Resetting things to start positions. • Add user instructions. • Preventing unwanted user input.

  27. Type it get it working: Highly Active Rather Sensing Rather Verbal Rather Global Experimentation: Highly Active Highly Intuitive Rather Verbal Rather Global Theory first: Highly Reflective Rather Intuitive Visual Verb neutral Rather Sequential Step by step: Highly Active Highly Visual Visual Verb neutral Highly Sequential Methods vs. Personality

  28. Methods chosen by students

  29. Student feedback (%)

  30. Programming - Hidden benefits • Second Semester spent considerable time with individuals trying to explain (for example): • Why their code won’t do anything: If a = 0 and a = 3000 then • Or if 5 questions can be answered correctly, incorrectly or not at all. What was wrong with: if 5 are right and 1 is wrong then if 4 are right and 2 are wrong then • Doing programming is obviously useful in helping students to think logically!

  31. Summary • Teaching programming is a challenge. • Football penalty program a good model. • Learning paths are worth the effort; even if not fully appreciated by the students. • Students do use a range of methods • Half of them tried all four possible methods! • Concept of leaning styles seems useful: • but I am not sure exactly why.

More Related