Methods of teaching programming - PowerPoint PPT Presentation

About This Presentation
Title:

Methods of teaching programming

Description:

Methods of teaching programming at high schools and universities Vera Dron, dronvo_at_rain.ifmo.ru Three basic stages in programming: write a program, containing ... – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 26
Provided by: Vera151
Category:

less

Transcript and Presenter's Notes

Title: Methods of teaching programming


1
Methods of teaching programming
at high schools and universities
Vera Dron, dronvo_at_rain.ifmo.ru
2
Outline
Education levels of a student
beginners (7-8 grades)
Puzzle-method Hand tracing
intermediate (9-11 grades)
advanced (university student)
Teamwork-method Work in pairs-method
Automata approach.
2
3
Three basic stages in programming
Basic stages in teaching novice programmers
problem-solving or logic skill
DesignDevelopmentTesting
knowledge of a programming language
semantics - the underlying meaning of language
constructs syntax - the representation of these
constructs
Stages in teaching
LanguageTestingDesign
3
4
Choosing 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.

Advantages of the Pascal as a first programming
language
  • highly structured
  • strongly typed
  • readable code.

__________________________________________________
1 Pascal-central www.pascal-central.com
4
5
Syntax problem
incomprehension of basic principles of compiler
work
Ex. Student writes
instead of
... for i1 to 20 do begin cc2
writeln(2,,i,,c) end writeln(...) ...
... for i1 to 20 do cc2
writeln(2,,i,,c) writeln(...) ...
inability to interpret mistake, when compiler
doesnt propose its correction
Ex.
... if agtb then writeln(a,b) else ... ERROR
expected
... if agtb then writeln(a,b) else ... ERROR
error in statement
5
6
Puzzle method
Puzzle-method2
  • 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.

__________________________________________________
2 codesign with Andrew Breslav
6
7
Puzzle example
var
a, b longint begin
writeln(Enter two numbers) readln(a,b)
write(the greatest common divisor of ,a, and
,b, is )
while (altgtb) do
begin if (agtb) then
aa-b else bb-a
end writeln(a) end
7
8
Outline
Education levels of a student
beginners (7-8 grades)
Puzzle-method Hand tracing
intermediate (9-11 grades)
Teamwork-method Work in pairs-method
advanced (university student)
Automata approach.
8
9
Development problems
incomprehension of semantic low level of
debugging skill habit of intuitive
programming.
9
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
(altgtb) do begin if (agtb) then aa-b
else bb-a end writeln(a) end.














a
b
20
5
5 5 10 5
15
15
10
11
Outline
Education levels of a student
beginners (7-8 grades)
Puzzle-method Hand tracing
intermediate (9-11 grades)
Teamwork-method Work in pairs-method
advanced (university student)
Automata approach.
11
12
RUP
Rational Unified Process3
  • analysis
  • definition of possible risks
  • planning
  • development
  • inculcation.

__________________________________________________
3 IBM Rational http//www.rational.com
12
13
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.

13
14
Teamwork
14
15
Outline
Education levels of a student
beginners (7-8 grades)
Puzzle-method Hand tracing
intermediate (9-11 grades)
Teamwork-method Work in pairs-method
advanced (university student)
Automata approach.
15
16
XP
The Rules and Practices of eXtreme Programming4
  • Planning
  • user stories are written
  • make frequent small releases
  • the project is divided into iterations
  • Designing
  • simplicity
  • choose a system metaphor
  • no functionality is added early
  • refactor whenever and wherever possible
  • Coding
  • 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.extremeprogramm
ing.com
16
17
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
17
18
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.

18
19
Work in pairs
19
20
Outline
Education levels of a student
beginners (7-8 grades)
Puzzle-method Hand tracing
intermediate (9-11 grades)
Teamwork-method Work in pairs-method
advanced (university student)
Automata approach.
20
21
SWITCH-technology Basics6
Technology of Automata Programming
  • 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.

__________________________________________________
6 A.A.Shalyto. Technology of Automata
Programming http//is.ifmo.ru
21
22
Educational experiment
  • 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

22
23
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.

23
24
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.

24
25
The End
Thank you for attention!
25
Write a Comment
User Comments (0)
About PowerShow.com