1 / 22

Dr. Ir. Colin Price “ Can the Fine Arts Inform Software Development ?

8000 students, U.K. “Teaching University” Modular BSc Computing, MSc Computing Research into : Computer Science Education Immersive environments Modelling and Simulation. Dr. Ir. Colin Price “ Can the Fine Arts Inform Software Development ?

noreen
Télécharger la présentation

Dr. Ir. Colin Price “ Can the Fine Arts Inform Software Development ?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 8000 students, U.K. “Teaching University” • Modular BSc Computing, MSc Computing • Research into : • Computer Science Education • Immersive environments • Modelling and Simulation Dr. Ir. Colin Price “Can the Fine Arts Inform Software Development ? (From 20th Century Russian Constructivism to 21st Century Java)” JICC10 -

  2. Art – Computing Synergies • Software development is “Creative”, just like painting • Education: Studying “Masters” = “Reading Code” • Masters’ code is like a Bach Fugue, a Braque or Picasso • Arrow of inspiration from Art to Computing ? • OOA is induction from the special to the general • OOP is deduction of the instances from the classes • Our approach is • Not “algorithmic art” • Is totally graphical • Deployed with final year BSc. and MSc. conversion degrees

  3. Malevich Self Portrait

  4. Kandinsky Happy Structure

  5. Review/Intro of OOA/OOA Exploration of programming constructs GUIs, JComponents, ActionListeners Collections – ArrayList – Parsing a File Threads, dynamics, the step() method Collision Detection Images From Applications to Applets Activity 1 Activity 2 Activity 3 Activity 4 Project

  6. OOP Sub-classing.

  7. 1D Array, for() loop, if().

  8. 1D Array, for() loop, if().

  9. 2D Array, nested for() loops, if().

  10. Sub-class or Parameter?

  11. Location of A’s & M’s GameObjects “know” their own position (attributes) and behaviour (methods). GameObject DrawCanvas “knows” objects it contains. And so must have method to spread this information. Also contains Thread to support dynamics. DrawCanvas

  12. Passing References AppGUI { } Instantiates GameObjects Instantiates DisplayCanvas Updates score in JTextField DisplayCanvas { } Contains ArrayList of Game Objects UserPaddle extends GameObject{ } Updates and maintains score UserPaddle DisplayCanvas AppGUI informs informs Ref to Ref to Reading Code

  13. Sarah Jay, BSc.

  14. James Brown BSc.

  15. Byran Workia MSc..

  16. Alex Bryan MSc.

  17. Student Evaluation Thoughts on the writings of Klee (and the Tasks in Java): Klee: “The whole is made up of parts...” This seems to be how we are approaching OOP. Klee is discussing the affect - the dynamics of the picture - rather than the effect - how it is constructed. We are not just looking at what Java does, but also what we can do with Java. The emphasis is on what we want Java to do, rather than the way in which it does things... A refreshing viewpoint!”

  18. Student Evaluation “Programming in Java is rather like building a model using 'Meccano'. You construct it from a set of existing parts bolted together in an appropriate way. It has the added advantage that if you need an 'equilateral triangle plate' and one does not exist in the 'Meccano set', you can define/construct one and then use as many instances of it as you want.” “The sequence of events in Java can be difficult to follow. If the methods called are in the same class it can be easier to track the line of action than if methods themselves use methods from other classes. 'External' methods (from imported packages) can obscure the action unless it is clear what they do. The careful choice of class, object, method and attribute names can help make the processes more 'readable'. The addition of comments makes a tremendous difference; if the intention of a section of code has been stated it is much easier to work out what it is doing / how it is doing it.” Reading Code Studying “Masters”

  19. Student Evaluation When learning a new language, conventionally one is usually given an algorithm to satisfy (or task to perform) and code is written to execute it. Individuals will, naturally, provide differing solutions; they will each produce code in a way that makes sense to them. These diverse solutions (each valid in their own way) can be challenging for the tutor who has to comprehend and 'de-bug' them! The measure of success is whether the task is completed (the code runs). This module's approach turns the strategy round. Those working through it have to comprehend (and sometimes 'de-bug'?) existing code as well as interpret the intricacies of the Java structure. This, it could be argued, represents the reality of life (in many situations one will not be starting with a blank sheet of paper...) and, anyway, this is a Masters course...

  20. WebSite

  21. OOP and Learning

  22. Pedagogy

More Related