200 likes | 535 Views
Animating the .NET execution model. Jim Bown University of Abertay Dundee. Context. Year 1. Year 2. Year 3. Year 4. BSc Computing, Computing (Games Development) Entry levels: 1st year CCD at A-Level (One articulation route requires 1 A-Level). Background. Year 1. Year 2. Year 3.
E N D
Animating the .NET execution model Jim Bown University of Abertay Dundee
Context Year 1 Year 2 Year 3 Year 4 BSc Computing, Computing (Games Development) Entry levels: 1st year CCD at A-Level (One articulation route requires 1 A-Level)
Background Year 1 Year 2 Year 3 Year 4 Java (1.5) for core OOP concepts Taught using visualisation aids
Supportive technologies Program formulation Syntactic Context-sensitive SNOOPIE Semantic Generic warnings Problem formulation Schematic Construct relationships Strategic Required constructs Feedback Tool operation
Year 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
The 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.
The 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
Visualisation 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
Visualisation 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
Dynamic 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
Case 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
Sample slicer viewer animation • Files generated are >10Gb • 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
Spin-off Carnegie Trust Summer Student HEA Academy School-funded Summer Student
Summary • 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
Main 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