DEMO
S
3
N O I T A C U D E Y R A D EC O N
y g o l o n h Tec M . P. B l
os J. Sant , s o y o , I. H ázquez
Building
Blocks
this is
your book
Reading and listening
ch unit
f ea The opening pages o
1
We read and listen about the topic of the unit, learning about key concepts and developments in technology.
Speaking
gn
Computer-aided desi g
Reading and listenin
The evolution of
computer-aided
3
design
computer in the 20 century, was invented and evolving. Ever since it usly developing been continuo industrial programming has like artists than mers were more algorithms The first program started to discover went on, they over, like recipes workers. As time applied over and be could that mathematical and techniques ies had a strong These discover to try to learn wanted when cooking. who scared off many environments component, which today there are a computer. But anyone can how to program that practically ming easier, so which make program y when using them. unleash their creativit in our digital an essential tool design is now we can use Computer-aided medium which become a vital and other has It colours society. images, ideas through to our ideas. to communicate tool to give shape can use it as a techniques. We s about the text. 1 Answer the question they couldn’t do people feel like some did why 1 In the past, ming? computer program creativity? by unleash our think we mean 2 What do you useful for? er-aided design 3 What is comput here? Can you being used for er-aided design 2 What is comput think of more uses? th
s on SDGs 9.1 an
You can find resource es.
of the United Nations official website about the 1-2-4 Go to the SDG icons. Talk design of the and look at the that they icons with a partner. fit the goals that the icons 1 Do you think t? represen improve? that you would and show 2 Are there any alternative icons s of your own 3 Make sketche ng why you would explaini s, student another pair of change them.
For me this icon sends the right message because…
I think this icon would be better if …
Writing
4
your community, and 9.c. Think about e can Look at SDGs 9.1 think that everyon or town: Do you neighbourhood gy? access technolo closing the your ideas for the mayor with Write a letter to divide. digital by the could be done the for actions which Include ideas need money from well as those which community, as local government.
GE BANK GE BANK LANGUA LANGUA BANK GE NK GE BANK GE BA LANGUA 9 LANGUA LANGUA BANK GE BANK GE NK GE BANK GE BA LANGUA LANGUA LANGUA LANGUA BANK GE BANK NK NGUAGE NGUA BA GE LA LA UA
9.c at
anayaeducacion.
LANG
8
The audios of each unit’s content are available at www.anayaeducacion.es
Writing We write a variety of different styles and types of text relating to the unit topic, sometimes relating them to the UN Sustainable Development Goals. By practising different styles of writing, we improve our writing skills we need.
CONTENT DEVELOPMENT 2
Highly structured content with important concepts highlighted in bold.
Before operating systems, any execution in the computer system was done by the machine operator. It was a tedious task because it required the person in charge of the system to dedicate their time to changing the connections of the peripherals and executing the programs every time a new task needed to be done. Therefore, in the 1950s, programs were created that automated these tasks by joining together various executions, which was known as batch processing. The operator’s task was reduced since it was now the machine that automatically linked one program to another.
In 1981, the company IBM innovated computer systems by introducing the personal computer, or PC, which came equipped with an operating system made specifically for this small computer’s capacity. In this model, the operating system was the central element that monitored all of the computer’s resources, becoming a precursor to current operating systems. The only difference was that the operating system had to be loaded from an external disk every time the PC was used. This operating system was called IBM PC DOS (personal computer disk operating system).
At that time, operating systems communicated with the user through a command-line interface, known as textbased operating systems.
Windows
The user interacted with the computer by typing commands and parameters. Nowadays, operating systems have this interface as just another utility.
OSx
Windows Phone
Linux
BlackBerry X OS Firefox OS
Over time, we have seen the need to connect computers to networks
Android iOS
The wide range of computer hardware has led to a huge number of operating systems being developed although only a few are used in general.
Unit 6
F ocus on English
paved the way for: when an action or something leads to something that is connected to a network to access all the resources it provides, elseVbeing made NPN anpossible battery, such as shared printers, shared permanent diskYou space, and asobreadboa on. This rd, a 6 need: the base of the kΩ allows a larger system to be created by adding transistor, the resources theresistor in 2 all a of Guided practice the collector, a 100 kΩ for Understand, connected computers. think, investigate... transistor, a 100 Ω resistor ammeters and wire. two as eter, Allaofbasic the integrated resources are known Simulate transistor circuit from with various computers potentiom 3 Timeline. Make a timeline the virtual machine. a potentiometer in your notebook with the milestones for the evolution of ä 2.1 Comparing operating systems operating systems. If possible, 1 Assembly in Tinkercad The main operating systems in terms of number of licenses are Microsoft add other important events that Use Tinkercad assemble the Windows, Apple MacOS and the Linux operating systems. Each one you cantofind by searching for circuit complementary in the circuit diagram on has its advantages and disadvantages, but when choosing one over information. the left. The result will be similar another. Take a look at the characteristics of each in the table below: to the right hand assembly. The ammeter on the right measures Operating system Advantages Disadvantages the current that flows through thesystem collector, theattacked ammeter It is the that isand most by viruses, One of the most widely used. Microsoft at the bottom shows the value Has a large variety of applications and programs, malware and spyware. Windows of thesystem base uses current. an enormous amount of the including free software. Technical support is widely The operating available, making it easy to find people with the same problems you have.
1 Search for information on the
Its functionality has been proven.
2 Simulating the circuit
UNIX operating system and try to explain why it was so successful at the beginning of the 1970s. Do you know of any current operating system that is based on UNIX? Explain what a graphical user interface (GUI) is. Have operating systems always had a GUI? Provide some data that justify your answer.
Operating systems on tablets and smart phones
and organise the distributed operating systems. Doing so allows a user 3 TRANSISTORS
Understand, think, investigate...
2
The icons included with some activities indicate the keys to the project.
Desktop and laptop operating systems
At the end of the 1980s and the beginning of the 1990s, increased computer speed and capacity paved the way for* graphical user interface (GUI) operating systems, which allowed information to be shown and programs to be executed by graphic elements and icons. This also made the mouse an important peripheral for using a computer, to be able to click on items in the GUI.
Over time, these types of programs began to be known as resident monitor programs and they constitute the basis for current operating systems.
This was the basis for multiprogramming, which is the capacity of a system to execute different programs at the same time. In order to do so, the operating system needs to be able to control multiple processes. The next step was to achieve faster processing speeds by reducing the response time.
The success of the PC resulted in computers being equipped with a permanent secondary memory, the hard drive, in which the operating system would be stored. Every time the computer started up, the operating system automatically loaded in the main memory.
Hardly any threat of viruses and malware.
Apple Mac OS
compatibility with Apple devices. Set the potentiometer Complete to increase or decrease Special to design. and its resistance and see how theattention base current superior to other platforms. Several the collector current varyGraphics as theare transistor passes designed only work with this system free updates. through the three possible modes.
a) Transistor in cut-offFree mode. When distribution to be starting installed on any device. Linux the simulation with the potentiometer at its Possibility to change the operating system maximum value, both currents 0. The keeping the Linuxare Kernel. transistor is in cut-off Balanced mode. use of the computer’s resources. Very low By threat of viruses and malware. b) Transistor in active mode. modifying the More direct technical support for users. potentiometer, we can increase and decrease the base current. By increasing IB, IC will also increase. The transistor is in active mode, and therefore IC = β ∙ IB.
Windows 10 operating system graphic user interface.
176
Set the potentiometer in the simulator to reduce the base resistance and apply a 44.0 μA base current (bottom ammeter). The gain value is determined by both current values: β=
IC IB
=
12.9 mA 44.0 μA
≈ 293
By further reducing the base resistance, IB will continue to increase, as will IC, until the transistor is saturated. At that time, the proportionality between IB and IC is lost. c) The transistor in saturation mode. Reduce the resistance of the base again and apply the
computer’s resources, which causes it to operate slowly. High license cost (approx. 100-200 euros) depending on the version. Compatibility not possible with other systems. You have to have an Apple computer to run this system.
apps
SDG. Reflection on and analysis of SDGs, such as gender equality, climate action, reducing inequalities, etc.
Wide variety of pictures grouped according to content to aid your understanding.
Unit 7
THE EVOLUTION OF OPERATING SYSTEMS
A major step forward in computing was made in the 1960s when computers were able to process other programs whilst the program running was inactive, waiting for a data operation in the input and output peripherals to finish.
Guided practices and Model examples to help you learn new processes.
We speak about the different issues relating to the unit and the UN Sustainable Development Goals.
Speaking ental for creating design was fundam Development Computer-aided the Sustainable materials for each goal. communication and the icons for the colour palette Goals; the logo,
Less operating system options for this system that with Windows and Linux. Not confirgured for playing video games.
More complicated to use than Windows or Mac (not whilst everything is done with a click) and some things need to be done via command lines. It has incompatible functions with other systems, and although their development community is constantly in the process of updating, you might not find a solution to a specific problem.
177
following currents to the base: first 186 μA, then 229 μA and finally, 423 μA. When IB is 186 μA, IC is 54.6 mA, which corresponds to a gain of 293 (active mode). However, by increasing IB to 229 μA, IC is 57.4 mA, only 250 times larger than IB. The transistor is already in saturation mode, since the proportionality between both currents has been lost: IB / IC = 250 < 293 = β. By increasing IB to 423 μA, IC is 57.9 mA. IB has almost doubled, while IC has remained nearly constant: this value corresponds to the collector current in saturation.
Model example The transistor in the circuit diagram has a β = 100 gain. Calculate the base current, the collector current and the mode of operation that it is in.
1
Calculating the base current IB To calculate IB, we can solve circuit diagram 2. The diode represents the 0.7 V voltage drop when IB is circulating, the battery powers the circuit and the 10 kΩ resistance is the base resistance Rb. IB =
V – VBE 9 V – 0.7 V = = 10 kΩ RB
8.3 V = 0.83 mA 10 kΩ
Calculating the collector current IC If the transistor is in active mode, the collector current will be proportional to the base current, according to the gain of the transistor. Assuming an amplification factor of β = 100, we make our calculation: IC = β ∙ IB
2
IC = β ∙ IB = 100 ∙ 0.83 mA = 83 mA
To determine whether the transistor is in active mode or in saturation, we need to compare the current obtained to the collector current in saturation.
Calculating the collector current in saturation ICSAT To calculate the collector current in saturation, we need to solve circuit diagram 3, where the 100 Ω resistance is the collector resistance, the 9 V battery corresponds to the circuit voltage and the 0.2 V battery, connected in the opposite direction, corresponds to the voltage drop between the collector and the emitter of the transistor when it is in saturation. ICSAT =
9 V – 0,2 V 8,8 V V – VCSAT = = = 0,088 A = 88 mA 100 kΩ 100 kΩ RC
3
If the collector current in saturation is greater than the current we get by multiplying the base current by the gain, the transistor is in active mode and its IC = β ∙ IB ICSAT > IC
Transistor in active mode
However, if it is less, the transistor will be in saturation, and the IC will be at the maximum that it can flow through the collector, i.e., the collector current in saturation ICSAT ICSAT < IC
Transistor in saturation mode
Understand, think, investigate...
Think and share with a partner
14 The base current of a transistor is 0 mA and its
15 The base and collector currents of a transistor
gain is 100. What mode is the transistor in? What are the collector and emitter currents?
in active mode are 3 mA and 210 mA. What is its gain?
146
147
KEYS
PROJECT
SDG
2
SDG Commitment Discover the Sustainable Development Goals and be an active part of our commitment to make a more equal and liveable world.
Developing thinking Work on strategies for thinking: reflect on the content you are learning, generate ideas, organise them, debate them, explain them…
Cooperative learning Get involved in your learning and participate in the group’s learning; you will find that cooperating improves performance and harmony in the class.
Emotional education Get to know yourself; identify the situations that bring up complicated emotions and manage them with constructive, self-affirming experiences.
NEW SECTIONS
Activities with different cognitive levels to check learning.
ucacion.es bank at anayaed . in the resource make your portfolio Go to Portfolio how to tion about to find informa
Unit 4
TISE
review AND PRAC
OpenSCAD
6
1 Write the formats that OpenSCAD exports to in your notebook, find out what those extensions mean and what type of format they correspond to: mesh, vector, text or bitmap.
Think-share-choose. Use the primitive functions and apply some of the transformations you’ve seen to make a baby bird’s head.
use a for() and make a row of spheres like the one in the image.
Graphviz can be downloaded from their website. Search: graphviz org.
2. 3D PRINTING
1. COMPUTER-AIDED DESIGN
1. AN INTRODUCTION TO 3D PRINTING
1. LIBRECAD
Glossary
coordinates
A set of numbers, usually written along a horizontal or vertical line, which help us give the exact position of a point on a map or grid.
dimensioning
Adding the measurements to an object within the sketch, defining the width, height, angle of a line/entity, diameter of a circle or the radius of an arc.
entity
The name for an object, line or shape drawn in LibreCAD.
lock
To keep an entity in LibreCAD in one position or state.
orthogonal grid
A pattern of two sets of lines perpendicular to each other, such as a square grid, used to help draw object views.
reference point
Where the X and Y axes cross each other in the work area, marked with a red cross. Every entity is located in relation to it.
7 Use circle(1) to create a toroidal piece. The tray inside the 3D printer which the material is deposited on when printing. Remember that you have to move the circle so The action of the hot, molten plastic being pushed out of the nozzle, to be deposited that the x coordinate of all its points are either on the tray or bed of the printer. positive or negative. Run the following code and The thin threads of plastic which are loaded into the printer to bewhat useditfor the print job. explain does: includes theturns instruction circle(r=n) laminator application 3 OpenSCAD The software which a design in CAD into the thin layers which will be printed. rotate_extrude($fn=20)translate([1,1]) to draw circles. Use the instruction circle() to circle(1,$fn=5); nozzle The cone shaped part of the printer which the hot, molten plastic is pushed out of to make a four leaf clover. be deposited on the build plate in the printer. Change the value of $fn in circle() progressively to 20, 50 and 100. What happens? build plate
compound data types
A group of primitive data types treated as an entity; e.g: array, string, table.
transformation
control structures
Code which allows the program to make a decision about which code to execute.
vector
Code that performs a specific task or routine when it is called and is used to make programming simpler and reduce errors.
loop
A coding structure that contains a series of instructions to be executed repeatedly under a certain condition. Symbols that usually represent mathematical or logic actions or processes. Values you supply to a function so that it can carry out a task or routine using them.
pixels
The smallest units of information that make up a picture.
primitive data types
Data from a programming language that can’t be split into simpler components.
sketch
The name for a computer program within Processing.
variables
The names you give to locations in a computer’s memory which are used to store values in a computer program.
Graphviz website
Change the value of $fn in rotate_extrude() gradually to 50 and 100. What happens?
2. OPENSCAD
functions
operators
one in the figure.
filament
A computer program that translates computer code Move written one programming theincircle to [2,2]. What happens? Then language into a lower level language that the microprocessor try to understands. move the circle to [1,2] and [2,1], and describe theinfigure changes. The coordinates 0, 0, 0 which establish the position of every otherhow object your sketch.
origin
parameters
12 Design a tree in a pot, a fir for example, like the
extruded
compiler
2. PROCESSING
We learn the relevant terms that are underlined in the units with a clear definition.
This is an open-source application for displaying graphs and diagrams. It’s great for displaying flow charts and other structured information graphically. FreeCAD is able to generate a dependency graph between the forms that make up an object, if we install it. The option to access the graph is in the Tools menu.
2 Go to the OpenSCAD website and find out how to
Glossary
Graphviz
FreeCAD A change we can make to the object in a sketch, such as rotating or moving it. A sequence of zero or more values, such as Boolean values, betweenitsquare brackets. 8 In FreeCAD is highly recommended to verify the objects we are working with after applying a Boolean operation, such as union or difference. Go to Preferences → Part design → General → Model settings and select the options Automatically refine Nominal group. Using OpenSCAD, create a model after boolean operation and Automatically piece to hold a bar in place on a xylophone. You check model after boolean operation. can see an example below. With the two options selected, try to build the
4 Using the $fn parameter with circle() you can
draw regular polygons. Make polygons with 3 to 12 sides.
5
ladder from three cubes and join the three objects together. What differences do you see between this and the previous guided activity?
9 Make an object with FreeCAD and write the export options in the application in your notebook.
10 Install the Graphviz library for use with FreeCAD. Visit their website by searching: graphviz org, and follow the installation instructions for your A set of tools grouped together especially for a certain task, such as system. the Part workbench operating How would it be done on a to insert new parts or objects. Debian GNU Linux system or derivatives?
3. FREECAD workbench Exemple 3
I see, I think, I ask myself. Build a simple glass using the cone figure. Use the following dimensions: – Exterior. Lower base 50 mm, upper base 66 mm, height 105 mm. – Interior. Lower base 42 mm, upper base 62 mm, height 98 mm. Use a torus to achieve a rounded edge. Use Boolean operations to subtract the inner cone and then melt the result with the torus.
format (*.scad) and open the file with OpenSCAD. Describe what you observe.
14 In the Toolbar View, click on the Draw style icon to check the different ways to display objects in FreeCAD. Write what they are in your notebook. Which one is the most useful?
15 If you installed the Graphviz library before FreeCAD, you can generate a dependency chart. Open the fir tree file, go to Tools > Dependency graph… and write in your notebook the formats you can save this graphic in.
Remember to place each item in the correct position so that the operations produce a result similar to the one in the figure.
anayaeducacion.es Find your study resource in the resource bank.
4. LAMINATOR SOFTWARE 118 layers
13 Export the previous exercise to OpenSCAD
Diagram generated in FreeCAD
11
119
Quantities of a material that cover a surface. In 3D printing, a printed object is made up of several of these, one on top of the other.
242
243
Focus on English
References to any extra resources that can be found in your digital resources.
Expand your English vocabulary by learning new words, phrases and grammar structures which we use when talking about technology. Technology Workshop
Unit 4
ä 4.4 Hybrid electric vehicles
4 MACHINES AND ENGINES Physics
C REATE
Make a balloon propelled rocket. Or if you are feeling more adventurous, use a balloon to propel a car made from recycled materials.
Gradually, vehicles equipped with petroleum-based fuel engines are giving way to electrically powered cars. The first step in this transition happened when hybrid vehicles appeared on the road, which have both a gasoline engine and an electric engine. One advantage of using hybrid vehicles is improved energy efficiency, since while combustion engines have a maximum performance of 20 %, the energy efficiency of a hybrid-powered system increases to 30 %. Having batteries that power the electric engine allows the batteries to be recharged when the vehicle is being driven by the gasoline engine or when the brakes are used. This is possible due to regenerative braking systems that retrieve kinetic energy. Hybrid vehicle operation depends on the configuration of both engines. Today, there are three systems in circulation worldwide:
➜ Parallel-twin engine system. In this engine, the combustion engine acts as the main source of energy and is assisted by the electric engine when the vehicle starts and accelerates. It has the advantage of being an easily adaptable configuration in conventional motor vehicles.
➜ Combined engine system. In this case, whenever the vehicle is driven at low speeds, only the electric engine will work. At high speeds on the road or motorway, the combustion engine and the electric engine will work together.
➜ Series engine system. In this system the combustion engine is only used to generate electricity, keeping the batteries charged. The vehicle is driven by the electric engine.
F ocus on English turbocharger: a system which uses a turbine to propel a vehicle. The word turbo derives from turbine, and the latin word turbo, a spinning top.
Hybrid vehicle system Parallel hybrid system
Battery
Power converter
Fuel tank
Combined hybrid system
Power converter
Battery
Fuel tank
Combustion engine
Clutch
Clutch
Fuel tank
Electric generator
Electric engine Dual transmission Combustion engine with planetary gear Clutch
Turbines A turbine’s operation is based on the rotation made by a fluid that passes through a wheel of propeller-shaped blades. The use of turbines is very broad. Uses range from wind turbines, which capture wind energy, to machines in a hydraulic power plant, which transform the energy from water falling from the top of a dam into electrical energy.
Clutch
Combustion engine
Electric generator
Differential transmission
These workshops put the ideas you have learnt in the unit into practice. You will be making things, using different computer programmes and practising your new skills.
Fuel
Compressed air intake
Compressor
Turbo systems are able to compress the fluid circulating between their blades, getting a greater amount of fuel and oxygen inside a space with smaller volume. This is used to generate more power in their engines.
Gas turbine
Ambient air inlet
Reaction engines A reaction engine or jet engine also uses a turbocharger* system for propulsion. They have this name because of the force generated by the fluid, causing it to move in the opposite direction from the outlet of the gases that drive it. It is a machine that, as you can see in the figure below, absorbs air through its front part (air inlet) and compresses it with a compressor. In the middle section, the fuel is mixed with the compressed air at a high pressure, pushing the propulsion gases out the back, making the jet plane move forwards. Before leaving the engine, these gases pass through a turbine and make it spin. As the turbine is connected to the compressor through a shaft, once the engine is running the turbine allows the engine rotation to maintain itself. Direction of the craft’s movement
MEASURING electrical QUANTITIES in a mixed circuit Understand, think, investigate…
project presentation
18 To get an idea of how a jet Fuel injection
engine works, blow up a balloon and let it go. You will notice that the direction of its travel will be opposite to the air flow coming out of the nozzle.
Combustion chamber
Air inlet
out the differences between reaction engines and turboprop engines.
Power converter
Shaft
Differential transmission
Turbine
Measuring the total resistance
step 2
Measuring the current
Disconnect the battery from the circuit and connect the multimeter instead. Select the adequate scale and note the result. Compare the result with the value you obtain from the calculation of the total resistance with the three resistive values. Are the values similar?
b) To measure electrical current you need to connect the multimeter in series, replacing the branch whose current you want to measure with the multimeter.
use? And a space rocket?
21
step 1
a) To measure resistance, you need to disconnect any power source or battery.
20 What fuel does a reaction engine Propulsion gases
A multimeter is a measuring device used to make all the possible electrical measurements in a circuit. In this workshop you will use a multimeter similar to the one in the image, which has central dial you can use to select the measurement and scale. Remember what you have learnt in this unit about connecting a multimeter to an electrical circuit. The most important things to remember are:
19 Find
Electric engine
Unit 5
KSHOP
TECHNOLOGY WOR
Fan
Compressor Differential transmission
Flow of exhaust gases at high pressure
The use of turbines is especially useful in combustion engines known as turbocharger or turbo systems. You can see an example of this in the picture on the right.
Series hybrid system
Battery Electric engine
ä 4.5 Modern engines. Turbines and reactors
The What if? What would happen if a reaction engine were installed in a vehicle? What problems do you think the vehicle could have? How would you solve them?
c) To measure voltage, connect the multimeter in parallel between the points where you want to know the potential difference. To do this workshop you will use three resistors with 5 % tolerance and the below values:
➜ R1 = 1K ➜ R2 = 3K3
96
➜ R3 = 4K8
97
You are going to assemble the circuit on a prototype board with the three resistors connected as shown in the figure below. Two AA batteries of 1.5 V will be connected in series in this assembly.
Create step 3
In this section we create a cross-curricular project that joins Technology, Programming and Robotics with other subjects. Have you ever thought about how Technology, Programming and Robotics can be useful in Science?
Enterprising culture Trust in your skills and knowledge, develop creativity, adapt to changing situations and have a proactive and responsible attitude.
Connect the battery in the same way as you can see in the figure. Remove the red wire and connect the multimeter in ammeter mode in its place. You may have to look carefully at the connections on the multimeter itself because some models have different connections for measuring current. Select the appropriate scale on the dial and measure the current. To compare this measured value with the value we expected, calculate the latter by dividing 3 V by the total resistance value you calculated in step 1. Are they similar values?
Measuring the voltage Use the current value you just calculated and multiply it by the value of the resistor R1. The result of the multiplication is the voltage in the resistor R1. Since R2 and R3 are in series with R1, we can proceed in the same way and calculate their voltages, because the current is the same. Now you have all the calculated values, assemble the circuit in the figure. Then, using the multimeter in voltmeter mode, connect its terminals to the two terminals of each resistor so you can take note of each resistor’s voltage. Compare these measurements with the values you previously calculated. Thinking about how similar the calculated and real measurements are, do you think the measurements are valid?
130
131
Academic and professional
ICT
orientation
Evaluation
Linguistic Plan
Learn how to obtain information, select it and apply it; to plan, manage and work on projects; to collaborate online in an ethical and safe manner.
Evaluate your personal skills, discover and awaken your calling, train yourself to make decisions and learn to choose between different options.
Discover different strategies to analyse what you have learnt and how you learnt it; train yourself to take responsibility or overcome difficulties.
Use your communication skills in the different types of text that you will see. Language is always present, communicate!
3
The resource bank is LIKE THIS www.anayaeducacion.es A space with resources, techniques and activities, designed to strengthen your knowledge. Access the resource bank by registering at anayaeducacion.es. You just need to have an email, the code indicated on the first page of this book and the permission of a parent or a legal guardian.
More about the keys
Resources related to
THE KEYS of the project SDG
SDG Commitment, with microvideos that will help you know what are the targets for reaching the Sustainable Development Goals worked on in this project.
Linguistic Plan, with infographics that will give you models to work with the four linguistic skills, using different types of texts (descriptive, narrative, explanatory, etc.). Cooperative learning Preparing for the task In small groups, of four or five members: 1 All the members of the team will review how the assigned task can be accomplished. 2 To do this, the steps can be shared out to each team member who then in turn will explain how each part of the process can be done to the others. The others listen and participate if they think they can contribute something.
Authorship / adaptation : Variant of the Educational Innovation Laboratory of the colegio Ártica - David and Roger Johnson.
Developing thinking, where explanations are included on how to apply the different strategies for thinking proposed in the project.
3 Once everyone is in agreement on how to do each part, you will all complete the tasks and, finally, verify, among everyone, that you have solved it correctly.
Cooperative learning, which includes the description of the cooperative learning techniques proposed in the project. Emotional education, with resources to support you with overcoming worries generated in different situations in your learning process (beginning of the school year, taking a test, etc.).
Thinking techniques Logic Wheel This thinking technique will help you to establish phases when analysing specific content that you have to study.
Identify What is it? What is it like? Are there different types?
By following a logical sequence (the logic wheel), and by asking yourself a series of questions in each phase, you can:
1
• Identify content by asking yourself: What is it? What is it like? Are there different types? • Compare the content by formulating questions such as: In what way is it similar to ...? In what way is it different from ...? • Establish cause-effect relationships by asking yourself questions such as: Why? What impact does it have ...? • Argue, assess and ask yourself questions such as: What conclusions can be drawn after the analysis? What can be assessed or scored about it? Doing a data dump of these questions into a graphic organiser will help you. Authorship: Hernández, P., and García, L. A.; adapted by Escamilla, A.
Compare
Argue, assess What can we conclude?
4
Logic wheel
2
3 Establish cause-effect relationships Why? What impact does it have ...?
In what way is it similar to ...? In what way is it different from ...?
ICT, by using data sheets that will reinforce your healthy, correct and safe use of information and communication technologies.
Academic and professional orientation, with information on different professions linked to the subject content.
Evaluation, which includes resources for your portfolio, as well as rubrics and targets that will facilitate your self-evaluation.
4
NOTEWORTHY
resources in the material Unit presentation Related readings Presentations Simulations Study resources Videos and tutorials Language Bank
Resources classified
by unit
All the resources are classified so that you can easily locate the ones related with each section of your unit.
5
course contents
1
COMPUTER-AIDED DESIGN
Page 8
1. LibreCAD ........................................................................................... 10 2. Processing ......................................................................................... 14 Technology Workshop. Fractal drawings ............................... 29 Review and practise ........................................................................ 31
4
MECHANICAL SYSTEMS
Page 82
1. Motion in mechanisms ............................................................... 84 2. Rotary mechanisms .................................................................... 86 3. Mechanisms that transform motion .................................. 90 4. Machines and engines ............................................................... 92 Technology Workshop. A manual battery charger ............ 98 Review and practise ........................................................................ 99
2
3D Printing
Page 34
1. An introduction to 3D printing ............................................ 36 2. OpenSCAD ....................................................................................... 38 3. FreeCAD ............................................................................................. 48 4. Laminator software ..................................................................... 52 Technology Workshop. Design and build traffic lights...... 55 Review and practise ........................................................................ 58
5
ELECTRIC CIRCUITS AND ELECTRONICS
Page 102
1. Electrical components and symbols ............................ 2. Electric current and voltage .............................................. 3. Ohm’s law ..................................................................................... 4. Electrical resistors ................................................................... 5. Series, parallel and mixed circuits ................................. 6. Capacitors .................................................................................... 7. Electromagnetic relays ........................................................ 8. Measuring electrical quantities ........................................ 9. Electrical energy and power ............................................. 10. Electrical machines ................................................................. 11. The effects of electric current .......................................... 12. LEDs .................................................................................................
104 107 108 110 112 118 119 120 122 124 126 128
Technology Workshop. Measuring electrical quantities in a mixed circuit ................................................................................... 130
Review and practise ..................................................................... 132
3
PLASTICS AND CONSTRUCTION MATERIALS
Page 60
6
CONTROL AND ROBOTICS
Page 134
1. Plastic .................................................................................................. 62 2. Types of polymer .......................................................................... 64 3. Plastic manufacturing techniques ...................................... 69 4. Construction materials .............................................................. 72 5. Analysing construction materials ....................................... 76
1. Control systems ........................................................................... 2. Control system elements ....................................................... 3. Transistors ....................................................................................... 4. Simple control systems ........................................................... 5. Programmed control with Arduino .................................
Technology Workshop. Make a concrete pillar .................... 78
Technology Workshop. Create a traffic light with
Review and practise ........................................................................ 80
Arduino ........................................................................................................ 167 Controlling a traffic light with Arduino ........................................... 169
136 140 144 148 150
Review and practise ...................................................................... 170
7
OPERATING SYSTEMS, NETWORKS AND SECURITY
Page 172
1. Operating systems ..................................................................... 2. The evolution of operating systems ............................... 3. Operating system maintenance ........................................ 4. Operating systems with Linux Kernel ............................ 5. Security in computer systems ............................................ 6. Computer system networks .................................................
174 176 178 180 182 185
Technology Workshop. Change your router security settings ........................................................................................................ 186 Review and practise ...................................................................... 1 90
8
SPREADSHEETS AND GRAPHIC APPLICATIONS
Page 192
1. Spreadsheets ................................................................................ 194 2. Graphics applications .............................................................. 204 Technology Workshop. Make a space scene with Inkscape ...................................................................................................... 210
Review and practise ...................................................................... 212
9
THE WEB AND COLLABORATIVE WORK
Page 214
1. The web ............................................................................................ 2. How the web works .................................................................. 3. Web programming languages ............................................ 4. Collaborative work and publishing on the Web .......... 5. Developing a web page using a content management system ................................................................ 6. More Internet sharing and distribution tools ............ 7. Internet security ..........................................................................
216 217 220 221 24 2 230 234
Technology Workshop. Managing information on Drive 237 Review and practise ...................................................................... 2 39
Glossary .................................................................................
240
1
Computer-aided design Reading and listening
The evolution of computer-aided design Ever since it was invented in the 20th century, computer programming has been continuously developing and evolving. The first programmers were more like artists than industrial workers. As time went on, they started to discover algorithms and techniques that could be applied over and over, like recipes when cooking. These discoveries had a strong mathematical component, which scared off many who wanted to try to learn how to program a computer. But today there are environments which make programming easier, so that practically anyone can unleash their creativity when using them. Computer-aided design is now an essential tool in our digital society. It has become a vital medium which we can use to communicate ideas through images, colours and other techniques. We can use it as a tool to give shape to our ideas.
1 Answer the questions about the text. 1 In the past, why did some people feel like they couldn’t do computer programming? 2 What do you think we mean by unleash our creativity? 3 What is computer-aided design useful for?
2 What is computer-aided design being used for here? Can you think of more uses?
You can find resources on SDGs 9.1 an 9.c at anayaeducacion.es.
8
Speaking
Computer-aided design was fundamental for creating communication materials for the Sustainable Development Goals; the logo, the colour palette and the icons for each goal.
3
1-2-4 Go to the official website of the United Nations and look at the design of the SDG icons. Talk about the icons with a partner. 1 Do you think that the icons fit the goals that they represent? 2 Are there any that you would improve? 3 Make sketches of your own alternative icons and show another pair of students, explaining why you would change them.
For me this icon sends the right message because…
I think this icon would be better if …
Writing
4
Look at SDGs 9.1 and 9.c. Think about your community, neighbourhood or town: Do you think that everyone can access technology?
Write a letter to the mayor with your ideas for closing the digital divide. Include ideas for actions which could be done by the community, as well as those which need money from the local government.
NK E BANK A B E G A ANGU LANGUAG L ANK ANK GE BANK B B E E G G A A U U GUA K LANG ANG N L A L AN GE BANK 9 ANK GE BANK B B E E G G A A U U G A LAN LANG LANGUA LANGU
1 LibreCAD LibreCAD preferences When you install LibreCAD for the first time, a black work screen appears with a grid of light coloured dots .
LibreCAD is a free, open-source computer-aided design application for Windows, MacOSX and Linux operating systems. The menu options and the commands are available in various languages.
Menu bar
It is possible to change the colour of the background and the grids by clicking on the LibreCAD Edit → Preferences menu.
Toolbar
The colours follow the RGB model used in HTML. You can find pages with HTML colour tables by searching online. The drop-down menus offer standard values, but others can be typed directly into the fields.
Action tracking
Command line
Coordinates
When you use LibreCAD for the first time, you will be asked to choose the units, the language used in the application and the language for the commands. These values can be changed* later in the LibreCAD Preferences window.
Selecting and deleting objects When you are not in drawing mode, you can select individual objects by clicking on them using the cursor. You know when an object is selected because it changes colour from white to a light brown, and the line becomes a dotted line. If you click on the object again, it goes back to its normal state, and is no longer selected. To delete an object, first select it, and then press the Delete key. 10
You can find an Introduction to Computer-aided design resource at anayaeducacion.es.
Unit 1
ä 1.1 Drawing lines Any object drawn with LibreCAD is considered a line, whether it is a straight line or a rectangle, an arc, ellipse or even text. You can modify the properties of the lines such as their colour, thickness or size. We will be doing an exercise to practice this. The black canvas work area is marked by white dots spaced 10 mm apart both horizontally and vertically. This is the orthogonal grid. If nothing has been changed in the configuration, there should be a red cross in the work area that marks the reference point of the coordinates. Place the mouse cursor over the red cross and make sure it is at the coordinates (0, 0).
Guided practice
Moving and resizing objects To move an object:
• Select it. • When the object changes colour, click on it and you can move it around the work area.
• When you have moved the object to the position you want, click on it again to lock it in place. When objects are selected, they have light and dark blue dots. You can resize and relocate objects by clicking on these dots and dragging them with the mouse.
1 On the lower toolbar, click on the Snap on grid icon. This makes
Vector graphics
it easier to draw straight lines.
• Vector drawings are made up of dots, lines, rectangles, arcs, ellipses, etc.
• These all have attributes, including the 2 On the side toolbar, click on the first icon to open a toolbar to draw lines. On the new toolbar, select the 2 points line. You will notice the cursor changes into a cross when you move it over the work area. The reference in the centre is a red cross that can be moved from one end of the grid to the other using the mouse. This indicates you are in drawing mode.
type of line, its thickness, and colour, which can be changed.
• You can select, move, copy, cut, rotate,
3 To start drawing a line, place the cursor on the starting point, let’s say (0, 0), and click the left button of the mouse once.
4 Move the cursor to the point where you want to place the other end of the line, such as (50, 0), and click the left button once to lock the end of the line in place. Double click the right button to leave drawing mode.
or change their scale.
F ocu s on Eng lish We often use passive structures when we describe technological processes, for example “These values can be changed later…” We use this structure a lot in English, and it is used when an object receives an action or has something done to it. The structure we use is: the verb to be + past participle
5 If you accidentally click or double click with the left button, the program lets you continue drawing lines from that point. It does not leave drawing mode.
6 To save your work, go to File → Save, or, File → Save as…
Understand, think, investigate... 1 Using lines, draw a cutout for a cube with 50mm sides.
If you are not familiar with LibreCAD, go to anayaeducacion.es where you can find a videotutorial about the work environment and taking your first steps.
11
1 LIBRECAD
ä 1.2 Rectangles and squares LibreCAD has a tool for drawing squares and rectangles.
➜ Click on the Line icon on the side toolbar and select Rectangle. ➜ This tool is simpler than the 2 points tool. Click the left mouse button one time to set the initial position of the rectangle, then click it again to set its final position.
ä 1.3 Circles
Line and rectangle tools.
LibreCAD also has a tool for drawing circles with a variety of options: you can specify the centre point and another point, the centre and radius, two opposite points, or finally you can specify three points. It also has an icon for making concentric circles, and several icons for circles within triangles or circles that are tangent to other circles.
➜ On the side toolbar, click on the Circle icon and then select the Circle with centre and point.
➜ Click the mouse button once to lock the centre point of the circle. Then set the circumference by moving the mouse and clicking again.
ä 1.4 Moving entities Circle tools.
If you are going to move or change a single entity like a rectangle, for example, click on it to select it and it will change colour. If you want to work on several entities, you can select them by clicking on each one while holding down the shift key. Or you can hold down the left mouse button to drag a selection rectangle over the entities you want to select.
➜ To move an entity, or a selection of entities, simply click on it and hold down the left mouse button while you drag the selection to its new location.
➜ To lock it in its new position click one more time. ➜ Finally, deselect the entity. As before, you can deselect them one Tools for selecting and de-selecting.
by one or go to the menu: Tools → Select → Deselect all.
Understand, think, investigate... 2
Think and share with a partner. Draw five concentric circles using circle with centre and point.
• Give the first circle a radius of 10 mm. • Increase the radius of each of the others, one at a time by 10 mm.
3 Repeat activity 2, but this time join the circles at their highest point.
12
Unit 1
ä 1.5 Dimensioning objects Dimensioning pieces is essential if you want to reproduce them. LibreCAD provides a dimensioning tool that makes this task easier. Choose the kind of dimensioning you want, mark the ends of an edge or click on the arc of circumference to set the dimensions.
ä 1.6 Adding text The easiest way to add text to your designs is by clicking on the Text icon. A dialogue box will open where you can see different settings:
➜ Font. You can choose the font, the height of the letters and the interlinear spacing.
➜ Alignment. Text is aligned with reference to points on the grid. ➜ Angle. Text can be rotated in relation to the reference axes. ➜ Insert symbol. This has common symbols which can be inserted directly into the text.
➜ Insert Unicode. This is used for inserting different alphabets, musical notes, etc.
➜ Text. This is the text box where you can type your text and insert it into the sheet. The icons let us clear the text box, open a text file, or save the written text in a file, as well as the usual functions of cut, copy and paste. The best way to learn how each of these works is to experiment with them. Try them out and see what you can create.
Understand, think, investigate... 4 Draw the cut out from activity 1 again to make a cube using squares that are 50mm each side.
5
Ideas pool. Change the document template to isometric (Options → Current drawing preferences → Grid) and draw the following pieces:
6 Open the file with isometric pieces and give them their correct dimensions.
7 Using an orthogonal grid, draw the views of the pieces that you drew in the isometric template. Give them dimensions.
13
2
ä 2.1 An overview of Processing
PROCESSING
Processing is a language and programming environment focused on visual artistic creation. Casey Reas and Ben Fry from MIT started to develop Processing in 2001 and have written books about it, including Getting Started with Processing and Processing: A Programming Handbook for Visual Designers and Artists. Processing is useful for learning programming, but it mainly focuses on graphic design, animations and other features for visual artists who want to experiment with making art using computers. Creating shapes, working with colours and moving objects around the screen is very easy with Processing. “We created Processing to make programming interactive graphics easier. We were frustrated by how difficult it was to write this kind of software with the programming languages we usually used (C++ and Java), and were inspired by how simple it was to write interesting programs with the languages of our childhood (Logo and BASIC).” Reas & Fry, Make: Getting Started with Processing, 2015. Processing allows three forms of programming: basic, structured and object-oriented. This way you can gradually progress from a beginner to an advanced level. An interesting feature is the Export to Application. When you click this option, a dialogue box opens with options to make the application run on other operating systems. It is also possible to make the application run in full screen. It is very easy to adjust the size of the execution window, as we will see later.
Processing Environment Run
Stop Mode Manager. When you select Add Mode…, the dialogue box below appears with other possible programming modes.
File name
Tab manager (files)
Text area for writing code
Message area
Text console and error debugging
14
You can find the resource An Introduction to Processing at anayaeducacion.es. to help you get to know its web-based working environment.
Unit 1
ä 2.2 Graphic functions
The syntax of Processing
Processing has lots of interesting graphic functions. We are going to see some before we write our first sketch. Unless otherwise* indicated, the unit used is pixels. Function
Meaning
size (width, height)
Determine the size of the graphic window where the sketch is going to be.
point (x, y)
Draw a point on the coordinate (x, y).
Every expression must end with a semi-colon “;”. If they do not have a semi-colon, the program will cause an error when it is executed. We must be careful when writing upper and lower case letters in the function names. line() is not the same as Line() or liNE().
line (x1, y1, x2, y2)
Draw a line from one coordinate (x1, y1) to another (x2, y2).
triangle (x1, y1, x2, y2, x3, y3)
Draw a triangle by connecting three points (x1, y1), (x2, y2) and (x3, y3).
quad (x1, y1, x2, y2, x3, y3, x4, y4)
Draw a quadrilateral with vertices on points (x1, y1), (x2, y2), (x3, y3) and (x4, y4).
rect (x, y, width, height)
Draw a rectangle with the top left corner located at (x, y) and dimensions (width, height).
ellipse (x, y, width, height)
Draw an ellipse located at (x, y) with diameters (width, height).
arc (x, y, width, height, start, end)
Draw an arc located at (x, y), with dimensions (width, height) and start and stop angles (in a clockwise order) in radians (start, stop).
Guided practice
F ocu s on Eng lish otherwise: this connector can be used to state an exception
1 Open Processing and type the following line of code: line(0,0,100,100);
2 Press the Run button. 3 If an error message appears, check the code and make sure you did not forget to type the semi-colon at the end of the expression. Make sure that you did not change a letter in the instruction to a capital letter (or another letter), that the numbers are separated by commas, and the brackets are in the correct place.
4 If everything went well, you should see something similar to the image on the right. You have drawn a line from the starting coordinates (0, 0) to the point (100, 100).
5 Processing has allocated a series of values by default for commonly used elements. It automatically generates a window in which a grey canvas is framed by a light grey border. The line drawn in the window is black with the thickness of one pixel. You can configure all these elements, from the window to the line, however you wish.
Understand, think, investigate... 8
Open Processing and then open the File menu. Go to Examples… , a window will open with different drop-down folders. Go to Contributed Examples/ Getting Started…/02_Start and open the two examples: Ex_02_01 and Ex_02_02. Run both applications and, thinking about the code you have loaded, explain in your own words what you think Ex_02_02 does.
15
2 PROCESSING Understand, think, investigate... 9 Open Processing and follow these steps: 1 line(0,0,100,100);
Explain what you see in the window that appears. 2 line(0,0,200,200); Check to see if the size of the graphic window changes. 3 rect(10,10,80,80);
11
Search the Processing reference page on the internet for information on how to use the following functions. Write their meaning and parameters in your notebook: background(), stroke(), line(), noStroke(), strokeWeight(), strokeJoin(), strokeCap().
12 Practice using the functions you have learnt. 1 Type the following code: size(500,400);
What appears in the graphic window? Has it changed size?
rect(250,100,150,100); ellipse(250,200,100,100);
4 rect(10,10,180,180); Describe the faults you can see in the graphic window.
10 Look at the table of functions on the previous
2 Write an analysis of the three lines of code in your notebook 3 Why do you think the figures overlap?
page and change the size of the graphic window in the first example to 640 x 480 pixels. This is the resolution of old VGA graphic cards.
figures
1 Type the code to draw the diagonal line from (0, 0) to the opposite corner. 2 Change the code by doubling the value of the final coordinates: line(0,0,1280,960); What happens? 3 What happens if you only double the value of one of the two final coordinates? Now try doubling the other one and make a note of your conclusions.
The width and height variables The width and height variables store the value of the width and height of the graphics window. Here is an example: size(200, 200); smooth(); ellipse(width/2, height/2, width/2, width/2); println(width); println(height); Since the value of the width and height of the graphics view in this case is 200, the sketch draws a circumference at the position of 100,100 with a diameter of 100. The number 200 also appears in the console two times as the width and length values.
16
Unit 1
ä 2.3 Elements that define a shape
RGB colours
Up until now, we have seen how Processing draws shapes using a black line with a thickness of 1 pixel (the automatic setting), and fills shapes in with white, when possible. Our designs would be much more attractive if we could make them colourful and change the outline of the different geometric shapes. To do this, we have the following functions:
➜ Working with greyscale lines: stroke(gray_level); has a single parameter where 0 is black, and 255 is white. All values in between make up the greyscale*.
➜ Working
with coloured lines: stroke(r,g,b); has three parameters: r, g and b, which are the three additive colours. We can get other colours by mixing different levels of red, green and blue. Each value of r, g and b varies between 0 and 255.
There are many websites there you can find the RGB colour codes you want to use. Type these keywords into your search engine for example: Wikipedia wiki web colours Some websites even have a simple app in which you can move a cursor and select the colour you want. The colour value you were searching for is given to you in an adjacent box, usually in decimal and hexadecimal values.
➜ Changing line thickness: strokeWeight(n); changes the thickness of the line. The value is automatically set at 1.
➜ Filling shapes: fill(gray_level); and fill(r,g,b); fill a shape with grey or colour respectively. The information about greyscale and RGB above applies here too.
➜ Changing the colour of the canvas: background(gray_level); and background(r,g,b); changes the canvas to grey or colour respectively. The information about greyscale and RGB above applies here too. Before you draw a shape, you must choose its attributes. Choose the colour, line thickness and fill first, then the shape is drawn in the position with the dimensions you want.
F ocu s on Eng lish greyscale: a range of grey shades going from white to black
Understand, think, investigate... 13 Type the following code:
stroke(100,180,140);
size(500,400);
strokeWeight(100);
stroke(160);
rect(0,0,400,300);
rect(250,100,150,100);
1 Explain what happened.
Change the values of stroke() to see how the tone of grey changes on the shape outline.
2 Now, change the program to set the line width at 5 pixels, and draw the rectangle at the coordinates (50, 50).
14 Try the code in the width and height variables
Change the values of stroke() to see how the outline of the rectangle changes.
section on the opposite page. 1 Change the code so that the diameter of the circle takes up 2/3 of the width of the window. 2 Change the dimensions one at a time and see how the shape adjusts to the shape of the window.
15 Type the following code: size(500,400);
16 Change the previous code. Give the shape a 5 pixel green outline, a red fill and a blue background.
17
Let’s check. Look at the UN Sustainable Development Goals website. Try to find the colours of the goal icons by adjusting RGB levels in your colour selector.
17
2 PROCESSING Background images
ä 2.4 Customised shapes Processing allows us to create new shapes as well as using the predefined ones. To make a new shape, you need to:
➜ establish the start and end of the instructions that define the shape. ➜ establish the coordinates of each vertex. All this is obtained using beginShape(), vertex(x,y).
endshape()
and
For example, in order to define a four-pointed star:
The background (image) function can be used to load a background image.
• The size of the image in pixels must be the same as the canvas.
• Processing can accept .gif, .jpg, .png and .tga image formats.
• Images can be in 2D or 3D.
size(400, 400); beginShape(); vertex(200, 30); vertex(230, 170); vertex(370, 200); vertex(230, 230); vertex(200, 370); vertex(170, 230); vertex(30, 200); vertex(170, 170); endShape(CLOSE);
4 point star
Understand, think, investigate... 18 After inputting the code for the four-point star, try deleting
the word CLOSE from the endshape()function. What happens?
19 Create two new figures. For example, an arrow or a star with a different number of points.
20 Practise with the functions: strokeWeight(), strokeJoin()
strokeJoin()
strokeCap()
miter
round
bevel
square
round
project
and strokeCap(). Each one allows different parameters, as well as different numbers. Change the code of the figures you created to get similar results to those illustrated below. 4 point star
4 point star
21 Create a sketch which combines the two figures you just made. Fill each one with a different colour and choose another for the outlines. Change the background colour too.
18
Unit 1
ä 2.5 Code blocks, variables and data types We have not needed to divide our programs into blocks yet, but this is going to change as we go further into the subject. In Processing, code blocks are contained between keys { and }. These blocks can take up several lines. Up until now* we have only assigned numerical values to the parameters between brackets. We haven’t created interactive applications yet. To do this, we need to use variables.
➜ Variables are essential in programming. They contain values that
F ocu s on Eng lish up until now: from the beginning to this moment in time must be of: when there is an obligation for something to belong to a certain group or have a certain characteristic must be of + noun phrase
will be used later. We usually associate variables with numbers, but they may also contain characters, text, images, logical values, etc.
➜ We have to name variables. It is best to name them in a way that helps to indicate what they are used for, but without being too long. For example: age, name, etc.
➜ Variables must be of* a certain type: numerical, character or another type. Processing differentiates two types of data: primitive and compound. We will mainly work with the primitive data types, which in alphabetical order are: boolean, byte, char, colour, double, float, int and long. Among the compound data types, which are usually used at the start, are: array, string and table. For example:
Understand, think, investigate... 22 Type the following code: int a=3; int b=5; int c=a+b; print(c);
int x; // Declares the integer variable x x = 3; // Assigns a value to the variable x
1 Check the text area and explain what has happened. What does the print(c) function do?
It is possible to state a value and assign a value to it in a single line of code.
2 Now, change the variables in the program to float variables. What happens if you combine int and float variables in the calculation?
int x = 3; / / Declares the integer variable x // and assigns a value
ä 2.6 Operators and mathematical operations Operators are symbols that apply a mathematical function or logic to operands. We have the following operators: Assignment:
Relational operators:
= equals sign
> greater than
Arithmetic operators:
>= greater than or equal to
+ sum
< less than
- difference
<= less than or equal to
* product
== equal to
/ division
!= not equal
% remainder of the whole division
Logical operators:
++ increase in a unit
! NOT
-- decrease in a unit
&& AND || OR
Logical operators It may be easier to understand what the operators !, && and II do by looking at a diagram. These operators represent the logical functions NOT, AND and OR. We will use set notation to make this clearer. A
_ A
U A
B
A
B
_ A= U – A
A–B
A+B
NOT Logical negation NOT A
AND Logical product A AND B
OR Logical sum A OR B
19
2 PROCESSING
ä 2.7 Functions
F ocu s on Eng lish
We have already used functions included in Processing such as line(), size() and stroke(), but we can also write our own functions.
trail: a long line or series of marks that are left by something (or someone) as it moves
Functions are used to set instructions that are going to be executed many times. The use of functions makes programming easier and reduces the chance of having errors in the code. Functions accept parameters and they can return values. The parameters of a function are variables that it uses to operate.
Defining variables inside and outside of functions Variables defined inside a function are considered as being local to the function and are not available for other functions of the program. Variables defined outside a function (normally at the start of the program) are considered to be global and are available for the whole program. This may seem like an advantage, but there is a risk that their values may be changed at some point in the program without us realising it. This may cause unexpected results and mistakes.
The setup and draw functions There are two particularly interesting functions that are used together in many sketches. These functions are setup() and draw(). Maybe you have noticed these functions if you have tried some of the examples that come with Processing. They are used in the following way:
➜ setup() is typed at the start of a sketch just after the global variables which are going to be used. It is used to start the work environment. For example, in setup(), we can set the size of the graphics window using size() and decide if the edges of the shapes are going to be softened to make them look more realistic using smooth(), or not, with noSmooth().
➜ draw() creates a loop that repeats automatically. This means if we want our program to keep running, we just need to type the code inside draw(). Open Processing and go to File → Examples. Then go to Java Examples → Libraries → Getting Started with processing → 02_Start → Ex_02_02. The example is from Getting Started with Processing, by Casey Reas and Ben Fry. This simple example shows how the setup() and draw() functions are used, and also introduces a simple control structure. The sketch shows a trail* of circles that follow the mouse pointer. If we only move the mouse pointer over the window, the circles are filled in with white, but if we hold down the left mouse button, they are filled in with black. You can see the code and the result of running sketch Ex_02_02 on the next page.
20
Unit 1
Model example Code for sketch Ex_02_02
Exemple 3
void setup() { size(480, 480); // Modified for a square screen smooth(); // Original size (480, 120) } void draw() { if (mousePressed) { fill(0); } else { fill(255); } ellipse(mouseX, mouseY, 80, 80); }
The ellipse() and ellipseMode() functions The ellipse() function has four parameters, and the ellipseMode() function changes the mode in which they are interpreted. There are four possibilities:
➜ CENTER. This is the default option. The first two ellipse() parameters are the coordinates of the centre of the ellipse, and the other two are the width and height (the diameters).
The ellipseMode() function ellipseMode(RADIUS); fill(179,223,31); // Green ellipse(50,50,30,30); ellipseMode(CENTER); fill(199,51,255); // Pink ellipse(50,50,30,30);
➜ RADIUS. The first two ellipse() parameters are the coordinates of the centre of the ellipse, and the other two are half of the width and height (the radii).
➜ CORNER. If the ellipse was placed in a rectangle, the first two ellipse() parameters are the coordinates of the top left corner of the rectangle, and the other two are its width and height.
➜ CORNERS. The first two ellipse() parameters are the coordinates of the top left corner of the rectangle, and the other two parameters are the coordinates of its lower right corner.
The arc() function There are two ways to use the arc()function: arc(x, y, width, height, start, stop) arc(x, y, width, height, start, stop, mode)
ellipseMode(CORNER); fill(31,188,223); // Blue ellipse(25,25,50,50); ellipseMode(CORNERS); fill(228,234,16); // Yellow ellipse(25,25,50,50);
The second way adds the parameter mode, which allows three shapes:
➜ OPEN (automatic setting). This leaves the arc open. ➜ CHORD. This draws a line from the start to the end of the arc. ➜ PIE. This draws a line from the start of the arc to the centre of the ellipse, and another line from there to the end of the arc.
21
2 PROCESSING Understand, think, investigate...
Questions bag
23 Type the following code and write an analysis of the function of the program in your notebook.
int widthV=500; int heightV=400; int red=100; int green=180; int blue=140; int thicknessLine=3; size(widthV,heightv); stroke(red,green,blue); strokeWeight(thicknessLine); ellipse(widthV/2,heightV/2,widthV/2,heightV/2);
target
24 Type the code for a sketch that draws a square window with four concentric circles and a bullseye in the centre, a target. The background should be black, the bullseye should be white and each of the three concentric circles should be in the RGB additive colours. Use variables and mathematical operations to calculate the dimensions of the circles. Remember to include comments in the code.
25 Check how the circles change in the previous example by using the noSmooth() function. If there is not an obvious difference, open a new sketch and enter the code below. Try it first with the Smooth() function and then change it for the noSmooth() function. size(800,600); smooth(); // Activate smooth ellipse(400,300,500,500);
smooth() The smooth() function is already activated automatically, but it is a good habit to add it to the setup() function. The diagram on the left shows a circle with the smooth function, and the one on the right shows the noSmooth() function. circle
26 Change the previous Ex_02_02 sketch example to make the background grey, and draw a 20 × 20 pixel square which is green when the mouse button is not pressed, and red when it is pressed. Where would you change the background colour in the code? And where would you change the colour and shape of the object that follows the mouse cursor? square_series
22
Unit 1
ä 2.8 Control structures. Decisions If a program were just a list of instructions to be executed from start to finish, it would be useful but a little simple. There can be circumstances that require our program to change course. Control structures allow the program to make a decision about which code to execute. Selection and decision structures detect these kinds of situations, and there are two of these structures in Processing: if else and switch case.
if else if (test)
{instructions in case the test evaluates to true} else {instructions in case the test evaluates to false}
if else if structures In the if-else structure, if the test evaluates as true, the instructions enclosed within the if block are executed. When the test evaluates as false, the else specifies a block of code to execute. We can also add on if else sequences: if (test) {instructions} else if (another test) {more instructions} else {other instructions}
Model example The following sketch shows an ellipse positioned with a mouse pointer. If the pointer is over the left half of the window, the ellipse is filled in with black. If the pointer is placed over the right half of the window, it changes to white. void setup(){ size(300,300); smooth(); } // End setup() void draw(){ background(150) ; // A medium grey if(mouseX<150 ) // The middle of the window { fill(0); ellipse(mouseX,mouseY,50,50); } // End if mouseX else { fill(255); ellipse(mouseX,mouseY,50,50); } // End else } square_series
square_series
Understand, think, investigate... 27 Type the exact code from the if else example on the left. What happens if you type the background() function in setup() instead of in draw()?
28 Change the code in the example for the window to have 500 × 200 pixels and imagine it is split into five equal blocks. Imagine that when you move the mouse cursor over the first block, the ellipse is filled in black, the three blocks in the middle are filled in red, green and blue, and the last block is filled in white. Clue: you will have to add a series of if else, and each one has a condition.
23
2 PROCESSING
Understand, think, investigate...
switch case This is used when there are more than two possible values to choose between:
switch (expression) { case tag_1: instructions; // The keys are not necessary break; case tag_2: other instructions; break; default: instructions if the previous cases are not met; }
29 Type the code from the model example for switch case. What happens if you define the variable letter in setup()? And what happens if you define the variable letter outside of both functions setup() and draw()?
30 What do you need to do if you want to leave a trail of coloured ellipses along the graphic window?
31 Change the code from the switch case example so you can change the colour of the ellipse by pressing the numbers from 1 to 5, and the colour of the background by pressing the numbers from 6 to 9.
32 Change the code in the if else example on the previous page so that the window measures 500 x 500 pixels, and imagine it split into four quadrants. Make the ellipse change to one of the four colours from Parcheesi (red, green, yellow and blue) when it enters each of the corresponding quadrants. Make the background change to white by pressing the “W” key, and to black by pressing “K”, allowing for both lower and upper case letters.
24
Model example This code draws an ellipse where the mouse pointer is positioned. If we press the R, G, or B keys on the keyboard (in capitals or lower case), the fill colour of the ellipse becomes red, green or blue respectively. If we press any other key, the fill changes to white. void setup(){ size(500,200); smooth(); } // End setup() void draw(){ char letter = key; // Read keyboard character background(150); // Medium grey background switch(letter){ case 'r': // If we press ‘r’ or ‘R’ case 'R': fill(255,0,0); // Fill red break; case 'g': // If we press ‘g’ or ‘G’ case 'G': fill(0,255,0); // Fill green break; case 'b': // If we press ‘b’ or ‘B’ case 'B': fill(0,0,255); // Fill blue break; default: fill(255); // If we press other, fill white } // End switch ellipse(mouseX,mouseY,50,50); } // End draw()
Unit 1
ä 2.9 Control structures. Loops A loop is a structure that contains a series of instructions to be executed again and again under a certain condition. There are two loops in Processing: the while loop and the for loop.
The while loop The while loop executes a series of instructions continuously while the expression is true. The designers of Processing advise us to use it carefully, as the code inside the loop will be executed until it finds an exit condition. This could cause the mouse and keyboard actions to be outdated and may even block the Processing environment.
while (expression) { Instructions in the loop are executed while the expression in brackets is true. One of the instructions must change the loop control variable so that the control expression becomes false. }
Model example void setup(){ size(500,200); smooth(); background(150); // Medium grey background noStroke(); // Shapes without borders } // End setup() void draw(){ int i = 50; // Loop control variable // will be used to vary the X coordinate while(i<width-25){ ellipse(i,height/2,25,25); // We draw the // ellipses in the coordinates that mark i and // (height/2) this way they will be vertically // centred i=i+50; // We increase i to exit the loop } // End while } // End draw()
C RE AT E
Maths
Find out how Processing can be used in mathematics and geometry. Research examples from the Processing Library and see what structures you already know.
Understand, think, investigate... 33 Type the code from the example, analyse the draw() function and answer the following questions: 1 What happens if we change the size of the window to 300 x 100? 2 What happens if we change the while condition to (i<1000)? 3 And what if we change the condition to (i>1)?
34 Change the code in the while example so the height of the ellipses fit to the height of the window.
35 Search for an explanation of while using the keywords: processing org reference while Input the example that appears there, explain each line and the function of the instructions.
36 Change the example by inputting the following variations: line(30, i, 80-i, i); line(0, i, 80-i, i); line(0, 80+i, 80-i, i); line(0, 80+i, 80, i);
37 Now create two new variations and explain what they do.
25
2 PROCESSING
The for loop The for loop executes a series of instructions while it fulfils a specific test condition. Apart from the block of instructions to be repeated, the for loop is made up of three parts which are typed between brackets: initialisation of the control variable, test and update of the control variable. The three parts are separated by semi-colons ;.
for (initialisation; test; update) { Instructions in the loop are executed while the test in brackets is true. This loop changes the control variable at the end of each iteration automatically, and we decide the increment value (update). }
Model example void setup(){ size(500,500); smooth(); background(117,221,143); // Light green background noStroke(); // Shapes without borders } // End setup()
diagonal gradients
void draw(){ // The loop control variable // can be stated in brackets for(int i=0;i<width;i=i+10){ fill(i/2); // We use i for a gradient from black to white ellipse(i,i,12,10); // We draw the ellipses forming // a diagonal line } // End for } // End draw()
Understand, think, investigate... 38 Search for the explanation of for on the
40 Now make the lines appear at
Processing language reference page and input the first three sketch examples.
a 45° angle like those in the example. Use the setup() and draw() functions to adjust the dimensions of the window, and declare the variables where you think they should be declared.
Explain what the difference is between the three versions of the code.
39 Change
the code in the second example to make the lines vertical and parallel.
26
Unit 1
Guided practice
Tutorial videos for Processing
In this guided practice, we are going to see how we can put one for loop into another (nest* it in another). We’re going to draw a matrix of circles in 3 rows and 5 columns. In each row, the circles will show different tones of one of the additive colours, RGB. We are going to solve each one of the parts for this exercise step by step, and then we will see how it all works together.
In the following link, you can find several tutorial videos that explain the common levels: beginner, intermediate and advanced. You may find them to be very helpful. https://processing.org/tutorials/
1 First of all, we are going to make a row without colour: void setup(){ size(600,100); smooth(); noStroke(); // Shapes without borders } // End setup() void draw(){ // The loop control variable // can be defined in the for brackets for(int i=0;i<5;i=i+1){ fill(255/(i+1)); / / We use i for // a gradient from black to // white ellipse((i+1)*100,50,70,70); / / Ellipses } // End for
F ocu s on Eng lish nest: to organise information so that information is recognized as separate, but is included or contained in a larger part of information
} // End draw() guided practice
2 The next step is to make three rows. We have to change the size of the window to do this. We can also take advantage of this to use a different colour in each one of the rows. void setup(){ size(600,300); smooth(); noStroke(); // Shapes without borders } // End setup() void draw(){ // The loop control variable // can be stated in brackets for(int i=0;i<5;i=i+1){ fill(255/(i+1),0,0); / / We use i for the
//red gradient
ellipse((i+1)*100,50,70,70); // Ellipses } // End first for
Understand, think, investigate... 41
1-2-4. A study conducted by the European Commission found that, for every 1000 women who graduated from higher education, only 24 graduated in fields related to information technology. Of these 24 graduates, only 6 ended up working in the digital industry. 1 Investigate online. What is WomANDigital? What is their objective? 2 What SDGs could this initiative help achieve?
27
2 PROCESSING
Result for Ellipses_colour_for
for(int i=0;i<5;i=i+1){ fill(0,255/(i+1),0); // We use i for green // gradient ellipse((i+1)*100,150,70,70); // We draw the // ellipses } // End second for for(int i=0;i<5;i=i+1){ fill(0,0,255/(i+1)); // We use i for the // blue gradient ellipse((i+1)*100,250,70,70); // We draw the // ellipses } // End third for } // End draw()
3 As we can see in the code above, it is possible to re-use the i variable. However, we could have also chosen other names for the control variables for the second and third loops. However, it is easy to notice that we repeated the code in the first loop three times, apart from a few small differences. An alternative is to use two nested loops (a loop within a loop), so that one is responsible for varying coordinate x, and the other is responsible for varying coordinate y. void setup (){ size (600,300); smooth (); noStroke (); // Shapes without borders } // Endsetup()
Result for Ellipses_colour_for_nested
void draw (){ for (int j=0;j<3;j=j+1){ for (int i=0;i<5;i=i+1){ if (j==0){fill(255/(i+1),0,0);} else if (j==1){fill(0,255/(i+1),0);} else if (j==2){fill(0,0,255/(i+1));} ellipse ((i+1)*100,(j+1)*75,70,70); // We draw the elipses } // End internal for. Controls coordiante x } // End external for. Controls coordinate y } // End draw()
Understand, think, investigate... 42 Change Ellipses_colour_for_nested so that the
44 Increase the number of ellipses per line to 10.
grey scale appears on the first line. You will also have to change the size of the window.
You will have to change their diameters. It is also a good idea to change the size of the window so the ellipses fit better and the background colour does not stand out too much.
43 There is a deliberate separation of the axis in the Ellipses_colour_for_nested example, and it is different to the previous Ellipses_colour_for example. Make any changes that are needed so the result is the same as that of the Ellipses_colour_for.
28
45 How would you make the size of the ellipses and the spaces between them adjust to the size of the window?
rkshop o W Y G O L O N H C TE
Unit 1
Fractal drawings PROJECT PRESENTATION 1st iteration
2nd iteration
3rd iteration
There are many figures in nature made up of fractals. Look at the shape of a Roman cauliflower, for example.
Fractals are geometric figures of repeated shapes. Imagine you draw a triangle, then you choose one of its sides to draw the same triangle but smaller. As you are drawing the small triangle, you repeat the process again, and again. Each time you reduce the scale, you make a new iteration. This geometric figure is a Koch Curve. Copy this Processing program and see the result.
// Fractal diamonds; M.Blazquez, I.Hoyos & J.Santos, 2019 void setup() { size(500, 500); // Screen set at 500x500 pixels } void draw() { background(220,200,220); // Background colour // violet stroke( 0 , 0 , 200 , 50 ); // Outline colour attributes fill( 0 , 0 , 255 , 70 ); // Fill color attributes translate(width / 2, height / 2); // Move to centre // of canvas draw_fractal(250); // Draw fractal function r=250 } // Start draw fractal function void draw_fractal(float r) { quad(-r,0,0,r,r,0,0,-r); // base diamond if (r < 1) // smallest diamond to have 1-pixel sides return; // diamond matrix moved down pushMatrix(); // create transformation matrix translate(0, r / 4); // move origin down 1/4 of r draw_fractal(r / 2); // recursive call reducing // diamond by 1/2 popMatrix(); // close transformation matrix // repeat the process moving the diamonds up pushMatrix(); translate(0, -r / 4); draw_fractal(r / 2); popMatrix(); // repeat the process moving the diamonds right pushMatrix(); translate(r / 4, 0); draw_fractal(r / 2); popMatrix(); // repeat the process moving the diamonds left pushMatrix(); translate(-r / 4, 0); draw_fractal(r / 2); popMatrix(); }
29
Any geometric figure can be copied by using a fractal, and Processing lets you implement any curve from simpler shapes. Go to the official Processing website and run the Recursive Tree project by Daniel Shiffman. Move the mouse to the left and right to change the angle. Change the program code to get different iterations and figures.
The program represents a simple tree-shaped structure using recursion. The branching angle is calculated based on the horizontal location of the mouse.
30
float theta; void setup() { size(400, 400); } void draw() { background(0); frameRate(30); stroke(0, 255, 0); strokeWeight (2); // Angle of 0 to 90 degrees according to the position // of the mouse float a = (mouseX / (float) width) * 90f; theta = radians(a); //Convert to radians // Start the tree from the lower area translate(width/2,height); line(0,0,0,-120); // Draw a line of 120 pixels // Move to the end of the line translate(0,-120); // Start the recursive branching branch(120); } void branch(float h) { stroke(0, 255, 0); h *= 0.66; // Each branch will be two thirds of the // previous one // All the recursive functions must have an exit // condition: length is 2 pixels or less if (h > 2) { pushMatrix(); // Save current state rotate(theta); // Rotate by theta line(0, 0, 0, -h); // Draw branch translate(0, -h); // Move to the end of the branch branch(h); // Generate two new branches popMatrix(); // Restore the state of the matrix // Repeat the same, branching to the left pushMatrix(); rotate(-theta); line(0, 0, 0, -h); // Draw branch translate(0, -h); // Move to the end of the branch branch(h); popMatrix(); } }
cacion.es at anayaedu source bank folio. re rt e po th in ur yo folio w to make Go to Port ho t ou ab n rmatio to find info
Unit 1
actise
review and pr
LibreCAD 1 Open LibreCad and draw the views of an object the same as below. Then, try to draw this object in perspective view in the same file.
Processing 2 The next figure shows an object in cavalier perspective. Copy it in LibreCad and draw the views of the object next to it.
4 When you are developing a program, and you want a certain action to be repeated three times, what type of structure do you have to use? Justify your answer. a) a procedure; b) a function; c) a decision; d) non-conditional loop; e) conditional loop.
5 List four outstanding technical characteristics of Processing.
6 What is Processing mainly used for? Do you think it can be used in other fields?
7 When applications are developed with Processing, what operating system can you use them in? What tool is used to export applications?
8 What is the graphic window used to draw in Processing called?
9 Explain the error in this code and how it can be 3 Look at the following piece drawn in LibreCad. It is a square with 90 mm sides and four holes. The centres of the holes coincide with the radii of curvature of the rounded corners. The holes have a diameter of 20 mm, while the rounded corners have an arc with a 40 mm diameter. Copy the shape and take the measurements so you would be able to produce the part.
corrected: line(10, 15; 120, 100).
10 What expression lets us close an arc with a straight line? What instruction can you use to trace a line from the beginning of an arc to the centre of the ellipse it comes from, and then from that point to the other end of the arc? (Clue: the final shape will look like a pie slice)
31
11 How many colours does Processing use? If you
22 What difference can you see between these two
work in greyscale, what expression do you have to use and how many values of grey tones can you choose between black and white?
code blocks which have the same instructions? Would the same shapes be made?
12 When you change the colour of a canvas, you use the instruction: background (a, b, c) where a, b and c are values assigned to the three additive primary colours. What are they? In what position is each of them in the expression? What range of numbers can each one take? Make a quick calculation and indicate the number of different composite colours that can be made.
13 Look at the following code. Change it so that the line will be as thin as possible. size(450,300); stroke(75,90,100); strokeWeight(90); rect(0,0,400,200);
14 Make a program that draws a six-point star on a 500 by 500 sized canvas.
15 Explain how you can insert a comment in a Processing program when it is:
//---- Code 1 ---size (500,500); ellipse (250,250,300,300); line (50,200,450,200); //---- Code 2 ---size (500,500); line (50,200,450,200); ellipse (250,250,300,300);
23 Look at the composition below, it is made on a 500 pixel × 500 pixel canvas and is made up of simple shapes joined at the vertices. Measure the position of each vertex on the image with a ruler. Then, calculate the position of each vertex as if it were in the Processing environment, so that you could make the same composition. Hint: all the measurements are multiples of 25. ex 23
1 several lines; 2 a single line; 3 several lines and is a documentation comment.
16
The What if. Float type data can be saved in a variable declared as int. What happens with the data that is saved?
17 What disadvantage is there to saving a value that will never have more than 10 different values in a variable declared as long?
18 What’s the difference between a global variable and a local variable?
19 Explain what a simple decision structure is. Write an example in which, depending on the value of an int-type variable, a square or a circle is drawn.
20 Which decision structure is used when there are more than two options? Write an example using comments.
21 What is the function of the expression below? while (condition) { // Action instructions }
32
anayaeducacion.es Find your study resource in the resource bank.
Unit 1
24 Look at the following code. Copy it into Processing
ellipseMode(CENTER); ellipse(x, y, 25, 25); y = y + velocity; velocity = velocity + gravity;
and make comments on each line to explain their functions. void setup(){ size(500,500); } void draw(){ background(30,125,30); line(250,25,250,475); if(mouseX<250) { fill(200,25,25); rect(mouseX,mouseY,50,100); } else fill(25,25,200); rect(mouseX,mouseY,50,100); } }
25 Look at this code, it simulates the effect of gravity on a ball. Answer the following questions: 1 What type of variables are X and Y? 2 What instruction determines the velocity of the ball? 3 What happens if we change the value of the variable for gravity from the initial value 0.3 to 0.9? 4 What happens to the ball if we change the instruction velocity = velocity*-0.85 for the expression velocity = velocity*-0.25? 5 Write the code in Processing and make comments explaining the functional nature of the program.
//---- Code ---float x = 240; float y = 0; float velocity = 0; float gravity = 0.3;
if (y > height) { velocity = velocity * -0.85; y = height; } }
26 Look at the following code: int C=0; void setup() { size(400, 400); smooth(); } void draw() { for (C=0; C<width; C=C+40) { fill(C); ellipse (width/2, width/2, (width-C), (width-C)); } } 1 Indicate what lines correspond to: the block for declaring variables, the general configuration of the program and to the repeating loop. 2 What are the measurements of the shape’s canvas? 3 What does the variable C mean in the program? What type is it? 4 Copy the code into Processing and execute it. Write comments that explain what the program does. 5 How can you make a softer gradient?
void setup() { size(480, 480); } void draw() { background(255); fill(0,0,255); stroke(0); Remember you can find a resource at anayaeducacion.es which can help you understand and apply the thinking technique ‘The What if’.
33
Building Blocks is an educational project of Anaya Educación for Secondary Education with the participation of: M. P. Blázquez, I. Hoyos, J. Santos, Danny Latimer, Hannah Peat, Karen Piper, Begoña Fuente Larrazabal, Sara Gascón Martín, Verónica Moro, Paloma Rodríguez and Denise Suárez. The following people have worked on this book:
Editorial team: Karen Piper and Lidia Quiles INCLUSION AND ANTI-DISCRIMINATION ADVISOR: Víctor Díez Mazo Design, technical drawings and maps: Patricia G. Serrano, Juan Carlos Quignon y Julio Vázquez Illustrations: Pablo Vázquez Layout: DiScript and Nieves Merino Proofreading: Gonzalo Vila Rodríguez Translation: Montero Language Services PICTURE EDITING: Olga Sayans Photographs: Age Fotostock (JAMES KING HOLMES/SPL, Science Museum/SSPL, Science Source, SM/ SSPL, WLADIMIR BULGAR/SPL), Alamy/Cordon Press (Jose Lucas, Pictorial Press Ltd.), Archivo Anaya (Boé, O.; Cosano, P.; Lezama, D.; Martín, J. A.; Osuna, J.; Peñuela Py, E.; Pozo, M.; Rico, J.J.; Rivera Jove, V.; Ruiz Pastor, L.; Steel, M.; 6x6 Producción Fotográfica), Crydom Inc./Custom Sensors & Technologies, Dreamstime, Gettyimages (Alex Kraus/Bloomberg, Kim Kulish), iStock/Gettyimages, Nature Picture Library/Cordon Press (Ashley Cooper), 123rf y colaboradores.
Academic and Professional Orientation: created in conjunction with Fundación Bertelsmann. Coordinator: Juan José Juárez Calvo. Expert collaborators: Sara Lozano Santiago, Belén Pérez Castro and Pilar Vázquez Hernández
Commitment to Sustainable Development Goals Our publications contain carefully selected content, illustrations and language to comply with non-discrimination on the grounds of gender, culture or opinion. Grupo Anaya considers social and environmental responsibility to be one of its fundamental values. For this reason, we are committed to: · continually improving our contents and materials related to the environment. · reducing our carbon emissions. · using natural resources responsibly. · making sure that our activity has no negative consequences for endangered forests. These commitments, among others, mean that 100% of the paper used in our books has the PEFC label.
Important information: The activities proposed in this book should be completed in a separate notebook or on sheets of paper, not in the book itself. The links to webpages which appear in this book have been checked before printing. The publisher cannot be liable for any changes or modifications which occur after the date of publication.
© GRUPO ANAYA, S.A., 2021 - C/ Juan Ignacio Luca de Tena, 15 - 28027 Madrid. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior permission of the publishers.