230 likes | 352 Views
Approaches to Dealing with Diversity in Introductory Programming. H.C. Davis IAM: Learning Technologies Electronics and Computer Science The University of Southampton, UK hcd@ecs.soton.ac.uk http://www.ecs.soton.ac.uk/~hcd with assistance from Christopher Gutteridge
E N D
Approaches to Dealing with Diversity in Introductory Programming H.C. Davis IAM: Learning TechnologiesElectronics and Computer ScienceThe University of Southampton, UK hcd@ecs.soton.ac.uk http://www.ecs.soton.ac.uk/~hcd with assistance from Christopher Gutteridge Help Desk Co-ordinator
This talk I’m going to • convince you that there is a problem • describe some of the attempts we have made to solve this problem • evaluate the success of these solutions Wolverhampton ICS 2002
Question 1 • Do you differentiate your teaching of introductory programming for students of different abilities/experience? • YES – we formally recognise at least three groups (advanced, normal, novice) • YES – we formally provide extra assistance for novices • YES – but only informally, e.g. by spending more time in labs with those who need it • NO – all students get the same treatment Wolverhampton ICS 2002
Our Surveys • 50% intake have A level Computing • 25% have Programming skills and experience beyond that required for A level • 25% have *no* programming experience (This is fairly typical of many universities) Wolverhampton ICS 2002
Consequences • Beginners find pace too fast • Experienced find pace too slow • Beginners intimidated by know-alls • Students at both ends of the initial ability range express unambiguous dissatisfaction • Students progress through degree unable to code And we are not intending to harmonize entry requirements (e.g. A level Computing) Wolverhampton ICS 2002
Approaches Already Tried • Schools regularly use differentiated learning • Universities have typically not felt it important as students have similar points scores on entry • In CS we have tried approaches to level the playing field • Structured Programming (Pascal) • Language Independent approaches a la Bornat • Functional languages (SML, Miranda, Scheme) • But OO is currently increasing the divide Wolverhampton ICS 2002
Approaches to dealing with the already skilled programmers • Based on a paper by Jenkins (in which he describes “Rocket Scientists”) • The principle is that once you have learned one or two languages learning another is easily done self paced • It is the programming and OO principles you need them to concentrate on. Wolverhampton ICS 2002
Differentiated Approach • At Southampton students group themselves following an Initial Skills Survey • Space Cadets • Strugglers • The Rest • Course covered in 3 lectures per week – • not compulsory for space cadets • Extra lecture split into two – • motivational lecture for space cadets • Revision / Tutorial for strugglers • The rest need not attend • Space Cadets need not attend labs – log books • Space Cadets do standard courseworks plus other challenges Wolverhampton ICS 2002
Challenging the Space Cadets(1) Making things more difficult • Initially we gave them similar tasks to the rest • Just used more interesting examples • reading a string from a text file became • turning an email id into a person’s name (by using the departmental info web page) Wolverhampton ICS 2002
Challenging the Space Cadets(2)Going beyond the syallabus • After the introduction to applets • Write a freehand drawing applet • Just use your imagination to make as interesting drawing facilities as possible with as little programming as possible. • A Student solution Wolverhampton ICS 2002
Challenging the Space Cadets(3)Getting the students to reflect • Get Students to reflect • Create a simple spirograph drawing applet • Enhance it for a particular application • Assess each others’ work Wolverhampton ICS 2002
Challenging the Space Cadets(4)Making it fun (or “toys for the boys”?) • Robocode (IBM framework for building robots) Wolverhampton ICS 2002
Assisting strugglers (1)- make lectures active and relevant • Concentrate on active teaching techniques • Keep going back to basics • Typically strip the current coursework down to the essential fundamental task and get them to solve it in groups in class. • Very interactive question and answer sessions. • Ensure that every student participates • Code solutions in class (compile every line!) Wolverhampton ICS 2002
Question 1 • In the average large lecture, which do you think is nearest the truth? • 100% of students concentrate 100% of time • 75% of students concentrate 75% of time • 50% of students concentrate 75% of time • 50% of students concentrate 50% of time • 25% of students concentrate 50% of time • Worse than that Wolverhampton ICS 2002
Assisting strugglers (2)- ensure it’s all on the web • Course notes • Labs • Assignments • Past exams and solutions • Multiple choice quizzes • Step by step coding examples • Local Newsgroup for questions • FAQ • Coursemaster style programming exercises • Pointers to on-line tutorials, books etc. Wolverhampton ICS 2002
Assisting the strugglers (3)- help systems • Teaching assistant as tutor – should mark assist at labs and mark courseworks • Some Universities appoint other students as “happy helpers” • 10 hours a day Helpdesk • Local Newsgroup/Forum for questions (staff have editing rights) • Buddying Wolverhampton ICS 2002
Assisting the strugglers (4)- careful design of courseworks and labs • We found students did not relate to the problems we set – we employed a recent student to help us choose the courseworks • Careful staging of the courseworks to make clear what is required to pass (to demonstrate required learning outcomes) • (Encourage strugglers not to attempt advanced/ open ended parts intended for space cadets). Wolverhampton ICS 2002
Question 2 • What percentage of your students do you think include some code that they have cut and pasted from another student? • Greater than 75% • 50% - 74% • 25% - 49% • 10% - 24% • Less than 10% • Our students would never do that Wolverhampton ICS 2002
Assisting the strugglers (5)- stamp out plagiarism • Recent studies (Culwin 2001) show plagiarism is usually much worse than staff assume • Preventing plagiarism forces students to engage with the problem - but we may not wish to stop them working in teams / buddying. Wolverhampton ICS 2002
Evaluating the Results • At Southampton we measure the effectiveness of our approach in three ways • Correlating initial confidence with final results • Student feedback • Measuring change in initial confidence on next semester Advanced Programming Course Wolverhampton ICS 2002
99/00 00/01 Brilliant. I'm after your job. 5% 8% Competent. I might not have learnt everything yet, but I can do what I need to. 46% 52% OK-ish. A bit shaky on some bits and pieces. 32% 26% Timid. Can do simple programs but I can't see how to write new programs for new problems. 16% 14% Completely lost! Couldn't write a "Hello World" program without help. 0% 0% Student Confidence at start of Advanced Programming course How Confident are you about Java Programming? Wolverhampton ICS 2002
Reflections – space cadets • “Buy-in” less than ideal • No marks awarded for these activities • Interesting problems require TIME • Interesting programs are difficult to explain • Students frequently out-program lecturer • a recognition of this is important for many! • Good feedback from students • Some students slipped through the gap between being space cadets and the rest – learned programming but not principles. Wolverhampton ICS 2002
Reflections - strugglers • Don’t call them strugglers! • The problems are to get them to: • write *any* program (time on task) • join in the community of learning (so they get the right help) • understand how to learn in lectures (active learning) • realise that this may be hard and need work (many have a culture of strategic study which may not work here) • Students on “with-CS” courses do not have the same buy-in, and sometimes fail to join the community of learning • Exams should be hands-on Wolverhampton ICS 2002