Download presentation
Presentation is loading. Please wait.
Published byCecily Gibbs Modified over 9 years ago
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!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.