athena, a large scale programming lab support tool anton jansen, ph.d. student software engineering...

15
Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The Netherlands

Upload: avis-phelps

Post on 29-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Athena, a large scale programming lab support tool

Anton Jansen, Ph.D. Student

Software Engineering and ARCHitecture (SEARCH) University of Groningen

The Netherlands

Page 2: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Outline IntroductionAthenaDemoCourse integrationLessons learnedConclusions

Page 3: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Programming courses / labs Teach the concepts behind a particular

programming language (e.g. for, if, method) Students should learn the basic

transformations from problem to solution domain (problem solving, divide & conquer)

Develop a sense for good and bad programming practices.

Page 4: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

ProblemLearning how to program is a difficult

and a time consuming process. Abstract Precise Skill

Page 5: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Labs Programming exercises to train special use of

concepts and combinations of them Need many small exercises to train concepts

in isolation and particular combinations => A lot of work for the staff to judge all these

solutions (e.g. 7.5kLOC for 60 students )

Page 6: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Programming lab exercises

StudentsExercise Program Teacher

Feedback

Page 7: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Athena

StudentsExercise Program Teacher

Feedback

Athena

Feedback

Page 8: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Example exercise: a triangle

X Y

Z

•Sharp

•Right-angled

•Obtuse-angled

•Impossible

Page 9: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Automated testing Don’t do it Compile Run Output testing

Textual differences Numerical differences Dedicated test program

Performance testing (time, memory, etc.) Let students make the test themselves

Page 10: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Course integrationOnly functional programs are

consideredProgramming examsLab assistants In use since 2001 for 4 different courses

Page 11: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Evaluation: student perspective

Drawbacks Hard, competitive => stress, fraud Difficulty in non-specified cases

Benefits Learn a precise working attitude Fast feedback improves learning

Page 12: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Evaluation: teacher perspective

Drawbacks Dependability

Benefits Shifting focus from functionality to quality Initial investment high, but pays off

Page 13: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Athena key featuresLanguage & platform independentPoint and click interfaceMultiple coursesAny place, any time

Page 14: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Conclusions Improves student learningSaves work!

Page 15: Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The

Questions?