Title: IDYLL: A Learning Environment for Novice Programmers
1IDYLL A Learning Environment for Novice
Programmers
- Mark Howson, Janet F. Poliakoff,
- Paul A. Orton,
- Nottingham Trent University
2Overview
- Background
- Problems for novice programmers
- How can we help students?
- What is IDYLL?
- How does IDYLL help?
- Conclusions
3Background Learning to program
- We (as tutors) are not typical
- interested in programming
- experienced
- Many students find it difficult
- Some difficulties are inherent in programming
- Other problems can be reduced
4A very simple C Program
- void main()
-
- int n
- int i 1
- cout ltlt "Enter number "
- cin gtgt n
- while (i ! n)
-
- cout ltlt x
- i
-
- cout ltlt endl
Looks familiar to some of us
5Replacing some symbols
- START
- BEG
- WHOL N.
- WHOL I lt- 1.
- WRIT FRO Enter number .
- READ INT N.
- WHILE I ltgt N
- BEG
- WRIT FRO /x/.
- I lt- I 1.
- END
- WRIT FRO NEWLIN.
- END
- Looks strange
- Still has same structure
- For students C even stranger
- - structure
- unfamiliar too
6Programming is a challenge
- even to experienced programmers
- still more so to novices
- notation is unfamiliar
- syntax is unfamiliar
- logical nature of process makes it hard to do
- whole idea of programming is an unknown concept
7Overview
- Background
- Problems for novice programmers
- How can we help students?
- What is IDYLL?
- How does IDYLL help?
- Conclusions
8Novice programmers 7 Problems
- A Development environment is complicated
- B File management
- C Finding question sheet
- D What they have done already
- E Waiting for Tutors feedback/help
- Feedback is very important
- (problems F G later)
9 Importance of Tutors feedback
- Give encouragement, help, etc.
- Develop skill in testing
- Testing is very important part of programming
(often neglected) - Problem F Students poor at testing
- dont read the specification carefully
- think the program works after 1 test
10Overview
- Background
- Problems for novice programmers
- How can we help students?
- What is IDYLL?
- How does IDYLL help?
- Conclusions
11How can we help students?
- Keep practical book
- feedback too late
- Demo of a program every 4 weeks
- still miss the other weeks and struggle
- Demo of every program
- feedback is timely
- BUT only possible with very small numbers
12Other ways to help students
- Intensive small group tuition
- Expensive in Tutor time, so
- Problem G NOT PRACTICAL
- Let the computer help!
- Helpful environment
- Monitoring of progress
- Automation of some Tutor tasks
13- Training wheels help for a bike
- IDYLL can be the training wheels for C
- We are developing IDYLL to help students start
programming
14Overview
- Background
- Problems for novice programmers
- How can we help students?
- What is IDYLL?
- How does IDYLL help?
- Conclusions
15What is IDYLL?
- Integrated Learning Environment for Novice
Programmers - Simpler to use than normal IDE
- Monitors progress (via database)
- Gives immediate feedback
- Tests real programming skills
- Overcomes most of problems A - G
16Simpler interface Options Edit window Output
window Watch window
17- Code has been entered
- Now run by pressing Try
-
18- TRY
- Text has been displayed
- Program waiting for number
-
19- Number 3 was entered
- Program has finished
- Output produced
-
20- STEP
- highlights current line
- Values of variables shown in Watch window
-
21- Program waits for user input
- User has typed 3
- Then OK
-
22- Value of n has changed in Watch window
-
23- Other variables changed
- Ready to output
24- IDYLL
- Automate does all the steps, waiting briefly
at each - - highlights each line in turn
- - shows the variable values changing
- What about errors?
25- Error in code
- - Variable j not declared
- Message pops up
-
26- Error in code
- - missing after j
-
-
27- Error in code
- - , in the place of in first for loop
-
28- IDYLL Submit
- IDYLL does the testing
- Can re-submit any number of times
29- Monitoringprogress
- highlights current question
- State of progress plotted
- Click on question
-
30- FIRST
- QUESTION
- Explains IDYLL
-
31- FIRST
- QUESTION
- CODE
- (AS GIVEN)
- Nothing to type
- Just read, try and submit
-
32- THIRD
- QUESTION
- Description
- Summary
- Click for additional information
-
33- THIRD
- QUESTION
- Clicked for Additional Information
- Summary
- Click for Hints
-
34- THIRD
- QUESTION
- Summary
- Clicked for Hints
-
35- IDYLL Questions
- Tutor can input questions
- Test data supplied by Tutor
- IDYLL tests against given data
- IDYLL based on interpreter
- The UnderC Development Project, Steve Donovan,
2001-2002 - with some modifications
36Overview
- Background
- Problems for novice programmers
- How can we help students?
- What is IDYLL?
- How does IDYLL help?
- Conclusions
37Monitoring and Assessment
- IDYLL monitors students progress
- Students know where they are
- cannot miss out any (or Staff will know)
- can work at their own pace
- Staff see each students progress
- can give timely and appropriate help
- Assessment using progress in IDYLL
- Actual programming skill are tested
- not answering questions
38How IDYLL overcomes 7 problems
- A Complicated environment Now simpler
- B File management Not needed
- C Finding question sheet Not needed
- D What have done already Easily seen
- E Waiting for feedback/help Some done by
IDYLL - F Students poor at testing IDYLL tests
to spec. - Students learn about idea of testing
39How has IDYLL helped? continued
- G Expensive in Tutor time
- Saves time spent in
- some feedback tasks
- testing student programs
- (very time-consuming to do properly)
- monitoring progress
- Leaves Tutor free for other help
- explanation
- inspiration
40- Eventually training wheels are not needed
- Students move on to full C IDE
41Conclusions
- IDYLL is combined demo test
- can be done any time
- immediate feedback
- overcomes many problems
- concentrates on actual programming skills
- emphasizes importance of testing
- automates many tasks
42IDYLL A Learning Environment for Novice
Programmers
- Mark Howson, Janet F. Poliakoff,
- Paul A. Orton,
- Nottingham Trent University
- email janet.poliakoff_at_ntu.ac.uk