Title: An eLearning Environment for Programming
1An eLearning Environment for Programming
- Nghi Truong
- Faculty of Information Technology
- Queensland University of Technology
- Brisbane, Australia
2The Programming Tasks
Memorizing program syntax
Understanding programming questions
Installing and configuring compiler
Understanding compilation errors
Using text editor
Debugging
3Motivation
- Learning to program is difficult
- Programming cannot be learnt without practice
- Timely and frequent feedback is important in the
learning process - Facilitate flexible learning
- Meet the diverse needs of students
4The Environment for Learning to Program (ELP)
Annotation feedback
Web based programming exercises
Exercise Database
Program analysis framework
Feedback compilations, analysis and feedback
from tutor
ELP Web Server
5Five Key Characteristics of ELP
- Supports fill in the gap programming exercises
(Java, C, C) - Web based
- Provides timely formative feedback through
program analysis framework - Supports configurable exercises
- Provides two-way communication between
tutors/lecturers and students through annotation
6An Example of fill-in the gap Exercises
Gap Area
7The Impact of ELP
- How students learn to program
- How lecturers deliver tutorial material
- How learning outcomes are assessed
8The Annotation Feedback Engine
- Provides an effective two-way communications
between teacher and students - Provides better understanding of students needs
- Three level of annotation
- exercise, file, gap
9The Program Analysis Framework
- Emphasizes the important of software quality and
testing in the undergraduate courses. - Analyses fill in the gap programming exercises
- Supports both Java and C
- Consists of static analysis and dynamic analysis
- Static Analysis
- Software Engineering metrics analysis
- Structural similarity analysis
- Dynamic analysis
- Incorporates black box and white box tests
10Program Analysis Feedback
- Combined between static and dynamic analysis
- Quality of solution
- Hints on how to improve it
- Alternative solutions for a programming problem
- Program correctness
- Points out gaps that might not be correct
- Hints on how to fix the problem
- Any run time errors
11Benefits of Framework
- Can be used to
- provide instant feedback on quality and
correctness of students programs - help students think about alternative solutions
- teach software testing for students
- assist teaching staff in the marking process
12An Example of Static Analysis
13(No Transcript)
14(No Transcript)
15An Example of Dynamic Analysis
16(No Transcript)
17(No Transcript)
18Evaluation
- Have been used to teach beginners to program in
Java and C for the last 2 years - Received positive feedback
- Fill in the gap makes writing programs easier
- Web based allows them to do programming exercise
at anytime, anywhere - Program analysis framework help them to think
about alternative solutions
19Summary
- Five characteristics of ELP
- supports fill in the gap programming exercises
- web based
- provides timely and formative feedback
- supports configurable exercises
- allows communications between students and
lecturers - http//elp.fit.qut.edu.au
20Thank you