Title: Animating the .NET execution model
1Animating the .NET execution model
- Jim Bown
- University of Abertay Dundee
2Context
Year 1
Year 4
Year 3
Year 2
BSc Computing, Computing (Games
Development) Entry levels 1st year CCD at
A-Level (One articulation route requires 1
A-Level)
3Background
Year 1
Year 4
Year 3
Year 2
Java (1.5) for core OOP concepts Taught using
visualisation aids
4Robots and cows and Connect4, oh my!
5Supportive technologies
Program formulation
Syntactic
Context-sensitive
SNOOPIE
Semantic
Generic warnings
Problem formulation
Schematic
Construct relationships
Strategic
Required constructs
Feedback
Tool operation
6Supportive technologies
QMe
7Year 2, Java SWING stories
8Year 3, .NET Framework
- Visual teaching tools and other supportive aids
used throughout first exposure to Java - But not for .NET teaching!
- No (good) reason for this
- HEA award used to address this and improve
existing portfolio of work - 2 month secondment for PGRA
9The module
- 1. Identify the outline architecture components
of an object-oriented execution environment. - 2. Describe the elements of a type system in the
context of object- oriented programming. - 3. Explain the operation of an object-oriented
program in the context of memory management. - 4. Appraise the use of a class library in
facilitating the implementation of complex
applications.
10The project
- Develop 3 visualisations and additional tutorial
materials - Integrated into the main module
- Highlighting interoperability and dynamic code
generation - Visualisations for
- Simple class
- Memory management
- Case study
11Visualisation 1
- Visualisation of a basic class
- Students explore C implementation
- Used as an introduction to C class use (.dll)
- Interface in VB.NET
- Short commentary on interoperability in tutorial
- We used straight-line class
- Teach them about equations too!
- Set of questions relating to class properties
- Students explore and extend class
12Visualisation 2
- Animation of memory management
- The stack and heap
- An interactive (carefully constrained) editor
- Focused on object creation method calls
- Linked in with existing (static) presentation and
tutorial exercises
13Memory management animation
14Dynamic code generation
- Dynamic generation of compiled code at run-time
based on string input - Need instance of a compiler and a little bit of
packaging - Self-generating programs
- No animation for this
- Tutorial exercises developed within project
15Case study Research ? Teaching
- Actually the start of the whole thing
- Me advising (sort of) an RA on development of a
file viewer - X-rays and soil
16CT Scanner for soil samples
17Sample slicer viewer animation
- Files generated are gt10Gb
- Series of slices of images (tiff files)
- RA was developing a tiff file viewer
- Allowing loading of a stack
- And stepping through slices
- I thought it might be cool to let our students
see it hence HEA application
18Spin-off
Carnegie Trust Summer Student
HEA Academy
School-funded Summer Student
19Summary
- 2 month project made significant impact on
teaching content - Animations of particular value
- In line with student expectations
- Some revisions to core exercises to link better
to animations - Funded 1 2-month RA and led to funding for 2
students for 6 weeks
20Main deliverable
Acknowledgements Allan Milne (PI) Michael Idowu
(RA) Natalie Coull Matthew Leonard Eilidh
MacAdam Davina Button Linton Porteous
Please take one!
Also on HEA website