Presentation is loading. Please wait.

Presentation is loading. Please wait.

Methods of teaching programming at high schools and universities Vera Dron,

Similar presentations


Presentation on theme: "Methods of teaching programming at high schools and universities Vera Dron,"— Presentation transcript:

1 Methods of teaching programming at high schools and universities Vera Dron, dronvo@rain.ifmo.ru

2 2 Outline Education levels of a student: 2 ·intermediate (9-11 grades) ·beginners (7-8 grades) ·advanced (university student) · ”Puzzle”-method; · Hand tracing; · ”Teamwork”-method; · “Work in pairs”-method; · Automata approach.

3 3 Three basic stages in programming : Stages in teaching: · Language · Testing · Design Basic stages in teaching novice programmers · Design · Development · Testing problem-solving or logic skill knowledge of a programming language · semantics - the underlying meaning of language constructs · syntax - the representation of these constructs 3

4 4 Choosing language Advantages of the Pascal as a first programming language: 4 According to the Pascal Standard (ISO 7185), there were two original goals for Pascal 1 :  to make available a language suitable for teaching programming as a systematic discipline based on fundamental concepts clearly and naturally reflected by the language;  to define a language whose implementations could be both reliable and efficient on then-available computers.  highly structured;  strongly typed;  readable code. __________________________________________________ 1 Pascal-central www.pascal-central.com www.pascal-central.com

5 5 Syntax problem 5 · incomprehension of basic principles of compiler work Ex. Student writes: instead of:... for i:=1 to 20 do begin c:=c*2; writeln(2,’^’,i,’=’,c); end; writeln(...);... for i:=1 to 20 do c:=c*2; writeln(2,’^’,i,’=’,c); writeln(...);... · inability to interpret mistake, when compiler doesn’t propose its correction... if a>b then; writeln(a,b) else... ERROR: “;” expected... if a>b then; writeln(a,b); else... ERROR: error in statement Ex.

6 6 Puzzle: method 6 “Puzzle”-method 2 : __________________________________________________ 2 codesign with Andrew Breslav  write a program, containing constructs, in which students make mistakes;  divide the program into parts, sticking to the following rules:  one word can not be divided;  parts are to be combined uniquely;  confuse the parts.

7 7 Puzzle: example end; writeln(a); end var a, b : longint; begin writeln(‘Enter two numbers’); readln(a,b); write(‘the greatest common divisor of ’,a,‘ and ’,b,‘ is ’); while (a<>b) do begin if (a>b) then a:=a-b else b:=b-a; 7

8 8 8 ·beginners (7-8 grades)

9 9 Development problems 9 · incomprehension of semantic; · low level of debugging skill; · habit of “intuitive” programming.

10 10 Hand tracing var a,b : longint; begin writeln(‘Enter two numbers’); readln(a,b); write(‘the greatest common divisor of ’,a,‘ and ’,b,‘ is ’); while (a<>b) do begin if (a>b) then a:=a-b else b:=b-a; end; writeln(a); end. a b 10 20 15 5 5 5 10 5

11 11 ·intermediate (9-11 grades)

12 12 RUP 12 Rational Unified Process 3 : __________________________________________________ 3 IBM Rational http://www.rational.comhttp://www.rational.com  analysis;  definition of possible risks;  planning;  development;  inculcation.

13 13 “Teamwork”-method 13 “Teamwork”-method, based on RUP:  teacher plays a part of customer and planner, his/her role is to write a task and describe dependences between parts of a program;  students are divided into several teams, which communicate only via their programs;  one student, called “team leader”, is selected in every team. His/her role is to organize development in the team.

14 14 Teamwork 14

15 15 ·intermediate (9-11 grades)

16 16 XP 16 The Rules and Practices of eXtreme Programming 4 :  Planning  Designing  Coding  user stories are written;  make frequent small releases;  the project is divided into iterations;  simplicity;  choose a system metaphor;  no functionality is added early;  refactor whenever and wherever possible;  the customer is always available;  code the unit test first;  all production code is pair programmed;  only one pair integrates code at a time. __________________________________________________ 4 eXtreme Programming http://www.extremeprogramming.comhttp://www.extremeprogramming.com

17 17 AM 17 Core Principles of Agile Modeling 5 :  assume simplicity;  embrace change;  incremental change;  model with a purpose;  multiple models;  rapid feedback. __________________________________________________ 5 The Official Agile Modeling Site http://www.agilemodeling.comhttp://www.agilemodeling.com

18 18 “Work in pairs”-method 18 “Work in pairs”-method, based on XP and AM:  teacher plays a part of customer, his/her role is to write a task and supply students with user story at every iteration;  students are divided into several pairs, every pair has its own task;  at the end of every iteration after testing pair displays its program.

19 19 Work in pairs 19

20 20 ·advanced (university student) · Automata approach.

21 21 Technology of Automata Programming 21 SWITCH-technology Basics 6 : __________________________________________________ 6 A.A.Shalyto. Technology of Automata Programming http://is.ifmo.ruhttp://is.ifmo.ru  state;  set of states;  input variables + events = input actions;  states + input actions = automata with no output;  automata with no output + output actions = automata;  states are encoded with multiple values;  observation of the automata states;  correlated automata systems;  logging;  project documentation.

22 22 Educational experiment 22  1998-2001 Common Teaching 1 –Lectures and Exams  2001-2002 Common Teaching 2 –Lectures, Course Works and Exams  2002-2003 Experimental Teaching –Lectures and Projects –Project Documentation Verification –More than 40 fully Developed and Documented Projects

23 23 Project execution flow 23  analysis;  structuring (class decomposition);  classes diagram;  structuring (automata decomposition);  automata interaction diagrams;  automata verbal descriptions;  automata interface definition;  automata transitional graph definition;  isomorphic source code generation;  verification logs.

24 24 Content of a project 24  Project Documentation:  problem definition;  user interface description;  justifications;  automata and classes descriptions;  automata and classes diagrams;  verification protocols;  references;  Source Code.

25 25 The End 25 Thank you for attention!


Download ppt "Methods of teaching programming at high schools and universities Vera Dron,"

Similar presentations


Ads by Google