|
|
xiii | |
Foreword |
|
xv | |
Preface |
|
xvii | |
Contributors |
|
xxi | |
Authors |
|
xxiii | |
About the Cover |
|
xxv | |
|
|
1 | (6) |
|
1.1 Who is This Book For? |
|
|
1 | (2) |
|
1.2 Coding: Language or Mathematics? |
|
|
3 | (1) |
|
1.3 Coding With Visual and Verbal Cues |
|
|
4 | (3) |
|
Chapter 2 Introduction to Coding |
|
|
7 | (80) |
|
2.1 A Brief History of Coding |
|
|
8 | (2) |
|
2.2 Choosing a Programming Language |
|
|
10 | (6) |
|
2.2.1 Object-oriented programming (OOP) |
|
|
15 | (1) |
|
2.3 Basic Concepts in Coding |
|
|
16 | (4) |
|
2.3.1 Syntax and semantics |
|
|
16 | (1) |
|
2.3.2 Assignment statements |
|
|
17 | (1) |
|
|
17 | (1) |
|
|
17 | (1) |
|
|
18 | (1) |
|
2.3.6 Programming languages & computer architecture |
|
|
19 | (1) |
|
2.4 Java, Some Background |
|
|
20 | (4) |
|
|
21 | (1) |
|
2.4.2 Attributes and behaviour |
|
|
22 | (2) |
|
2.5 Introduction to Coding Animation |
|
|
24 | (13) |
|
2.5.1 First animation: Expanding Circle |
|
|
24 | (1) |
|
2.5.1.1 Basic animation of simple objects |
|
|
25 | (1) |
|
|
26 | (2) |
|
2.5.1.3 Initialisation and configuration |
|
|
28 | (1) |
|
2.5.1.4 The animation process |
|
|
28 | (1) |
|
|
29 | (1) |
|
|
30 | (1) |
|
|
30 | (1) |
|
|
31 | (1) |
|
|
31 | (1) |
|
|
32 | (1) |
|
2.5.2.5 Animating the morphing process |
|
|
32 | (4) |
|
|
36 | (1) |
|
|
37 | (19) |
|
2.6.1 Building an audio visualiser |
|
|
38 | (1) |
|
|
39 | (2) |
|
2.6.3 Basic line graph generator |
|
|
41 | (3) |
|
2.6.4 Basic audio waveform static visualiser |
|
|
44 | (7) |
|
2.6.5 Basic audio animated visualiser |
|
|
51 | (2) |
|
2.6.6 Basic audio animated visualiser polarised |
|
|
53 | (3) |
|
2.7 Multisensory-Based Perception & Learning |
|
|
56 | (6) |
|
|
62 | (1) |
|
2.8 Multisensory-Based Coding |
|
|
62 | (25) |
|
2.8.1 The elements of design in art |
|
|
63 | (1) |
|
|
64 | (1) |
|
2.8.2.1 Project: Meteorological events |
|
|
65 | (1) |
|
|
65 | (2) |
|
|
67 | (1) |
|
|
67 | (4) |
|
2.8.5.1 Primary colours in pigment and light |
|
|
71 | (1) |
|
2.8.5.2 Project: Drawing an apple |
|
|
72 | (4) |
|
|
76 | (1) |
|
2.8.6.1 Showing space in a 2D drawing |
|
|
77 | (1) |
|
2.8.6.2 Perspective in painting |
|
|
78 | (1) |
|
2.8.6.3 Cognitive perception by painters |
|
|
79 | (1) |
|
2.8.7 The principles of design in art |
|
|
79 | (1) |
|
|
80 | (1) |
|
|
80 | (1) |
|
|
80 | (1) |
|
|
81 | (1) |
|
2.8.7.5 Variety and contrast |
|
|
82 | (1) |
|
|
83 | (1) |
|
|
83 | (1) |
|
2.8.7.8 Analysis of artworks |
|
|
83 | (1) |
|
|
84 | (1) |
|
2.8.9 Visual aspects of math, computing, and coding |
|
|
85 | (2) |
|
|
87 | (92) |
|
|
88 | (1) |
|
|
89 | (9) |
|
|
89 | (1) |
|
3.2.1.1 A personal account |
|
|
89 | (3) |
|
3.2.1.2 Portrait and still life as ASCII art |
|
|
92 | (1) |
|
3.2.2 Landscape: A cherry tree |
|
|
93 | (1) |
|
3.2.2.1 How does it work? |
|
|
94 | (1) |
|
|
94 | (1) |
|
|
95 | (1) |
|
3.2.3 Project: Map of winds |
|
|
95 | (1) |
|
|
96 | (2) |
|
|
98 | (18) |
|
3.3.1 Introduction to geometric art with Python |
|
|
98 | (1) |
|
3.3.1.1 Downloading and installation |
|
|
99 | (1) |
|
|
99 | (2) |
|
3.3.1.3 Making and saving programs |
|
|
101 | (1) |
|
3.3.2 Examples and experiments |
|
|
101 | (1) |
|
|
101 | (2) |
|
|
103 | (2) |
|
3.3.3 Adult colouring book series |
|
|
105 | (3) |
|
3.3.4 MATLAB: Algorithmic generation of design patterns |
|
|
108 | (2) |
|
|
110 | (1) |
|
|
110 | (1) |
|
|
110 | (1) |
|
3.3.4.4 Some qualifications |
|
|
111 | (2) |
|
|
113 | (1) |
|
3.3.4.6 Challenges and projects |
|
|
113 | (1) |
|
3.3.4.7 Getting the software and using MATLAB |
|
|
114 | (1) |
|
|
115 | (1) |
|
3.4 3D Visualiser With Java |
|
|
116 | (19) |
|
3.4.1 Simple wireframe tetrahedron |
|
|
117 | (4) |
|
3.4.2 Filled coloured tetrahedron |
|
|
121 | (3) |
|
3.4.3 Z-Buffered coloured tetrahedron |
|
|
124 | (1) |
|
3.4.4 Cosine shaded tetrahedron |
|
|
125 | (2) |
|
3.4.5 From tetrahedron to sphere |
|
|
127 | (2) |
|
3.4.6 Changing 3D object to a box |
|
|
129 | (1) |
|
3.4.7 Morphing object from spiky tetrahedron to sphere |
|
|
130 | (1) |
|
|
131 | (1) |
|
3.4.7.2 3D Object and draw method class |
|
|
132 | (1) |
|
|
132 | (3) |
|
3.5 Audio Data to Drive 3D Morphing Animation |
|
|
135 | (17) |
|
3.5.1 Basic sine wave generator |
|
|
137 | (2) |
|
3.5.2 Basic sine wave-driven animation |
|
|
139 | (7) |
|
3.5.3 Full audio file-driven animation |
|
|
146 | (2) |
|
|
148 | (4) |
|
3.6 A Framework for Visualisation of Codes |
|
|
152 | (27) |
|
3.6.1 How to build a computer |
|
|
152 | (4) |
|
3.6.2 Projects involving expressive themes |
|
|
156 | (1) |
|
3.6.2.1 Coding a horse and a rider, across media |
|
|
156 | (2) |
|
3.6.3 Scientific visualisation |
|
|
158 | (1) |
|
3.6.4 Programming 3D forms |
|
|
159 | (4) |
|
3.6.4.1 Creating characters with feelings |
|
|
163 | (11) |
|
|
174 | (5) |
|
Chapter 4 Interactivity and Visualising Inputs: Mouse, Data, Finger |
|
|
179 | (62) |
|
|
180 | (1) |
|
4.2 A Portrait: Person With a Jetpack |
|
|
180 | (2) |
|
4.3 Interactive Weather Tree Application |
|
|
182 | (36) |
|
|
183 | (9) |
|
4.3.2 Adding some controls |
|
|
192 | (8) |
|
4.3.3 Controlling Tree class |
|
|
200 | (3) |
|
4.3.4 Connecting to a live feed |
|
|
203 | (1) |
|
4.3.5 Connecting to OpenWeather.com |
|
|
204 | (3) |
|
4.3.6 Accessing the data from Canvas class |
|
|
207 | (5) |
|
4.3.7 Adding rain to our display |
|
|
212 | (2) |
|
4.3.8 Driving the Tree class from the weather data |
|
|
214 | (3) |
|
4.3.9 Adding features to the control panel |
|
|
217 | (1) |
|
4.4 Adding Bling: Using Leds With Arduino |
|
|
218 | (23) |
|
|
219 | (1) |
|
|
219 | (1) |
|
4.4.3 Downloading and installation |
|
|
219 | (1) |
|
4.4.3.1 Electronics basics |
|
|
220 | (2) |
|
4.4.4 Arduino programming |
|
|
222 | (3) |
|
4.4.4.1 Uploading to Arduino board |
|
|
225 | (1) |
|
4.4.5 Wiring LEDs to Arduino |
|
|
225 | (1) |
|
4.4.5.1 Wiring and powering circuits |
|
|
226 | (5) |
|
4.4.6 Current limiting resistor calculation |
|
|
231 | (1) |
|
4.4.7 Controlling multiple LEDs |
|
|
232 | (4) |
|
4.4.8 Dimming an LED with pulse width modulation |
|
|
236 | (1) |
|
|
237 | (1) |
|
4.4.10 Questions you should ask about LEDs |
|
|
238 | (3) |
|
|
241 | (24) |
|
5.1 Code the Same Thing in Many Languages |
|
|
241 | (1) |
|
5.2 Translation of Fortran into Java |
|
|
242 | (3) |
|
5.3 Image Processing in Java from Scratch |
|
|
245 | (3) |
|
5.3.1 Digital images in Java |
|
|
246 | (1) |
|
5.3.2 Digital image processing |
|
|
246 | (1) |
|
5.3.3 Pattern recognition |
|
|
247 | (1) |
|
|
247 | (1) |
|
5.3.5 Optical character recognition |
|
|
247 | (1) |
|
5.4 Basic Steps of Java Program Development |
|
|
248 | (4) |
|
5.4.1 Java compiler download and installation |
|
|
248 | (1) |
|
5.4.2 IDE software download and installation |
|
|
249 | (3) |
|
5.4.3 Writing code to develop application |
|
|
252 | (1) |
|
5.4.4 Compile and run application |
|
|
252 | (1) |
|
5.5 Steps of Java Image Processing |
|
|
252 | (13) |
|
|
253 | (1) |
|
|
253 | (2) |
|
|
255 | (3) |
|
|
258 | (2) |
|
5.5.5 Save the image file |
|
|
260 | (2) |
|
|
262 | (1) |
|
|
263 | (2) |
|
Chapter 6 Conclusions and Educational Propositions |
|
|
265 | (10) |
|
6.1 Coding in Curriculum-Graphical Thinking |
|
|
266 | (2) |
|
|
268 | (1) |
|
|
269 | (6) |
|
6.3.1 Books on art and cognition |
|
|
269 | (2) |
|
6.3.2 Books on coding for artists |
|
|
271 | (4) |
References |
|
275 | (6) |
Glossary |
|
281 | (4) |
Index |
|
285 | |