methods of teaching programming

Download Methods of teaching programming

Post on 14-Jan-2016

19 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

Methods of teaching programming. at high schools and universities. Vera Dron, dronvo@rain.ifmo.ru. Outline. Education levels of a student:. · beginners (7-8 grades). · ”Puzzle”-method; · Hand tracing;. · intermediate (9-11 grades). · advanced (university student). - PowerPoint PPT Presentation

TRANSCRIPT

  • Methods of teaching programmingat high schools and universitiesVera Dron, dronvo@rain.ifmo.ru

  • OutlineEducation levels of a student:*intermediate (9-11 grades)beginners (7-8 grades)advanced (university student) Puzzle-method; Hand tracing; Teamwork-method; Work in pairs-method; Automata approach.

  • Three basic stages in programming:

    Stages in teaching:LanguageTestingDesignBasic stages in teaching novice programmersDesignDevelopmentTestingproblem-solving or logic skill knowledge of a programming language semantics - the underlying meaning of language constructs syntax - the representation of these constructs *

  • Choosing languageAdvantages of the Pascal as a first programming language:*According to the Pascal Standard (ISO 7185), there were two original goals for Pascal1: 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

  • Syntax problem* incomprehension of basic principles of compiler work Ex. Student writes: instead of:...for i:=1 to 20 dobegin 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 doesnt 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.

  • 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.Puzzle: method*Puzzle-method2:__________________________________________________2 codesign with Andrew Breslav

  • Puzzle: example end; writeln(a);endvara, b : longint;begin writeln(Enter two numbers); readln(a,b); write(the greatest common divisor of ,a, and ,b, is ); while (ab) do begin if (a>b) then a:=a-b else b:=b-a;*

  • OutlineEducation levels of a student:*intermediate (9-11 grades)beginners (7-8 grades)advanced (university student) Puzzle-method; Hand tracing; Teamwork-method; Work in pairs-method; Automata approach.

  • Development problems* incomprehension of semantic;

    low level of debugging skill;

    habit of intuitive programming.

  • Hand tracingvara,b : longint;begin writeln(Enter two numbers); readln(a,b); write(the greatest common divisor of ,a, and ,b, is ); while (ab) do begin if (a>b) then a:=a-b else b:=b-a; end; writeln(a);end.* 2015 515 5 5 10 5

    ab

  • OutlineEducation levels of a student:*intermediate (9-11 grades)beginners (7-8 grades)advanced (university student) Puzzle-method; Hand tracing; Teamwork-method; Work in pairs-method; Automata approach.

  • RUP*Rational Unified Process3:__________________________________________________3 IBM Rational http://www.rational.com analysis; definition of possible risks;planning;development;inculcation.

  • Teamwork-method*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.

  • Teamwork*

    customerplanner

    file1

    ... ... ... . . .. ... ... . .... . ... .. ... .... . ........ ... .. . . ...... . .. . .....

    file2

    ... ... ... . . .. ... ... . .... . ... .. ... .... . ........ ... .. . . ...... . .. . .....

    team leader 2

    team leader 3

    team leader 1

    teacher

    students

    modules

  • OutlineEducation levels of a student:*intermediate (9-11 grades)beginners (7-8 grades)advanced (university student) Puzzle-method; Hand tracing; Teamwork-method; Work in pairs-method; Automata approach.

  • XP*The Rules and Practices of eXtreme Programming4:Planning Designing Codinguser 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.com

  • AM*Core Principles of Agile Modeling5:assume simplicity; embrace change;incremental change;model with a purpose;multiple models;rapid feedback.__________________________________________________5 The Official Agile Modeling Site http://www.agilemodeling.com

  • Work in pairs-method*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.

  • Work in pairs*

    customer

    pair2

    pair3

    teacher

    pair1

    students

  • OutlineEducation levels of a student:*intermediate (9-11 grades)beginners (7-8 grades)advanced (university student) Puzzle-method; Hand tracing; Teamwork-method; Work in pairs-method; Automata approach.

  • SWITCH-technology Basics6:Technology of Automata Programming*__________________________________________________6 A.A.Shalyto. Technology of Automata Programming http://is.ifmo.rustate;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.

  • Educational experiment*1998-2001 Common Teaching 1Lectures and Exams2001-2002 Common Teaching 2Lectures, Course Works and Exams2002-2003 Experimental TeachingLectures and ProjectsProject Documentation VerificationMore than 40 fully Developed and Documented Projects

  • Project execution flow*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.

  • Content of a project*

    Project Documentation:problem definition;user interface description;justifications;automata and classes descriptions;automata and classes diagrams;verification protocols;references;Source Code.

  • The End*Thank you for attention!