diff --git a/.DS_Store b/.DS_Store index 6651121..e858a77 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.gitbook/assets/Knipsel.PNG b/.gitbook/assets/Knipsel.PNG new file mode 100644 index 0000000..93a9986 Binary files /dev/null and b/.gitbook/assets/Knipsel.PNG differ diff --git a/.gitbook/assets/Kunst_5a_figurenvullen_21.png b/.gitbook/assets/Kunst_5a_figurenvullen_21.png new file mode 100644 index 0000000..670418c Binary files /dev/null and b/.gitbook/assets/Kunst_5a_figurenvullen_21.png differ diff --git a/.gitbook/assets/Kunst_5a_figurenvullen_22.png b/.gitbook/assets/Kunst_5a_figurenvullen_22.png new file mode 100644 index 0000000..1c0d5f5 Binary files /dev/null and b/.gitbook/assets/Kunst_5a_figurenvullen_22.png differ diff --git a/.gitbook/assets/Kunst_5a_figurenvullen_23.png b/.gitbook/assets/Kunst_5a_figurenvullen_23.png new file mode 100644 index 0000000..0d1bcd0 Binary files /dev/null and b/.gitbook/assets/Kunst_5a_figurenvullen_23.png differ diff --git a/.gitbook/assets/Les 2b creative coding P5js.pdf b/.gitbook/assets/Les 2b creative coding P5js.pdf new file mode 100644 index 0000000..da7df44 Binary files /dev/null and b/.gitbook/assets/Les 2b creative coding P5js.pdf differ diff --git a/.gitbook/assets/Les1-Afb1.png b/.gitbook/assets/Les1-Afb1.png new file mode 100644 index 0000000..b5738c7 Binary files /dev/null and b/.gitbook/assets/Les1-Afb1.png differ diff --git a/.gitbook/assets/Logo cs-certificate.jpg b/.gitbook/assets/Logo cs-certificate.jpg new file mode 100644 index 0000000..a795013 Binary files /dev/null and b/.gitbook/assets/Logo cs-certificate.jpg differ diff --git a/.gitbook/assets/Screen Shot 2019-12-01 at 2.23.57 PM.png b/.gitbook/assets/Screen Shot 2019-12-01 at 2.23.57 PM.png new file mode 100644 index 0000000..d397f11 Binary files /dev/null and b/.gitbook/assets/Screen Shot 2019-12-01 at 2.23.57 PM.png differ diff --git a/.gitbook/assets/demo_kunst.png b/.gitbook/assets/demo_kunst.png new file mode 100644 index 0000000..3a63ab7 Binary files /dev/null and b/.gitbook/assets/demo_kunst.png differ diff --git a/.gitbook/assets/driehoek blauw lijn.PNG b/.gitbook/assets/driehoek blauw lijn.PNG new file mode 100644 index 0000000..bd2a187 Binary files /dev/null and b/.gitbook/assets/driehoek blauw lijn.PNG differ diff --git a/.gitbook/assets/driehoek turqoise lijn.PNG b/.gitbook/assets/driehoek turqoise lijn.PNG new file mode 100644 index 0000000..37f3d69 Binary files /dev/null and b/.gitbook/assets/driehoek turqoise lijn.PNG differ diff --git a/.gitbook/assets/halve zeshoek blauw gevuld.PNG b/.gitbook/assets/halve zeshoek blauw gevuld.PNG new file mode 100644 index 0000000..9c9bbed Binary files /dev/null and b/.gitbook/assets/halve zeshoek blauw gevuld.PNG differ diff --git a/.gitbook/assets/halve zeshoek rood lijn.PNG b/.gitbook/assets/halve zeshoek rood lijn.PNG new file mode 100644 index 0000000..2a886e0 Binary files /dev/null and b/.gitbook/assets/halve zeshoek rood lijn.PNG differ diff --git a/.gitbook/assets/image (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1).png new file mode 100644 index 0000000..c074c92 Binary files /dev/null and b/.gitbook/assets/image (1) (1) (1).png differ diff --git a/.gitbook/assets/image (1) (1).png b/.gitbook/assets/image (1) (1).png new file mode 100644 index 0000000..5fd63f8 Binary files /dev/null and b/.gitbook/assets/image (1) (1).png differ diff --git a/.gitbook/assets/image (1) (2).png b/.gitbook/assets/image (1) (2).png new file mode 100644 index 0000000..14b8d5c Binary files /dev/null and b/.gitbook/assets/image (1) (2).png differ diff --git a/.gitbook/assets/image (1) (3).png b/.gitbook/assets/image (1) (3).png new file mode 100644 index 0000000..912abd9 Binary files /dev/null and b/.gitbook/assets/image (1) (3).png differ diff --git a/.gitbook/assets/image (1).png b/.gitbook/assets/image (1).png index 5fd63f8..46375fc 100644 Binary files a/.gitbook/assets/image (1).png and b/.gitbook/assets/image (1).png differ diff --git a/.gitbook/assets/image (10).png b/.gitbook/assets/image (10).png new file mode 100644 index 0000000..228a12d Binary files /dev/null and b/.gitbook/assets/image (10).png differ diff --git a/.gitbook/assets/image (11).png b/.gitbook/assets/image (11).png new file mode 100644 index 0000000..27be39a Binary files /dev/null and b/.gitbook/assets/image (11).png differ diff --git a/.gitbook/assets/image (12).png b/.gitbook/assets/image (12).png new file mode 100644 index 0000000..5cb960b Binary files /dev/null and b/.gitbook/assets/image (12).png differ diff --git a/.gitbook/assets/image (13).png b/.gitbook/assets/image (13).png new file mode 100644 index 0000000..a302261 Binary files /dev/null and b/.gitbook/assets/image (13).png differ diff --git a/.gitbook/assets/image (14).png b/.gitbook/assets/image (14).png new file mode 100644 index 0000000..f0cc66e Binary files /dev/null and b/.gitbook/assets/image (14).png differ diff --git a/.gitbook/assets/image (15).png b/.gitbook/assets/image (15).png new file mode 100644 index 0000000..06b6d1c Binary files /dev/null and b/.gitbook/assets/image (15).png differ diff --git a/.gitbook/assets/image (16).png b/.gitbook/assets/image (16).png new file mode 100644 index 0000000..13cf454 Binary files /dev/null and b/.gitbook/assets/image (16).png differ diff --git a/.gitbook/assets/image (17) (1).png b/.gitbook/assets/image (17) (1).png new file mode 100644 index 0000000..f031bfc Binary files /dev/null and b/.gitbook/assets/image (17) (1).png differ diff --git a/.gitbook/assets/image (17).png b/.gitbook/assets/image (17).png new file mode 100644 index 0000000..028bdc0 Binary files /dev/null and b/.gitbook/assets/image (17).png differ diff --git a/.gitbook/assets/image (18).png b/.gitbook/assets/image (18).png new file mode 100644 index 0000000..f116987 Binary files /dev/null and b/.gitbook/assets/image (18).png differ diff --git a/.gitbook/assets/image (19).png b/.gitbook/assets/image (19).png new file mode 100644 index 0000000..b6e18ea Binary files /dev/null and b/.gitbook/assets/image (19).png differ diff --git a/.gitbook/assets/image (2) (1).png b/.gitbook/assets/image (2) (1).png new file mode 100644 index 0000000..e019a95 Binary files /dev/null and b/.gitbook/assets/image (2) (1).png differ diff --git a/.gitbook/assets/image (2).png b/.gitbook/assets/image (2).png index e019a95..94caa26 100644 Binary files a/.gitbook/assets/image (2).png and b/.gitbook/assets/image (2).png differ diff --git a/.gitbook/assets/image (3) (1).png b/.gitbook/assets/image (3) (1).png new file mode 100644 index 0000000..1d78c81 Binary files /dev/null and b/.gitbook/assets/image (3) (1).png differ diff --git a/.gitbook/assets/image (3) (2).png b/.gitbook/assets/image (3) (2).png new file mode 100644 index 0000000..8e1b058 Binary files /dev/null and b/.gitbook/assets/image (3) (2).png differ diff --git a/.gitbook/assets/image (3) (3).png b/.gitbook/assets/image (3) (3).png new file mode 100644 index 0000000..6fbcf81 Binary files /dev/null and b/.gitbook/assets/image (3) (3).png differ diff --git a/.gitbook/assets/image (3).png b/.gitbook/assets/image (3).png new file mode 100644 index 0000000..9cb9aba Binary files /dev/null and b/.gitbook/assets/image (3).png differ diff --git a/.gitbook/assets/image (4) (1).png b/.gitbook/assets/image (4) (1).png new file mode 100644 index 0000000..363f717 Binary files /dev/null and b/.gitbook/assets/image (4) (1).png differ diff --git a/.gitbook/assets/image (4).png b/.gitbook/assets/image (4).png new file mode 100644 index 0000000..8886f9c Binary files /dev/null and b/.gitbook/assets/image (4).png differ diff --git a/.gitbook/assets/image (5).png b/.gitbook/assets/image (5).png new file mode 100644 index 0000000..02c286b Binary files /dev/null and b/.gitbook/assets/image (5).png differ diff --git a/.gitbook/assets/image (6).png b/.gitbook/assets/image (6).png new file mode 100644 index 0000000..f29b251 Binary files /dev/null and b/.gitbook/assets/image (6).png differ diff --git a/.gitbook/assets/image (7) (1).png b/.gitbook/assets/image (7) (1).png new file mode 100644 index 0000000..3135454 Binary files /dev/null and b/.gitbook/assets/image (7) (1).png differ diff --git a/.gitbook/assets/image (7).png b/.gitbook/assets/image (7).png new file mode 100644 index 0000000..36e613d Binary files /dev/null and b/.gitbook/assets/image (7).png differ diff --git a/.gitbook/assets/image (8).png b/.gitbook/assets/image (8).png new file mode 100644 index 0000000..cf09bb5 Binary files /dev/null and b/.gitbook/assets/image (8).png differ diff --git a/.gitbook/assets/image (9).png b/.gitbook/assets/image (9).png new file mode 100644 index 0000000..2cced6e Binary files /dev/null and b/.gitbook/assets/image (9).png differ diff --git a/.gitbook/assets/image-20181207110047621.png b/.gitbook/assets/image-20181207110047621 (1) (1).png similarity index 100% rename from .gitbook/assets/image-20181207110047621.png rename to .gitbook/assets/image-20181207110047621 (1) (1).png diff --git a/img/image-20181207110047621.png b/.gitbook/assets/image-20181207110047621 (1).png similarity index 100% rename from img/image-20181207110047621.png rename to .gitbook/assets/image-20181207110047621 (1).png diff --git a/.gitbook/assets/image-20190318125720956.png b/.gitbook/assets/image-20190318125720956 copy (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190318125720956.png rename to .gitbook/assets/image-20190318125720956 copy (1) (1).png diff --git a/img/image-20190318125720956 copy.png b/.gitbook/assets/image-20190318125720956 copy (1).png similarity index 100% rename from img/image-20190318125720956 copy.png rename to .gitbook/assets/image-20190318125720956 copy (1).png diff --git a/.gitbook/assets/image-20190318125720956 copy.png b/.gitbook/assets/image-20190318125720956 copy.png new file mode 100644 index 0000000..e735dc5 Binary files /dev/null and b/.gitbook/assets/image-20190318125720956 copy.png differ diff --git a/.gitbook/assets/image-20190318125810948 (1).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190318125810948 (1).png rename to .gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190318125810948 (2).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1) (2).png similarity index 100% rename from .gitbook/assets/image-20190318125810948 (2).png rename to .gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1) (2).png diff --git a/.gitbook/assets/image-20190318125810948.png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1) (3).png similarity index 100% rename from .gitbook/assets/image-20190318125810948.png rename to .gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1) (3).png diff --git a/img/image-20190318125810948.png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1) (4).png similarity index 100% rename from img/image-20190318125810948.png rename to .gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1) (4).png diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (2).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (2).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (3).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (3).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (3).png differ diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (4).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (4).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (4).png differ diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1).png differ diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (2).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (2).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (2).png differ diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (3).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (3).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (3).png differ diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (4).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (4).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (4).png differ diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (1).png differ diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2) (2).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (2).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (2).png differ diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2) (3).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (3).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (3).png differ diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2) (4).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (4).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (4).png differ diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2) (5).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (5).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2) (5).png differ diff --git a/.gitbook/assets/image-20190318125810948 (5) (5) (2).png b/.gitbook/assets/image-20190318125810948 (5) (5) (2).png new file mode 100644 index 0000000..1b5bb41 Binary files /dev/null and b/.gitbook/assets/image-20190318125810948 (5) (5) (2).png differ diff --git a/.gitbook/assets/image-20190318130138855.png b/.gitbook/assets/image-20190318130138855 (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190318130138855.png rename to .gitbook/assets/image-20190318130138855 (1) (1).png diff --git a/img/image-20190318130138855.png b/.gitbook/assets/image-20190318130138855 (1).png similarity index 100% rename from img/image-20190318130138855.png rename to .gitbook/assets/image-20190318130138855 (1).png diff --git a/img/image-20190318130244515.png b/.gitbook/assets/image-20190318130244515 (1) (1) (1) (1) (1) (1) (1) (1) (1).png similarity index 100% rename from img/image-20190318130244515.png rename to .gitbook/assets/image-20190318130244515 (1) (1) (1) (1) (1) (1) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190318130244515 (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image-20190318130244515 (1) (1) (1) (1) (1) (1) (1) (1).png new file mode 100644 index 0000000..00a485e Binary files /dev/null and b/.gitbook/assets/image-20190318130244515 (1) (1) (1) (1) (1) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190318130244515 (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image-20190318130244515 (1) (1) (1) (1) (1) (1) (1).png new file mode 100644 index 0000000..00a485e Binary files /dev/null and b/.gitbook/assets/image-20190318130244515 (1) (1) (1) (1) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190318130606702 (1).png b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190318130606702 (1).png rename to .gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).png diff --git a/img/image-20190318130606702.png b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png similarity index 100% rename from img/image-20190318130606702.png rename to .gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png diff --git a/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png new file mode 100644 index 0000000..627f0f4 Binary files /dev/null and b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png new file mode 100644 index 0000000..627f0f4 Binary files /dev/null and b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1).png b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1).png new file mode 100644 index 0000000..627f0f4 Binary files /dev/null and b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1).png differ diff --git a/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (2).png b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (2).png new file mode 100644 index 0000000..627f0f4 Binary files /dev/null and b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (2).png differ diff --git a/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1).png b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1).png new file mode 100644 index 0000000..627f0f4 Binary files /dev/null and b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1).png differ diff --git a/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (2).png b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (2).png new file mode 100644 index 0000000..627f0f4 Binary files /dev/null and b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (2).png differ diff --git a/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (3).png b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (3).png new file mode 100644 index 0000000..627f0f4 Binary files /dev/null and b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (3).png differ diff --git a/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3).png b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3).png new file mode 100644 index 0000000..627f0f4 Binary files /dev/null and b/.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3).png differ diff --git a/.gitbook/assets/image-20190318130624359 (1).png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190318130624359 (1).png rename to .gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190318130624359.png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (2).png similarity index 100% rename from .gitbook/assets/image-20190318130624359.png rename to .gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (2).png diff --git a/img/image-20190318130624359.png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (3).png similarity index 100% rename from img/image-20190318130624359.png rename to .gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (3).png diff --git a/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1).png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1).png new file mode 100644 index 0000000..4b36022 Binary files /dev/null and b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (2).png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (2).png new file mode 100644 index 0000000..4b36022 Binary files /dev/null and b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (3).png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (3).png new file mode 100644 index 0000000..4b36022 Binary files /dev/null and b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (3).png differ diff --git a/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1).png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1).png new file mode 100644 index 0000000..4b36022 Binary files /dev/null and b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1).png differ diff --git a/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (2).png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (2).png new file mode 100644 index 0000000..4b36022 Binary files /dev/null and b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (2).png differ diff --git a/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (3).png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (3).png new file mode 100644 index 0000000..4b36022 Binary files /dev/null and b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (3).png differ diff --git a/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1).png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1).png new file mode 100644 index 0000000..4b36022 Binary files /dev/null and b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1).png differ diff --git a/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (2).png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (2).png new file mode 100644 index 0000000..4b36022 Binary files /dev/null and b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (2).png differ diff --git a/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (3).png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (3).png new file mode 100644 index 0000000..4b36022 Binary files /dev/null and b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (3).png differ diff --git a/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (4).png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (4).png new file mode 100644 index 0000000..4b36022 Binary files /dev/null and b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (4).png differ diff --git a/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4).png b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4).png new file mode 100644 index 0000000..4b36022 Binary files /dev/null and b/.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4).png differ diff --git a/.gitbook/assets/image-20190318130624359 (2).png b/.gitbook/assets/image-20190318130624359 (2).png new file mode 100644 index 0000000..4b36022 Binary files /dev/null and b/.gitbook/assets/image-20190318130624359 (2).png differ diff --git a/img/image-20190318132016472.png b/.gitbook/assets/image-20190318132016472 (1).png similarity index 100% rename from img/image-20190318132016472.png rename to .gitbook/assets/image-20190318132016472 (1).png diff --git a/img/image-20190318132305903.png b/.gitbook/assets/image-20190318132305903 (1).png similarity index 100% rename from img/image-20190318132305903.png rename to .gitbook/assets/image-20190318132305903 (1).png diff --git a/img/image-20190322130702678.png b/.gitbook/assets/image-20190322130702678.png similarity index 100% rename from img/image-20190322130702678.png rename to .gitbook/assets/image-20190322130702678.png diff --git a/img/image-20190322130925083.png b/.gitbook/assets/image-20190322130925083.png similarity index 100% rename from img/image-20190322130925083.png rename to .gitbook/assets/image-20190322130925083.png diff --git a/img/image-20190322131013102.png b/.gitbook/assets/image-20190322131013102.png similarity index 100% rename from img/image-20190322131013102.png rename to .gitbook/assets/image-20190322131013102.png diff --git a/img/image-20190322131023789.png b/.gitbook/assets/image-20190322131023789.png similarity index 100% rename from img/image-20190322131023789.png rename to .gitbook/assets/image-20190322131023789.png diff --git a/.gitbook/assets/image-20190322135329083 (1).png b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190322135329083 (1).png rename to .gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).png diff --git a/img/image-20190322135329083.png b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png similarity index 100% rename from img/image-20190322135329083.png rename to .gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png diff --git a/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png new file mode 100644 index 0000000..be8143e Binary files /dev/null and b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png new file mode 100644 index 0000000..be8143e Binary files /dev/null and b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1).png b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1).png new file mode 100644 index 0000000..be8143e Binary files /dev/null and b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1).png differ diff --git a/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (2).png b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (2).png new file mode 100644 index 0000000..be8143e Binary files /dev/null and b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (2).png differ diff --git a/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1).png b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1).png new file mode 100644 index 0000000..be8143e Binary files /dev/null and b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1).png differ diff --git a/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (2).png b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (2).png new file mode 100644 index 0000000..be8143e Binary files /dev/null and b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (2).png differ diff --git a/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (3).png b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (3).png new file mode 100644 index 0000000..be8143e Binary files /dev/null and b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (3).png differ diff --git a/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3).png b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3).png new file mode 100644 index 0000000..be8143e Binary files /dev/null and b/.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3).png differ diff --git a/.gitbook/assets/image-20190322135525607 (1).png b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190322135525607 (1).png rename to .gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).png diff --git a/img/image-20190322135525607.png b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png similarity index 100% rename from img/image-20190322135525607.png rename to .gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png diff --git a/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png new file mode 100644 index 0000000..7436a57 Binary files /dev/null and b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png new file mode 100644 index 0000000..7436a57 Binary files /dev/null and b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1).png b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1).png new file mode 100644 index 0000000..7436a57 Binary files /dev/null and b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1).png differ diff --git a/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (2).png b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (2).png new file mode 100644 index 0000000..7436a57 Binary files /dev/null and b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (2).png differ diff --git a/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1).png b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1).png new file mode 100644 index 0000000..7436a57 Binary files /dev/null and b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1).png differ diff --git a/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (2).png b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (2).png new file mode 100644 index 0000000..7436a57 Binary files /dev/null and b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (2).png differ diff --git a/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (3).png b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (3).png new file mode 100644 index 0000000..7436a57 Binary files /dev/null and b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (3).png differ diff --git a/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3).png b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3).png new file mode 100644 index 0000000..7436a57 Binary files /dev/null and b/.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3).png differ diff --git a/img/image-20190322150743162.png b/.gitbook/assets/image-20190322150743162 (1).png similarity index 100% rename from img/image-20190322150743162.png rename to .gitbook/assets/image-20190322150743162 (1).png diff --git a/.gitbook/assets/image-20190322150806389 (1).png b/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190322150806389 (1).png rename to .gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png diff --git a/img/image-20190322150806389.png b/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1).png similarity index 100% rename from img/image-20190322150806389.png rename to .gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (1) (1).png b/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (1) (1).png new file mode 100644 index 0000000..05f9221 Binary files /dev/null and b/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (1) (1).png differ diff --git a/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (1).png b/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (1).png new file mode 100644 index 0000000..05f9221 Binary files /dev/null and b/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (1).png differ diff --git a/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (2).png b/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (2).png new file mode 100644 index 0000000..05f9221 Binary files /dev/null and b/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (2).png differ diff --git a/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2).png b/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2).png new file mode 100644 index 0000000..05f9221 Binary files /dev/null and b/.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2).png differ diff --git a/.gitbook/assets/image-20190322150946880 (1).png b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190322150946880 (1).png rename to .gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).png diff --git a/img/image-20190322150946880.png b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png similarity index 100% rename from img/image-20190322150946880.png rename to .gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png diff --git a/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png new file mode 100644 index 0000000..0de4f5b Binary files /dev/null and b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png new file mode 100644 index 0000000..0de4f5b Binary files /dev/null and b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1).png b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1).png new file mode 100644 index 0000000..0de4f5b Binary files /dev/null and b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1).png differ diff --git a/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (2).png b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (2).png new file mode 100644 index 0000000..0de4f5b Binary files /dev/null and b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (2).png differ diff --git a/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1).png b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1).png new file mode 100644 index 0000000..0de4f5b Binary files /dev/null and b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1).png differ diff --git a/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (2).png b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (2).png new file mode 100644 index 0000000..0de4f5b Binary files /dev/null and b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (2).png differ diff --git a/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (3).png b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (3).png new file mode 100644 index 0000000..0de4f5b Binary files /dev/null and b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (3).png differ diff --git a/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3).png b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3).png new file mode 100644 index 0000000..0de4f5b Binary files /dev/null and b/.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3).png differ diff --git a/.gitbook/assets/image-20190322151013930 (1).png b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190322151013930 (1).png rename to .gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190322151013930.png b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1) (1) (2).png similarity index 100% rename from .gitbook/assets/image-20190322151013930.png rename to .gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1) (1) (2).png diff --git a/img/image-20190322151013930.png b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1) (1).png similarity index 100% rename from img/image-20190322151013930.png rename to .gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1) (2).png b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1) (2).png new file mode 100644 index 0000000..61398dc Binary files /dev/null and b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1).png b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1).png new file mode 100644 index 0000000..61398dc Binary files /dev/null and b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1).png differ diff --git a/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (2).png b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (2).png new file mode 100644 index 0000000..61398dc Binary files /dev/null and b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (2).png differ diff --git a/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1).png b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1).png new file mode 100644 index 0000000..61398dc Binary files /dev/null and b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1).png differ diff --git a/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (2).png b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (2).png new file mode 100644 index 0000000..61398dc Binary files /dev/null and b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (2).png differ diff --git a/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (3).png b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (3).png new file mode 100644 index 0000000..61398dc Binary files /dev/null and b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (3).png differ diff --git a/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2).png b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2).png new file mode 100644 index 0000000..61398dc Binary files /dev/null and b/.gitbook/assets/image-20190322151013930 (3) (3) (3) (2).png differ diff --git a/.gitbook/assets/image-20190322151224232.png b/.gitbook/assets/image-20190322151224232 (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190322151224232.png rename to .gitbook/assets/image-20190322151224232 (1) (1) (1).png diff --git a/.gitbook/assets/image-20190322151224232 (1) (1) (2).png b/.gitbook/assets/image-20190322151224232 (1) (1) (2).png new file mode 100644 index 0000000..999200a Binary files /dev/null and b/.gitbook/assets/image-20190322151224232 (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190322151224232 (1) (1).png b/.gitbook/assets/image-20190322151224232 (1) (1).png new file mode 100644 index 0000000..999200a Binary files /dev/null and b/.gitbook/assets/image-20190322151224232 (1) (1).png differ diff --git a/.gitbook/assets/image-20190322151224232 (1) (2).png b/.gitbook/assets/image-20190322151224232 (1) (2).png new file mode 100644 index 0000000..999200a Binary files /dev/null and b/.gitbook/assets/image-20190322151224232 (1) (2).png differ diff --git a/img/image-20190322151500039.png b/.gitbook/assets/image-20190322151500039 (1) (1) (1) (1) (1) (1) (1) (1) (1).png similarity index 100% rename from img/image-20190322151500039.png rename to .gitbook/assets/image-20190322151500039 (1) (1) (1) (1) (1) (1) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190322151500039 (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image-20190322151500039 (1) (1) (1) (1) (1) (1) (1) (1).png new file mode 100644 index 0000000..b26e347 Binary files /dev/null and b/.gitbook/assets/image-20190322151500039 (1) (1) (1) (1) (1) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190322151500039 (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image-20190322151500039 (1) (1) (1) (1) (1) (1) (1).png new file mode 100644 index 0000000..b26e347 Binary files /dev/null and b/.gitbook/assets/image-20190322151500039 (1) (1) (1) (1) (1) (1) (1).png differ diff --git a/img/image-20190325083528686.png b/.gitbook/assets/image-20190325083528686 (1).png similarity index 100% rename from img/image-20190325083528686.png rename to .gitbook/assets/image-20190325083528686 (1).png diff --git a/.gitbook/assets/image-20190329210151106.png b/.gitbook/assets/image-20190329210151106 (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190329210151106.png rename to .gitbook/assets/image-20190329210151106 (1) (1).png diff --git a/img/image-20190329210151106.png b/.gitbook/assets/image-20190329210151106 (1).png similarity index 100% rename from img/image-20190329210151106.png rename to .gitbook/assets/image-20190329210151106 (1).png diff --git a/img/image-20190329210728482.png b/.gitbook/assets/image-20190329210728482 (1).png similarity index 100% rename from img/image-20190329210728482.png rename to .gitbook/assets/image-20190329210728482 (1).png diff --git a/img/image-20190329211324881.png b/.gitbook/assets/image-20190329211324881 (1).png similarity index 100% rename from img/image-20190329211324881.png rename to .gitbook/assets/image-20190329211324881 (1).png diff --git a/.gitbook/assets/image-20190329212013611 (1).png b/.gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190329212013611 (1).png rename to .gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190329212013611.png b/.gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190329212013611.png rename to .gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2) (1) (1) (1).png diff --git a/img/image-20190329212013611.png b/.gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2) (1) (1).png similarity index 100% rename from img/image-20190329212013611.png rename to .gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2) (1) (1).png diff --git a/.gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2) (1).png b/.gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2) (1).png new file mode 100644 index 0000000..b4df9ce Binary files /dev/null and b/.gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2) (1).png differ diff --git a/.gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2) (2).png b/.gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2) (2).png new file mode 100644 index 0000000..b4df9ce Binary files /dev/null and b/.gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2) (2).png differ diff --git a/.gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2).png b/.gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2).png new file mode 100644 index 0000000..b4df9ce Binary files /dev/null and b/.gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2).png differ diff --git a/.gitbook/assets/image-20190329212412678 (1).png b/.gitbook/assets/image-20190329212412678 (2) (2) (2) (2) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190329212412678 (1).png rename to .gitbook/assets/image-20190329212412678 (2) (2) (2) (2) (1) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190329212412678.png b/.gitbook/assets/image-20190329212412678 (2) (2) (2) (2) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190329212412678.png rename to .gitbook/assets/image-20190329212412678 (2) (2) (2) (2) (1) (1) (1).png diff --git a/img/image-20190329212412678.png b/.gitbook/assets/image-20190329212412678 (2) (2) (2) (2) (1) (1).png similarity index 100% rename from img/image-20190329212412678.png rename to .gitbook/assets/image-20190329212412678 (2) (2) (2) (2) (1) (1).png diff --git a/.gitbook/assets/image-20190329212412678 (2) (2) (2) (2) (1).png b/.gitbook/assets/image-20190329212412678 (2) (2) (2) (2) (1).png new file mode 100644 index 0000000..d97ca37 Binary files /dev/null and b/.gitbook/assets/image-20190329212412678 (2) (2) (2) (2) (1).png differ diff --git a/.gitbook/assets/image-20190329212412678 (2) (2) (2) (2) (2).png b/.gitbook/assets/image-20190329212412678 (2) (2) (2) (2) (2).png new file mode 100644 index 0000000..d97ca37 Binary files /dev/null and b/.gitbook/assets/image-20190329212412678 (2) (2) (2) (2) (2).png differ diff --git a/.gitbook/assets/image-20190329212412678 (2) (2) (2) (2).png b/.gitbook/assets/image-20190329212412678 (2) (2) (2) (2).png new file mode 100644 index 0000000..d97ca37 Binary files /dev/null and b/.gitbook/assets/image-20190329212412678 (2) (2) (2) (2).png differ diff --git a/.gitbook/assets/image-20190403203106093.png b/.gitbook/assets/image-20190403203110569 (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190403203106093.png rename to .gitbook/assets/image-20190403203110569 (1) (1).png diff --git a/img/image-20190403203110569.png b/.gitbook/assets/image-20190403203110569 (1).png similarity index 100% rename from img/image-20190403203110569.png rename to .gitbook/assets/image-20190403203110569 (1).png diff --git a/img/image-20190406141936243.png b/.gitbook/assets/image-20190406141936243 (1).png similarity index 100% rename from img/image-20190406141936243.png rename to .gitbook/assets/image-20190406141936243 (1).png diff --git a/img/image-20190406142059944.png b/.gitbook/assets/image-20190406142059944 (1) (1).png similarity index 100% rename from img/image-20190406142059944.png rename to .gitbook/assets/image-20190406142059944 (1) (1).png diff --git a/.gitbook/assets/image-20190406142059944 (1).png b/.gitbook/assets/image-20190406142059944 (1).png new file mode 100644 index 0000000..ada1613 Binary files /dev/null and b/.gitbook/assets/image-20190406142059944 (1).png differ diff --git a/.gitbook/assets/image-20190406142204920.png b/.gitbook/assets/image-20190406142204920 (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190406142204920.png rename to .gitbook/assets/image-20190406142204920 (1) (1).png diff --git a/img/image-20190406142204920.png b/.gitbook/assets/image-20190406142204920 (1).png similarity index 100% rename from img/image-20190406142204920.png rename to .gitbook/assets/image-20190406142204920 (1).png diff --git a/.gitbook/assets/image-20190406144918466.png b/.gitbook/assets/image-20190406144918466 (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190406144918466.png rename to .gitbook/assets/image-20190406144918466 (1) (1) (1) (1).png diff --git a/img/image-20190406144918466.png b/.gitbook/assets/image-20190406144918466 (1) (1) (1).png similarity index 100% rename from img/image-20190406144918466.png rename to .gitbook/assets/image-20190406144918466 (1) (1) (1).png diff --git a/.gitbook/assets/image-20190406145634717 (1).png b/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png similarity index 100% rename from .gitbook/assets/image-20190406145634717 (1).png rename to .gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png diff --git a/img/image-20190406145634717.png b/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1).png similarity index 100% rename from img/image-20190406145634717.png rename to .gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (1) (1).png b/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (1) (1).png new file mode 100644 index 0000000..37bc7f3 Binary files /dev/null and b/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (1) (1).png differ diff --git a/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (1).png b/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (1).png new file mode 100644 index 0000000..37bc7f3 Binary files /dev/null and b/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (1).png differ diff --git a/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (2).png b/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (2).png new file mode 100644 index 0000000..37bc7f3 Binary files /dev/null and b/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (2).png differ diff --git a/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2).png b/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2).png new file mode 100644 index 0000000..37bc7f3 Binary files /dev/null and b/.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2).png differ diff --git a/img/image-20190406150007097.png b/.gitbook/assets/image-20190406150007097 (1).png similarity index 100% rename from img/image-20190406150007097.png rename to .gitbook/assets/image-20190406150007097 (1).png diff --git a/img/image-20190406150038398.png b/.gitbook/assets/image-20190406150038398 (1).png similarity index 100% rename from img/image-20190406150038398.png rename to .gitbook/assets/image-20190406150038398 (1).png diff --git a/img/image-20190415150322353.png b/.gitbook/assets/image-20190415150322353.png similarity index 100% rename from img/image-20190415150322353.png rename to .gitbook/assets/image-20190415150322353.png diff --git a/img/image-20190415150849824.png b/.gitbook/assets/image-20190415150849824.png similarity index 100% rename from img/image-20190415150849824.png rename to .gitbook/assets/image-20190415150849824.png diff --git a/img/image-20190415151021170.png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (1).png similarity index 100% rename from img/image-20190415151021170.png rename to .gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (2).png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (2).png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (3).png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (3).png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (3).png differ diff --git a/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1).png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1).png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (2).png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (2).png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (3).png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (3).png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (3).png differ diff --git a/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1).png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1).png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1).png differ diff --git a/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (2).png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (2).png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (2).png differ diff --git a/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (3).png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (3).png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (3).png differ diff --git a/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1).png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1).png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1).png differ diff --git a/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (2).png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (2).png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (2).png differ diff --git a/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (3).png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (3).png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (3).png differ diff --git a/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (4).png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (4).png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (4).png differ diff --git a/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4).png b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4).png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4).png differ diff --git a/.gitbook/assets/image-20190415151021170.png b/.gitbook/assets/image-20190415151021170.png new file mode 100644 index 0000000..d613291 Binary files /dev/null and b/.gitbook/assets/image-20190415151021170.png differ diff --git a/img/image-20190415153151230.png b/.gitbook/assets/image-20190415153151230.png similarity index 100% rename from img/image-20190415153151230.png rename to .gitbook/assets/image-20190415153151230.png diff --git a/img/image-20190415153242500.png b/.gitbook/assets/image-20190415153242500.png similarity index 100% rename from img/image-20190415153242500.png rename to .gitbook/assets/image-20190415153242500.png diff --git a/img/image-20190415160753334.png b/.gitbook/assets/image-20190415160753334.png similarity index 100% rename from img/image-20190415160753334.png rename to .gitbook/assets/image-20190415160753334.png diff --git a/img/image-20190415160852179.png b/.gitbook/assets/image-20190415160852179 (1).png similarity index 100% rename from img/image-20190415160852179.png rename to .gitbook/assets/image-20190415160852179 (1).png diff --git a/.gitbook/assets/image-20190415160852179.png b/.gitbook/assets/image-20190415160852179.png new file mode 100644 index 0000000..12622ca Binary files /dev/null and b/.gitbook/assets/image-20190415160852179.png differ diff --git a/img/image-20190415164642350.png b/.gitbook/assets/image-20190415164642350.png similarity index 100% rename from img/image-20190415164642350.png rename to .gitbook/assets/image-20190415164642350.png diff --git a/img/image-20190415165611900.png b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1) (1).png similarity index 100% rename from img/image-20190415165611900.png rename to .gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1) (2).png b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1) (2).png new file mode 100644 index 0000000..58dc206 Binary files /dev/null and b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1) (3).png b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1) (3).png new file mode 100644 index 0000000..58dc206 Binary files /dev/null and b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1) (3).png differ diff --git a/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1).png b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1).png new file mode 100644 index 0000000..58dc206 Binary files /dev/null and b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (2).png b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (2).png new file mode 100644 index 0000000..58dc206 Binary files /dev/null and b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (3).png b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (3).png new file mode 100644 index 0000000..58dc206 Binary files /dev/null and b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (3).png differ diff --git a/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1).png b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1).png new file mode 100644 index 0000000..58dc206 Binary files /dev/null and b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (2).png b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (2).png new file mode 100644 index 0000000..58dc206 Binary files /dev/null and b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (3).png b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (3).png new file mode 100644 index 0000000..58dc206 Binary files /dev/null and b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (3).png differ diff --git a/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1).png b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1).png new file mode 100644 index 0000000..58dc206 Binary files /dev/null and b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (1).png differ diff --git a/.gitbook/assets/image-20190415165611900 (2) (4) (1) (2).png b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (2).png new file mode 100644 index 0000000..58dc206 Binary files /dev/null and b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (2).png differ diff --git a/.gitbook/assets/image-20190415165611900 (2) (4) (1) (3).png b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (3).png new file mode 100644 index 0000000..58dc206 Binary files /dev/null and b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (3).png differ diff --git a/.gitbook/assets/image-20190415165611900 (2) (4) (1) (4).png b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (4).png new file mode 100644 index 0000000..58dc206 Binary files /dev/null and b/.gitbook/assets/image-20190415165611900 (2) (4) (1) (4).png differ diff --git a/.gitbook/assets/image-20190415165611900 (2) (4) (1).png b/.gitbook/assets/image-20190415165611900 (2) (4) (1).png new file mode 100644 index 0000000..58dc206 Binary files /dev/null and b/.gitbook/assets/image-20190415165611900 (2) (4) (1).png differ diff --git a/img/image-20190415165852940.png b/.gitbook/assets/image-20190415165852940 (2) (1) (1) (1) (1).png similarity index 100% rename from img/image-20190415165852940.png rename to .gitbook/assets/image-20190415165852940 (2) (1) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190415165852940 (2) (1) (1) (1) (2).png b/.gitbook/assets/image-20190415165852940 (2) (1) (1) (1) (2).png new file mode 100644 index 0000000..7dc7abb Binary files /dev/null and b/.gitbook/assets/image-20190415165852940 (2) (1) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190415165852940 (2) (1) (1) (1) (3).png b/.gitbook/assets/image-20190415165852940 (2) (1) (1) (1) (3).png new file mode 100644 index 0000000..7dc7abb Binary files /dev/null and b/.gitbook/assets/image-20190415165852940 (2) (1) (1) (1) (3).png differ diff --git a/.gitbook/assets/image-20190415165852940 (2) (1) (1) (1).png b/.gitbook/assets/image-20190415165852940 (2) (1) (1) (1).png new file mode 100644 index 0000000..7dc7abb Binary files /dev/null and b/.gitbook/assets/image-20190415165852940 (2) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190415165852940 (2) (1) (1) (2).png b/.gitbook/assets/image-20190415165852940 (2) (1) (1) (2).png new file mode 100644 index 0000000..7dc7abb Binary files /dev/null and b/.gitbook/assets/image-20190415165852940 (2) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190415165852940 (2) (1) (1) (3).png b/.gitbook/assets/image-20190415165852940 (2) (1) (1) (3).png new file mode 100644 index 0000000..7dc7abb Binary files /dev/null and b/.gitbook/assets/image-20190415165852940 (2) (1) (1) (3).png differ diff --git a/.gitbook/assets/image-20190415165852940 (2) (1) (1).png b/.gitbook/assets/image-20190415165852940 (2) (1) (1).png new file mode 100644 index 0000000..7dc7abb Binary files /dev/null and b/.gitbook/assets/image-20190415165852940 (2) (1) (1).png differ diff --git a/.gitbook/assets/image-20190415165852940 (2) (1) (2).png b/.gitbook/assets/image-20190415165852940 (2) (1) (2).png new file mode 100644 index 0000000..7dc7abb Binary files /dev/null and b/.gitbook/assets/image-20190415165852940 (2) (1) (2).png differ diff --git a/.gitbook/assets/image-20190415165852940 (2) (1) (3).png b/.gitbook/assets/image-20190415165852940 (2) (1) (3).png new file mode 100644 index 0000000..7dc7abb Binary files /dev/null and b/.gitbook/assets/image-20190415165852940 (2) (1) (3).png differ diff --git a/.gitbook/assets/image-20190415165852940 (2) (1).png b/.gitbook/assets/image-20190415165852940 (2) (1).png new file mode 100644 index 0000000..7dc7abb Binary files /dev/null and b/.gitbook/assets/image-20190415165852940 (2) (1).png differ diff --git a/.gitbook/assets/image-20190415165852940 (2) (2).png b/.gitbook/assets/image-20190415165852940 (2) (2).png new file mode 100644 index 0000000..7dc7abb Binary files /dev/null and b/.gitbook/assets/image-20190415165852940 (2) (2).png differ diff --git a/.gitbook/assets/image-20190415165852940 (2) (3).png b/.gitbook/assets/image-20190415165852940 (2) (3).png new file mode 100644 index 0000000..7dc7abb Binary files /dev/null and b/.gitbook/assets/image-20190415165852940 (2) (3).png differ diff --git a/.gitbook/assets/image-20190415165852940 (2) (4).png b/.gitbook/assets/image-20190415165852940 (2) (4).png new file mode 100644 index 0000000..7dc7abb Binary files /dev/null and b/.gitbook/assets/image-20190415165852940 (2) (4).png differ diff --git a/.gitbook/assets/image-20190415165852940 (2).png b/.gitbook/assets/image-20190415165852940 (2).png new file mode 100644 index 0000000..7dc7abb Binary files /dev/null and b/.gitbook/assets/image-20190415165852940 (2).png differ diff --git a/img/image-20190415170006194.png b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).png similarity index 100% rename from img/image-20190415170006194.png rename to .gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png new file mode 100644 index 0000000..7e5deaa Binary files /dev/null and b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png new file mode 100644 index 0000000..7e5deaa Binary files /dev/null and b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png new file mode 100644 index 0000000..7e5deaa Binary files /dev/null and b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png differ diff --git a/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1).png b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1).png new file mode 100644 index 0000000..7e5deaa Binary files /dev/null and b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1).png differ diff --git a/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (2).png b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (2).png new file mode 100644 index 0000000..7e5deaa Binary files /dev/null and b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (2).png differ diff --git a/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1).png b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1).png new file mode 100644 index 0000000..7e5deaa Binary files /dev/null and b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1).png differ diff --git a/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (2).png b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (2).png new file mode 100644 index 0000000..7e5deaa Binary files /dev/null and b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (2).png differ diff --git a/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (3).png b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (3).png new file mode 100644 index 0000000..7e5deaa Binary files /dev/null and b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (3).png differ diff --git a/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3).png b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3).png new file mode 100644 index 0000000..7e5deaa Binary files /dev/null and b/.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3).png differ diff --git a/.gitbook/assets/image-20190415170006194.png b/.gitbook/assets/image-20190415170006194.png new file mode 100644 index 0000000..7e5deaa Binary files /dev/null and b/.gitbook/assets/image-20190415170006194.png differ diff --git a/img/image-20190415170548304.png b/.gitbook/assets/image-20190415170548304.png similarity index 100% rename from img/image-20190415170548304.png rename to .gitbook/assets/image-20190415170548304.png diff --git a/img/image-20190415171030510.png b/.gitbook/assets/image-20190415171030510.png similarity index 100% rename from img/image-20190415171030510.png rename to .gitbook/assets/image-20190415171030510.png diff --git a/img/image-20190415171117482.png b/.gitbook/assets/image-20190415171117482.png similarity index 100% rename from img/image-20190415171117482.png rename to .gitbook/assets/image-20190415171117482.png diff --git a/img/image-20190415171156881.png b/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png similarity index 100% rename from img/image-20190415171156881.png rename to .gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1).png b/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1).png new file mode 100644 index 0000000..97218c9 Binary files /dev/null and b/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (1) (1).png b/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (1) (1).png new file mode 100644 index 0000000..97218c9 Binary files /dev/null and b/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (1) (1).png differ diff --git a/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (1).png b/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (1).png new file mode 100644 index 0000000..97218c9 Binary files /dev/null and b/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (1).png differ diff --git a/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (2).png b/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (2).png new file mode 100644 index 0000000..97218c9 Binary files /dev/null and b/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (2).png differ diff --git a/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2).png b/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2).png new file mode 100644 index 0000000..97218c9 Binary files /dev/null and b/.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2).png differ diff --git a/.gitbook/assets/image-20190415171156881.png b/.gitbook/assets/image-20190415171156881.png new file mode 100644 index 0000000..97218c9 Binary files /dev/null and b/.gitbook/assets/image-20190415171156881.png differ diff --git a/img/image-20190415171210673.png b/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png similarity index 100% rename from img/image-20190415171210673.png rename to .gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png diff --git a/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (1) (1) (1).png b/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (1) (1) (1).png new file mode 100644 index 0000000..d839ed2 Binary files /dev/null and b/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (1) (1) (1).png differ diff --git a/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (1) (1).png b/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (1) (1).png new file mode 100644 index 0000000..d839ed2 Binary files /dev/null and b/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (1) (1).png differ diff --git a/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (1).png b/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (1).png new file mode 100644 index 0000000..d839ed2 Binary files /dev/null and b/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (1).png differ diff --git a/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (2).png b/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (2).png new file mode 100644 index 0000000..d839ed2 Binary files /dev/null and b/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (2).png differ diff --git a/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2).png b/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2).png new file mode 100644 index 0000000..d839ed2 Binary files /dev/null and b/.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2).png differ diff --git a/.gitbook/assets/image-20190415171210673.png b/.gitbook/assets/image-20190415171210673.png new file mode 100644 index 0000000..d839ed2 Binary files /dev/null and b/.gitbook/assets/image-20190415171210673.png differ diff --git a/img/image-20190415171304634.png b/.gitbook/assets/image-20190415171304634.png similarity index 100% rename from img/image-20190415171304634.png rename to .gitbook/assets/image-20190415171304634.png diff --git a/img/image-20190416104310600.png b/.gitbook/assets/image-20190416104310600.png similarity index 100% rename from img/image-20190416104310600.png rename to .gitbook/assets/image-20190416104310600.png diff --git a/img/image-20190416104451721.png b/.gitbook/assets/image-20190416104451721.png similarity index 100% rename from img/image-20190416104451721.png rename to .gitbook/assets/image-20190416104451721.png diff --git a/img/image-20190416110912808.png b/.gitbook/assets/image-20190416110912808.png similarity index 100% rename from img/image-20190416110912808.png rename to .gitbook/assets/image-20190416110912808.png diff --git a/img/image-20190416111050065.png b/.gitbook/assets/image-20190416111050065.png similarity index 100% rename from img/image-20190416111050065.png rename to .gitbook/assets/image-20190416111050065.png diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png index c074c92..9c514d6 100644 Binary files a/.gitbook/assets/image.png and b/.gitbook/assets/image.png differ diff --git a/.gitbook/assets/les 1a creative coding P5js.pdf b/.gitbook/assets/les 1a creative coding P5js.pdf new file mode 100644 index 0000000..6482779 Binary files /dev/null and b/.gitbook/assets/les 1a creative coding P5js.pdf differ diff --git a/.gitbook/assets/les 1b creative coding P5js (1).pdf b/.gitbook/assets/les 1b creative coding P5js (1).pdf new file mode 100644 index 0000000..1dd405d Binary files /dev/null and b/.gitbook/assets/les 1b creative coding P5js (1).pdf differ diff --git a/.gitbook/assets/les 1b creative coding P5js.pdf b/.gitbook/assets/les 1b creative coding P5js.pdf new file mode 100644 index 0000000..1dd405d Binary files /dev/null and b/.gitbook/assets/les 1b creative coding P5js.pdf differ diff --git a/.gitbook/assets/les 2 1.3.PNG b/.gitbook/assets/les 2 1.3.PNG new file mode 100644 index 0000000..1589f3e Binary files /dev/null and b/.gitbook/assets/les 2 1.3.PNG differ diff --git a/.gitbook/assets/les 2a creative coding P5js.pdf b/.gitbook/assets/les 2a creative coding P5js.pdf new file mode 100644 index 0000000..ce009e6 Binary files /dev/null and b/.gitbook/assets/les 2a creative coding P5js.pdf differ diff --git a/.gitbook/assets/les 3 1.4.PNG b/.gitbook/assets/les 3 1.4.PNG new file mode 100644 index 0000000..eb740d6 Binary files /dev/null and b/.gitbook/assets/les 3 1.4.PNG differ diff --git a/.gitbook/assets/les 4 1.4.PNG b/.gitbook/assets/les 4 1.4.PNG new file mode 100644 index 0000000..751586a Binary files /dev/null and b/.gitbook/assets/les 4 1.4.PNG differ diff --git a/.gitbook/assets/les1-afb1.png b/.gitbook/assets/les1-afb1.png new file mode 100644 index 0000000..b5738c7 Binary files /dev/null and b/.gitbook/assets/les1-afb1.png differ diff --git a/.gitbook/assets/les2a_waardeszoeken.png b/.gitbook/assets/les2a_waardeszoeken.png new file mode 100644 index 0000000..0b50121 Binary files /dev/null and b/.gitbook/assets/les2a_waardeszoeken.png differ diff --git a/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).jpg b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).jpg new file mode 100644 index 0000000..294aa0c Binary files /dev/null and b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).jpg differ diff --git a/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).jpg b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).jpg new file mode 100644 index 0000000..294aa0c Binary files /dev/null and b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).jpg differ diff --git a/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).jpg b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).jpg new file mode 100644 index 0000000..294aa0c Binary files /dev/null and b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).jpg differ diff --git a/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).jpg b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).jpg new file mode 100644 index 0000000..294aa0c Binary files /dev/null and b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).jpg differ diff --git a/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1).jpg b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1).jpg new file mode 100644 index 0000000..294aa0c Binary files /dev/null and b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (1).jpg differ diff --git a/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (2).jpg b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (2).jpg new file mode 100644 index 0000000..294aa0c Binary files /dev/null and b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1) (2).jpg differ diff --git a/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1).jpg b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1).jpg new file mode 100644 index 0000000..294aa0c Binary files /dev/null and b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (1).jpg differ diff --git a/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (2).jpg b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (2).jpg new file mode 100644 index 0000000..294aa0c Binary files /dev/null and b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (2).jpg differ diff --git a/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (3).jpg b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (3).jpg new file mode 100644 index 0000000..294aa0c Binary files /dev/null and b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3) (3).jpg differ diff --git a/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3).jpg b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3).jpg new file mode 100644 index 0000000..294aa0c Binary files /dev/null and b/.gitbook/assets/logoCSCert_10cm (3) (3) (3) (3) (3) (3) (3) (3).jpg differ diff --git a/.gitbook/assets/logoCSCert_10cm.jpg b/.gitbook/assets/logoCSCert_10cm.jpg new file mode 100644 index 0000000..294aa0c Binary files /dev/null and b/.gitbook/assets/logoCSCert_10cm.jpg differ diff --git a/.gitbook/assets/oranje vierkant gevuld.PNG b/.gitbook/assets/oranje vierkant gevuld.PNG new file mode 100644 index 0000000..fd80a4e Binary files /dev/null and b/.gitbook/assets/oranje vierkant gevuld.PNG differ diff --git a/.gitbook/assets/vierkant blauw lijn.PNG b/.gitbook/assets/vierkant blauw lijn.PNG new file mode 100644 index 0000000..e893014 Binary files /dev/null and b/.gitbook/assets/vierkant blauw lijn.PNG differ diff --git a/.gitbook/assets/vierkant zwart driehoek groen lijn.PNG b/.gitbook/assets/vierkant zwart driehoek groen lijn.PNG new file mode 100644 index 0000000..d4a1cf5 Binary files /dev/null and b/.gitbook/assets/vierkant zwart driehoek groen lijn.PNG differ diff --git a/.gitbook/assets/zeshoek rood lijn.PNG b/.gitbook/assets/zeshoek rood lijn.PNG new file mode 100644 index 0000000..3e37740 Binary files /dev/null and b/.gitbook/assets/zeshoek rood lijn.PNG differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1bb4614 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.code-workspace \ No newline at end of file diff --git a/.replit b/.replit new file mode 100644 index 0000000..2aff877 --- /dev/null +++ b/.replit @@ -0,0 +1,2 @@ +language = "bash" +run = "" \ No newline at end of file diff --git a/README.md b/README.md index 9e3ae97..0e9de07 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,15 @@ -# Welkom! +# Welkom bij Codasium! -Welkom op de pagina van 'Python in de klas'. Dit materiaal is bedoeld om Python-lessen te geven in een schoolse setting, met slides en werkbladen voor leerlingen. Het materiaal is gemaakt door Felienne Hermans, met hulp van Lisa van der Plas, Marijn van der Meer en Shirley de Wit. Op dit moment worden de lessen gebruikt op het Metis Montessori in Amsterdam en Lyceum Kralingen in Rotterdam. Ga jij de lessen ook gebruiken? Dan vinden we het leuk om van je te horen! +Welkom op de pagina van het Codasium. Hier delen en organiseren wij het lesmateriaal dat gebruikt wordt in het [Codasium programma](https://www.codasium.nl/) van Lyceum Kralingen en inmiddels ook op andere plekken.\ +\ +Dit materiaal is bedoeld om programmeerlessen te geven met ruime instructie, met slides en werkbladen voor leerlingen. Leerlingen gaan dus niet meteen zelfstandig achter de computer aan het werk maar volgen gezamelijk uitleg met veel interactie.\ +\ +Het materiaal is gemaakt door Felienne Hermans (Lyceum Kralingen/Vrije Universiteit Amsterdam) in samenwerking met VHTO en met hulp van Lisa van der Plas en Marijn van der Meer. Op dit moment worden de lessen gebruikt op het Metis Montessori in Amsterdam en Lyceum Kralingen in Rotterdam. Ga jij de lessen ook gebruiken? Dan vinden we het leuk om van je te horen! -Meer weten? Lees de [handleiding](https://app.gitbook.com/@felienne/s/python-in-de-klas/handleiding), of bekijken meteen de [slides](https://slides.com/felienne/pidk-m1-l1a), [werkblad a](https://app.gitbook.com/@felienne/s/python-in-de-klas/module-nederlands/les-1a) \(voor klassikaal bij het digibord\) en [werkblad b](https://app.gitbook.com/@felienne/s/python-in-de-klas/module-nederlands/les-1b) \(voor achter de computer\) van de eerste les. +Het materiaal is erop gericht om leerlingen stapsgewijs te begeleiden, feedback te geven en hen zelfvertrouwen op te laten bouwen. Door leerlingen al op jongere leeftijd kennis te laten maken met programmeren willen we de keuze voor het vak Informatica in de bovenbouw stimuleren. Belangrijk speerpunten van het materiaal zijn inclusief onderwijs, diversiteit en maatschappelijke relevantie. -## +**Update 2024.** Na jaren itereren is het lesmateriaal van ons eerste jaar uitgegroeid tot een losstaand platform: [Hedy](https://www.hedy.org). Onze originele lessen van jaar 1 zijn voor ons dus geheel vervangen door Hedy. +Meer weten? Lees de [handleiding](https://app.gitbook.com/@felienne/s/python-in-de-klas/handleiding), of bekijk meteen de [slides](https://slides.com/felienne/pidk-m1-l1a), [werkblad a](https://felienne.gitbook.io/python-in-de-klas/module-1.1-nederlands/les-1/les-1a) (voor klassikaal bij het digibord) en [werkblad b](https://felienne.gitbook.io/python-in-de-klas/module-1.1-nederlands/les-1/les-1b) (voor achter de computer) van de eerste les. + +## diff --git a/SUMMARY.md b/SUMMARY.md index af206b1..fc5e0a9 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -1,48 +1,286 @@ # Table of contents -* [Welkom!](README.md) +* [Welkom bij Codasium!](README.md) * [Handleiding](handleiding.md) -* [Module Nederlands](module-nl/README.md) - * [Les 1](module-nl/les-1/README.md) - * [Les 1a](module-nl/les-1/les-1a.md) - * [Les 1b](module-nl/les-1/les-1b.md) - * [Les 2](module-nl/les-2/README.md) - * [Les 2a](module-nl/les-2/les-2a.md) - * [Les 2b](module-nl/les-2/les-2b.md) - * [Les 3](module-nl/les-3/README.md) - * [Les 3a](module-nl/les-3/les-3a.md) - * [Les 3b](module-nl/les-3/les-3b.md) - * [Les 4](module-nl/les-4/README.md) - * [Les 4a](module-nl/les-4/les-4a.md) - * [Les 4b](module-nl/les-4/untitled.md) - * [Les 5](module-nl/les-5/README.md) - * [Les 5a](module-nl/les-5/les-5a.md) - * [Les 5b](module-nl/les-5/les-5b.md) - * [Les 6](module-nl/les-6/README.md) - * [Les 6a](module-nl/les-6/les-6a.md) - * [Les 6b](module-nl/les-6/les-6b.md) - * [Les 7 \(Eindopdracht\)](module-nl/les-7/README.md) - * [Les 7b](module-nl/les-7/les-7b.md) -* [Module Kunst](module-kunst-1/README.md) - * [Les 1](module-kunst-1/les-1/README.md) - * [Les 1a](module-kunst-1/les-1/les-1a.md) - * [Les 1b](module-kunst-1/les-1/les-1b.md) - * [Les 2](module-kunst-1/les-2/README.md) - * [Les 2a](module-kunst-1/les-2/les-2a.md) - * [Les 2b](module-kunst-1/les-2/les-2b.md) - * [Les 3](module-kunst-1/les-3/README.md) - * [Les 3a](module-kunst-1/les-3/les-3a.md) - * [Les 3b](module-kunst-1/les-3/les-3b.md) - * [Les 4](module-kunst-1/les-4/README.md) - * [Les 4a](module-kunst-1/les-4/les-4a-1.md) - * [Les 4b](module-kunst-1/les-4/les-4b.md) - * [Les 5](module-kunst-1/les-5/README.md) - * [Les 5a](module-kunst-1/les-5/les-5a.md) - * [Les 5b](module-kunst-1/les-5/les-5b.md) - * [Les 6 \(Eindopdracht\)](module-kunst-1/les-6-eindopdracht/README.md) - * [Les 6b](module-kunst-1/les-6-eindopdracht/les-6b.md) -* [Module Aardrijkskunde](untitled.md) -* [Module Quiz \(in ontwikkeling\)](module-quiz-in-ontwikkeling/README.md) - * [Les 1](module-quiz-in-ontwikkeling/les-1.md) - * [Les 2](module-quiz-in-ontwikkeling/les-2.md) +* [Moduleoverzicht](moduleoverzicht.md) +* [Module 1.1 - Hedy](module-1.1-hedy.md) +* [Module 1.2 Van Hedy naar Python](module-1.2-van-hedy-naar-python/README.md) + * [Opdracht 1](module-1.2-van-hedy-naar-python/opdracht-1.md) + * [Opdracht 2](module-1.2-van-hedy-naar-python/opdracht-2.md) +* [Module 2.1 - Geschiedenis quiz](module-1.3-geschiedenis/README.md) + * [Les 1](module-1.3-geschiedenis/les-1/README.md) + * [Les 1a](module-1.3-geschiedenis/les-1/les-1a.md) + * [Les 1b](module-1.3-geschiedenis/les-1/les-1b.md) + * [Les 2](module-1.3-geschiedenis/les-2/README.md) + * [Les 2a](module-1.3-geschiedenis/les-2/les-2a.md) + * [Les 2b](module-1.3-geschiedenis/les-2/les-2b.md) + * [Les 3](module-1.3-geschiedenis/les-3/README.md) + * [Les 3a](module-1.3-geschiedenis/les-3/les-3a.md) + * [Les 3b](module-1.3-geschiedenis/les-3/les-3b.md) + * [Les 4](module-1.3-geschiedenis/les-4/README.md) + * [Les 4a](module-1.3-geschiedenis/les-4/les-4a.md) + * [Les 4b](module-1.3-geschiedenis/les-4/les-4b.md) + * [Les 5](module-1.3-geschiedenis/les-5/README.md) + * [Les 5a](module-1.3-geschiedenis/les-5/les-5a.md) + * [Les 5b](module-1.3-geschiedenis/les-5/les-5b.md) + * [Les 6](module-1.3-geschiedenis/les-6/README.md) + * [Les 6b](module-1.3-geschiedenis/les-6/les-6b.md) + * [Les 7](module-1.3-geschiedenis/les-7/README.md) + * [Les 7a](module-1.3-geschiedenis/les-7/les-7a.md) + * [Les 7b](module-1.3-geschiedenis/les-7/les-7b.md) +* [Module 2.2 - PyGame Quiz](module-2.1-pygame-quiz/README.md) + * [Les 1](module-2.1-pygame-quiz/les-1/README.md) + * [Les 1b](module-2.1-pygame-quiz/les-1/opdracht-1.md) + * [Les 2](module-2.1-pygame-quiz/les-2/README.md) + * [Les 2a](module-2.1-pygame-quiz/les-2/les-2a.md) + * [Les 2b](module-2.1-pygame-quiz/les-2/opdracht-1.md) + * [Les 3](module-2.1-pygame-quiz/les-3/README.md) + * [Les 3a](module-2.1-pygame-quiz/les-3/les-3a.md) + * [Les 3b](module-2.1-pygame-quiz/les-3/les-3b.md) + * [Les 4](module-2.1-pygame-quiz/les-4/README.md) + * [Les 4a](module-2.1-pygame-quiz/les-4/les-4a.md) + * [Les 4b](module-2.1-pygame-quiz/les-4/les-4b.md) + * [Les 5](module-2.1-pygame-quiz/les-5/README.md) + * [Les 5a](module-2.1-pygame-quiz/les-5/les-4a.md) + * [Les 5b](module-2.1-pygame-quiz/les-5/les-4b.md) + * [Les 6](module-2.1-pygame-quiz/les-6/README.md) + * [Les 6a](module-2.1-pygame-quiz/les-6/les-6a.md) + * [Les 6b](module-2.1-pygame-quiz/les-6/les-6b.md) + * [Les 7](module-2.1-pygame-quiz/les-7/README.md) + * [Les 7a](module-2.1-pygame-quiz/les-7/les-7a.md) + * [Les 7b](module-2.1-pygame-quiz/les-7/les-7b.md) + * [Les 8](module-2.1-pygame-quiz/les-8/README.md) + * [Les 8a](module-2.1-pygame-quiz/les-8/les-8a.md) + * [Les 8b](module-2.1-pygame-quiz/les-8/les-8b.md) + * [TODOs](module-2.1-pygame-quiz/todos.md) +* [Module 2.3 - Pygame Biologie](module-2.2-pygame-biologie/README.md) + * [Les 1](module-2.2-pygame-biologie/les-1/README.md) + * [Les 1a](module-2.2-pygame-biologie/les-1/les-1a.md) + * [Les 1b](module-2.2-pygame-biologie/les-1/les-1b.md) + * [Les 2](module-2.2-pygame-biologie/les-2-1/README.md) + * [Les 2a](module-2.2-pygame-biologie/les-2-1/les-2a.md) + * [Les 2b](module-2.2-pygame-biologie/les-2-1/les-2b.md) + * [Les 3](module-2.2-pygame-biologie/les-2/README.md) + * [Les 3a](module-2.2-pygame-biologie/les-2/les-2a.md) + * [Les 3b](module-2.2-pygame-biologie/les-2/les-2b.md) + * [Les 4](module-2.2-pygame-biologie/les-4/README.md) + * [Les 4b](module-2.2-pygame-biologie/les-4/les-4b.md) + * [Les 5](module-2.2-pygame-biologie/les-5/README.md) + * [Les 5b](module-2.2-pygame-biologie/les-5/les-5b.md) +* [Module 2.4 - Rekenmachine](module-2.3-rekenmachine/README.md) + * [Les 1](module-2.3-rekenmachine/les-1/README.md) + * [Les 1a](module-2.3-rekenmachine/les-1/les-1a.md) + * [Les 1b](module-2.3-rekenmachine/les-1/les-1b.md) + * [Les 2](module-2.3-rekenmachine/les-2/README.md) + * [Les 2a](module-2.3-rekenmachine/les-2/les-2a.md) + * [Les 2b](module-2.3-rekenmachine/les-2/les-2b.md) + * [Les 3](module-2.3-rekenmachine/les-3/README.md) + * [Les 3a](module-2.3-rekenmachine/les-3/les-3a.md) + * [Les 3b](module-2.3-rekenmachine/les-3/les-3b.md) + * [Les 4](module-2.3-rekenmachine/les-4/README.md) + * [Les 4a](module-2.3-rekenmachine/les-4/les-4a.md) + * [Les 4b](module-2.3-rekenmachine/les-4/les-4b.md) + * [Les 5](module-2.3-rekenmachine/les-5/README.md) + * [Les 5a](module-2.3-rekenmachine/les-5/les-5a.md) + * [Les 5b](module-2.3-rekenmachine/les-5/les-5b.md) + * [Les 6](module-2.3-rekenmachine/les-6/README.md) + * [Les 6a](module-2.3-rekenmachine/les-6/les-6a.md) + * [Les 6b](module-2.3-rekenmachine/les-6/les-6b.md) + * [Les 7 (extra)](module-2.3-rekenmachine/les-7/README.md) + * [Les 7a](module-2.3-rekenmachine/les-7/les-7a.md) + * [Les 7b](module-2.3-rekenmachine/les-7/les-7b.md) +* [Module 2.5 - Microbit](module-2.5-microbit.md) +* [Module 2.6 - Creative Coding](module-2.6-creative-coding/README.md) + * [Les 1a](module-2.6-creative-coding/les-1a.md) + * [Les 1b](module-2.6-creative-coding/les-1b.md) + * [Les 2a](module-2.6-creative-coding/les-2a.md) + * [Les 2b](module-2.6-creative-coding/les-2b.md) +* [Module 3.1 - Spreadsheets](module-3.1-spreadsheets/README.md) + * [Les 1](module-3.1-spreadsheets/les-1/README.md) + * [Les 1b](module-3.1-spreadsheets/les-1/les-1b.md) + * [Les 2](module-3.1-spreadsheets/les-2/README.md) + * [Les 2b](module-3.1-spreadsheets/les-2/les-2b.md) + * [Les 3](module-3.1-spreadsheets/les-3/README.md) + * [Les 3b](module-3.1-spreadsheets/les-3/les-3b.md) + * [Les 4](module-3.1-spreadsheets/les-4/README.md) + * [Les 4b](module-3.1-spreadsheets/les-4/les-4b.md) + * [Les 5](module-3.1-spreadsheets/les-5/README.md) + * [Les 5b](module-3.1-spreadsheets/les-5/les-5b.md) + * [Les 6 en 7](module-3.1-spreadsheets/les-6/README.md) + * [Les 6b](module-3.1-spreadsheets/les-6/les-6b.md) + * [Les 8 - Eindopdracht](module-3.1-spreadsheets/les-7/README.md) + * [Les 8b](module-3.1-spreadsheets/les-7/les-8b.md) +* [Module 3.2 - Databases](module-3.2-databases/README.md) + * [Les 1](module-3.2-databases/les-1/README.md) + * [Les 1b](module-3.2-databases/les-1/les-1b.md) + * [Les 2](module-3.2-databases/les-2/README.md) + * [Les 2b](module-3.2-databases/les-2/les-2b.md) + * [Les 3](module-3.2-databases/les-3/README.md) + * [Les 3b](module-3.2-databases/les-3/les-3b.md) + * [Les 4](module-3.2-databases/les-4/README.md) + * [Les 4b](module-3.2-databases/les-4/les-4b.md) + * [Les 5](module-3.2-databases/les-5/README.md) + * [Les 5b](module-3.2-databases/les-5/les-5b.md) + * [Les 6](module-3.2-databases/les-6/README.md) + * [Les 6b](module-3.2-databases/les-6/les-6b.md) + * [Les 7](module-3.2-databases/les-7/README.md) + * [Les 7b](module-3.2-databases/les-7/les-7b.md) + * [Les 8](module-3.2-databases/les-8.md) + * [Les 8b](module-3.2-databases/les-8/les-8b.md) +* [Module 3.3 - TkInter Rekenmachine](module-4.1-tkinter/README.md) + * [Les 1](module-4.1-tkinter/les-1/README.md) + * [Les 1a](module-4.1-tkinter/les-1/les-1a.md) + * [Les 1b](module-4.1-tkinter/les-1/les-1b.md) + * [Les 2](module-4.1-tkinter/les-2/README.md) + * [Les 2a](module-4.1-tkinter/les-2/les-2a.md) + * [Les 2b](module-4.1-tkinter/les-2/les-2b.md) + * [Les 3](module-4.1-tkinter/les-3/README.md) + * [Les 3b](module-4.1-tkinter/les-3/les-3b.md) + * [Les 4](module-4.1-tkinter/les-4/README.md) + * [Les 4b](module-4.1-tkinter/les-4/les-4b.md) + * [Les 5](module-4.1-tkinter/les-5/README.md) + * [Les 5b](module-4.1-tkinter/les-5/les-5b.md) + * [Les 6](module-4.1-tkinter/les-6/README.md) + * [Les 6b](module-4.1-tkinter/les-6/les-6b.md) + * [Les 7](module-4.1-tkinter/les-7/README.md) + * [Les 7b](module-4.1-tkinter/les-7/les-7b.md) + * [Les 8](module-4.1-tkinter/les-7-1/README.md) + * [Les 8b](module-4.1-tkinter/les-7-1/les-7b.md) +* [Module 3.4 - TKinter Woordenoefenapp](module-3.3-woordenoefenapp/README.md) + * [Les 1](module-3.3-woordenoefenapp/les-1/README.md) + * [Les 1b](module-3.3-woordenoefenapp/les-1/les-1b.md) + * [Les 2](module-3.3-woordenoefenapp/les-2/README.md) + * [Les 2b](module-3.3-woordenoefenapp/les-2/les-2b.md) + * [Les 3](module-3.3-woordenoefenapp/les-3/README.md) + * [Les 3b](module-3.3-woordenoefenapp/les-3/les-3b.md) + * [Les 4](module-3.3-woordenoefenapp/les-4/README.md) + * [Les 4b](module-3.3-woordenoefenapp/les-4/les-4b.md) + * [Les 5](module-3.3-woordenoefenapp/les-5/README.md) + * [Les 5b](module-3.3-woordenoefenapp/les-5/les-5b-1.md) + * [Les 6](module-3.3-woordenoefenapp/les-6.md) + * [Les 6b](module-3.3-woordenoefenapp/les-5/les-5b.md) + * [Les 7](module-3.3-woordenoefenapp/les-7/README.md) + * [Les 7b](module-3.3-woordenoefenapp/les-7/les-7b.md) + * [Les 8](module-3.3-woordenoefenapp/les-8/README.md) + * [Les 8b](module-3.3-woordenoefenapp/les-8/les-8b.md) +* [Module 3.5 - Arduino](module-3.4-arduino/README.md) + * [Les 1](module-3.4-arduino/les-1/README.md) + * [Les 1b](module-3.4-arduino/les-1/les-1b.md) + * [Les 2](module-3.4-arduino/les-2/README.md) + * [Les 2b](module-3.4-arduino/les-2/les-2b.md) + * [Les 3](module-3.4-arduino/les-3/README.md) + * [Les 3b](module-3.4-arduino/les-3/les-3b.md) + * [Les 4](module-3.4-arduino/les-4/README.md) + * [Les 4b](module-3.4-arduino/les-4/les-4b.md) + * [Les 5](module-3.4-arduino/les-5/README.md) + * [Les 5b](module-3.4-arduino/les-5/les-5b.md) + * [Les 6](module-3.4-arduino/les-6/README.md) + * [Les 6b](module-3.4-arduino/les-6/les-6b.md) + * [Les 7](module-3.4-arduino/les-7/README.md) + * [Les 7b](module-3.4-arduino/les-7/les-7b.md) + * [Les 8](module-3.4-arduino/les-8/README.md) + * [Les 8b](module-3.4-arduino/les-8/les-8b.md) +* [Module 4.1 - JavaScript](module-4.2-javascript/README.md) + * [Les 1](module-4.2-javascript/les-1/README.md) + * [Les 1b](module-4.2-javascript/les-1/les-1b.md) + * [Les 2](module-4.2-javascript/les-2/README.md) + * [Les 2b](module-4.2-javascript/les-2/les-2b.md) + * [Les 3](module-4.2-javascript/les-3/README.md) + * [Les 3b](module-4.2-javascript/les-3/les-3b.md) + * [Les 4](module-4.2-javascript/les-4/README.md) + * [Les 4b](module-4.2-javascript/les-4/les-4b.md) + * [Les 5](module-4.2-javascript/les-5/README.md) + * [Les 5b](module-4.2-javascript/les-5/les-5b.md) + * [Les 6](module-4.2-javascript/les-6/README.md) + * [Les 6b](module-4.2-javascript/les-6/les-6b.md) + * [Les 7](module-4.2-javascript/les-7/README.md) + * [Les 7b](module-4.2-javascript/les-7/les-7b.md) + * [Les 8](module-4.2-javascript/les-8/README.md) + * [Les 8b](module-4.2-javascript/les-8/les-8b.md) +* [Module 4.2 - Game maken](module-4.2-game-maken.md) +* [Module 4.3 - EU app (TODO)](module-4.3-eu-app-todo.md) +* [Module 5.1 - Eigen project](module-5.1-tekstanalyse/README.md) +* [Module 5.2 - Generatieve AI](module-5.1-tekstanalyse-1/README.md) + * [Les 1](module-5.1-tekstanalyse-1/les-1/README.md) + * [Les 1a](module-5.1-tekstanalyse-1/les-1/les-1a.md) + * [Les 1b](module-5.1-tekstanalyse-1/les-1/les-1b.md) + * [Les 2](module-5.1-tekstanalyse-1/les-2/README.md) + * [Les 2a](module-5.1-tekstanalyse-1/les-2/les-2a.md) + * [Les 2b](module-5.1-tekstanalyse-1/les-2/les-2b.md) + * [Les 3](module-5.1-tekstanalyse-1/les-3/README.md) + * [Les 3a](module-5.1-tekstanalyse-1/les-3/les-3a.md) + * [Les 3b](module-5.1-tekstanalyse-1/les-3/les-3b.md) + * [Les 4](module-5.1-tekstanalyse-1/les-4/README.md) + * [Les 4a](module-5.1-tekstanalyse-1/les-4/les-4a.md) + * [Les 4b](module-5.1-tekstanalyse-1/les-4/les-4b.md) +* [Module 6.1 - Boekenproject](module-6.1-boekenproject/README.md) + * [Les 1 - Leeswijzer - Basis](module-6.1-boekenproject/les-1-leeswijzer-basis.md) + * [Les 2 - Leeswijzer - Verdieping](module-6.1-boekenproject/les-2-leeswijzer-verdieping.md) + * [Les 3 - Opdrachten](module-6.1-boekenproject/les-3-opdrachten.md) + * [Les 4 - Opdrachten](module-6.1-boekenproject/les-4-opdrachten.md) +* [Module 6.2 - Algoritmiek](module-6.2-algoritmiek.md) +## 💤 Archief + +* [Module 1.1 - Nederlands](archief/module-1.1-nederlands/README.md) + * [Spiekbrief](archief/module-1.1-nederlands/spiekbrief/README.md) + * [Spiekbrief - in te vullen](archief/module-1.1-nederlands/spiekbrief/spiekbrief-in-te-vullen.md) + * [Spiekbrief - ingevuld](archief/module-1.1-nederlands/spiekbrief/spiekbrief-ingevuld.md) + * [Les 1](archief/module-1.1-nederlands/les-1/README.md) + * [Les 1a](archief/module-1.1-nederlands/les-1/les-1a.md) + * [Les 1b](archief/module-1.1-nederlands/les-1/les-1b.md) + * [Les 2](archief/module-1.1-nederlands/les-2/README.md) + * [Les 2a](archief/module-1.1-nederlands/les-2/les-2a.md) + * [Les 2b](archief/module-1.1-nederlands/les-2/les-2b.md) + * [Les 3](archief/module-1.1-nederlands/les-3/README.md) + * [Les 3a](archief/module-1.1-nederlands/les-3/les-3a.md) + * [Les 3b](archief/module-1.1-nederlands/les-3/les-3b.md) + * [Les 4](archief/module-1.1-nederlands/les-4/README.md) + * [Les 4a](archief/module-1.1-nederlands/les-4/les-4a.md) + * [Les 4b](archief/module-1.1-nederlands/les-4/les-4b.md) + * [Les 5](archief/module-1.1-nederlands/les-5/README.md) + * [Les 5a](archief/module-1.1-nederlands/les-5/les-5a.md) + * [Les 5b](archief/module-1.1-nederlands/les-5/les-5b.md) + * [Eindopdracht](archief/module-1.1-nederlands/eindopdracht/README.md) + * [Eindopdracht](archief/module-1.1-nederlands/eindopdracht/eindopdracht.md) + * [Nakijkbladen](archief/module-1.1-nederlands/nakijkbladen/README.md) + * [Les 1](archief/module-1.1-nederlands/nakijkbladen/les-1-nakijkmodel.md) + * [Les 2](archief/module-1.1-nederlands/nakijkbladen/les-2-nakijkmodel.md) + * [Les 3](archief/module-1.1-nederlands/nakijkbladen/les-3-nakijkmodel.md) + * [Les 4](archief/module-1.1-nederlands/nakijkbladen/les-4-nakijkmodel.md) + * [Les 5](archief/module-1.1-nederlands/nakijkbladen/les-5-nakijkmodel.md) +* [Module 1.2 - Kunst](archief/module-1.2-kunst/README.md) + * [Les 1](archief/module-1.2-kunst/les-1/README.md) + * [Les 1a](archief/module-1.2-kunst/les-1/les-1a.md) + * [Les 1b](archief/module-1.2-kunst/les-1/les-1b.md) + * [Les 2](archief/module-1.2-kunst/les-2/README.md) + * [Les 2a](archief/module-1.2-kunst/les-2/les-2a.md) + * [Les 2b](archief/module-1.2-kunst/les-2/les-2b.md) + * [Les 3](archief/module-1.2-kunst/les-3/README.md) + * [Les 3a](archief/module-1.2-kunst/les-3/les-3a.md) + * [Les 3b](archief/module-1.2-kunst/les-3/les-3b.md) + * [Les 4](archief/module-1.2-kunst/les-4/README.md) + * [Les 4a](archief/module-1.2-kunst/les-4/les-4a.md) + * [Les 4b](archief/module-1.2-kunst/les-4/les-4b.md) + * [Les 5](archief/module-1.2-kunst/les-5/README.md) + * [Les 5a](archief/module-1.2-kunst/les-5/les-5a.md) + * [Les 5b](archief/module-1.2-kunst/les-5/les-5b.md) + * [Eindopdracht](archief/module-1.2-kunst/les-6-eindopdracht/README.md) + * [Les 6b](archief/module-1.2-kunst/les-6-eindopdracht/les-6b.md) + * [Nakijkbladen](archief/module-1.2-kunst/nakijkbladen/README.md) + * [Les 1](archief/module-1.2-kunst/nakijkbladen/les-1-nakijkmodel.md) + * [Les 2](archief/module-1.2-kunst/nakijkbladen/les-2-nakijkmodel.md) + * [Les 3](archief/module-1.2-kunst/nakijkbladen/les-3-nakijkmodel.md) + * [Les 4](archief/module-1.2-kunst/nakijkbladen/les-4-nakijkmodel.md) + * [Les 5](archief/module-1.2-kunst/nakijkbladen/les-5-nakijkmodel.md) +* [Module 4.1 - Flask](archief/module-4.1-flask/README.md) + * [Les 1](archief/module-4.1-flask/les-1/README.md) + * [Les 1b](archief/module-4.1-flask/les-1/les-1b.md) + * [Les 2](archief/module-4.1-flask/les-2/README.md) + * [Les 2b](archief/module-4.1-flask/les-2/les-2b.md) + * [Les 3](archief/module-4.1-flask/les-3/README.md) + * [Les 3b](archief/module-4.1-flask/les-3/les-3b.md) + * [Les 4](archief/module-4.1-flask/les-4/README.md) + * [Les 4b](archief/module-4.1-flask/les-4/les-4b.md) + * [Les 5](archief/module-4.1-flask/les-5/README.md) + * [Les 5b](archief/module-4.1-flask/les-5/les-5b.md) diff --git a/Style.css b/Style.css new file mode 100644 index 0000000..5c6506d --- /dev/null +++ b/Style.css @@ -0,0 +1,9 @@ +body { + font: verdana; + size: 12px; + color: black; +} + +h1, h2, h3 { + font-weight: bold; +} \ No newline at end of file diff --git a/archief/module-1.1-nederlands/README.md b/archief/module-1.1-nederlands/README.md new file mode 100644 index 0000000..ca717bd --- /dev/null +++ b/archief/module-1.1-nederlands/README.md @@ -0,0 +1,40 @@ +# Module 1.1 - Nederlands + +## Instructie voor de leerkracht + +In deze module gaan leerlingen een interactief verhaal maken met Python. Leerlingen kiezen zelf een hoofdfiguur en een aantal gebeurtenissen die plaats kunnen vinden. Op aangewezen moment kan de lezer van het verhaal keuzes maken over de afloop. Leerlingen die snel door het materiaal gaat, maken ook gebruik van willekeurige keuzes in het verhaal. + +## Doelen van deze module + +De leerlingen zullen, stapsgewijs, meerdere concepten leren. In de module Nederlands zullen leerlingen het volgende leren; + +1. Datatype String gebruiken +2. Commentaar schrijven +3. Variabele declareren, definiëren en gebruiken +4. Lijst declareren, definiëren en gebruiken +5. Gebruikersinput inlezen +6. If-else statements gebruiken +7. Foutmeldingen herkennen en oplossen + +## Voorbeeld + +Op deze link staat een voorbeeld: [https://repl.it/@mevrHermans/Verhaal-Demonstratie](https://repl.it/@mevrHermans/Verhaal-Demonstratie) + +![Voorbeeldcode (links) en de uitvoer van deze code (rechts)](../../.gitbook/assets/screen-shot-2019-12-01-at-2.23.57-pm.png) + +Probeer dit zelf voor de les al even uit. Je ziet dat de lezer van het verhaal naar hun naam gevraagd wordt, en dat er dan steeds een ander zinnetje in beeld komt. + +## Opzet van de lessen + +Iedere module bestaat steeds uit twee delen: a en b + +a) Klassikale les met slides, en werkbladen deel a om in de klassikale les te maken\ +b) Werkbladen zodat leerlingen zelf aan de slag kunnen achter de computer + +## Slides + +Je vindt alle [slides van Module Nederlands](https://slides.com/felienne/decks/pidk-m1) bij elkaar op deze pagina. + +## Proefwerken + +We hebben ook proefwerken maar die zetten we liever niet openbaar op internet, wie weet dat een leerling ze vindt. Heb je ze nodig, neem even contact met ons op: f.f.j.hermans@liacs.leidenuniv.nl diff --git a/archief/module-1.1-nederlands/eindopdracht/README.md b/archief/module-1.1-nederlands/eindopdracht/README.md new file mode 100644 index 0000000..a913b9d --- /dev/null +++ b/archief/module-1.1-nederlands/eindopdracht/README.md @@ -0,0 +1,8 @@ +# Eindopdracht + +In de eindopdracht komen alle geleerde concepten uit de module Nederlands aan bod. Mocht je de eindopdracht in een zesde les behandelen, kun je ervoor kiezen om in deel a de geleerde concepten te herhalen met onderstaande slides. In deze slides vind je voornamelijk opdrachten. Leerlingen kunnen antwoorden op hun wisbordje of in hun schrift schrijven. Indien gewenst kun je deze les ook als SO gebruiken. In deel b kunnen leerlingen aan de slag met de eindopdracht. + +## Slides + +[Module Nederlands, eindopdracht](https://slides.com/felienne/pidk-m1-l6a) + diff --git a/module-nl/les-7/les-7b.md b/archief/module-1.1-nederlands/eindopdracht/eindopdracht.md similarity index 66% rename from module-nl/les-7/les-7b.md rename to archief/module-1.1-nederlands/eindopdracht/eindopdracht.md index 37303ff..20d32a2 100644 --- a/module-nl/les-7/les-7b.md +++ b/archief/module-1.1-nederlands/eindopdracht/eindopdracht.md @@ -1,12 +1,10 @@ -# Les 7b +# Eindopdracht -## Opdracht 7b-1\) Maak je verhaal! +## 1\) Maak je verhaal! Je hebt de afgelopen weken een hoop geleerd. -Nu is het tijd om een heel verhaal te maken. **Je krijgt hiervoor een cijfer.** - -Deze dingen moeten in je verhaal zitten voor een voldoende: +Nu is het tijd om een heel verhaal te maken. Deze dingen moeten in je verhaal zitten voor een voldoende: * Minstens 25 zinnen * Minstens 3 variabele die je definieert én gebruikt @@ -17,10 +15,10 @@ Deze dingen moeten in je verhaal zitten voor een voldoende: Je kunt extra punten verdienen door: * Het gebruiken van een lijst -* Het gebruiken van random.shuffle\(\) <— vergeet dan niet om `import random` bovenaan je code te zetten! +* Het gebruiken van `random.shuffle()` <— vergeet dan niet om `import random` bovenaan je code te zetten! * Andere coole dingen die je kunt verzinnen! -## Opdracht 7b-2\) Wat vond je ervan? +## 2\) Wat vond je ervan? We willen graag weten wat jij van de lessen tot nu toe vond. diff --git a/archief/module-1.1-nederlands/les-1/README.md b/archief/module-1.1-nederlands/les-1/README.md new file mode 100644 index 0000000..cf1b2d3 --- /dev/null +++ b/archief/module-1.1-nederlands/les-1/README.md @@ -0,0 +1,15 @@ +# Les 1 + +## Slides + +[Module Nederlands, les 1](https://slides.com/felienne/pidk-m1-l1a) + +## Leerdoelen + +* Python-code schrijven in repl.it +* `print()`gebruiken om woorden te laten zien +* aanhalingstekens gebruiken +* meerdere regels laten zien +* goede en foute `print()`-codes vinden +* weten wat je moet doen als je een foutmelding van Python krijgt + diff --git a/module-nl/les-1/les-1a.md b/archief/module-1.1-nederlands/les-1/les-1a.md similarity index 57% rename from module-nl/les-1/les-1a.md rename to archief/module-1.1-nederlands/les-1/les-1a.md index f7b260f..d2bd93f 100644 --- a/module-nl/les-1/les-1a.md +++ b/archief/module-1.1-nederlands/les-1/les-1a.md @@ -5,22 +5,23 @@ Aan het einde van de les kun jij: * Python-code schrijven in repl.it -* print\(\) gebruiken om woorden te laten zien -* aanhalingstekens gebruiken +* `print()` gebruiken om woorden te laten zien +* meerdere regels laten zien +* aanhalingstekens gebruiken * goede en foute print-codes vinden * weten wat je moet doen als je een foutmelding van Python krijgt -**Een woord printen** +### Een woord printen -Je hebt net op het bord de print\(\) opdracht gezien. +Je hebt net op het bord de `print()` opdracht gezien. -Een print\(\) opdracht print een woord uit, als het tussen aanhalingstekens staat. Bijvoorbeeld zo: +Een `print()` opdracht print een woord uit, als het tussen aanhalingstekens staat. Bijvoorbeeld zo: ```python print('Goedemorgen') ``` -1\) Welke van deze print\(\) opdrachten print **Hallo** uit? +1\) Welke van deze `print()` opdrachten print **Hallo** uit? Schrijf de goede code over in je schrift! @@ -38,7 +39,7 @@ Tip: **Let goed op de aanhalingstekens!** 5. print('Hallo') ``` -2\) Maak deze print\(\) opdracht zelf af zodat er **Allemaal** in beeld komt. +2\) Maak deze `print()` opdracht zelf af zodat er **Allemaal** in beeld komt. ```python print ... ... Allemaal ... ... @@ -48,9 +49,11 @@ Schrijf de code over in je schrift. 3\) Kies nu zelf drie woorden uit om te printen. Schrijf de goede codes in je schrift op. -**Meerdere woorden printen** +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel -Een print\(\) kan ook meerdere woorden printen. Dan moeten er komma's tussen de woorden. Let goed op, ieder woord moet nog steeds tussen twee aanhalingstekens. +### Meerdere woorden printen + +Een `print()` kan ook meerdere woorden printen. Dan moeten er komma's tussen de woorden. Let goed op, ieder woord moet nog steeds tussen twee aanhalingstekens. Zo: @@ -60,11 +63,11 @@ print('Goedemorgen', 'allemaal') Op de plek van de komma komt een spatie in de uitvoer. -![image-20190126194646749](../../.gitbook/assets/image-20190126194716104.png) +![image-20190126194646749](../../../.gitbook/assets/image-20190126194716104.png) Python stopt met printen bij een aanhalingsteken. -1\) Welke van deze print\(\) opdrachten print **Hallo klas** uit? +1\) Welke van deze `print()` opdrachten print **Hallo klas** uit? Schrijf de goede code over in je schrift. Kijk goed naar de aanhalingstekens! @@ -76,15 +79,17 @@ Schrijf de goede code over in je schrift. Kijk goed naar de aanhalingstekens! 5. print("Hallo', 'klas") ``` -2\) Maak deze print\(\) opdracht zelf af zodat er **Hallo allemaal** in beeld komt. +2\) Maak deze `print()` opdracht zelf af zodat er **Hallo allemaal** in beeld komt. -print ... ... Hallo ... ... ... Allemaal ... ... +print ... ... Hallo ... ... ... allemaal ... ... Schrijf de code in je schrift. 3\) Kies nu zelf twee woorden om naast elkaar te printen. Schrijf de goede code op in je schrift. -**Zinnetjes** +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel + +### Zinnetjes printen Je kunt zoveel woorden combineren met komma's als je maar wilt! Bijvoorbeeld: @@ -92,7 +97,7 @@ Je kunt zoveel woorden combineren met komma's als je maar wilt! Bijvoorbeeld: print('Goedemorgen', 'leerlingen', 'uit', 'deze', 'klas') ``` -1\) Welke van deze print\(\) opdrachten print **ik hou van programmeren** uit? +1\) Welke van deze `print()` opdrachten print **ik hou van programmeren** uit? Schrijf de goede code over in je schrift. @@ -124,11 +129,70 @@ Weet jij welke code goed is? Schrijf drie codes voor zinnetjes in je schrift. -**Foutmeldingen** +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel + +### Onder elkaar + +1\) Wat printen deze codes uit? Schrijf het antwoord op in je schrift! Wees _heel_ precies. + +Let op: **Er zitten ook foute codes tussen!** Als een code fout is, schrijf dan op: **FOUT.** + +```python +1.print('Hallo', 'allemaal') +``` + +```python +2.print('Hallo) + print('Allemaal') +``` + +```python +3.print('Hallo' , allemaal') +``` + +```python +4.print('Hallo') + print('allemaal') +``` + +```python +5.prit('Hallo') + prit('Allemaal') +``` + +2\) Hier staan drie codes en drie resultaten: de woorden die in beeld komen. + +Welke code hoort bij welk resultaat? + +Schrijf de codes over in je schrift, met het resultaat erachter. + +Bijvoorbeeld: + +```python +print('test') > test +``` + +**Let op:** een van de drie codes geeft een fout. + +Codes: Resultaten: + +```python +print(goedemorgen) # >goedemorgen +``` + +```python +print('Goedemorgen') # >Goedemorgen +``` + +```python +print('goedemorgen') # >FOUT +``` + +### Foutmeldingen Soms geeft Python een foutmelding. -![image-20190126194646749](../../.gitbook/assets/image-20190126194646749.png) +![image-20190126194646749](../../../.gitbook/assets/image-20190126194646749.png) 1\) Je ziet hier vijf foute codes. Wat is de fout? Schrijf het op in je schrift. @@ -156,3 +220,4 @@ Deze code is fout omdat er maar 1 aanhalingsteken om het woord staat. 3\) Schijf nu in je schrift de goede versie op van de 3 verkeerde codes hierboven. +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel diff --git a/archief/module-1.1-nederlands/les-1/les-1b.md b/archief/module-1.1-nederlands/les-1/les-1b.md new file mode 100644 index 0000000..3673d38 --- /dev/null +++ b/archief/module-1.1-nederlands/les-1/les-1b.md @@ -0,0 +1,62 @@ +# Les 1b + +## 1\) Maak een repl.it account + +Deze opdracht wordt afgetekend als: + +* Je een account hebt gemaakt op repl.it +* Gebruik als username je leerlingnummer +* Gebruik als emailadres je school-emai +* Gebruik als wachtwoord je wachtwoord van school +* Je in onze classroom zit door naar de link te gaan die je van je leraar krijgt. + +## 2\) Schrijf een woord + +Deze opdracht wordt afgetekend als: + +* Je de code in Python in je schrift kan schrijven om je naam te printen +* Je dezelfde code ook kan uitvoeren in repl.it + +**Opdracht.** + +Je gaat proberen je naam uit te printen met Python-code. + +Volg deze stappen: + +1. Schrijf de code om een zinnetje te printen in je schrift op. +2. Typ de code dan over uit je schrift. + +Gefeliciteerd! Jij hebt nu je allereerste Python-programma gemaakt! + +## 3\) Schrijf een zin + +Deze opdracht wordt afgetekend als: + +* Je de code in Python in je schrift kan schrijven om een zinnetje te printen +* Je dezelfde code ook kan uitvoeren in repl.it + +**Opdracht.** + +Nu is het tijd voor een hele zin. Je gaat de dag van de week in een zin zetten. Bijvoorbeeld als het maandag is, het zinnetje: **Het is vandaag maandag** + +Volg deze stappen: + +1. Schrijf de code om een zinnetje te printen in je schrift op +2. Typ de code dan over uit je schrift + +Gefeliciteerd! Jij hebt nu je tweede Python-programma gemaakt! + +## 4\) Schijf meerdere zinnen + +Deze les wordt afgetekend als: + +* Je een samenhangend verhaal van minstens drie zinnen print met `print()`, +* Het verhaal als hoofdrolspeler een dier heeft. Je mag zelf kiezen welk dier. + +**Opdracht.** + +Print nu een verhaal over een dier. Je mag zelf bedenken waar het verhaal over gaat. Volg deze stappen: + +1. Schrijf de code om een verhaaltje te printen in je schrift op +2. Typ de code dan over uit je schrift + diff --git a/module-nl/les-3/README.md b/archief/module-1.1-nederlands/les-2/README.md similarity index 50% rename from module-nl/les-3/README.md rename to archief/module-1.1-nederlands/les-2/README.md index 40d5c41..0a322d4 100644 --- a/module-nl/les-3/README.md +++ b/archief/module-1.1-nederlands/les-2/README.md @@ -1,13 +1,14 @@ -# Les 3 +# Les 2 ## Slides -[Module Nederlands, les 3](https://slides.com/felienne/pidk-m1-l3a#/) +[Module Nederlands, les 2](https://slides.com/felienne/pidk-m1-l2a) ## Leerdoelen +* 'commentaar' schrijven en herkennen * tekst opslaan in een variabele * een variabele gebruiken om een tekst meerdere keren te printen * voorspellen wat een code doet met een variabele erin -* goede en foute print\(\)-codes vinden met een variabele erin +* goede en foute `print()`-codes vinden met een variabele erin diff --git a/archief/module-1.1-nederlands/les-2/les-2a.md b/archief/module-1.1-nederlands/les-2/les-2a.md new file mode 100644 index 0000000..b209589 --- /dev/null +++ b/archief/module-1.1-nederlands/les-2/les-2a.md @@ -0,0 +1,289 @@ +# Les 2a + +## Variabelen + +Aan het einde van de les kun jij: + +* 'commentaar' schrijven en herkennen +* tekst opslaan in een variabele +* een variabele gebruiken om een tekst meerdere keren te printen +* voorspellen wat een code doet met een variabele erin +* goede en foute `print()`-codes vinden met een variabele erin + +### Even opfrissen! + +Vorige week hebben we de `print()` opdracht gezien. + +Een `print()` opdracht print een woord uit, als het tussen aanhalingstekens staat. Bijvoorbeeld zo: + +```python +print('Goedemorgen') +``` + +Je kunt ook meerdere woorden printen, bijvoorbeeld: + +```python +print('Goedemorgen', 'leerlingen', 'uit', 'deze', 'klas) +``` + +1\) Welke van deze `print()` opdrachten print **Goedemorgen** uit? + +Schrijf de goede code over in je schrift! + +Tip: **Let goed op de aanhalingstekens!** + +```python +1. print Goedemorgen + +2. print('Goedemorgen") + +3. print(Goedemorgen) + +4. print("Goedemorgen') + +5. print('Goedemorgen') +``` + +2\) Welke van deze `print()` opdrachten print **Python is een programmeertaal** uit? + +Schrijf de goede code over in je schrift. + +Tip: Let goed op, de goede code heeft: + +* Ronde haakjes +* Een aanhalingsteken voor en na ieder woord +* Komma's tussen alle woorden + +Weet jij welke code goed is? + +```python +1. print('Python', 'is', 'een', 'programmeertaal') + +2. print('Python', is, een, 'programmeertaal') + +3. print('Python', 'is', 'een' 'programmeertaal') + +4. print Python is een programmeertaal + +5. print(Python is een programmeertaal) +``` + +3\) Kies nu zelf een kort zinnetje om te printen. Bijvoorbeeld: 'Is het al pauze?'. + +Schrijf de code voor het zinnetje in je schrift. + +4\) Wat is de fout? + +Al deze codes zouden **Hallo allemaal** moeten printen maar dat doen ze niet. Wat gaat er mis? + +Schrijf in je schrift wat de fout is. + +```python +1. prnt('Hallo', 'allemaal') +``` + +```python +2. print('Hallo') print('allemaal') +``` + +```python +3. print('Hallo' , allemaal') +``` + +```python +4. print('Hallo' 'allemaal') +``` + +```python +5. print 'Hallo allemaal' +``` + +```python +6. prit('Hallo') + prit('allemaal') +``` + +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel + +### Commentaar + +Je kunt Python ook codes laten overslaan met een hekje. Een hekje ziet er zo uit: #. Het hekje staat boven de 3 op je toetsenbord. Iedere regel die achter een hekje staat, wordt overgeslagen. + +1\) Er zijn drie redenen waarom je commentaar gebruikt in een programma. Schrijf die redenen in je schrift. + +2\) Hier staan drie codes en drie resultaten: de woorden die in beeld komen. + +Welke code hoort bij welk resultaat? + +Schrijf de codes over in je schrift, met het resultaat erachter. Bijvoorbeeld: print('test') > test + +**Let op:** een van de drie codes geeft een fout. + +Codes: + +```python +print('Hallo') +#print('Hallo') +print('Hallo') +``` + +```python +#Hallo +print('Hallo') +``` + +```python +print(#Hallo) +``` + +Resultaten: + +* Hallo +* Hallo + + Hallo +* Deze code geeft een fout. + +3\) Hieronder staan vier codes met commentaar erin. Wat printen deze codes uit? + +Schrijf de uitvoer in je schrift. + +```python +print('Goedemorgen') +#print('leerlingen') +``` + +```python +#goedemorgen, dit is een Pythonprogramma + +print('Hallo', 'kinderen!') +``` + +```python +print('Hallo', 'kinderen!') #je kunt twee woorden printen +print('Dit', 'is', 'Python!') #maar ook drie +``` + +```python +print('Hallo') +print('leerlingen', 'uit', 'deze', 'klas') +``` + +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel + +### Waardes zoeken + +1\) In Python kun je woorden zonder aanhalingstekens gebruiken. Dat zijn variabeles. Als Python een variabele tegenkomt gaat hij omhoog zoeken in het programma naar de _definitie_ van de variabele. Dat betekent waar de variabele wordt ingesteld met een is-teken: + +```python +naam = 'Felienne' +``` + +Schrijf deze codes over. Zet een pijltje tussen het gebruik van een variabele en zijn definitie. + +![De variabele klas en een pijltje naar de definitie ervan](../../../.gitbook/assets/image-20190206124246541.png) + +```python +1. les = 'Coderen' + print('Welkom', 'bij', les) +``` + +```python +2. doelgroep = 'leerlingen' + print('Hallo', doelgroep) +``` + +```python +3. les = 'Coderen' + doelgroep = 'leerlingen' + print('Hallo' , doelgroep, 'dit', 'is', les) +``` + +2\) Hieronder staan codes met een variabele erin. Wat print Python uit als we deze codes uitvoeren? + +Schrijf de uitvoer in je schrift. + +```python +1. print('Hallo', 'allemaal') +``` + +```python +2. doelgroep = 'leerlingen' + print('Hallo', doelgroep) +``` + +```python +3. print('Hallo', ) +``` + +```python +4. les = 'coderen' + print('Hallo' 'leerlingen', 'bij', les) +``` + +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. + +### Naam niet gedefinieerd + +Is de code goed of fout? Kijk goed of de variabele die gebruikt wordt wel gedefinieerd is. + +* Als de code fout is, schijf je Fout +* Als de code goed is, schrijf je op wat er geprint wordt. + +Voorbeeld 1) + +```python +naam = 'Felienne' +print(voornaam) +``` + +Deze code is fout, want `voornaam` bestaat niet. Dan schrijf je: + +Fout + +Voorbeeld 2) + +```python +doelgroep = 'leerlingen' +print('Hallo', doelgroep) +``` + +Deze code is goed, doelgroep is nu 'leerlingen'. Dan schrijf je: + +Hallo leerlingen + +Nu jij! + +```python +1. doelgroep = 'leerlingen' + print('Hallo', naam) +``` + +```python +2. doelgroep = 'leerlingen' + print('Hallo', 'leerlingen') +``` + +```python +3. achternaam = 'Hermans' + print('Hallo', 'mevrouw', Hermans) +``` + +```python +4. tijd_op_klok = 'half 9' + print('Het', 'is', tijd_op_klok) +``` + +```python +5. les = 'coderen' + print('Hallo', 'leerlingen', 'van', les) +``` + +```python +6. print(Goedemorgen) +``` + +```python +7. tijd = 'half 9' + print('Het', 'is', 'tijd') +``` diff --git a/module-nl/les-3/les-3b.md b/archief/module-1.1-nederlands/les-2/les-2b.md similarity index 55% rename from module-nl/les-3/les-3b.md rename to archief/module-1.1-nederlands/les-2/les-2b.md index 96dd156..561c9be 100644 --- a/module-nl/les-3/les-3b.md +++ b/archief/module-1.1-nederlands/les-2/les-2b.md @@ -1,52 +1,74 @@ -# Les 3b +# Les 2b -### Opdracht 3b-1\) Schijf een verhaal over een dier \(als je dit nog niet had vorige les\) +## 1) Log in -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: + +* Je ingelogd bent + +Voor als je het vergeten bent: + +* Als emailadres heb je je school-email gebruikt +* Je wachtwoord is je wachtwoord van school + +## 2) Voeg commentaar toe + +Deze opdracht wordt afgetekend als: * Je bovenaan je programma netjes commentaar hebt geschreven -* Je een _samenhangend_ verhaal van minstens drie zinnen print met print\(\), +* Je drie dingen opschrijft die je nog weet over `print()` +* Die drie dingen moet je opschrijven in je commentaar, en in je schrift! - compleet met hoofdletters en punten op het einde! +**Opdracht.** +Zet deze regels in commentaar bovenaan je programma:\ +1\. Dit programma is gemaakt door …….\ +2\. Wat ik nog weet over `print()` is: + +## 3) Schijf een verhaal over een dier + +Deze opdracht wordt afgetekend als: + +* Je bovenaan je programma netjes commentaar hebt geschreven +* Je een _samenhangend_ verhaal van minstens drie zinnen print met `print()`, compleet met hoofdletters en punten op het einde! * Het verhaal als hoofdrolspeler een dier heeft. Je mag zelf kiezen welk dier. **Opdracht.** Verzin minstens drie zinnen over een dier. Zorg dat de zinnen een beetje op elkaar aansluiten. Bijvoorbeeld: -De schildpad loopt door het bos. -De schildpad heeft honger. +De schildpad loopt door het bos.\ +De schildpad heeft honger.\ De schildpad zoekt een tomaat. Print de zinnen met Python. Je hoeft nog geen variabele te gebruiken. -### Opdracht 3b-2\) Voeg een variabele toe +## 4) Voeg een variabele toe -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je bovenaan je programma netjes commentaar hebt geschreven. -* Je een variabele `dier` hebt gemaakt waarin je jouw dier opslaat. +* Je een variabele `dier` hebt gemaakt waarin je jouw dier opslaat. * Je de variabele `dier` ook gebruikt in je zinnen. -* Jouw dier \(bijvoorbeeld de schildpad\) maar 1 keer in de code staat +* Jouw dier (bijvoorbeeld de schildpad) maar 1 keer in de code staat **Opdracht.** In jouw verhaal staat nu drie keer het dier, kijk maar in het voorbeeld: -De schildpad loopt door het bos. -De schildpad heeft honger. +De schildpad loopt door het bos.\ +De schildpad heeft honger.\ De schildpad zoekt een tomaat. -Stap 1\) We willen nu het stukje zin 'De schildpad' opslaan in een variabele. Noem de variabele `dier`. -Stap 2\) Verander de print\(\)s die je hebt zodat de variabele gebruikt. +Stap 1) We willen nu het stukje zin 'De schildpad' opslaan in een variabele. Noem de variabele `dier`.\ +Stap 2) Verander de `print()`s die je hebt zodat de variabele gebruikt. Tip: Als je klaar bent, staat jouw dier: * een keer in je code, maar... * drie keer in je verhaal! -### Opdracht 3b-3\) Maak een ander verhaal +## 5) Maak een ander verhaal Deze les wordt afgetekend als: @@ -57,12 +79,12 @@ Deze les wordt afgetekend als: We gaan controleren of je je code goed hebt aangepast. Bovenaan jouw code staat: ```python -dier = 'schildpad' +dier = 'schildpad' ``` Maar het kan bij jou natuurlijk een ander dier zijn. Verander deze regel nu eventjes in een ander dier, bijv. papegaai. Veranderen nu alle dieren in jouw verhaal? Zo ja, dan heb je het goed gedaan! -### Opdracht 3b-4\) Maak twee verhalen \(extra\) +## Extra) Maak twee verhalen Deze les wordt afgetekend als: @@ -72,11 +94,10 @@ Deze les wordt afgetekend als: **Opdracht.** -Kopieer de codes die je al hebt. Je hebt nu dus op twee plaatsten `dier =` staan. Maak ze allebei anders. +Kopieer de codes die je al hebt. Je hebt nu dus op twee plaatsten `dier =` staan. Maak ze allebei anders.\ Nu heb je twee keer het verhaal, maar steeds met een ander dier. Tip: Als je klaar bent, staan er twee dieren, allebei: * een keer in je code, maar... * drie keer in je verhaal! - diff --git a/module-nl/les-4/README.md b/archief/module-1.1-nederlands/les-3/README.md similarity index 58% rename from module-nl/les-4/README.md rename to archief/module-1.1-nederlands/les-3/README.md index 3691321..e42691d 100644 --- a/module-nl/les-4/README.md +++ b/archief/module-1.1-nederlands/les-3/README.md @@ -1,11 +1,12 @@ -# Les 4 +# Les 3 ## Slides -[Module Nederlands, les 4](https://slides.com/felienne/pidk-m1-l4a#/) +[Module Nederlands, les 3](https://slides.com/felienne/pidk-m1-l3a) ## Leerdoelen +* meerdere woorden opslaan in een lijst * woorden in een lijst aanwijzen * voorspellen wat code met een lijst erin doet * goede en foute print\(\)-codes vinden met lijsten erin diff --git a/module-nl/les-4/les-4a.md b/archief/module-1.1-nederlands/les-3/les-3a.md similarity index 78% rename from module-nl/les-4/les-4a.md rename to archief/module-1.1-nederlands/les-3/les-3a.md index 5d83e49..fc307a7 100644 --- a/module-nl/les-4/les-4a.md +++ b/archief/module-1.1-nederlands/les-3/les-3a.md @@ -1,18 +1,45 @@ -# Les 4a +# Les 3a -### Lijsten +## Lijsten Aan het einde van de les kun jij: +* meerdere woorden in een lijst opslaan * woorden in een lijst aanwijzen * voorspellen wat code met een lijst erin doet -* goede en foute print\(\)-codes vinden met lijsten erin +* goede en foute `print()`-codes vinden met lijsten erin -**Even opfrissen!** +### Even opfrissen! -**Begin op een nieuwe pagina en zet erboven: Les 4a** +Begin op een nieuwe pagina en zet erboven: Les 3a -Wat print Python als deze codes worden uitgevoerd? +1\) Hieronder staan vijf codes met commentaar erin. Wat printen deze codes uit? + +Schrijf de uitvoer in je schrift. + +```python +1. #print('Goedemorgen') + print('We', 'gaan', 'programmeren') +``` + +```python +2. #goedemorgen, dit is een Python-programma + + #print('Hallo', 'kinderen!') +``` + +```python +3. print('Hallo', 'allemaal') #je kunt twee woorden printen + print('Ik', 'ben', 'Python!') #maar ook drie +``` + +```python +4. print('Hallo') + print('leerlingen', 'uit', 'deze', 'klas') + #print('hebben', 'jullie', 'er', 'zin', 'in?') +``` + +2\) Wat print Python als deze codes worden uitgevoerd? Als er een fout in de code zit, schrijf dan FOUT! @@ -33,17 +60,17 @@ Als er een fout in de code zit, schrijf dan FOUT! ```python 4. #print('Goedemorgen') - print('Klas', '1c') + print('Klas') ``` ```python -5. klas = '1c' - print('Hallo', '1c') +5. doelgroep = 'leerlingen' + print('Hallo', 'leerlingen') ``` ```python -6. #klas = c - print('Leerlingen', 'uit', klas) +6. #les = 'coderen' + print('We', 'gaan', les) ``` ```python @@ -51,11 +78,9 @@ Als er een fout in de code zit, schrijf dan FOUT! print('Het', 'is', half, 9) ``` -**Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel.** - -Als je klaar bent mag je aan het Extra Opgaves blad gaan werken. +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. - **Lijsten maken** +### Lijsten maken 1\) Hieronder staan een aantal incomplete opdrachten om lijsten te vullen. Schijf ze over in je schrift en vul de juiste tekens in op de stippeltjes. @@ -79,13 +104,9 @@ Als je klaar bent mag je aan het Extra Opgaves blad gaan werken. Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. -Als je klaar bent mag je aan het Extra Opgaves blad gaan werken. - - **Aanwijzen in een lijst** - -1\) Hier staan steeds lijsten in code, en een aanwijzer. +### Aanwijzen in een lijst -Wat wordt er uitgeprint? +1\) Hier staan steeds lijsten in code, en een aanwijzer. Wat wordt er uitgeprint? Soms komt er een fout! Schrijf dan FOUT. @@ -150,25 +171,23 @@ Soms komt er een fout! Schrijf dan FOUT. Nu krijg je de zin, en moet jij de code afmaken. -1. Er moet geprint worden: 'De deur is geel' Maak de code af in je schrift. +1. Er moet geprint worden: 'De deur is geel' Maak de code af in je schrift. ```python kleuren = ['blauw', 'geel', 'groen'] print('De', 'deur', 'is', kleuren[...]) ``` -2. Er moet geprint worden: 'Ik hou van chocolade' +2. Er moet geprint worden: 'Ik hou van chocolade' ```python snoepjes = ['chocolade', 'zuurtjes', 'drop'] print('Ik', 'hou', 'van', snoepjes[...]) ``` -**Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel.** - -Als je klaar bent mag je aan het Extra Opgaves blad gaan werken. +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. - **Foutjes bij aanwijzen** +### Foutjes bij aanwijzen 1\) Fout of niet? Lees de code en bedenk of er een fout komt, of niet. @@ -251,5 +270,5 @@ Komt er een fout, schrijf dan in je schrift: FOUT. Komt er geen fout, schrijf da print('De', 'deur', 'is', kleuren[1]) ``` -**Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel** +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel diff --git a/module-nl/les-4/untitled.md b/archief/module-1.1-nederlands/les-3/les-3b.md similarity index 83% rename from module-nl/les-4/untitled.md rename to archief/module-1.1-nederlands/les-3/les-3b.md index 3813b4d..fae1097 100644 --- a/module-nl/les-4/untitled.md +++ b/archief/module-1.1-nederlands/les-3/les-3b.md @@ -1,8 +1,8 @@ -# Les 4b +# Les 3b -## Opdracht 4b-1\) Maak drie verhalen +## 1\) Maak drie verhalen -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je je programma van vorige week hebt geopend \('les-3b'\) * Je in dat programma drie verhalen print met daarin: @@ -17,7 +17,7 @@ Tips: * De code wordt van boven naar beneden gelezen! * Als je klaar bent, staat er drie keer `dier =` in je code, steeds met een ander dier erachter. -## Opdracht 4b-2\) Sla je dieren op in een lijst +## 2\) Sla je dieren op in een lijst Deze les wordt afgetekend als: @@ -25,12 +25,12 @@ Deze les wordt afgetekend als: **Opdracht.** -Je hebt drie dieren bedacht in opdracht 4b-1. Maak nu een lijst, en noem de lijst `dieren`. -Zet alledrie de dieren in de lijst. - +Je hebt drie dieren bedacht in opdracht 4b-1. Maak nu een lijst, en noem de lijst `dieren`. +Zet alledrie de dieren in de lijst. + **Let op:** Je hoeft nog geen aanwijzers te gebruiken voor deze opdracht. -## Opdracht 4b-3\) Verander je variabelen in aanwijzers uit de lijst +## 3\) Verander je variabelen in aanwijzers uit de lijst Deze les wordt afgetekend als: @@ -45,7 +45,7 @@ Tips: * De code wordt nog steeds van boven naar beneden gelezen. * Als je het goed hebt gedaan, dan heb je nog steeds hetzelfde verhaal als je eerst had. -## Opdracht 4b-4\) Maak de lijst langer +## 4\) Maak de lijst langer Deze les wordt afgetekend als: @@ -56,9 +56,9 @@ Deze les wordt afgetekend als: **Opdracht.** -Maak de lijst nu nog langer. Zorg dat er minstens vijf dieren in staan. Verwijder ook de stukken verhaal waarin je `dieren[1]` en `dieren[2]` gebruikt. +Maak de lijst nu nog langer. Zorg dat er minstens vijf dieren in staan. Verwijder ook de stukken verhaal waarin je `dieren[1]` en `dieren[2]` gebruikt. -## Opdracht 4b-5\) Een willekeurig dier in je verhaal \(extra\) +## Extra\) Een willekeurig dier in je verhaal Deze les wordt afgetekend als: diff --git a/module-nl/les-5/README.md b/archief/module-1.1-nederlands/les-4/README.md similarity index 69% rename from module-nl/les-5/README.md rename to archief/module-1.1-nederlands/les-4/README.md index 995fc93..c9fe322 100644 --- a/module-nl/les-5/README.md +++ b/archief/module-1.1-nederlands/les-4/README.md @@ -1,8 +1,8 @@ -# Les 5 +# Les 4 ## Slides -[Module Nederlands, les 5](https://slides.com/felienne/pidk-m1-l5a) +[Module Nederlands, les 4](https://slides.com/felienne/pidk-m1-l4a) ## Leerdoelen @@ -10,5 +10,3 @@ * de invoer van een gebruiker opslaan in een variabele * goede en foute code met `input()` herkennen - - diff --git a/module-nl/les-5/les-5a.md b/archief/module-1.1-nederlands/les-4/les-4a.md similarity index 70% rename from module-nl/les-5/les-5a.md rename to archief/module-1.1-nederlands/les-4/les-4a.md index 689c123..7f97c21 100644 --- a/module-nl/les-5/les-5a.md +++ b/archief/module-1.1-nederlands/les-4/les-4a.md @@ -1,6 +1,6 @@ -# Les 5a +# Les 4a -## input +## Input Aan het einde van de les kun jij: @@ -8,11 +8,9 @@ Aan het einde van de les kun jij: * de invoer van een gebruiker opslaan in een variabele * goede en foute code met input herkennen -**Even opfrissen!** +### Even opfrissen! -**Begin op een nieuwe pagina en zet erboven: Les 5a** - -**Goed of fout?** +**Begin op een nieuwe pagina en zet erboven: Les 4a** 1\) Is de code goed of fout? @@ -81,8 +79,8 @@ Aan het einde van de les kun jij: ``` ```python -13. #klas = c - print('Leerlingen', 'uit', klas) +13. #les = coderen + print('Dit', 'is', les) ``` ```python @@ -90,7 +88,7 @@ Aan het einde van de les kun jij: print('Het', 'is', 'vandaag', 'woensdag') ``` - 2\) Maak de code af +2\) Maak de code af Je krijgt een zin, en jij moet de code afmaken. Je hoeft alleen de lijst en de aanwijzer in je schrift te schrijven. Voorbeeld: @@ -103,53 +101,51 @@ Er moet geprint worden: 'Ik vind geel mooi' Maak de code af in je schrift. Dan schijf jij in je schrift: kleuren\[1\] Nu jij! -1. Er moet geprint worden: 'De trui is groen' Maak de code af in je schrift. +1. Er moet geprint worden: 'De trui is groen'. -```python - kleuren = ['blauw', 'geel', 'groen'] - print('De', 'trui', 'is', kleuren[...]) -``` + ```python + kleuren = ['blauw', 'geel', 'groen'] + print('De', 'trui', 'is', kleuren[...]) + ``` -1. Er moet geprint worden: 'Ik hou van drop' +2. Er moet geprint worden: 'Ik hou van drop' -```python - snoepjes = ['chocolade', 'zuurtjes', 'drop'] - print('Ik', 'hou', 'van', snoepjes[...]) -``` + ```python + snoepjes = ['chocolade', 'zuurtjes', 'drop'] + print('Ik', 'hou', 'van', snoepjes[...]) + ``` -1. Er moet geprint worden: 'Zullen we gaan gamen morgen?' +3. Er moet geprint worden: 'Zullen we gaan gamen morgen?' -```python - hobbies = ['gamen', 'voetballen', 'zingen'] - print('Zullen', 'we', 'gaan', hobbies[...], 'morgen?') -``` + ```python + hobbies = ['gamen', 'voetballen', 'zingen'] + print('Zullen', 'we', 'gaan', hobbies[...], 'morgen?') + ``` -1. Er moet geprint worden: 'Mijn beste vriend heet Samir' +4. Er moet geprint worden: 'Mijn beste vriend heet Samir' -```python - namen = ['Jan', 'Robin', 'Samir'] - print('Mijn', 'beste', 'vriend', 'heet', namen[...]) -``` + ```python + namen = ['Jan', 'Robin', 'Samir'] + print('Mijn', 'beste', 'vriend', 'heet', namen[...]) + ``` -1. Er moet geprint worden: 'De beste programmeertaal is Python' +5. Er moet geprint worden: 'De beste programmeertaal is Python' -```python - talen = ['Python', 'JavaScript', 'HTML'] - print('De', 'beste', 'programmeertaal', 'is', talen[...] ) -``` + ```python + talen = ['Python', 'JavaScript', 'HTML'] + print('De', 'beste', 'programmeertaal', 'is', talen[...] ) + ``` -1. Er moet geprint worden: 'Ik woon in de Takstraat' +6. Er moet geprint worden: 'Ik woon in de Takstraat' -```python - straatnamen = ['Witte Hertstraat', 'Takstraat', 'Coolsingel'] - print('Ik', 'woon', 'in', 'de', straatnamen[...]) -``` + ```python + straatnamen = ['Witte Hertstraat', 'Takstraat', 'Coolsingel'] + print('Ik', 'woon', 'in', 'de', straatnamen[...]) + ``` Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. -Als je klaar bent mag je aan het Extra Opgaves blad gaan werken. - - **Invoer** +### Invoer 1\) Je krijgt een aantal codes, én de invoer van een gebruiker. @@ -163,9 +159,9 @@ Voorbeeld: Input: koffie ``` -De invoer is: koffie \(kijk bij Input\) De code print: Je wilt dus koffie. +De invoer is: koffie \(kijk bij Input\) De code print: `Je wilt dus koffie`. -Nu jij! +Wat wordt er geprint bij onderstaande codes na de invoer van een gebruiker? ```python 1. print('Suiker', 'of', 'melk?') @@ -199,9 +195,11 @@ Nu jij! Input: Achmed ``` -**Fouten bij input** +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. + +### Fouten bij invoer -1\) Wat print deze code? Is de code fout -> schrijf FOUT Is de code goed -> schrijf wat de code print +1\) Wat print deze code? Is de code fout -> schrijf FOUT Is de code goed -> schrijf wat de code print **na** de invoer van de gebruiker. ```python 1. print('Hoe', 'heet', 'jij?' @@ -263,3 +261,5 @@ Al deze codes zijn fout. Wat is er mis? print(antwoord, 'het', 'regent') ``` +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. + diff --git a/archief/module-1.1-nederlands/les-4/les-4b.md b/archief/module-1.1-nederlands/les-4/les-4b.md new file mode 100644 index 0000000..b937b8c --- /dev/null +++ b/archief/module-1.1-nederlands/les-4/les-4b.md @@ -0,0 +1,2 @@ +# Les 4b + diff --git a/module-nl/les-6/README.md b/archief/module-1.1-nederlands/les-5/README.md similarity index 58% rename from module-nl/les-6/README.md rename to archief/module-1.1-nederlands/les-5/README.md index 59b3ab8..f79bb32 100644 --- a/module-nl/les-6/README.md +++ b/archief/module-1.1-nederlands/les-5/README.md @@ -1,13 +1,11 @@ -# Les 6 +# Les 5 ## Slides -[Module Nederlands, les 6](https://slides.com/felienne/pidk-m1-l6a#/) +[Module Nederlands, les 5](https://slides.com/felienne/pidk-m1-l5a) ## Leerdoelen * Keuzes maken in een programma met if-else * Goede en foute if-else codes herkennen - - diff --git a/module-nl/les-6/les-6a.md b/archief/module-1.1-nederlands/les-5/les-5a.md similarity index 89% rename from module-nl/les-6/les-6a.md rename to archief/module-1.1-nederlands/les-5/les-5a.md index ed41186..a1f1da8 100644 --- a/module-nl/les-6/les-6a.md +++ b/archief/module-1.1-nederlands/les-5/les-5a.md @@ -1,12 +1,14 @@ -# Les 6a +# Les 5a -**Even opfrissen!** +## If-else Aan het einde van de les kun jij: * Keuzes maken in een programma met if-else * goede en foute if-else codes herkennen +### Even opfrissen! + **Begin op een nieuwe pagina en zet erboven: Les 5a** 1\) Is de code goed of fout? @@ -54,7 +56,9 @@ Extra -> Schrijf ook op wat de fout it Input: hond ``` -**If-else** +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. + +### If-else commando's 1\) Je krijgt een aantal codes, én de invoer van een gebruiker. Wat wordt er geprint? @@ -118,7 +122,7 @@ De invoer is: melk \(kijk bij Input:\) De code print: gieten. Nu jij! ``` ```python -6. print('Nederlands of Engels') +5. print('Nederlands of Engels') taal = input() if taal == 'Engels': print('Hello', 'good morning!') @@ -129,7 +133,7 @@ De invoer is: melk \(kijk bij Input:\) De code print: gieten. Nu jij! ``` ```python -7. print('Nederlands of Engels') +6. print('Nederlands of Engels') taal = input() if taal == 'Engels': print('Hello', 'good morning!') @@ -140,7 +144,7 @@ De invoer is: melk \(kijk bij Input:\) De code print: gieten. Nu jij! ``` ```python -8. print('Nederlands of Engels') +7. print('Nederlands of Engels') taal = input() if taal == 'Engels': print('Hello', 'good morning!') @@ -163,7 +167,7 @@ We gaan steeds de goede dierengeluiden printen. Deze horen bij elkaar: * koe - boe * varken - oink -1\) Wat moet er op de puntjes? Alleen dat hoef je in je schrift te schrijven. +Wat moet er op de puntjes? Alleen dat hoef je in je schrift te schrijven. ```python 1. print('hond of kat') @@ -177,7 +181,7 @@ We gaan steeds de goede dierengeluiden printen. Deze horen bij elkaar: ```python 2. print('hond of kat') dier = input() - if dier __ 'hond': + if dier .. 'hond': print('waf') else: print('miauw') @@ -203,7 +207,7 @@ We gaan steeds de goede dierengeluiden printen. Deze horen bij elkaar: Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. - **Fouten bij if-else commando's** +### Fouten bij if-else 1\) Fout of niet? Lees de code plus invoer. Voorspel of er een fout komt, of niet. @@ -222,12 +226,12 @@ Voorbeeld: Input: Frans ``` -De code…. print 'Bonjour' - +De code print `Bonjour`. + Voorbeeld: ```python - print('Nederlands of Frans') + print('Nederlands', 'of', 'Frans') taal = input() if taal == 'Nederlands' print('Hallo') @@ -237,7 +241,7 @@ Voorbeeld: Input: Frans ``` -De invoer is: Frans. De code…. is FOUT, want de eerste regel mist een : +De code is FOUT, want de eerste regel mist een `:`. Nu jij! @@ -275,18 +279,18 @@ Nu jij! ``` ```python -4. print('Engelse of Frans') +4. print('Engels of Frans') taal = input() if taal == 'Engels': print('Bonjour!') else: print('Hello!') --- - Input: Engelse + Input: Engels ``` ```python -7. print('Duits', 'of', 'Nederlands') +5. print('Duits of Nederlands') taal = input() if taal == 'Duits': print('Gutenabend!') @@ -297,7 +301,7 @@ Nu jij! ``` ```python -7. print('Duits', 'of', 'Nederlands') +6. print('Duits of Nederlands') taal = input() if taal == 'Duits': print('Gutenabend!') @@ -308,7 +312,7 @@ Nu jij! ``` ```python -7. print('Duits', 'of', 'Nederlands') +7. print('Duits of Nederlands') taal = input() if taal() == 'Duits': print('Gutenabend!') @@ -318,7 +322,7 @@ Nu jij! Input: Duits ``` - 2\) Foutmeldingen lezen +2\) Foutmeldingen lezen Je krijgt steeds een foutmelding te zien. Wat is er mis? @@ -346,3 +350,5 @@ Je krijgt steeds een foutmelding te zien. Wat is er mis? SyntaxError: invalid syntax ``` +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. + diff --git a/module-nl/les-6/les-6b.md b/archief/module-1.1-nederlands/les-5/les-5b.md similarity index 75% rename from module-nl/les-6/les-6b.md rename to archief/module-1.1-nederlands/les-5/les-5b.md index fc73aeb..616f11e 100644 --- a/module-nl/les-6/les-6b.md +++ b/archief/module-1.1-nederlands/les-5/les-5b.md @@ -1,17 +1,14 @@ -# Les 6b +# Les 5b -**Opdracht 6b-1\) Voeg een keuze toe** +## 1\) Voeg een keuze toe -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: -* Je een nieuw programma hebt gemaakt \('les-6b'\) -* Je in dat programma minstens één keuze verwerkt. +* Je in je programma minstens één keuze verwerkt. **Opdracht.** -Open een nieuw programma. - -Zorg er nu voor de de lezer van je verhaal minstens één keer kan kiezen. Bijvoorbeeld kiezen uit twee dieren. +Zorg er voor de de lezer van je verhaal minstens één keer kan kiezen. Bijvoorbeeld kiezen uit twee dieren. ```python print('Wil je een verhaal over een hond of een kat?') @@ -28,20 +25,20 @@ Tips voor de if-else * Denk aan de dubbele = * Denk aan de spaties -### Opdracht 6b-2\) if-else commandos en gewone prints +## 2\) if-else commandos en gewone prints -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je een verhaal maakt waarin if-else in zit -* er in je verhaal ook minstens één print staat die **niet** in een if-else zit +* Er in je verhaal ook minstens één print staat die **niet** in een if-else zit **Opdracht.** -Zorg er nu voor dat je verhaal na de if-else verder gaat met een paar gewone print\(\) regels. Let goed op dat die regels nu **niet** met twee spaties beginnen. +Zorg er nu voor dat je verhaal na de if-else verder gaat met een paar gewone `print()` regels. Let goed op dat die regels nu **niet** met twee spaties beginnen. -### Opdracht 6b-3\) if-else commandos en een lijst +## 3\) if-else commandos en een lijst -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je een verhaal maakt waarin **drie** keer if-else in zit * je ook een lijst gebruikt, in een if-else @@ -65,9 +62,9 @@ else: print('De', 'vriend', 'van', dier, 'is', vrienden[1], '.') ``` -### Opdracht 6b-4\) Voeg een shuffle toe +## Extra\) Voeg een shuffle toe -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je bovenaan je code hebt geschreven `import random` * Je een zin in je code hebt waarin steeds een ander dier verschijnt diff --git a/archief/module-1.1-nederlands/nakijkbladen/README.md b/archief/module-1.1-nederlands/nakijkbladen/README.md new file mode 100644 index 0000000..fee7656 --- /dev/null +++ b/archief/module-1.1-nederlands/nakijkbladen/README.md @@ -0,0 +1,4 @@ +# Nakijkbladen + +Hier zijn de nakijkbladen te vinden van Nederlands werkbladen deel a. + diff --git a/archief/module-1.1-nederlands/nakijkbladen/les-1-nakijkmodel.md b/archief/module-1.1-nederlands/nakijkbladen/les-1-nakijkmodel.md new file mode 100644 index 0000000..0325552 --- /dev/null +++ b/archief/module-1.1-nederlands/nakijkbladen/les-1-nakijkmodel.md @@ -0,0 +1,144 @@ +# Les 1 + +## Printen! + +1\) Optie nummer 5 print **Hallo** uit. Wat er fout is aan de overige opties: + +1. Mist de ronde haakjes en aanhalingstekens om het woord `Hallo`. +2. Gebruikt een combinatie van enkele en dubbele aanhalingstekens, dit moeten beide enkele aanhalingstekens zijn. +3. De aanhalingstekens om het woord `Hallo` missen. +4. Gebruikt een combinatie van enkele en dubbele aanhalingstekens, dit moeten beide enkele aanhalingstekens zijn. + +2\) + +```python +print('Allemaal') +``` + +Op de stippelijnen komen: rond haakje open, aanhalingsteken, aanhalingsteken, rond haakje sluit. + +3\) Voorbeelden: + +```python +print('een') +print('goed') +print('voorbeeld') +``` + +## Meerdere woorden printen + +1\) Optie nummer 2 print **Hallo klas** uit. Wat er fout is aan de overige opties: + +1. Mist rond haakje open na `print`, rond haakje sluit aan het einde van de code en de aanhalingstekens om beide woorden. +2. Mist een aanhalingsteken achter het woord `Hallo` en mist een aanhalingsteken voor het woord `klas` +3. Mist de aanhalingstekens om het woord `Hallo` en om het woord `klas` +4. Gebruikt een combinatie van enkele en dubbele aanhalingstekens, dit moeten beide enkele aanhalingstekens zijn. + +2\) + +```python +print('Hallo', 'allemaal') +``` + +Op de stippelijnen komen: rond haakje open, aanhalingsteken, aanhalingsteken, komma, aanhalingsteken, aanhalingsteken, rond haakje sluit. + +3\) Voorbeelden: + +```python +print('Voorbeeld', '1') +print('Voorbeeld', '2') +print('Voorbeeld', '3') +``` + +## Zinnetjes printen + +1\) Optie nummer 1 print **Ik hou van programmeren** uit. Wat er fout is aan de overige opties: + +1. Mist de aanhalingstekens om het woord `hou` en om het woord `van`. +2. Mist de komma tussen `'van'` en `programmeren`. +3. Mist rond haakje open na `print`, rond haakje sluit aan het einde van de code, mist de aanhalingstekens om alle woorden en mist alle komma's tussen deze woorden. +4. Mist de aanhalingstekens om alle woorden en mist alle komma's tussen deze woorden. + +2\) + +```python +print('Programmeren', 'is', 'leuk') +``` + +1. Op de stippelijnen komen: rond haakje open, aanhalingsteken, aanhalingsteken, komma, aanhalingsteken, aanhalignsteken, komma, aanhalingsteken, aanhalingsteken. +2. Op de stippelijnen komen: rond haakje open, aanhalingsteken, aanhalingsteken, aanhalingsteken, aanhalingsteken, komma, aanhalingsteken, aanhalingsteken, rond haakje sluit. +3. Op de stippelijnen komen: rond haakje open, aanhalingsteken, komma, aanhalingsteken, aanhalingsteken, komma, aanhalingsteken, aanhalingsteken, rond haakje sluit. + +3\) Voorbeelden: + +```python +print('Een', 'goed', 'voorbeeld') +print('Dit', 'kan', 'ook') +print('Zo', 'werkt', 'het') +``` + +## Onder elkaar + +1\) + +1. Deze code print **Hallo allemaal** uit. +2. FOUT. Deze code is fout omdat het aanhalingsteken na het woord 'Hallo' mist. +3. FOUT. Deze code is fout omdat het aanhalingteken voor het woord 'allemaal' mist. +4. Deze code print + + **Hallo** + + **allemaal** uit. + +5. FOUT. Deze code is fout omdat de letter n in `print` mist. + +2\) + +```python +print(goedemorgen) # >FOUT +``` + +```python +print('Goedemorgen') # >goedemorgen +``` + +```python +print('goedemorgen') # >Goedemorgen +``` + +## Foutmeldingen + +1\) + +1. Deze code is fout omdat de letter r van `print` mist. +2. Deze code is fout omdat het aanhalingsteken na het woord `'Python` mist. +3. Deze code is fout omdat beide aanhalingstekens om het woord `Python` missen. +4. Deze code is fout omdat het aanhalingsteken voor het woord `Python'` mist. +5. Deze code is fout omdat het ronde haakje sluit na `'Python'` mist. + +2\) Voorbeelden: + +```python +print('Een', 'regel', 'code) +``` + +Deze code is fout omdat het aanhalingsteken na het woord `'code` mist. + +```python +print 'Een', 'regel', 'code' +``` + +Deze code is fout omdat het ronde haakje open voor `'Een'` mist en het ronde haakje sluit na `'code'` mist. + +```python +print(Een, regel, code) +``` + +Deze code is fout omdat alle aanhalingstekens om de woorden missen. + +3\) De juiste code is: + +```python +print('Een', 'regel', 'code') +``` + diff --git a/archief/module-1.1-nederlands/nakijkbladen/les-2-nakijkmodel.md b/archief/module-1.1-nederlands/nakijkbladen/les-2-nakijkmodel.md new file mode 100644 index 0000000..57eb2dd --- /dev/null +++ b/archief/module-1.1-nederlands/nakijkbladen/les-2-nakijkmodel.md @@ -0,0 +1,148 @@ +# Les 2 + +## Even opfrissen! + +1\) Optie nummer 5 print `Goedemorgen` uit. Hieronder wordt uitgelegd wat fout is aan de andere regels. + +1. Mist de ronde haakjes open en sluit en mist de aanhalingstekens om het woord. +2. Er wordt een combinatie gemaakt van een enkele en een dubbele aanhalingsteken. +3. De enkele aanhalingstekens om het woord Goedemorgen zijn vergeten +4. Er wordt een combinatie gemaakt van een enkele en een dubbele aanhalingsteken. + +2\) Optie 1 print `Python is een programeertaal` uit. Hieronder wordt uitgelegd wat fout is aan de andere regels. + +1. De aanhalingstekens om `is` en `een` missen. +2. Er mist een komma tussen `'een'` en `'programmeertaal'` +3. De ronde haakjes open en sluit missen, alle aanhalingstekens om alle woorden en de komma tussen al deze woorden met aanhalingstekens missen. +4. Alle aanhalingstekens om alle woorden de komma tussen al deze woorden met aanhalingstekens missen. + +3\) + +```python + print('Is', 'het', 'al', 'pauze?') +``` + +4\) + +1. `prnt` is fout geschreven, moet `print` zijn (de i mist). +2. De tweede `print('Allemaal')` staat in de eerste regel code, dit zal een foutmelding veroorzaken. Deze code moet naar de volgende regel +3. Er mist een aanhalingsteken voor `allemaal')` . +4. De komma tussen `'Hallo'` en `'allemaal'` mist. Dit geeft geen foutmelding, maar de code print 'Halloallemaal', dus zonder spatie. +5. De ronde haakjes missen. Rond haakje open na `print` en rond haakje sluit na `allemaal'` +6. `prit` is fout geschreven, moet `print` zijn (de n mist). + +## Commentaar! + +1\) Je gebruikt commentaar om: + +* Bovenaan te schrijven wat een programma doet +* Uitleg bij een stukje code te geven +* Een regel code eventjes 'uit' te zetten + +2\) + +```python +print('Hallo') +# print('Hallo') +print('Hallo') +``` + +`Hallo` `Hallo` + +De middelste regel wordt niet uitgeprint. Dit is commentaar en python slaat commentaar over. + +```python +# Hallo +print('Hallo') +``` + +`Hallo` + +De eerste regel wordt niet uitgeprint. Dit is commentaar en python slaat commentaar over. + +```python +print(#Hallo) +``` + +Deze code geeft een fout. Er wordt een comment geschreven in de functie print(). Dit kan niet. Als je hier commentaar achter had willen schrijven, dan had je `print('Hallo') #Hallo` moeten doen. + +3\) + +1. `Goedemorgen`\ + De onderste regel wordt niet uitgeprint. Dit is commentaar en Python slaat commentaar over. +2. `Hallo kinderen!`\ + De bovenste regel wordt niet uitgeprint. Dit is commentaar en Python slaat commentaar over. +3. `Hallo kinderen!`\ + `Dit is Python!`\ + De tekst in de `print()` wordt uitgeprint maar de tekst erachter niet. Dit is commentaar en Python slaat commentaar over. +4. `Hallo`\ + `leerlingen uit deze klas`\ + Alle tekst wordt uitgeprint. Er is geen commentaar in dit stukje code. + +## Waardes zoeken + +1\) Er moet een streep getrokken zijn tussen de variabele definitie en het gebruik van de variabele zoals hieronder te zien is. + +![](../../../.gitbook/assets/les2a\_waardeszoeken.png) + +2\) + +1. `Hallo allemaal` +2. `Hallo leerlingen` +3. `Hallo` Let op: door de komma na 'Hallo' wordt er een spatie aan de print toegevoegd. Het is netter om de komma weg te laten, maar het is niet fout. +4. `Halloleerlingen bij coderen`\ + Let op: doordat de komma is vergeten tussen 'Hallo' en 'leerlingen' komt er geen spatie tussen de twee woorden. Python geeft geen foutmelding, maar doet hierdoor niet precies wat wij willen. + +## Naam niet gedefinieerd + +1. **Fout**\ + De gebruikte variabele `naam` is niet gedefinieerd, en de gedefinieerde variabele `doelgroep` wordt niet gebruikt. Onderstaand is de goede manier: + + ```python + doelgroep = 'leerlingen' + print('Hallo', doelgroep) + ``` + + of + + ```python + naam = 'Felienne' + print('Hallo', naam) + ``` +2. `Hallo leerlingen`\ + Code zal geen foutmelding geven, maar in plaats van `'leerlingen'` moet er in de print gebruik gemaakt worden van de gedefinieerde variabele `doelgroep` die als waarde `'leerlingen'` heeft gekregen. Onderstaand is de goede manier: + + ```python + doelgroep = 'leerlingen' + print('Hallo', doelgroep) + ``` +3. **Fout**\ + De gebruikte variabele `Hermans` is niet gedefinieerd, en de gedefinieerde variabele `achternaam` wordt niet gebruikt. Let op: Hermans was als gedefinieerde variabele een foutieve variabele geweest, een variabelenaam begin je in python met een kleine letter. Onderstaand is de goede manier: + + ```python + achternaam = 'Hermans' + print('Hallo', 'mevrouw', achternaam) + ``` +4. `Het is half 9` + + Hier is correct gebruik gemaakt van de variabele `tijd_op_klok` die als waarde `'half 9'` heeft gekregen. +5. `Hallo leerlingen van coderen` + + Hier is correct gebruik gemaakt van de variabele `les` die als waarde `'coderen'` heeft gekregen. +6. **Fout**\ + De gebruikte variabele `Goedemorgen` is niet gedefinieerd. In plaats van `Goedemorgen` moet er in de print gebruik gemaakt worden van een gedefinieerde variabele `goedemorgen` die als waarde `'Goedemorgen'` krijgt. Let op: Goedemorgen was als gedefinieerde variabele een foutieve variabele geweest, een variabelenaam begin je in python met een kleine letter. + + Onderstaand is de goede manier: + + ```python + goedemorgen = 'Goedemorgen' + print(goedemorgen) + ``` +7. `Het is tijd` + + De code zal geen foutmelding geven, maar in plaats van `'tijd'` moet er in de print gebruik gemaakt worden van de gedefinieerde variabele `tijd` . Onderstaand is de goede manier: + + ```python + tijd = 'half 9' + print('Het', 'is', tijd) + ``` diff --git a/archief/module-1.1-nederlands/nakijkbladen/les-3-nakijkmodel.md b/archief/module-1.1-nederlands/nakijkbladen/les-3-nakijkmodel.md new file mode 100644 index 0000000..04e472e --- /dev/null +++ b/archief/module-1.1-nederlands/nakijkbladen/les-3-nakijkmodel.md @@ -0,0 +1,136 @@ +# Les 3 + +## Even opfrissen! + +1\) + +1. `We gaan programmeren`\ + `#print('goedemorgen')` wordt niet uitgevoerd, deze code is namelijk uitgecomment. Python slaat commentaar over en print `goedemorgen`dus niet uit. +2. Hier wordt niets uitgeprint, de eerste regel is commentaar met uitleg over het programma, de tweede regel is commentaar (uitgecommente code). +3. `Hallo allemaal`\ + `Ik ben Python!`\ + De teksten '# je kunt twee woorden printen' en '#maar ook drie' worden niet uitgeprint, dit zijn comments die achter de code zijn geplaatst (een comment begint wanneer je een hekje plaatst). +4. `Hallo`\ + `leerlingen uit deze klas`\ + De onderste regel wordt niet geprint, dit is uitgecommente code. + +2\) + +1. `Hallo leerlingen` +2. Hier wordt niets uitgeprint, de tweede regel is commentaar (uitgecommente code) en python kan deze regel dus niet lezen. +3. `We eten stamppot` +4. `Klas` De bovenste regel wordt niet uitgeprint, dit is commentaar (uitgecommente code) en python kan deze regel dus niet lezen. +5. `Hallo leerlingen`\ + Code zal geen foutmelding geven, maar in plaats van `'leerlingen'` moet er in de print gebruik gemaakt worden van de gedefinieerde variabele `doelgroep` die als waarde `'leerlingen'` heeft gekregen. Onderstaand is de goede manier: + + ```python + doelgroep = 'leerlingen' + print('Hallo', doelgroep) + ``` +6. FOUT\ + De bovenste regel wordt niet uitgeprint, dit is commentaar (uitgecommente code) en python kan deze regel dus niet lezen. Vervolgens wordt er wel een variabele gebruikt in de code, maar deze variabele is niet gedeclareerd en daarom zal Python een NAME ERROR geven. Onderstaand is de goede manier: + + ```python + les = 'coderen' + print('We', 'gaan', les) + ``` +7. FOUT\ + De gebruikte variabele `half` en `9` zijn niet gedefinieerd, en de gedefinieerde variabele `tijd` wordt niet gebruikt. Onderstaand is de juiste manier: + + ```python + tijd = 'half 9' + print('Het', 'is', tijd) + ``` + +## Lijsten maken + +1\) + +```python +1. dieren = ['konijn', 'biggetje'] +``` + +Op de stippellijn komt een komma. + +```python +2. hobbies = ['dansen', 'voetballen'] +``` + +Op de stippelijnen komen: = teken, aanhalingsteken, aanhalingsteken, aanhalingsteken, aanhalingsteken. + +```python +3. kleuren = ['groen', 'geel', 'blauw'] +``` + +Op de stippelijnen komen: = teken, rechte haak open, aanhalingsteken, aanhalingsteken, aanhalingsteken, aanhalingsteken, komma, aanhalingsteken, aanhalingsteken, rechte haak sluit. + +2\) + +```python +1. namen = ['Jan', 'Merel', 'Samir'] +``` + +```python +2. vakken = ['Frans', 'Aardrijkskunde', 'Coderen'] +``` + +```python +3. engelse_woorden = ['dog', 'cat', 'mouse'] +``` + +## Aanwijzen in een lijst + +1\) 1. `vleermuis` + +1. `konijn` +2. FOUT, dieren\[3] bestaat niet: konijn = 0, biggetje = 1 en vleermuis = 2. Python begint tellen bij 0 en niet bij 1. Trucje: tel op de hoeveelste plek het element staat en trek hier 1 vanaf, dan zit je op het juiste cijfer voor het aanwijzen van het element. +3. `geel` +4. `blauw` + +2\) 1. `In het bos loopt een biggetje` + +1. `De deur is blauw` +2. `Ik zit op zingen` +3. `Mijn trui is roze` +4. `Samir is mijn beste vriend` +5. `Ik vind Coderen een leuk vak` + +3\) + +```python +1. kleuren = ['blauw', 'geel', 'groen'] + print('De', 'deur', 'is', kleuren[1]) +``` + +```python +2. snoepjes = ['chocolade', 'zuurtjes', 'drop'] + print('Ik', 'hou', 'van', snoepjes[0]) +``` + +## Foutjes bij aanwijzen + +1\) 1. FOUT\ +`dieren[3]` bestaat niet: konijn = 0, biggetje = 1 en vleermuis = 2. Python begint tellen bij 0 en niet bij 1. Trucje: tel op de hoeveelste plek het element staat en trek hier 1 vanaf, dan zit je op het juiste cijfer voor het aanwijzen van het element. + +1. `konijn` +2. FOUT\ + `dieren[10]` bestaat niet: konijn = 0, biggetje = 1 en vleermuis = 2. Python begint tellen bij 0 en niet bij 1. Trucje: tel op de hoeveelste plek het element staat en trek hier 1 vanaf, dan zit je op het juiste cijfer voor het aanwijzen van het element. +3. `kleuren[1]` Door de aanhalingstekens leest Python de onderste regel als een string, en niet als een lijst. Hierdoor wordt de letterlijke tekst uitgeprint die in de print code staat. Verwijder de aanhalingstekens om `geel` uit te printen. +4. FOUT\ + Op de tweede regel staat geen cijfer tussen de rechte haken. Python zal nu een SyntaxError geven. + +2\) 1. FOUT\ +Er staat een spelfout in het woord `print`, de `i` mist en `hobbies[4]` bestaat niet, het laatste element is `hobbies[3]`. + +1. FOUT\ + Er staan aanhalingsteken om het cijfer 1. Python zal nu een TypeError geven, dit betekent dat er een verkeerd 'type' aanwijzer gebruikt wordt tussen de blokhaken. Python verwacht een integer (dat is een cijfer) maar krijgt nu een char of string (dat is een letter of reeks van letters). De aanhalingstekens rondom 1 moeten worden verwijderd. +2. FOUT\ + De gedefineerde lijst heet `talen` en in de print wordt gebruikt gemaakt van de ongedefineerde lijst `taal`. +3. FOUT\ + Er staan ronde haken in plaats van rechte haken voor het aanwijzen van het element `snoepjes[2]`. Python zal nu een TypeError geven en zeggen dat de lijst niet oproepbaar is, omdat Python de juiste aanwijscode mist en dus niet weet waar hij moet kijken. +4. `Ik woon in de straatnamen[2]` Door de aanhalingstekens leest Python het stukje `straatnamen[2]` als een string, en niet als een lijst. Hierdoor wordt de letterlijke tekst uitgeprint die in de print code staat. Verwijder de aanhalingstekens om `Ik woon in de Coolsingel` uit te printen. +5. `Ik zit op dansen` +6. FOUT `kleuren[5]` bestaat niet: blauw = 0, geel = 1 en groen = 2, paars = 3 en roze = 4. Python begint tellen bij 0 en niet bij 1. Trucje: tel op de hoeveelste plek het element staat en trek hier 1 vanaf, dan zit je op het juiste cijfer voor het aanwijzen van het element. +7. FOUT De ronde haak open na `print` mist. +8. `Ik vind Aardrijkskunde leuk` +9. `De deur is geel` diff --git a/archief/module-1.1-nederlands/nakijkbladen/les-4-nakijkmodel.md b/archief/module-1.1-nederlands/nakijkbladen/les-4-nakijkmodel.md new file mode 100644 index 0000000..bbc2f89 --- /dev/null +++ b/archief/module-1.1-nederlands/nakijkbladen/les-4-nakijkmodel.md @@ -0,0 +1,129 @@ +# Les 4 + +## Even opfrissen! + +1\) + +1. `Zullen we gaan voetballen morgen` +2. `Mijn beste vriend heet Jan` +3. FOUT\ + De gedefineerde lijst heet `talen` en in de print wordt gebruikt gemaakt van de ongedefineerde lijst `taal`. +4. FOUT\ + Er worden ronde haken gebruikt bij `snoepjes(2)`, dit moeten rechte haken zijn dus zo: `snoepjes[2]`. +5. `Ik woon in de straatnamen[2]` +6. `Ik zit op dansen` +7. FOUT\ + `kleuren[5]` bestaat niet: blauw = 0, geel = 1, groen = 2, paars = 3 en roze = 4. Python begint tellen bij 0 en niet bij 1. Trucje: tel op de hoeveelste plek het element staat en trek hier 1 vanaf, dan zit je op het juiste cijfer voor het aanwijzen van het element. +8. FOUT\ + `namen[3]` bestaat niet: Jan = 0, Robin = 1 en Samir = 2. Python begint tellen bij 0 en niet bij 1. Trucje: tel op de hoeveelste plek het element staat en trek hier 1 vanaf, dan zit je op het juiste cijfer voor het aanwijzen van het element. +9. FOUT\ + `vakken[4]` bestaat niet: Aardrijkskunde = 0, Nederlands = 1 en Coderen = 2. Python begint tellen bij 0 en niet bij 1. Trucje: tel op de hoeveelste plek het element staat en trek hier 1 vanaf, dan zit je op het juiste cijfer voor het aanwijzen van het element. +10. `De deur is geel` +11. `Hallo leerlingen` +12. Hier wordt niets uitgeprint, de tweede regel is commentaar (uitgecommente code) en python kan deze regel dus niet lezen. Let op: de code is niet fout, er verschijnt geen error na het uitvoeren van deze code. +13. FOUT\ + De bovenste regel wordt niet uitgeprint, dit is commentaar (uitgecommente code) en python kan deze regel dus niet lezen. Vervolgens wordt de variabele `les` gebruikt in de code, maar deze variabele is niet gedeclareerd en daarom zal Python een NAME ERROR geven. +14. `Het is vandaag woensdag` De code is niet fout, maar let op. Er wordt geen gebruikt gemaakt van de variabele `dag`! + +2\) + +1. `kleuren[2]`. De volledige code is + + ```python + kleuren = ['blauw', 'geel', 'groen'] + print('De', 'trui', 'is', kleuren[2]) + ``` +2. `snoepjes[2]`. De volledige code is + + ```python + snoepjes = ['chocolade', 'zuurtjes', 'drop'] + print('Ik', 'hou', 'van', snoepjes[2]) + ``` +3. `hobbies[0]`. De volledige code is + + ```python + hobbies = ['gamen', 'voetballen', 'zingen'] + print('Zullen', 'we', 'gaan', hobbies[0], 'morgen?') + ``` +4. `namen[2]`. De volledige code is + + ```python + namen = ['Jan', 'Robin', 'Samir'] + print('Mijn', 'beste', 'vriend', 'heet', namen[2]) + ``` +5. `talen[0]`. De volledige code is + + ```python + talen = ['Python', 'JavaScript', 'HTML'] + print('De', 'beste', 'programmeertaal', 'is', talen[0] ) + ``` +6. `straatnamen[1]`. De volledige code is + + ```python + straatnamen = ['Witte Hertstraat', 'Takstraat', 'Coolsingel'] + print('Ik', 'woon', 'in', 'de', straatnamen[1]) + ``` + +## Invoer + +1\) + +1. `Okee ik doe er melk in`\ + De invoer van de gebruiker wordt opgeslagen in de variabele `in_de_thee`. Deze wordt vervolgens in de print gebruikt. +2. `Het is tien uur`\ + De invoer van de gebruiker wordt opgeslagen in de variabele `tijd`. Deze wordt vervolgens in de print gebruikt. +3. `Hallo Jantien`\ + De invoer van de gebruiker wordt opgeslagen in de variabele `naam`. Deze wordt vervolgens in de print gebruikt. +4. `Hallo naam`\ + De invoer van de gebruiker wordt opgeslagen in de variabele `naam`, maar in de print wordt de variabele niet gebruikt maar staat `naam` tussen aanhalingstekens! + +## Fouten bij invoer + +1\) 1. FOUT\ +Er mist een ronde haak sluiten op de eerste regel. Dit geeft een SyntaxError. + +1. FOUT + + De gebruikte variabele `naam` is niet gedefinieerd, en de gedefinieerde variabele `voornaam` wordt niet gebruikt. Onderstaand is de juiste manier: + +```python +print('Hoe', 'heet', 'jij?') +naam = input() +print('Hallo', naam) +--- +Input: Sabine +``` + +1. FOUT\ + De ronde haken missen achter `input`. +2. `Ja het regent` + +2\) 1. De rond haak mist op de onderste regel. De juiste code moet zijn: + +```python +print('Over', 'welk', 'dier', 'gaat', 'het?') +dier = input() +print('Dit', 'verhaal', 'gaat', 'over', dier) +``` + +1. De variabele `dier` wordt niet gedefineerd. De juiste code moet zijn: + + ```python + print('Over', 'welk', 'dier', 'gaat', 'het?') + dier = input() + print('Dit', 'verhaal', 'gaat', 'over', dier) + ``` +2. De ronde haken missen achter `input`. De juiste code moet zijn: + + ```python + print('Koffie', 'of', 'thee?') + drinken = input() + print('Je', 'wilt', 'dus', drinken) + ``` +3. Het `=` teken mist tussen `antwoord` en `input()`. De juiste code moet zijn: + + ```python + print('Regent', 'het?') + antwoord input() + print(antwoord, 'het', 'regent') + ``` diff --git a/archief/module-1.1-nederlands/nakijkbladen/les-5-nakijkmodel.md b/archief/module-1.1-nederlands/nakijkbladen/les-5-nakijkmodel.md new file mode 100644 index 0000000..b066940 --- /dev/null +++ b/archief/module-1.1-nederlands/nakijkbladen/les-5-nakijkmodel.md @@ -0,0 +1,57 @@ +# Les 5 + +## Even opfrissen! + +1\) 1. FOUT\ +Er mist een ronde haak sluiten op de eerste regel. Dit geeft een SyntaxError. + +1. FOUT\ + De gebruikte variabele `naam` is niet gedefinieerd, en de gedefinieerde variabele `voornaam` wordt niet gebruikt. Onderstaand is de juiste manier: + + ```python + print('Hoe', 'heet', 'jij?') + naam = input() + print('Hallo', naam) + --- + Input: Sabine + ``` +2. `Je wilt dus thee` +3. `Ja het regent` +4. FOUT De gebruikte variabele `dier` is niet gedefinieerd, en de invoer van de gebruiker wordt niet opgeslagen in een variabele. Onderstaand is de juiste manier: + + ```python + print('Over', 'welk', 'dier', 'gaat', 'het?') + dier = input() + print('Dit', 'verhaal', 'gaat', 'over', dier) + --- + Input: hond + ``` + +## If-else commando's + +1\) 1. De code print: `schudden`\ +2\. De code print: `schudden`\ +3\. De code print: `legt een ei`\ +4\. De code print: `geeft melk`\ +5\. De code print: `Hallo goedemorgen!`\ +6\. De code print: `Hello good morning!`\ +7\. De code print: `Hallo goedemorgen!` + +2\) 1. Bij de if gebruik je twee keer de is, dis `==` 2. Achter de regel met de if hoort een dubbele punt `:` 3. Achter de regel met else hoort een dubbele punt `:` 4. Regels onder de if beginnen met 2 spaties 5. Regels onder de else beginnen met 2 spaties + +3\) 1. `'waf'` 2. `==` 3. `koe` 4. `'koe'` en `'kwak'` + +## Fouten bij if-else + +1\) 1. FOUT\ +De dubbele punt na de `else` mist. + +1. FOUT\ + `Nederlands`, `of`, `Frans` mag niet gescheiden geschreven worden, in een input moet het zo: `Frans of Engels`. +2. FOUT Het gebruik van de `=` en `==` wordt omgedraaid. Het moet zijn `taal = input()` en `if taal == 'Nederlands':`. +3. `Bonjour!` +4. FOUT De regel onder de `if` en onder `else` begint niet met twee spaties +5. `Goedenavond!` +6. `Gutenabend!` + +2\) 1. De dubbele punt na `suiker` mist. 2. De regel begint niet met twee spaties. 3. In plaats van een dubbel = teken `==` is er een enkel = teken geschreven `=`. 4. De aanhalingsteken achter `'suiker` mist. diff --git a/archief/module-1.1-nederlands/spiekbrief/README.md b/archief/module-1.1-nederlands/spiekbrief/README.md new file mode 100644 index 0000000..497b5d8 --- /dev/null +++ b/archief/module-1.1-nederlands/spiekbrief/README.md @@ -0,0 +1,10 @@ +# Spiekbrief + +Syntax is voor leerlingen vaak best lastig te onthouden, ondanks dat we veel met ze oefenen. Het kan handig zijn om leerlingen hun eigen "spiekbrief" te laten invullen. Ze vullen 'm zelf in en mogen die dan bij het werken met de computer erbij houden. In de eerste tabel is de informatie al ingevuld, in latere tabellen doen leerlingen dat zelf. + +Het kan handig zijn om de spiekbrief steeds klassikaal in te vullen, zodat leerlingen het niet vergeten. Zo kun je als docent ook controleren of het iedereen lukt om het in te vullen. + +{% hint style="info" %} +Hebben leerlingen een vraag, en staat het antwoord niet op de spiekbrief, dan is dat een goed moment om de leerling te vragen om hun spiekbrief aan te vullen met de missende informatie. +{% endhint %} + diff --git a/archief/module-1.1-nederlands/spiekbrief/spiekbrief-in-te-vullen.md b/archief/module-1.1-nederlands/spiekbrief/spiekbrief-in-te-vullen.md new file mode 100644 index 0000000..718b650 --- /dev/null +++ b/archief/module-1.1-nederlands/spiekbrief/spiekbrief-in-te-vullen.md @@ -0,0 +1,75 @@ +# Spiekbrief - in te vullen + +**Les 1** + +| **print één woord** | | +| ------------------- | -------------------------------------------------------------------------------- | +| Code | `print()` | +| Voorbeeldprogramma | `print('Hallo')` | +| Wat doet deze code? | Zet het woord tussen de haakjes op het scherm. | +| Vergeet niet... | | + +| **print meerdere woorden** | | +| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Code | `print()` | +| Voorbeeldprogramma | | +| Wat doet deze code? | | +| Vergeet niet... |

| + +| **print meerdere zinnen** | | +| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Code | `print()` | +| Voorbeeldprogramma | | +| Wat doet deze code? | | +| Vergeet niet... | | + +**Les 2** + +| **commentaar** | | +| ------------------- | -------------------------------------------------------------- | +| Code | `#` | +| Voorbeeldprogramma | `#Dit programma is gemaakt door Shirley` | +| Wat doet deze code? | Code met een hekje ervoor slaat Python over | +| Vergeet niet... | | + +| **variabelen** | | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Code | | +| Voorbeeldprogramma | | +| Wat doet deze code? | | +| Vergeet niet... |

| + +**Les 3** + +| **lijsten maken** | | +| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Code | | +| Voorbeeldprogramma | | +| Wat doet deze code? | | +| Vergeet niet... | | + +| **aanwijzen in een lijst** | | +| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Code | | +| Voorbeeldprogramma | | +| Wat doet deze code? | | +| Vergeet niet... |

| + +**Les 4** + +| **input** | | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Code | | +| Voorbeeldprogramma | | +| Wat doet deze code? | | +| Vergeet niet... |

| + +**Les 5** + +| **input** | **​**Title | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Code | | +| Voorbeeldprogramma | | +| Wat doet deze code? | | +| Vergeet niet... |

| + diff --git a/archief/module-1.1-nederlands/spiekbrief/spiekbrief-ingevuld.md b/archief/module-1.1-nederlands/spiekbrief/spiekbrief-ingevuld.md new file mode 100644 index 0000000..ba5ae72 --- /dev/null +++ b/archief/module-1.1-nederlands/spiekbrief/spiekbrief-ingevuld.md @@ -0,0 +1,74 @@ +# Spiekbrief - ingevuld + +**Les 1** + +| **print één woord** | | +| ------------------- | -------------------------------------------------------------------------------- | +| Code | `print()` | +| Voorbeeldprogramma | `print('Hallo')` | +| Wat doet deze code? | Zet het woord tussen de haakjes op het scherm. | +| Vergeet niet... | | + +| **print meerdere woorden** | | +| -------------------------- | ------------------------------------------------------------------------------------------------------------------ | +| Code | `print()` | +| Voorbeeldprogramma | `print('Hallo', 'allemaal')` | +| Wat doet deze code? | Zet alle woorden tussen de haakjes op het scherm. | +| Vergeet niet... | | + +| **print meerdere zinnen** | | +| ------------------------- | ------------------------------------------------------------------------------------------------------------------ | +| Code | `print()` | +| Voorbeeldprogramma |

print('Hallo', 'allemaal')

print('Lekker', 'programmeren!')

| +| Wat doet deze code? |

Zet alle zinnen op het scherm.
Iedere print() maakt een nieuwe regel

| +| Vergeet niet... | | + +**Les 2** + +| **commentaar** | | +| ------------------- | -------------------------------------------------------------- | +| Code | `#` | +| Voorbeeldprogramma | `#Dit programma is gemaakt door Shirley` | +| Wat doet deze code? | Code met een hekje ervoor slaat Python over | +| Vergeet niet... | | + +| **variabelen** | | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Code | `naam = 'Jan'` | +| Voorbeeldprogramma |

programmeertaal = 'Python'

print('Dit', 'verhaal', 'gaat', 'over', programmeertaal)

| +| Wat doet deze code? |

Met een isje sla je een woord of getal op onder een naam.
Je kunt die naam dan verderop in je programma gebruiken.

| +| Vergeet niet... |

Om een variabelenaam moeten geen aanhalingstekens.

Gebruik je ze wel dat zoekt Python niet op,
maar dat print hij de naam van de variabele als woord uit.

| + +**Les 3** + +| **lijsten maken** | | +| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| Code | `dieren = ['schildpad', 'kikker']` | +| Voorbeeldprogramma | `dieren = ['schildpad', 'kikker']` | +| Wat doet deze code? |

Met een isje kun je ook een lijst met meerdere woorden erin opslaan

en een naam geven. Ieder woord moet dan tussen aanhalingstekens

| +| Vergeet niet... | | + +| **aanwijzen in een lijst** | | +| -------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| Code | `dieren = ['schildpad', 'kikker']` | +| Voorbeeldprogramma |

dieren = ['schildpad', 'kikker']

print(dieren[1])

| +| Wat doet deze code? |

Als je achter de lijst rechte haken zet, met een nummer ertussen,

wijs je bepaald woord aan in de lijst.

| +| Vergeet niet... | | + +**Les 4** + +| **input** | | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Code | `input()` | +| Voorbeeldprogramma |

print('Over', 'welk', 'dier', 'gaat', 'het?')
dier = input()
print('Dit', 'verhaal', 'gaat', 'over', dier)

| +| Wat doet deze code? |

Als je input() in je code zet, kan je invoer aan je programma meegeven.

Je kunt de invoer opslaan om verderop in je programma te gebruiken.

| +| Vergeet niet... | | + +**Les 5** + +| **input** | **​**Title | +| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Code | if | +| Voorbeeldprogramma |

print('Hond of kat?')
dier = input()
if dier == 'hond':

print('Waf waf')

else:

print('Miauw miauw')

| +| Wat doet deze code? | Met en if kun je keuzes maken in je programma. Is wat achter de if staat waar? Dan wordt de code eronder uitgevoerd. Zo niet, dan wordt de code bij de else uitgevoerd. | +| Vergeet niet... | | diff --git a/archief/module-1.2-kunst/README.md b/archief/module-1.2-kunst/README.md new file mode 100644 index 0000000..07578a5 --- /dev/null +++ b/archief/module-1.2-kunst/README.md @@ -0,0 +1,46 @@ +# Module 1.2 - Kunst + +## Instructie voor de leerkracht + +In deze module gaan leerlingen een kunstwerk maken met Python. Ze leren hiervoor om gebruikt te maken van de bibliotheek Turtle. In deze bibliotheek zijn er verschillende functies voorgeprogrameerd die te maken hebben met tekenen. + +## Doelen van deze module + +In deze lessenserie komen de volgende programmeerconcepten aan bod: + +* Datatype Integer gebruiken +* Gebruik maken van de Turtle library +* For loop gebruiken +* RGB-codes gebruiken voor kleuren + +Materiaal uit module 1 wordt gebruikt, maar niet expliciet herhaald, daar moeten leerlingen wel bekend mee zijn:. Het gaat hierbij om het gebruik maken van concepten zoals printen, commentaar, variabelen, lijsten, input, en if-else statements. + +## Voorbeeld + +Het idee van deze lessenserie is dat leerlingen een soort spirograafkunstwerk maken. Op deze link staat een voorbeeld: \[[https://repl.it/@Felienne/Spirograaf-Demo](https://repl.it/@Felienne/Spirograaf-Demo) + +![Voorbeeldcode (links) en de uitvoer van deze code (rechts)](../../.gitbook/assets/demo\_kunst.png) + +Probeer dit voorbeeld zelf voor de les al even uit. Je ziet dat er verschillende figuren getekent worden. + +## Opzet van de lessen + +Iedere module bestaat steeds uit twee delen: a en b + +a) Klassikale les met slides, en werkbladen deel a om in de klassikale les te maken\ +b) Werkbladen zodat leerlingen zelf aan de slag kunnen achter de computer + +## Slides + +[Je vindt alle slides bij elkaar op deze pagina.](https://slides.com/vhto/decks/module-kunst) + +## Tips + +Nog een aantal tips: + +* Lees de codes hardop voor: + * pen punt forward ronde haak openen 10 ronde haak sluiten + * pen punt left ronde haak openen 90 ronde haak sluiten + * Stip ook even de betekenissen (en uitspraak) can Turtlecommando's aan: + * forward betekent "ga vooruit" + * left betekent links, maar in deze code betekent het "draai linksom", dus niet "ga naar links" diff --git a/archief/module-1.2-kunst/les-1/README.md b/archief/module-1.2-kunst/les-1/README.md new file mode 100644 index 0000000..69d9bee --- /dev/null +++ b/archief/module-1.2-kunst/les-1/README.md @@ -0,0 +1,12 @@ +# Les 1 + +## Slides + +[Module Kunst, les 1](https://slides.com/felienne/pidk-m2-l1a) + +## Leerdoelen + +* Tekenen met Python turtle +* 'Veelvlakken' tekenen met de juiste hoek +* Spirograaffiguren tekenen + diff --git a/module-kunst-1/les-1/les-1a.md b/archief/module-1.2-kunst/les-1/les-1a.md similarity index 51% rename from module-kunst-1/les-1/les-1a.md rename to archief/module-1.2-kunst/les-1/les-1a.md index 53c1030..9bf07f1 100644 --- a/module-kunst-1/les-1/les-1a.md +++ b/archief/module-1.2-kunst/les-1/les-1a.md @@ -1,58 +1,55 @@ # Les 1a -## Figuren tekenen +## Tekenen met Turtle Aan het einde van de les kun jij: -* systematisch een vierkant tekenen -* systematisch een driehoek tekenen -* systematisch een spirograaf tekenen -* de bijbehorende Python-code schrijven +* Tekenen met Python turtle +* 'Veelvlakken' tekenen met de juiste hoek +* Spirograaffiguren tekenen -**Teken verschillende figuren** +### Verschillende figuren tekenen -1\) Maak een vierkant +Voor we aan het programmeren gaan, gaan we eerst op papier oefenen. Teken de figuren in je schrift, maar… doe het precies volgens dit schema! -Voor we aan het programmeren gaan, gaan we eerst op papier oefenen. Teken een vierkant in je schrift, maar… doe het precies volgens dit schema! +**Let op:** Begin aan de linkerkant van je blad en begin _niet_ bovenaan je blad, anders past het niet. Zorg ook dat er genoeg ruimte naast het figuur is, want je moet er straks Python codes bij zetten. -**Let op:** Begin aan de linkerkant van je blad, anders past het niet. Zorg ook dat er genoeg ruimte naast het figuur is, want je moet er straks Python codes bij zetten. +1\) Maak een vierkant door het onderstaande schema te volgen. * Begin in de tekenrichting 'rechts' -* Ga 5 cm in de tekenrichting \(rechts nu dus\) +* Ga 5 cm in de tekenrichting (rechts nu dus) * Draai 90 graden linksom -* Ga 5 cm volgens de tekenrichting \(dat is nu omhoog\) +* Ga 5 cm volgens de tekenrichting (dat is nu omhoog) * Draai 90 graden linksom -* Ga 5 cm volgens de tekenrichting \(dat is nu links\) +* Ga 5 cm volgens de tekenrichting (dat is nu links) * Draai 90 graden linksom -* Volgens de tekenrichting \(dat is nu omlaag\) +* Volgens de tekenrichting (dat is nu omlaag) * Draai 90 graden linksom -2\) Maak een driehoek - -Teken een driehoek, maar doe het weer volgens dit schema. +2\) Maak een driehoek door het onderstaande schema te volgen. * Begin in de tekenrichting 'rechts' -* Ga 5 cm in de tekenrichting \(rechts nu dus\) -* Draai **120** graden linksom -* Ga 5 cm volgens de tekenrichting \(dat is nu schuin links-omhoog\) +* Ga 5 cm in de tekenrichting (rechts nu dus) +* Draai **120** graden linksom +* Ga 5 cm volgens de tekenrichting (dat is nu schuin links-omhoog) * Draai **120** graden linksom -* Ga 5 cm volgens de tekenrichting \(dat is nu schuin rechts-omlaag\) +* Ga 5 cm volgens de tekenrichting (dat is nu schuin rechts-omlaag) * Draai **120** graden linksom Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. - **Tekenen en code** +### Tekenen en code 1\) Ga terug naar het vierkant dat je hebt getekend in je schrift. Zet deze nummers erbij, op dezelfde plekken. -![](../../.gitbook/assets/image-20190322135329083%20%281%29.png) +![](<../../../.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png>) Nu gaan we Pythoncodes koppelen aan de stukjes van de tekening. Het stukje bij de 1, de rechte lijn, maken we met `pen.forward(100)`Bij 2 draaien we een kwartslag naar links, dus daar hoort `pen.left(90)`. Maak jij de codes af? -Je moet beide opdrachten vier keer gebruiken. Schrijf de codes op volgorde op in je schrift. +Hint: Je moet beide opdrachten vier keer gebruiken. Schrijf de codes op volgorde op in je schrift. -1. pen.forward\(100\) -2. pen.left\(90\) +1. pen.forward(100) +2. pen.left(90) 3. ... 4. ... 5. ... @@ -60,23 +57,16 @@ Je moet beide opdrachten vier keer gebruiken. Schrijf de codes op volgorde op in 7. ... 8. ... - - 2\) Doe nu hetzelfde voor de driehoek. Ga terug naar de driehoek die je hebt getekend in je schrift en zet deze nummers erbij. -![](../../.gitbook/assets/image-20190322135525607%20%281%29.png) - -Nu moeten we even rekenen! +![](<../../../.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).png>) -1. Welke som reken je uit om een driehoek te maken? Schrijf de som in je schrift. -2. Welke Pythoncode gebruik jij voor de hoek van een driehoek? Vul het in op de puntjes. - -`pen.left(……)` +Nu moeten we even rekenen! Welke som reken je uit om een driehoek te maken? Schrijf de som in je schrift. Een driehoek maak je met: -* pen.left\(……..\) <— dit is het commando voor draaien. Hier komt het getal dat je bij vraag 2 hebt berekend -* pen.forward\(100\) +* pen.left(……..) <— dit is het commando voor draaien. Hier komt het getal dat je zojuist hebt berekend. Schrijf de code op in je schrift. +* pen.forward(100) Zet nu deze opdrachten bij de juiste plekken in de tekening. Je moet allebei de Python opdrachten nu drie keer gebruiken. Schrijf de 6 codes in je schrift: @@ -87,7 +77,7 @@ Zet nu deze opdrachten bij de juiste plekken in de tekening. Je moet allebei de 5. ... 6. ... - 3\) Nog wat sommen met hoeken +3\) Nog wat sommen met hoeken Reken uit in je schrift: @@ -98,7 +88,7 @@ Reken uit in je schrift: Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. - **Nog meer figuren** +### Nog meer figuren 1\) Maak een "spirograaf" figuur op papier @@ -107,8 +97,8 @@ Kies nu een eigen getal, waardoor 360 niet mooi deelbaar is. Schrijf je getal in Teken nu het figuur dat bij die hoek hoort. * Begin in de tekenrichting 'rechts' -* Ga 5 cm in de tekenrichting \(rechts nu dus\) -* Draai **...** graden linksom <— hier komt jouw getal +* Ga 5 cm in de tekenrichting (rechts nu dus) +* Draai **...** graden linksom <— hier komt jouw getal Doe dit een paar keer, minstens 10! @@ -145,20 +135,17 @@ pen.forward(100) pen.left(60) ``` - 3\) Nu andersom. Weet jij met welke code je deze figuren tekent? Schijf de codes in je schrift. Tip: reken het na met je geodriehoek. - -1. -![](../../.gitbook/assets/image-20190318130624359%20%281%29.png) +3\) Nu andersom. Weet jij met welke code je deze figuren tekent? Schijf de codes in je schrift. Tip: reken het na met je geodriehoek. -2. +1. ![](<../../../.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (1).png>) -![](../../.gitbook/assets/image-20190318125720956.png) +2\. -3. +![](<../../../.gitbook/assets/image-20190318125720956 copy (1) (1).png>) -![](../../.gitbook/assets/image-20190318130244515.png) +1. ![](<../../../.gitbook/assets/image-20190318130244515 (1) (1) (1) (1) (1) (1) (1) (1).png>) -**Extraatje!** +### Extraatje! Deze opdrachten zijn **extramoeilijk**! Maak ze alleen als je al klaar bent met de rest van de opdrachten. @@ -200,18 +187,13 @@ pen.left(90) pen.forward(100) ``` - Schrijf nu weer de codes op die bij deze figuren horen. +Schrijf nu weer de codes op die bij deze figuren horen. -1. -![](../../.gitbook/assets/image-20190318130606702.png) - -2. - -![](../../.gitbook/assets/image-20190318125810948%20%281%29.png) - -3. - -![](../../.gitbook/assets/image-20190318130138855.png) +1. ![](<../../../.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png>) +2. +![](<../../../.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1) (3).png>) +1. ![](<../../../.gitbook/assets/image-20190318130138855 (1).png>) +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. diff --git a/module-kunst-1/les-1/les-1b.md b/archief/module-1.2-kunst/les-1/les-1b.md similarity index 67% rename from module-kunst-1/les-1/les-1b.md rename to archief/module-1.2-kunst/les-1/les-1b.md index 312cc3d..322731d 100644 --- a/module-kunst-1/les-1/les-1b.md +++ b/archief/module-1.2-kunst/les-1/les-1b.md @@ -1,24 +1,24 @@ # Les 1b -#### Opdracht 2b-1\) Teken een vierkant +## 1) Teken een vierkant -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je een vierkant hebt getekend met Python **Opdracht.** Blader terug naar de tekening van het vierkant in je schrift. Gebruik de **acht** codes die je daar hebt opgeschreven om een vierkant te tekenen. -#### Opdracht 2b-2\) Teken een driehoek +## 2) Teken een driehoek -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je een driehoek hebt getekend met Python **Opdracht.** Blader terug naar de tekening van de driehoek in je schrift. Gebruik de **zes** codes die je daar hebt opgeschreven om een vierkant te tekenen. -#### Opdracht 2b-3\) Teken een zeshoek +## 3) Teken een zeshoek -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je de som voor een zeshoek in je schrift hebt geschreven * Je een zeshoek hebt getekend met Python @@ -29,47 +29,46 @@ Ben je met deze opdrachten klaar? Hang dan je gele post-it op. Je mag ondertussen wel doorwerken aan de rest van de opdrachten. -**Opdracht 2b-4\) Teken een schilderij \(extra\)** +## Extra) Teken een schilderij -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je de de tekening met de hand getekend hebt * Je de juiste Python codes op papier invult * Je het goede plaatje hebt getekend met Python -Dit is een schilderij van een berg \(met een beetje fantasie!\) +Dit is een schilderij van een berg (met een beetje fantasie!) -![](../../.gitbook/assets/image-20181207110047621.png) +![](<../../../.gitbook/assets/image-20181207110047621 (1).png>) **Opdracht.** Teken dit plaatje met de hand over in je schrift. Zorg dat je pen op het papier blijft. Zet nu de juiste Pythoncodes bij de juiste plekken. Bij de lijntjes én bij de hoeken! -#### Opdracht 2b-5\) Maak een huisje \(extra\) +## Extra) Maak een huisje -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je het huisje hieronder hebt getekend. **Opdracht.** Probeer dit huisje na te maken. -![](../../.gitbook/assets/image-20190318132016472.png) +![](../../../.gitbook/assets/image-20190318132016472.png) -#### Opdracht 2b-6\) Maak een diamant \(extra\) +## Extra) Maak een diamant -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je de diamant hieronder hebt getekend. Opdracht. Probeer dit na te maken. -![](../../.gitbook/assets/image-20190318132305903.png) +![](../../../.gitbook/assets/image-20190318132305903.png) -#### Opdracht 2b-7\) Maak je tekening mooier \(extra\) +## Extra) Maak je tekening mooier -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je minstens één extra figuur in het schilderij hebt toegevoegd. **Opdracht.** Voeg iets leuks toe aan je schilderij. Een sterretje, een zonnetje of een poppetje? Maak er maar iets leuks van! Tip: van het ene naar het andere figuur wil je soms even de pen van het papier halen. Dat kan met `pen.penup()` en `pen.pendown()`. - diff --git a/archief/module-1.2-kunst/les-2/README.md b/archief/module-1.2-kunst/les-2/README.md new file mode 100644 index 0000000..d7c70e5 --- /dev/null +++ b/archief/module-1.2-kunst/les-2/README.md @@ -0,0 +1,12 @@ +# Les 2 + +## Slides + +[Module Kunst, les 2](https://slides.com/felienne/pidk-m2-l2a) + +## Leerdoelen + +* For-lussen gebruiken om code te herhalen +* 'Veelvlakken' tekenen met lussen +* Spirograaffiguren tekenen met lussen + diff --git a/archief/module-1.2-kunst/les-2/les-2a.md b/archief/module-1.2-kunst/les-2/les-2a.md new file mode 100644 index 0000000..93e19a4 --- /dev/null +++ b/archief/module-1.2-kunst/les-2/les-2a.md @@ -0,0 +1,145 @@ +# Les 2a + +## Herhalen met Turtle + +Aan het einde van de les kun jij: + +* For-lussen gebruiken om code te herhalen +* 'Veelvlakken' tekenen met lussen +* Spirograaffiguren tekenen met lussen + +### Even opfrissen + +Vorige week deden we deze opdracht ook, dat was best een lastige opdracht! We gaan het daarom nog een keer oefenen. + +1\) Teken dit vierkant in je schrift. + +![](<../../../.gitbook/assets/image-20190322135329083 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png>) + +Nu gaan we Pythoncodes koppelen aan de stukjes van de tekening. Welke code hoort bij welk stukje?\ +Je moet beide opdrachten vier keer gebruiken. Schrijf de codes op volgorde op in je schrift. + +1. pen.forward(100) +2. pen.left(90) +3. ... +4. ... +5. ... +6. ... +7. ... +8. ... + +​​2) Teken deze driehoek in je schrift. + +![](<../../../.gitbook/assets/image-20190322135525607 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png>) + +Nu moeten we even rekenen! Welke som reken je uit om een driehoek te maken? Schrijf de som in je schrift. + +Een driehoek maak je met: + +* pen.left(……..) <— dit is het commando voor draaien. Hier komt het getal dat je zojuist hebt berekend. Schrijft de juiste Python code voor het maken van een driehoek in je schrift. +* pen.forward(100) + +Zet nu deze opdrachten bij de juiste plekken in de tekening. Je moet allebei de Python opdrachten nu drie keer gebruiken. Schrijf de 6 codes in je schrift: + +1. ... +2. ... +3. ... +4. ... +5. ... +6. ... + +3\) Nog wat sommen met hoeken + +Reken uit in je schrift: + +* Als je steeds 60 graden draait krijg je een ….hoek? +* Hoeveel moet je draaien voor een vijfhoek? +* Als je steeds 45 graden draait krijg je een ….hoek? +* Hoeveel moet je draaien voor een honderdhoek? + +4\) Weet jij met welke code je deze figuren tekent? Schijf de codes in je schrift. + +1\. + +![](<../../../.gitbook/assets/image (1) (1).png>) + +1. ![](<../../../.gitbook/assets/image (1) (1) (1).png>) +2. + +![](<../../../.gitbook/assets/image (2) (1).png>) + +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel.​​ + +### Herhalen met lussen + +1\) Wat tekenen deze codes? + +``` +1. +for i in range(3): + pen.forward(100) + pen.left(120) +``` + +``` +2. +for i in range(6): + pen.forward(100) + pen.left(60) +``` + +``` +3. +for i in range(3): + pen.forward(100) + pen.left(90) +``` + +``` +4. +for i in range(4): + pen.forward(100) + pen.left(90) +``` + +``` +5. +for i in range(4): + pen.forward(100) +pen.left(90) +``` + +2\) Hoe teken je deze figuren met een lus? + +1\. + +![](<../../../.gitbook/assets/image-20190322150806389 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png>) + +1. ![](../../../.gitbook/assets/image-20190322150743162.png) +2. + +![](<../../../.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1) (1).png>) + +### Extraatjes! + +Welke codes horen bij deze tekeningen? Gebruik natuurlijk wel een lus (of meerdere lussen). + +1\. + +![](<../../../.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png>) + +1. + +![](<../../../.gitbook/assets/image-20190322151224232 (1) (1) (1).png>) + +3\. + +![](<../../../.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1) (4).png>) + +1. + +![](<../../../.gitbook/assets/image-20190318130606702 (3) (3) (3) (3) (3) (3) (3) (1) (1) (2).png>) + +5\. + +![](<../../../.gitbook/assets/image-20190322151500039 (1) (1) (1) (1) (1) (1) (1) (1).png>) diff --git a/archief/module-1.2-kunst/les-2/les-2b.md b/archief/module-1.2-kunst/les-2/les-2b.md new file mode 100644 index 0000000..06e0e6e --- /dev/null +++ b/archief/module-1.2-kunst/les-2/les-2b.md @@ -0,0 +1,109 @@ +# Les 2b + +## 1) Maak een zeshoek met een for-lus + +Deze opdracht wordt afgetekend als: + +* Je een zeshoek hebt getekend met Python +* Je daarvoor een forlus hebt gebruikt + +Vorige week heb je een zeshoek getekend. Dat ging zo: + +```python +pen.forward(100) +pen.left(60) +pen.forward(100) +pen.left(60) +pen.forward(100) +pen.left(60) +pen.forward(100) +pen.left(60) +pen.forward(100) +pen.left(60) +pen.forward(100) +pen.left(60) +``` + +**Opdracht.** Teken een zeshoek met een for-lus. + +Denk aan deze tips: + +* Vergeet de dubbele punt : niet aan het einde van de regel +* Regels in de lus moeten beginnen met 2 spaties! +* Als je het goed doet, heb je maar 3 regels nodig voor de zeshoek +* De regels die we al hadden staan tellen daarvoor niet mee (import, en pen= en pen.speed) + +## 2) Maak een vierkant met een for-lus + +Deze opdracht wordt afgetekend als: + +* Je weet welke regels we moeten veranderen om een vierkant te maken. +* Je een vierkant hebt getekend met Python +* Je daarvoor een forlus hebt gebruikt + +In de vorige opdracht heb je een zeshoek getekend met een for-lus Dat ging zo: + +```python +for i in range(6): + pen.forward(100) + pen.left(60) +``` + +**Opdracht.** Als je nu een vierkant wilt maken, moet je de getallen 6 en 60 veranderen. Waarin? Schrijf het op in je schrift: + +* 6 wordt .... +* 60 wordt ... + +**Opdracht.** Teken nu het vierkant met een for-lus + +Tip: Je hoeft niets anders te veranderen, alleen de getallen. + +## 3) Maak een spirograaffiguur met een for-lus + +Deze opdracht wordt afgetekend als: + +* Je een spirograafachtig figuur maakt met Python +* Je daarvoor een forlus hebt gebruikt + +In de vorige opdracht heb je een vierkant getekend met een for-lus. Nu willen we een soort sterfiguur. Weet je nog van vorige week wat voor hoek je dan moet gebruiken? En hoevaak dnek je dat je rond moet gaan? Probeer dit figuur zo precies mogelijk na te maken + +![image-20190322130521606](../../../img/image-20190322130521606.png) + +**Opdracht.** Teken nu het figuur met een for-lus + +## 4) Teken een schilderij met twee for-lussen + +Deze opdracht wordt afgetekend als: + +* Je het goede plaatje hebt getekend met Python +* Je daarvoor twee for-lussen gebruikt + +Dit is een schilderij van een berg (met een beetje fantasie!). Kun jij het namaken met Python? Je moet wel twee lussen gebruiken! + +![image-20181207110047621](<../../../.gitbook/assets/image-20181207110047621 (1) (1).png>) + +## Extra) Maak een huisje met twee for-lussen + +Deze opdracht wordt afgetekend als: + +* Je het huisje hieronder hebt getekend +* Je daarvoor twee for-lussen gebruikt + +**Opdracht.** Probeer dit huisje na te maken. + +![image-20190322131013102](../../../.gitbook/assets/image-20190322131013102.png) + +## Extra) Maak een diamant met twee for-lussen (extra) + +Deze opdracht wordt afgetekend als: + +* Je de diamant hieronder hebt getekend. +* Je daarvoor twee for-lussen gebruikt + +Opdracht. Probeer dit na te maken. + +![image-20190322131023789](../../../.gitbook/assets/image-20190322131023789.png) + +## Extra) Maak iets leuks + +Deze opdracht wordt afgetekend als je zelf iets leuks hebt getekend! diff --git a/archief/module-1.2-kunst/les-3/README.md b/archief/module-1.2-kunst/les-3/README.md new file mode 100644 index 0000000..a02e81d --- /dev/null +++ b/archief/module-1.2-kunst/les-3/README.md @@ -0,0 +1,11 @@ +# Les 3 + +## Slides + +[Module Kunst, les 3](https://slides.com/felienne/pidk-m2-l3a) + +## Leerdoelen + +* Hoe je meerdere figuren maakt +* Hoe je je pen op kan tillen én neer kan zitten + diff --git a/module-kunst-1/les-3/les-3a.md b/archief/module-1.2-kunst/les-3/les-3a.md similarity index 58% rename from module-kunst-1/les-3/les-3a.md rename to archief/module-1.2-kunst/les-3/les-3a.md index 4847ac8..a37170c 100644 --- a/module-kunst-1/les-3/les-3a.md +++ b/archief/module-1.2-kunst/les-3/les-3a.md @@ -1,8 +1,13 @@ # Les 3a -#### Meerdere figuren +## Meerdere figuren -**Even opfrissen** +Aan het einde van de les kun jij: + +* Hoe je meerdere figuren maakt +* Hoe je je pen op kan tillen én neer kan zitten + +### Even opfrissen Vorige week maakten we kennis met de `for` lus. Hoe ging dat ook al weer? @@ -38,36 +43,19 @@ for i in range(4): pen.left(90) ``` -```python -5. -for i in range(4): - pen.forward(100) - pen.left(90) -``` - - 2\) Welke code hoort bij deze tekeningen? - -1. - -![](../../.gitbook/assets/image-20190318130624359.png) - -2. - -![](../../.gitbook/assets/image-20190325083528686.png) - - 3. - -![](../../.gitbook/assets/image-20190322150946880.png) +2\) Welke code hoort bij deze tekeningen? Gebruik een for-lus waar dit handig is. +1. ![](<../../../.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1).png>) +2\. ![](../../../.gitbook/assets/image-20190325083528686.png) -4. +1. ![](<../../../.gitbook/assets/image-20190322150946880 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1).png>) -![](../../.gitbook/assets/image-20190322151013930.png) +4\. ![](<../../../.gitbook/assets/image-20190322151013930 (3) (3) (3) (2) (1) (1) (1) (1).png>) - ------ Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. -**Meerdere figuren** +### Meerdere figuren 1\) Wat tekenen deze codes? @@ -151,23 +139,24 @@ for i in range(3): pen.left(120) ``` -**Extraatje!** +### Extraatje! -Welke codes horen bij deze tekeningen? Gebruik natuurlijk wel een lus \(of meerdere lussen\). +Welke codes horen bij deze tekeningen? Gebruik natuurlijk wel een lus (of meerdere lussen). -1. +1\. -![](../../.gitbook/assets/image-20190329210728482.png) +![](../../../.gitbook/assets/image-20190329210728482.png) -2. +2\. -![](../../.gitbook/assets/image-20190322151224232%20%281%29.png) +![](<../../../.gitbook/assets/image-20190322151224232 (1) (1) (1).png>) -3. +3\. -![](../../.gitbook/assets/image-20190318125810948.png) +![](<../../../.gitbook/assets/image-20190318125810948 (5) (5) (2) (1) (1) (1).png>) -4. +4\. -![](../../.gitbook/assets/image-20190329210151106.png) +![](<../../../.gitbook/assets/image-20190329210151106 (1).png>) +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. diff --git a/module-kunst-1/les-3/les-3b.md b/archief/module-1.2-kunst/les-3/les-3b.md similarity index 56% rename from module-kunst-1/les-3/les-3b.md rename to archief/module-1.2-kunst/les-3/les-3b.md index f3213a7..ca98cea 100644 --- a/module-kunst-1/les-3/les-3b.md +++ b/archief/module-1.2-kunst/les-3/les-3b.md @@ -1,12 +1,12 @@ # Les 3b -#### Opdracht 3b-1\) Maak twee spirografen +## 1) Maak twee spirografen Deze les wordt afgetekend als: * Je twee spirograaffiguren naast elkaar hebt getekend -![](../../.gitbook/assets/image-20190329211324881.png) +![](../../../.gitbook/assets/image-20190329211324881.png) Denk aan deze tips: @@ -15,39 +15,38 @@ Denk aan deze tips: * Beweeg dan met `pen.forward(100)` * Doe dan de pen weer omlaag met `pen.pendown()` -#### Opdracht 3b-2\) Maak twee driehoeken op elkaar +## 2) Maak twee driehoeken op elkaar Deze les wordt afgetekend als: * Je twee driehoeken onder elkaar hebt getekend -![](../../.gitbook/assets/image-20190329212013611.png) +![](<../../../.gitbook/assets/image-20190329212013611 (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png>) -#### Opdracht 3b-3\) Maak twee vierkanten, eentje kleiner +## 3) Maak twee vierkanten, eentje kleiner Deze les wordt afgetekend als: * Je twee vierkanten naast elkaar hebt getekend * De tweede half zo groot is als de eerste -![](../../.gitbook/assets/image-20190329212412678.png) +![](<../../../.gitbook/assets/image-20190329212412678 (2) (2) (2) (2) (1) (1) (1).png>) -#### Opdracht 3b-4\) Maak twee driehoeken op elkaar, eentje ondersteboven +## 4) Maak twee driehoeken op elkaar, eentje ondersteboven Deze les wordt afgetekend als: * Je twee driehoeken onder elkaar hebt getekend * Eentje moet andersom zijn, zo: -![](../../.gitbook/assets/image-20190329212129413.png) +![](../../../img/image-20190329212129413.png) -#### Opdracht 3b-5\) Extra +## Extra) Teken een eigen figuur -Deze opdracht kun je zo vaak doen als je wilt, dus je kunt er zoveel stempels mee halen als je wilt. De opdracht gaat zo: +Deze opdracht kun je zo vaak doen als je wilt. De opdracht gaat zo: 1. Je tekent een figuur in je schrift, het mag ieder figuur zijn dat minstens uit 2 delen bestaat. -2. Dit figuur laat je aftekenen \(doe een gele post-it op je scherm\). +2. Dit figuur laat je aftekenen (doe een gele post-it op je scherm). 3. Nu maak je de code voor het figuur. Let op! Het telt alleen als je eerst tekent en dan pas code maakt! - diff --git a/module-kunst-1/les-4/README.md b/archief/module-1.2-kunst/les-4/README.md similarity index 100% rename from module-kunst-1/les-4/README.md rename to archief/module-1.2-kunst/les-4/README.md diff --git a/module-kunst-1/les-4/les-4a-1.md b/archief/module-1.2-kunst/les-4/les-4a.md similarity index 73% rename from module-kunst-1/les-4/les-4a-1.md rename to archief/module-1.2-kunst/les-4/les-4a.md index ad7f443..87d73a4 100644 --- a/module-kunst-1/les-4/les-4a-1.md +++ b/archief/module-1.2-kunst/les-4/les-4a.md @@ -1,6 +1,54 @@ # Les 4a -**Variabelen & Lussen** +## Lussen en variabelen + +Aan het einde van de les kun jij: + +* Dat variabelen ook getallen kunnen zijn +* Hoe we variabelen gebruiken bij het tekenen +* Hoe we variabelen gebruiken samen met lussen + +### Even opfrissen + +1\) Wat tekenen deze codes? Let op! De codes kunnen ook fout zijn! Schrijf dan FOUT. + +```python +1. +for i in range(3): + pen.forward(100) + pen.left(120) +``` + +```python +2. +for i in range(5) + pen.forward(100) + pen.left(60) +``` + +```python +3. +for i in range(3): +pen.forward(100) +pen.left(90) +``` + +```python +4. +for i in range(5): + pen.forward(100) + pen.left(45) +``` + +2\) Welke codes horen bij deze tekeningen? 1. + +![](../../../.gitbook/assets/image-20190318125810948.png) + +1. + +![](../../../.gitbook/assets/image-20190329210151106.png) + +### Variabelen in een lus 1\) Wat tekenen deze codes? @@ -56,13 +104,13 @@ for i in range(aantal_hoeken): pen.left(hoek) ``` -7. Leg nu in woorden uit wat de code van code 6 \(hier direct boven\) doet. +1. Leg nu in woorden uit wat de code van code 6 (hier direct boven) doet. ```python 8. namen = 3 for i in range(namen): -print('Hallo') + print('Hallo') ``` ```python @@ -136,7 +184,7 @@ for i in range(aantal_keer): pen.left(hoek) ``` -7. Leg in woorden uit wat de code van opdracht 6 doet. +1. Leg in woorden uit wat de code van opdracht 6 doet. ```python 8. @@ -146,7 +194,7 @@ for i in range(klas): print('Hallo', klas) ``` - 3\) Wat tekenen deze codes? +3\) Wat tekenen deze codes? ```python 1. @@ -211,6 +259,3 @@ for i in range(3): pen.forward(grootte) pen.left(120) ``` - - - diff --git a/module-kunst-1/les-4/les-4b.md b/archief/module-1.2-kunst/les-4/les-4b.md similarity index 61% rename from module-kunst-1/les-4/les-4b.md rename to archief/module-1.2-kunst/les-4/les-4b.md index 92590cb..2a8288f 100644 --- a/module-kunst-1/les-4/les-4b.md +++ b/archief/module-1.2-kunst/les-4/les-4b.md @@ -1,62 +1,60 @@ # Les 4b -### Les 4 werkblad b +## 1) Maak twee vierkanten met 1 variabele -#### Opdracht 4b-1\) Maak twee vierkanten met 1 variabele - -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je twee vierkanten naast elkaar hebt getekend * Je een variabele gebruikt voor de **hoek** -![](../../.gitbook/assets/image-20190403203110569.png) +![](<../../../.gitbook/assets/image-20190403203110569 (1) (1).png>) Denk aan deze tips: * Maak de opdracht eert zonder variabele. Kijk dan waar je het getal 90 ziet. Dat moet worden vervangen door de variabele hoek. -* Vergeet ook de dubbele punt : aan het einde van de `for` niet. +* Vergeet ook de dubbele punt : aan het einde van de `for` niet. * En begin met twee spaties onder de `for`! -#### Opdracht 4b-2\) Maak twee vierkanten met 2 variabelen +## 2) Maak twee vierkanten met 2 variabelen -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: -* Je twee vierkanten naast elkaar hebt getekend \(precies zoals bij opdracht 1\) +* Je twee vierkanten naast elkaar hebt getekend (precies zoals bij opdracht 1) * Je een variabele gebruikt voor de **hoek** * Je een variabele gebruikt voor het **aantal hoeken** -#### Opdracht 4b-3\) Maak twee spirografen met 2 variabelen +## 3) Maak twee spirografen met 2 variabelen -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je twee spirograaffiguren naast elkaar hebt getekend * Je een variabele gebruikt voor de **hoek** * Je een variabele gebruikt voor het **aantal hoeken** -![](../../.gitbook/assets/image-20190403203016092.png) +![](../../../.gitbook/assets/image-20190403203016092.png) -#### Opdracht 4b-4\) Maak twee driehoeken op elkaar met 2 variabelen +## 4) Maak twee driehoeken onder elkaar met 2 variabelen -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je twee driehoeken onder elkaar hebt getekend * Je een variabele gebruikt voor de **hoek** * Je een variabele gebruikt voor het **aantal hoeken** -![](../../.gitbook/assets/image-20190329212013611%20%281%29.png) +![](../../../.gitbook/assets/image-20190329212013611%20\(1\).png) -#### Opdracht 4b-5\) Maak twee driehoeken op elkaar met 3 variabelen +## 5) Maak twee driehoeken onder elkaar met 3 variabelen -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: -* Je weer twee driehoeken onder elkaar hebt getekend \(net als bij opdr. 4\) +* Je weer twee driehoeken onder elkaar hebt getekend (net als bij opdr. 4) * Je een variabele gebruikt voor de **hoek** * Je een variabele gebruikt voor het **aantal hoeken** * Je een variabele hebt gebruikt voor de **grootte** van de driehoeken -#### Opdracht 4b-6\) Maak twee vierkanten, eentje klein met 3 variabelen +## Extra) Maak twee vierkanten, eentje klein met 3 variabelen -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je twee vierkanten naast elkaar hebt getekend * De tweede half zo groot is als de eerste @@ -66,9 +64,9 @@ Deze les wordt afgetekend als: Tip: gebruik de variabele grootte nu twee keer. -![](../../.gitbook/assets/image-20190329212412678%20%281%29.png) +![](../../../.gitbook/assets/image-20190329212412678%20\(1\).png) -#### Opdracht 4b-7\) Maak ieder figuur! +## Extra) Maak ieder figuur! Nu willen we een figuur maken dat we kunnen instellen door maar één variabele te veranderen. Dus als we `aantal_hoeken` op 3 zetten tekent de code een driehoek en `aantal_hoeken = 10` maakt een tienhoek etc. Daarvoor moet je rekenen met de variabele. Een beginnetje voor de code staat hieronder. Met deze code moet je een vierkant krijgen. @@ -85,15 +83,14 @@ for i in range(...): **Let op!** Je krijgt alleen een stempel als je het figuur kunt veranderen door alleen de regel met `aantal_hoeken` aan te passen. -#### Opdracht 4b-8\) Maak je eigen figuur +## Extra) Maak je eigen figuur -Deze opdracht kun je zo vaak doen als je wilt, dus je kunt er zoveel stempels mee halen als je wilt. De opdracht gaat zo: +Deze opdracht kun je zo vaak doen als je wilt. De opdracht gaat zo: 1. Je tekent een figuur in je schrift, het mag ieder figuur zijn dat minstens uit 2 delen bestaat. -2. Dit figuur laat je aftekenen \(doe een gele post-it op je scherm\). +2. Dit figuur laat je aftekenen (doe een gele post-it op je scherm). 3. Nu maak je de code voor het figuur. Maar… anders dan vorige week moet je nu in je figuren ook variabelen gebruiken. Let op! Het telt alleen als je eerst tekent en dan pas code maakt! - diff --git a/archief/module-1.2-kunst/les-5/README.md b/archief/module-1.2-kunst/les-5/README.md new file mode 100644 index 0000000..84ef331 --- /dev/null +++ b/archief/module-1.2-kunst/les-5/README.md @@ -0,0 +1,12 @@ +# Les 5 + +## Slides + +[Module Kunst, les 5](https://slides.com/felienne/pidk-m2-l5a) + +## Leerdoelen + +* Hoe je kleuren in je tekening kunt gebruiken met namen +* Hoe je kleuren in je tekening kunt gebruiken met RGB codes +* Hoe je vlakken in je tekening kunt vullen met kleur + diff --git a/module-kunst-1/les-5/les-5a.md b/archief/module-1.2-kunst/les-5/les-5a.md similarity index 67% rename from module-kunst-1/les-5/les-5a.md rename to archief/module-1.2-kunst/les-5/les-5a.md index ada2b6d..5afeeac 100644 --- a/module-kunst-1/les-5/les-5a.md +++ b/archief/module-1.2-kunst/les-5/les-5a.md @@ -1,10 +1,14 @@ # Les 5a +## Kleuren +Aan het einde van de les kun jij: -#### Kleuren en plannen +* Hoe je kleuren in je tekening kunt gebruiken met namen +* Hoe je kleuren in je tekening kunt gebruiken met RGB codes +* Hoe je vlakken in je tekening kunt vullen met kleur -**Even opfrissen** +### Even opfrissen 1\) Wat doen deze codes? Leg het in je eigen woorden uit. @@ -164,20 +168,6 @@ for i in range(hoeken): ```python 7. -hoeken = 3 -for i in range(hoeken): - pen.forward(100) - pen.left(120) - -pen.forward(100) - -for i in range(hoeken): - pen.forward(100) - pen.left(120) -``` - -```python -8. namen = 3 klas = '1c' for i in range(klas): @@ -186,7 +176,7 @@ for i in range(klas): Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. -**Kleuren tekenen** +### Kleuren tekenen 1\) Welke kleur wordt dit? Tip: de codes zijn RGB, RoodGroenBlauw. En lagere getallen zijn donkerder, niet lichter! @@ -264,15 +254,75 @@ for i in range(aantal_keer): 3\) Schrijf de code voor deze tekeningen. Gebruik RGB codes voor de kleuren. -1. +1\. + +![](../../../.gitbook/assets/image-20190406141936243.png) -![](../../.gitbook/assets/image-20190406141936243.png) +1. ![](<../../../.gitbook/assets/image-20190406142059944 (1).png>) +2. -2. +![](<../../../.gitbook/assets/image-20190406142204920 (1).png>) -![](../../.gitbook/assets/image-20190406142059944.png) +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. -3. +### Figuren vullen -![](../../.gitbook/assets/image-20190406142204920.png) +1\) Wat tekenen deze codes? Gebruik kleurpotloden of stiften. Heb je die niet? Zet dan de namen van de kleuren in de tekening. + +```python +1. pen.color('orange') +aantal_keer = 4 +hoek = 90 +pen.begin_fill() +for i in range(antal_keer): + pen.forward(100) + pen.left(hoek) +pen.end_fill() +``` +```python +2. pen.color(255,0,0) +aantal_keer = 6 +hoek = 60 +for i in range(aantal_keer): + pen.forward(100) + pen.left(hoek) +pen.begin_fill() +pen.end_fill() +``` + +```python +3. pen.color(0,0,255) +aantal_keer = 2 +hoek = 60 +pen.begin_fill() +for i in range(aantal_keer): + pen.forward(100) + pen.left(hoek) +pen.end_fill() +pen.begin_fill() +for i in range(aantal_keer): + pen.forward(100) + pen.left(hoek) +pen.end_fill() +``` + +```python +4. pen.color(0,255,255) +aantal_keer = 3 +hoek = 120 +pen.end_fill() +for i in range(aantal_keer): + pen.forward(100) + pen.left(hoek) +pen.begin_fill() +``` + +2\) Schrijf de code voor deze tekeningen. Gebruik RGB codes voor de kleuren. + +1\. ![](../../../.gitbook/assets/Kunst\_5a\_figurenvullen\_21.png) + +1. ![](../../../.gitbook/assets/Kunst\_5a\_figurenvullen\_22.png) +2. ![](../../../.gitbook/assets/Kunst\_5a\_figurenvullen\_23.png) + +Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. diff --git a/module-kunst-1/les-5/les-5b.md b/archief/module-1.2-kunst/les-5/les-5b.md similarity index 58% rename from module-kunst-1/les-5/les-5b.md rename to archief/module-1.2-kunst/les-5/les-5b.md index d4e16d7..955a661 100644 --- a/module-kunst-1/les-5/les-5b.md +++ b/archief/module-1.2-kunst/les-5/les-5b.md @@ -1,53 +1,53 @@ # Les 5b -#### Opdracht 5b-1\) Maak twee vierkanten met 3 variabelen +## 1) Maak twee vierkanten met 3 variabelen -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je twee vierkanten naast elkaar hebt getekend. * Je variabelen hebt gebruikt voor de hoek, het aantal hoeken en de grootte. * Ze allebei blauw zijn -![](../../.gitbook/assets/image-20190406144918466.png) +![](<../../../.gitbook/assets/image-20190406144918466 (1) (1) (1).png>) Denk aan deze tips: * De codes voor kleuren zijn RGB: RoodGroenBlauw. * Getallen erin zijn tussen de 0 en de 255. -#### Opdracht 5b-2\) Teken een bergschilderij met kleur +## 2) Teken een bergschilderij met kleur -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je het bergschilderij van de vorige lessen met kleuren maakt. Kies de kleuren zelf. -![](../../.gitbook/assets/image-20190406145634717.png) +![](<../../../.gitbook/assets/image-20190406145634717 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1).png>) -#### Opdracht 5b-3\) Maak twee spirografen +## 3) Maak twee spirografen -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je twee spirografen onder elkaar hebt getekend, een grote en een kleine. -* Je variabelen hebt gebruikt voor \(minstens\) de hoek, en de grootte. +* Je variabelen hebt gebruikt voor (minstens) de hoek, en de grootte. * Ze allebei een andere kleur hebben. -![](../../.gitbook/assets/image-20190406150038398.png) +![](../../../.gitbook/assets/image-20190406150038398.png) Probeer de tekening zo goed mogelijk na te maken. -#### Opdracht 5b-4\) Maak twee andere spirografen +## 4) Maak twee andere spirografen -Deze les wordt afgetekend als: +Deze opdracht wordt afgetekend als: * Je twee spirografen onder elkaar hebt getekend, een grote en een kleine. -* Je variabelen hebt gebruikt voor \(minstens\) de hoek, en de grootte. +* Je variabelen hebt gebruikt voor (minstens) de hoek, en de grootte. * Ze allebei een andere kleur hebben. -![](../../.gitbook/assets/image-20190406150007097.png) +![](../../../.gitbook/assets/image-20190406150007097.png) Probeer de tekening zo goed mogelijk na te maken. -#### Opdracht 5b-5\) Maak het mooi +## Extra) Maak het mooi Je hebt nu een hele hoop gekleurde spirografen gezien. Welke vond jij het mooist? @@ -58,16 +58,15 @@ Deze les wordt afgetekend als: * Je een programma hebt met minstens drie spirografen. * Jij je kunstwerk mooi vindt! -#### Opdracht 5b-6\) Maak je eigen figuur +## Extra) Maak je eigen figuur -Deze opdracht kun je zo vaak doen als je wilt, dus je kunt er zoveel stempels mee halen als je wilt. De opdracht gaat zo: +Deze opdracht kun je zo vaak doen als je wilt. De opdracht gaat zo: 1. Je tekent een figuur in je schrift, het mag ieder figuur zijn dat minstens uit 4 delen bestaat. 2. En… Er moeten ook kleuren in voorkomen! -3. Dit figuur laat je aftekenen \(doe een gele post-it op je scherm\). +3. Dit figuur laat je aftekenen (doe een gele post-it op je scherm). 4. Nu maak je de code voor het figuur. Maar… anders dan vorige week moet je nu in je figuren ook kleuren gebruiken. Let op! Het telt alleen als je eerst tekent en dan pas code maakt! - diff --git a/module-kunst-1/les-6-eindopdracht/README.md b/archief/module-1.2-kunst/les-6-eindopdracht/README.md similarity index 72% rename from module-kunst-1/les-6-eindopdracht/README.md rename to archief/module-1.2-kunst/les-6-eindopdracht/README.md index 07c037a..2558ab4 100644 --- a/module-kunst-1/les-6-eindopdracht/README.md +++ b/archief/module-1.2-kunst/les-6-eindopdracht/README.md @@ -1,6 +1,10 @@ -# Les 6 \(Eindopdracht\) +# Eindopdracht Les 6 is een herhaling met wisbordjes ipv een opdrachtenvel deel a. Er zijn dus geen nieuwe leerdoelen. Indien gewenst kun je deze les ook als so gebruiken, laat leerlingen dan de antwoorden op een vel opschrijven ipv op een wisbordje. Deel b is de eindopdracht. +## Slides + +[Module Kunst, Eindopdracht](hhttps://slides.com/felienne/pidk-m2-l6a-16) + diff --git a/archief/module-1.2-kunst/les-6-eindopdracht/les-6b.md b/archief/module-1.2-kunst/les-6-eindopdracht/les-6b.md new file mode 100644 index 0000000..2df9ff7 --- /dev/null +++ b/archief/module-1.2-kunst/les-6-eindopdracht/les-6b.md @@ -0,0 +1,53 @@ +# Les 6b + +## 1\) Maak je tekening! + +Je hebt de afgelopen weken een hoop geleerd. Nu is het tijd om een mooie tekening te maken. Deze dingen moeten in je programma zitten: + +* Minstens 5 _**losse**_ figuren. +* Minstens 3 variabele die je definieert én gebruikt. +* Minstens 3 kleuren. +* Netjes commentaar bovenaan. +* Bij moeilijke stukjes code ook commentaar achter de codes. + +Je kunt **extra** punten verdienen door: + +* Het gebruiken van rgb-codes voor kleuren. +* `begin_fill()` en `end_fill` om vlakken in te kleuren. +* Figuren met meerdere kleuren \(zie onderaan dit werkblad\). +* Andere coole dingen die je kunt verzinnen! + +## 2\) Wat vond je ervan? + +We willen graag weten wat jij van de lessen tot nu toe vond. Schrijf in je schrift de drie dingen die je het leukst vond. Schrijf ook op wat je het minst leuk vond. + +## Extra\) Meerdere kleuren + +Je kunt ook figuren tekenen met 1 kleur, en invullen met een andere kleur! Dat doe je door twee kleuren in te voeren in `pen.color()`. Zo dus: + +```text +pen.color('orange', 'blue') +pen.begin_fill() +​ +for i in range(50): + pen.forward(100) + pen.left(110) +​ +pen.end_fill() +``` + +```text +pen.color((248,24,148), (64,224,208)) +pen.begin_fill() +​ +for i in range(60): + pen.forward(100) + pen.left(93) +​ +pen.end_fill() +``` + +Dat maakt dit figuur: + +Je mag ook twee rgb-codes gebruiken in `pen.color()` maar let op! Dan moeten ze wel allebei tussen haakjes staan: + diff --git a/archief/module-1.2-kunst/nakijkbladen/README.md b/archief/module-1.2-kunst/nakijkbladen/README.md new file mode 100644 index 0000000..a698a5e --- /dev/null +++ b/archief/module-1.2-kunst/nakijkbladen/README.md @@ -0,0 +1,4 @@ +# Nakijkbladen + +Hier zijn de nakijkbladen te vinden van Kunst werkbladen deel a. + diff --git a/archief/module-1.2-kunst/nakijkbladen/les-1-nakijkmodel.md b/archief/module-1.2-kunst/nakijkbladen/les-1-nakijkmodel.md new file mode 100644 index 0000000..7a41ba3 --- /dev/null +++ b/archief/module-1.2-kunst/nakijkbladen/les-1-nakijkmodel.md @@ -0,0 +1,163 @@ +# Les 1 + +## Tekenen en code + +1\) + +```python +1. pen.forward(100) +2. pen.left(90) +3. pen.forward(100) +4. pen.left(90) +5. pen.forward(100) +6. pen.left(90) +7. pen.forward(100) +8. pen.left(90) +``` + +2\) 1. Onze pen kan een heel rondje draaien, wat 360 graden is. We willen dat hij maar 1/3e rondje draait, want er zijn 3 hoeken en bij alle hoeken bij elkaar willen we het hele rondje gedraaid hebben. Dus draaien we per hoek 360/3 = 120 graden. + +1. \`\`\`python +2. pen.forward(100) +3. pen.left(120) +4. pen.forward(100) +5. pen.left(120) +6. pen.forward(100) +7. pen.left(120) + + \`\`\` + +3\) zeshoek: 360/6 = 120 graden + +tienhoek: 360/10 = 36 graden + +zesendertighoek: 360/36 = 10 graden + +dertighoek: 360/ 30 = 12 graden + +### Nog meer figuren + +1\) Hier komt een spirograaf uit, met een hoek van 65 graden en 11 herhalingen krijg je bijvoorbeeld onderstaand: + +![](../../../.gitbook/assets/image-20190415150322353.png) + +2\) + +1. ![](../../../.gitbook/assets/Knipsel.PNG) +2. ![](../../../.gitbook/assets/image-20190415150849824.png) +3. ![](<../../../.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (3).png>) + +3\) + +1. \`\`\`python +2. pen.forward(100) +3. pen.left(120) +4. pen.forward(100) +5. pen.left(120) +6. pen.forward(100) +7. pen.left(120) + + \`\`\` + +2\. + +```python +1. pen.forward(100) +2. pen.left(60) +3. pen.forward(100) +4. pen.left(60) +5. pen.forward(100) +6. pen.left(60) +7. pen.forward(100) +8. pen.left(60) +9. pen.forward(100) +10. pen.left(60) +11. pen.forward(100) +12. pen.left(60) +``` + +3\. + +```python +1. pen.forward(100) +2. pen.left(36) +3. pen.forward(100) +4. pen.left(36) +5. pen.forward(100) +6. pen.left(36) +7. pen.forward(100) +8. pen.left(36) +9. pen.forward(100) +10. pen.left(36) +11. pen.forward(100) +12. pen.left(36) +13. pen.forward(100) +14. pen.left(36) +15. pen.forward(100) +16. pen.left(36) +17. pen.forward(100) +18. pen.left(36) +19. pen.forward(100) +20. pen.left(36) +``` + +### **Extraatje** + +Tekeningen die horen bij code: + +1. ![](../../../.gitbook/assets/image-20190415153151230.png) +2. ![](../../../.gitbook/assets/image-20190415153242500.png) +3. ![](../../../.gitbook/assets/image-20190322130925083.png) + +Code die hoort bij tekeningen: + +1\. + +```python +1. pen.forward(100) +2. pen.right(120) +3. pen.forward(100) +4. pen.right(120) +5. pen.forward(100) +``` + +2\. + +```python +1. pen.left(120) +2. pen.forward(100) +3. pen.left(120) +4. pen.forward(100) +5. pen.left(120) +6. pen.forward(100) +7. pen.left(90) +8. pen.forward(100) +9. pen.left(90) +10. pen.forward(100) +11. pen.left(90) +12. pen.forward(100) +13. pen.left(90) +14. pen.forward(100) +``` + +3\. + +```python +1. pen.forward(100) +2. pen.left(60) +3. pen.forward(100) +4. pen.left(60) +5. pen.forward(100) +6. pen.left(60) +7. pen.forward(100) +8. pen.left(60) +9. pen.forward(100) +10. pen.left(60) +11. pen.forward(100) +12. pen.left(150) +13. pen.forward(175) +14. pen.right(90) +15. pen.forward(100) +16. pen.right(90) +17. pen.forward(175) +``` diff --git a/archief/module-1.2-kunst/nakijkbladen/les-2-nakijkmodel.md b/archief/module-1.2-kunst/nakijkbladen/les-2-nakijkmodel.md new file mode 100644 index 0000000..156f587 --- /dev/null +++ b/archief/module-1.2-kunst/nakijkbladen/les-2-nakijkmodel.md @@ -0,0 +1,139 @@ +# Les 2 + +## Even opfrissen! + +1\) + +```python +1. pen.forward(100) +2. pen.left(90) +3. pen.forward(100) +4. pen.left(90) +5. pen.forward(100) +6. pen.left(90) +7. pen.forward(100) +8. pen.left(90) +``` + +2\) Onze pen kan een heel rondje draaien, wat 360 graden is. We willen dat hij maar 1/3e rondje draait, want er zijn 3 hoeken en bij alle hoeken bij elkaar willen we het hele rondje gedraaid hebben. Dus draaien we per hoek 360/3 = 120 graden. + +```python +1. pen.forward(100) +2. pen.left(120) +3. pen.forward(100) +4. pen.left(120) +5. pen.forward(100) +6. pen.left(120) +``` + +3\) 1. zeshoek + +1. 360/5 = 72 graden +2. achthoek +3. 360/100 = 3,6 graden + +4\) 1. + +```python +1. pen.forward(100) +2. pen.left(120) +3. pen.forward(100) +4. pen.left(120) +5. pen.forward(100) +6. pen.left(120) +``` + +2\. + +```python +1. pen.forward(100) +2. pen.left(60) +3. pen.forward(100) +4. pen.left(60) +5. pen.forward(100) +6. pen.left(60) +7. pen.forward(100) +8. pen.left(60) +9. pen.forward(100) +10. pen.left(60) +11. pen.forward(100) +12. pen.left(60) +``` + +3\. + +```python +1. pen.forward(100) +2. pen.left(45) +3. pen.forward(100) +4. pen.left(45) +5. pen.forward(100) +6. pen.left(45) +7. pen.forward(100) +8. pen.left(45) +9. pen.forward(100) +10. pen.left(45) +11. pen.forward(100) +12. pen.left(45) +13. pen.forward(100) +14. pen.left(45) +15. pen.forward(100) +16. pen.left(45) +``` + +\### Herhalen met lussen 1\\) 1. ![](<../../../.gitbook/assets/image-20190318130624359 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1).png>) 2. ![](../../../.gitbook/assets/image-20190415164642350.png) 3. ![](<../../../.gitbook/assets/les 2 1.3.PNG>) 4. ![](../../../.gitbook/assets/image-20190415160753334.png) 5. ![](../../../.gitbook/assets/image-20190415160852179.png) + +2\) + +1. ```python + for i in range(4): + pen.forward(100) + pen.left(90) + ``` +2. ```python + for i in range(5): + pen.forward(100) + pen.left(72) + ``` +3. ```python + for i in range(8): + pen.forward(100) + pen.left(45) + ``` + +### Extraatje! + +1. ```python + for i in range(3): + pen.forward(100) + pen.left(60) + ``` +2. ```python + for i in range(4): + pen.forward(100) + pen.left(90) + for i in range(4): + pen.left(90) + pen.forward(100) + ``` +3. ```python + for i in range(3): + pen.left(120) + pen.forward(100) + for i in range(4): + pen.left(90) + pen.forward(100) + ``` +4. ```python + for i in range(3): + pen.forward(100) + pen.right(120) + ``` +5. ```python + for i in range(10): + pen.forward(100) + pen.left(80) + for i in range(3): + pen.forward(100) + pen.left(120) + ``` diff --git a/archief/module-1.2-kunst/nakijkbladen/les-3-nakijkmodel.md b/archief/module-1.2-kunst/nakijkbladen/les-3-nakijkmodel.md new file mode 100644 index 0000000..1744cc9 --- /dev/null +++ b/archief/module-1.2-kunst/nakijkbladen/les-3-nakijkmodel.md @@ -0,0 +1,56 @@ +# Les 3 + +## Even opfrissen! + +1\) + +1. ![](<../../../.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1).png>) +2. Fout: de dubbele punt mist op regel 1. +3. Fout: de indenting (spaties) op de tweede en derde regel is fout. +4. ![](<../../../.gitbook/assets/les 3 1.4.PNG>) + +2\) + +1. ```python + for i in range(3): + pen.forward(100) + pen.left(120) + ``` +2. ```python + for i in range(6): + pen.forward(100) + pen.left(60) + ``` +3. ```python + for i in range(3): + pen.forward(100) + pen.left(60) + ``` +4. ```python + for i in range(8): + pen.forward(100) + pen.left(45) + ``` + + \### Meerdere figuren 1\\) 1. ![](../../../.gitbook/assets/image-20190415170548304.png) 2. ![](<../../../.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (1) (1).png>) 3. ![](<../../../.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (1) (1).png>) 4. ![](../../../.gitbook/assets/image-20190415171117482.png) 5. ![](../../../.gitbook/assets/image-20190415171030510.png) 6. ![](../../../.gitbook/assets/image-20190415171304634.png) ### Extraatje! 1. \`\`\`python for i in range(9): pen.forward(100) pen.left(80) pen.penup() pen.forward(150) pen.pendown() for i in range(9): pen.forward(50) pen.left(80) \`\`\` 2. \`\`\`python for i in range(4): pen.forward(100) pen.left(90) pen.penup() pen.forward(100) pen.pendown() for i in range(4): pen.forward(100) pen.left(90) \`\`\` +5. \`\`\`python for i in range(4): pen.forward(100) pen.left(90) + +for i in range(3): pen.forward(100) pen.left(120) + +pen.forward(100) + +```` +4. + + +```python +for i in range(4): + pen.left(90) + pen.forward(100) + +pen.forward(100) + +for i in range(3): + pen.right(90) + pen.forward(100) +```` diff --git a/archief/module-1.2-kunst/nakijkbladen/les-4-nakijkmodel.md b/archief/module-1.2-kunst/nakijkbladen/les-4-nakijkmodel.md new file mode 100644 index 0000000..2988a47 --- /dev/null +++ b/archief/module-1.2-kunst/nakijkbladen/les-4-nakijkmodel.md @@ -0,0 +1,64 @@ +# Les 4 + +## Even opfrissen + +1\) + +1. ![](<../../../.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1) (2).png>) +2. FOUT. De dubbele punt (:) mist in de eerste regel. +3. FOUT. De indentatie (spaties) missen in de tweede en derde regel. +4. ![](<../../../.gitbook/assets/les 4 1.4.PNG>) + +2\) + +1\. + +```python +1. for i in range(3): +2. pen.left(120) +3. pen.forward(100) +4. for i in range(4): +5. pen.left(90) +6. pen.forward(100) +``` + +2\. + +```python +1. for i in range(4): +2. pen.left(90) +3. pen.forward(100) +4. pen.forward(100) +5. for i in range(3): +6. pen.right(90) +7. pen.forward(100) +``` + +## Variabelen in een lus + +1\) + +1. ![](<../../../.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (2).png>) +2. ![](<../../../.gitbook/assets/image-20190415165611900 (2) (4) (1) (1) (1) (1) (3).png>) +3. ![](<../../../.gitbook/assets/image-20190415165852940 (2) (1) (1) (1) (3).png>) +4. ![](<../../../.gitbook/assets/image-20190415165852940 (2) (1) (1) (1) (2).png>) +5. ![](<../../../.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (1) (2).png>) + 1. ![](<../../../.gitbook/assets/image-20190415165852940 (2) (1) (1) (1) (1).png>) 7. De code van opdracht 6 gebruikt de variabele aantal\_hoeken (die een waarde van 8 heeft) om te berekenen hoeveel graden de pen moet draaien voor de hoek van een (in dit geval) achthoek. Dat doe je door 360 graden te delen door het aantal hoeken (hier dus de variabele aantal\_hoeken) 8. \`\`\`python Hallo Hallo Hallo \`\`\` 9. \`\`\`python Hallo 1c Hallo 1c Hallo 1c \`\`\` 10. \`\`\`python Goedemorgen 1c Goedemorgen 1c Goedemorgen 1c \`\`\` + +2\) + +1. ![](<../../../.gitbook/assets/image-20190415170006194 (3) (3) (3) (3) (3) (3) (3) (1) (1) (1) (1).png>) +2. FOUT, aantal\_hoeken is niet gedefinieerd. +3. ![](../../../.gitbook/assets/image-20190416104310600.png) +4. ![](../../../.gitbook/assets/image-20190416104451721.png) +5. FOUT, de indentatie van de twee laatste regels code is incorrect. Hier moeten twee spaties voor, bij beide regels. +6. ![](<../../../.gitbook/assets/image-20190415151021170 (2) (4) (4) (4) (4) (4) (4) (4) (1) (1) (2).png>) +7. De code van opdracht 6 gebruikt de variabele aantal\_keer in de for-lus om de herhaling dat aantal keren uit te voeren. aantal\_keer heeft hier de waarde 3, dus de for-lus wordt 3 keer uitgevoerd. Ook de waarde van de hoek zit in een variabele. Voor het commando pen.left() wordt hier dus de variabele hoek gebruikt die een waarde van 60 heeft gekregen. Het aantal graden dat de pen draait zal dus 60 zijn. +8. FOUT. Je krijgt hier een foutmelding. Voor het aantal herhalingen van de for-lus wordt de variabele klas gebruikt. De variabele klas heeft als waarde '1c', dus is een string (reeks van karakters) en geen integer (cijfer). Een for-lus heeft als argument een integer nodig en kan niets met een string. De for-lus weet nu niet hoe vaak deze een herhaling moet uitvoeren en geeft wegens het hebben gekregen van een ongeschikt argument een foutmelding. + +3\) + +1. ![](<../../../.gitbook/assets/image-20190415171210673 (1) (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png>) +2. ![](<../../../.gitbook/assets/image-20190415171156881 (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1).png>) +3. ![](../../../.gitbook/assets/image-20190416110912808.png) +4. ![](../../../.gitbook/assets/image-20190416111050065.png) diff --git a/archief/module-1.2-kunst/nakijkbladen/les-5-nakijkmodel.md b/archief/module-1.2-kunst/nakijkbladen/les-5-nakijkmodel.md new file mode 100644 index 0000000..b353c21 --- /dev/null +++ b/archief/module-1.2-kunst/nakijkbladen/les-5-nakijkmodel.md @@ -0,0 +1,124 @@ +# Les 5 + +## Even opfrissen! + +1\) 1. Deze code print 3 keer Hallo en Allemaal en daaronder 1 keer Goedemorgen. + +1. Deze code tekent een vierkant. +2. Deze code tekent twee vierkanten tegen elkaar aan, waarbij het tweede vierkant half zo groot is als het eerste. +3. Deze code tekent een zeshoek. +4. Deze code tekent een zeshoek (kleiner dan die bij opdracht 4). +5. Deze code print 2 keer Goedemorgen 1c. +6. Deze code tekent een driehoek. +7. Deze code print 3 keer Hallo 1c. + +2\) 1. Deze code tekent een vierkant. + +1. Fout: 'aantal\_hoeken' is niet gedefinieerd. +2. Deze code tekent vier zijden van een zeshoek. +3. Deze code tekent een vijfhoek. +4. Fout: de indentatie (spatie) mist in regel 4 en 5. +5. Deze code tekent twee evengrote driehoeken tegen elkaar aan. +6. Fout: 'klas' is niet gedefinieerd als een aantal en kan dus niet in het 'range'commando verwerkt woden. + +## Kleuren tekenen + +1\) 1. Rood 2. Groen 3. Geel 4. blauw 5. Roze/Paars 6. Donkerrood 7. Donkerblauw 8. Mosterdgeel/groen 9. Donkergroen 10. Paars + +2\) 1. ![](<../../../.gitbook/assets/vierkant blauw lijn.PNG>) + +1. ![](<../../../.gitbook/assets/halve zeshoek rood lijn.PNG>) +2. ![](<../../../.gitbook/assets/driehoek blauw lijn.PNG>) +3. ![](<../../../.gitbook/assets/vierkant zwart driehoek groen lijn.PNG>) +4. Deze code tekent een vierkant met wit. + +3\) 1. + +```python +1. pen.color(255,0,0) +2. antal_keer = 4 +3. for i in range(aantal_keer): +4. pen.forward(100) +5. pen.left(90) +``` + +1. \`\`\`python +2. pen.color(255,0,0) +3. aantal\_keer = 4 +4. hoek = 90 +5. for i in range(aantal\_keer): +6. pen.forward(100) +7. pen.left(hoek) +8. pen.color(160,0,0) +9. aantal\_keer = 3 +10. hoek = 120 +11. for i in range(aantal\_keer): +12. pen.forward(100) +13. pen.left(hoek) + + \`\`\` +14. \`\`\`python +15. pen.color(0,0,255) +16. aantal\_keer = 4 +17. hoek = 90 +18. for i in range(aantal\_keer): +19. pen.forward(100) +20. pen.left(hoek) +21. pen.up() +22. pen.forward(200) +23. pen.down() +24. pen.color(255,0,0) +25. aantal\_keer = 6 +26. hoek = 60 +27. for i in range(aantal\_keer): +28. pen.forward(100) +29. pen.left(hoek) + + \`\`\` + +## Figuren vullen + +1\) 1. ![](<../../../.gitbook/assets/oranje vierkant gevuld.PNG>) + +1. ![](<../../../.gitbook/assets/zeshoek rood lijn.PNG>) +2. ![](<../../../.gitbook/assets/halve zeshoek blauw gevuld.PNG>) +3. ![](<../../../.gitbook/assets/driehoek turqoise lijn.PNG>) + +2\) 1. + +``` +1. pen.color(0,255,0) +2. pen.begin_fill() +3. aantal_keer = 4 +4. hoek = 90 +5. for i in range(aantal_keer): +6. pen.forward(100) +7. pen.left(hoek) +8. pen.end_fill() +``` + +2\. + +```python +1. pen.color(255,255,0) +2. pen.begin_fill() +3. aantal_keer = 3 +4. hoek = 120 +5. for i in range(aantal_keer): +6. pen.forward(100) +7. pen.left(hoek) +8. pen.end_fill() +``` + +3\. + +```python +1. pen.color(255,0,255) +2. pen.begin_fill() +3. aantal_keer = 2 +4. hoek = 90 +5. for i in range(aantal_keer): +6. pen.forward(100) +7. pen.left(hoek) +8. pen.end_fill() +``` diff --git a/archief/module-4.1-flask/README.md b/archief/module-4.1-flask/README.md new file mode 100644 index 0000000..6c6848b --- /dev/null +++ b/archief/module-4.1-flask/README.md @@ -0,0 +1,2 @@ +# Module 4.1 - Flask + diff --git a/archief/module-4.1-flask/les-1/README.md b/archief/module-4.1-flask/les-1/README.md new file mode 100644 index 0000000..2a5d540 --- /dev/null +++ b/archief/module-4.1-flask/les-1/README.md @@ -0,0 +1,28 @@ +# Les 1 + +## Slides + +[Module Flask, les 1](https://slides.com/felienne/pidk-k4-m1-l1) + +## Leerdoelen + +* Functies herhalen. +* Een basiswebsite maken in Flask +* (extra) Die website deployen op Heroku + +## Instructies voor de leerkracht + +Deze les maakt de start met het maken van een site met Flask in Python. We herhalen daarvoor nog even functies omdat Flask-code in een functie geprogrammeerd wordt. Dus het is handig om nog even goed te benadrukken dat functies moeten inspringen etc.\ +\ +Leerlingen die daar interesse in hebben of al snel klaar zijn kunnen die site meteen ook al online zetten via Heroku. Om de site op Heroku te zetten moet je een koppeling maken met GitHub. + +**Let op!** Bij het maken van een account op GitHub moeten lln een captcha beantwoorden (zo'n puzzel met "wat is hier een stoplicht?" maar dat gaat via Google en werkt daarom niet op sommige schoolnetwerken (waaronder het netwerk van Lyceum Kralingen) Lln zullen dan even hun account moeten aanmaken op hun mobiel via 3g. Inloggen zelf werkt werkt wel. + + + + + + + + + diff --git a/archief/module-4.1-flask/les-1/les-1b.md b/archief/module-4.1-flask/les-1/les-1b.md new file mode 100644 index 0000000..be016b0 --- /dev/null +++ b/archief/module-4.1-flask/les-1/les-1b.md @@ -0,0 +1,12 @@ +# Les 1b + +**Opdracht 1\) Maak je site** + +Volg [deze tutorial](http://bit.ly/flask-start) om een basiswebsite te maken in Flask. + +**Opdracht 2\) Deploy je site op Heroku** + +Het is natuurlijk leuk als je site echt op internet draait, in plaats van alleen op repl.it. Daarom gaan we jouw site nu deployen \(online zetten\) op de website Heroku. Hiervoor moet je een aantal stappen zetten: + +TODO: Dit moet nog verder worden uitgewerkt! + diff --git a/archief/module-4.1-flask/les-2/README.md b/archief/module-4.1-flask/les-2/README.md new file mode 100644 index 0000000..c9b8dcd --- /dev/null +++ b/archief/module-4.1-flask/les-2/README.md @@ -0,0 +1,16 @@ +# Les 2 + +## Slides + +[Module Flask, les 2](https://slides.com/felienne/pidk-k4-m1-l2) + +## Leerdoelen + +* Herhaling van lijsten +* Basis van HTML tags +* Begin van CSS + +## Instructies voor de leerkracht + +Deze les maakt wordt er verder gewerkt met HTML en CSS. + diff --git a/archief/module-4.1-flask/les-2/les-2b.md b/archief/module-4.1-flask/les-2/les-2b.md new file mode 100644 index 0000000..4eed5b9 --- /dev/null +++ b/archief/module-4.1-flask/les-2/les-2b.md @@ -0,0 +1,18 @@ +# Les 2b + +**Opdracht 1\) HTML/CSS** + +Volg deze [lessenserie](https://metis-montessori-lyceum.gitbook.io/htmlcss-0/) om jouw HTML en CSS-kennis up to date te krijgen. + +**Opdracht 2\) Maak jouw site mooier en beter!** + +Gebruik je kennis van HTML en CSS om je site te verbeteren. +Zorg dat je minstens deze zaken op je site hebt: + +* Minstens 5 verschillende HTML "tags" + * Denk bijv. aan een lijstje, een tabel, plaatjes, video's en links +* Minstens 5 verschillende CSS stijlen + * Denk bijv. aan verschillende achtergrondkleuren, tekstkleuren en lettertypes + + + diff --git a/archief/module-4.1-flask/les-3/README.md b/archief/module-4.1-flask/les-3/README.md new file mode 100644 index 0000000..b95b588 --- /dev/null +++ b/archief/module-4.1-flask/les-3/README.md @@ -0,0 +1,14 @@ +# Les 3 + +## Slides + +[Module Flask, les 3](https://slides.com/felienne/pidk-k4-m1-l3) + +## Leerdoelen + +* Dictionaries gebruiken +* Templates in Flask gebruiken + +## Instructies voor de leerkracht + +Deze les gaat verder op de vorige, door templates in Flask verder uit te werken. Ook wordt er een start gemaakt met dictionaries, die worden in volgende lessen gebruikt om data te verwerken en het aanroepen van templates te vereenvoudigen. diff --git a/archief/module-4.1-flask/les-3/les-3b.md b/archief/module-4.1-flask/les-3/les-3b.md new file mode 100644 index 0000000..8549cb7 --- /dev/null +++ b/archief/module-4.1-flask/les-3/les-3b.md @@ -0,0 +1,18 @@ +# Les 3b + +**Opdracht 1\) Templates in Flask** + +Volg deze [lesbrief](https://drive.google.com/open?id=1C_FDwr-g1kHGIeF_yxZc8RezF5j3iF1EehH_n2sLsOM) over templates in Flask. + +**Opdracht 2\) Maak jouw site mooier en beter** + +Gebruik je kennis van templates om je site te verbeteren. +Zorg dat je minstens deze zaken op je site hebt: + +* Minstens 3 HTML template-pagina's + * Denk bijv. aan verschillende pagina's voor verschillende onderwerpen of mensen \(admin en gewone gebruikers\) +* Minstens 5 variabelen in de templates + * Denk bijv. aan gebruikersnaam, datums of filters + + + diff --git a/archief/module-4.1-flask/les-4/README.md b/archief/module-4.1-flask/les-4/README.md new file mode 100644 index 0000000..e923527 --- /dev/null +++ b/archief/module-4.1-flask/les-4/README.md @@ -0,0 +1,13 @@ +# Les 4 + +## Slides + +[Module Flask, les 4](https://slides.com/felienne/pidk-k4-m1-l4) + +## Leerdoelen + +* For lussen gebruiken in Flask Templates + +## Instructies voor de leerkracht + +Deze les gaat verder op de vorige, door templates in Flask verder uit te breiden met for loops. Dat is handig als een een grotere dataset op een site wilt gebruiken. diff --git a/archief/module-4.1-flask/les-4/les-4b.md b/archief/module-4.1-flask/les-4/les-4b.md new file mode 100644 index 0000000..57a98f2 --- /dev/null +++ b/archief/module-4.1-flask/les-4/les-4b.md @@ -0,0 +1,21 @@ +# Les 4b + +**Opdracht 1) For loops in Flask** + +Volg deze [tutorial](https://ttl255.com/jinja2-tutorial-part-2-loops-and-conditionals/) over templates in Flask. + +**Opdracht 2) Maak jouw site dynamischer** + +Gebruik je kennis van for loops templates om je site te verbeteren. \ +Zorg dat je minstens deze zaken op je site hebt: + +* Minstens 3 lijstjes om te renderen + * Denk bijv. aan verschillende soorten bomen, weerberichten, games, of weetjes +* Minstens 2 templates die een for-lus gebruiken + +**Opdracht 3) Gebruik dictionaries (extra)** + +Heb je meer complexe data? Bijvoorbeeld games met een prijs, of weerberichten met een datum? Dan kun je ook een lijstje van dictionaries maken en die in een Flask template inladen. Zoek zelf op hoe dat moet! + + + diff --git a/archief/module-4.1-flask/les-5/README.md b/archief/module-4.1-flask/les-5/README.md new file mode 100644 index 0000000..4e9c7e5 --- /dev/null +++ b/archief/module-4.1-flask/les-5/README.md @@ -0,0 +1,15 @@ +# Les 5 + +## Slides + +[Module Flask, les 5](https://slides.com/felienne/pidk-k4-m1-l5) + +## Leerdoelen + +* Input forms maken in HTML +* Input gebruiken in Python met Flask + +## Instructies voor de leerkracht + +In deze les leren leerlingen hoe ze een form maken in HTML en de data daarvan met POST in Python/Flask kunnen verwerken. + diff --git a/archief/module-4.1-flask/les-5/les-5b.md b/archief/module-4.1-flask/les-5/les-5b.md new file mode 100644 index 0000000..331e57f --- /dev/null +++ b/archief/module-4.1-flask/les-5/les-5b.md @@ -0,0 +1,23 @@ +# Les 5b + +**Opdracht 1) Input pagina** + +Zorg dat je op je site een input pagina hebt en die ook verwerkt in Python. Denk bijv aan een gastenboek of een formulier om nieuwe bomen, games of weetjes toe te voegen. + +{% hint style="info" %} +Als je als foutmelding te zien krijgt dat "method not allowed" is dan ben je misschien één van deze twee dingen vergeten: + +1\) Vergeten in de \
in HTML te zetten: method="post" \ +2\) Vergeten in de Pythoncode te zetten: , methods=\['POST'] +{% endhint %} + +**Opdracht 2) Invoer opslaan (extra)** + +Je berichten, bomen of weetje worden nu opgeslagen in een lijst, maar als je je applicatie opnieuw opstart zijn ze weer weg. Je kunt ze natuurlijk opslaan, bijv in een file of zelfs in een database! Dat hebben we in eedere jaren natuurlijk al geleerd, probeer zelf uit te zoeken hoe dat ook al weer moest. + + + + + + + diff --git a/handleiding.md b/handleiding.md index 904e56a..32a5950 100644 --- a/handleiding.md +++ b/handleiding.md @@ -1,77 +1,71 @@ # Handleiding -In deze handleiding beantwoorden we een aantal veelgestelde vragen. +In deze handleiding beantwoorden we een aantal veelgestelde vragen. Staat jouw vraag er niet tussen? Neem dan gerust contact met ons op via f.f.j.hermans@vu.nl. ## Voor wie is dit materiaal? -Dit materiaal is voor leerkrachten die in de klas programmeerlessen met Python willes geven. Het materiaal is echt bedoeld voor in een klassikale setting, met veel uitleg en oefenen. Je kunt de lessen zelfs zonder computers met alleen een digibord gebruiken. Ook dan leren de leerlingen de basisbegrippen van het programmeren. +Dit materiaal is voor leerkrachten die in de klas programmeerlessen willen geven. Het materiaal is echt bedoeld voor in een klassikale setting, met veel uitleg en oefenen. Je kunt de lessen zelfs zonder computers met alleen een digibord gebruiken. Ook dan leren de leerlingen de basisbegrippen van het programmeren. ## Wat heb ik nodig om dit materiaal te gebruiken? * Een digibord * Een schift voor iedere leerling -* \(Optioneel\) wisbordjes \(hierover later meer\) +* Computers/laptops met een internet verbinding +* (Optioneel) wisbordjes (hierover later meer) ## Is het materiaal gratis te gebruiken? -Ja! Het is en blijft gratis, en is beschikbaar gemaakt dmv een CC licentie. +Ja! Het is en blijft gratis, en is beschikbaar gemaakt dmv een CC licentie. Dit betekent dat je het materiaal gratis mag gebruiken maar niet mag verkopen. -## De uitgeprinte werkbladen +## Moet ik zelf veel van programmeren weten om deze lessen te geven? -Joh moet ik echt al die vellen printen? Ja... Leerlingen vinden het echt lastig om van een scherm te lezen er ook te programmeren, dat steeds wisselen van tabblad brengt een hoop onrust met zich mee. Ik hou ook veel van bomen en vind papierverspilling zonde, maar dit is toch echt het beste om het uit te printen. Natuurlijk kun je de bladen wel meerdere keren gebruiken, als je leerlingen in hun schrift laat schrijven ipv op de vellen. +Niet echt. De slides leggen alles uit dat je moet weten per les, dus die kun je vooraf lezen en dan ga je het wel redden. -## Moet ik zelf veel Python kunnen om deze lessen te geven? - -Niet echt hoor. De slides leggen alles uit dat je moet weten per les, dus die kun je vooraf lezen en dan ga je het wel redden. - -Voor deel b is het wel handig als je iemand in de klas hebt die het een beetje kan, maar dat kan ook goed een leerling zijn, uit jouw klas of uit een hogere klas, of een vader of moeder die in het begin meehelpt. +Voor deel b is het wel handig als je iemand in de klas hebt die het een beetje kan, maar dat kan ook goed een leerling zijn, uit jouw klas of uit een hogere klas, of een ouder die in het begin meehelpt. Mocht je graag extra hulp willen van een IT-student, stuur dan een mailtje naar [vhto@vhto.nl](mailto:vhto@vhto.nl). Dan gaan we op zoek naar een IT-student die jou op weg kan helpen tegen een kleine vergoeding. ## Opzet van de lessenserie -Het idee van deze lessen is om leerlingen te laten zien dat programmeren zo breed is. Vaak denken mensen bij programmeren aan robots maken en websites en apps, maar je kunt programmeren ook heel goed gebruiken bij 'gewone' schoolvakken. Daarom gaat ieder hoofdstuk van deze serie over een ander vak. Er zijn nu drie modules: Nederlands, Art en Aardrijkskunde. Met opzet is er gekozen voor een de niet-betavakken, juist ook om andere leerlingen aan te spreken dan traditioneel voor programmeren kiezen. +Het idee van deze lessen is om leerlingen te laten zien dat programmeren zo breed is. Vaak denken mensen bij programmeren aan robots maken en websites en apps, maar je kunt programmeren ook heel goed gebruiken bij 'gewone' schoolvakken. Daarom gaat iedere module van deze serie over een ander vak. Er zijn nu drie modules: Nederlands, Kunst en Geschiedenis. Met opzet is er gekozen voor een de niet-bètavakken, juist ook om andere leerlingen aan te spreken dan traditioneel voor programmeren kiezen. In de modules zelf vind je meer details over de opdrachten in de modules. ## Opzet van de modules -Iedere module bestaat uit een aantal lessen. Een les bestaat steeds uit twee stukken: a en b. +Iedere module bestaat uit een aantal lessen. Een les bestaat in de regel uit twee stukken: a en b. -a\) klassikale les, met slides en werkbladen zonder computer -b\) werkbladen zodat lln zelf aan de slag kunnen achter de computer +a) klassikale les, met slides en werkbladen zonder computer\ +b) werkbladen zodat leerlingen zelf aan de slag kunnen achter de computer ### Deel a -Deel a is een klassikaal uit te voeren les. Je kunt hiervoor, als je wilt, de meegeleverde slides gebruiken. Voor deel a zijn geen computers nodig, alleen een digibord en schrijfmaterialen voor lln: schriftjes of wisbordjes. +Deel a is een klassikaal uit te voeren les. Je kunt hiervoor, als je wilt, de meegeleverde slides gebruiken. Voor deel a zijn geen computers nodig, alleen een digibord en schrijfmaterialen voor leerlingen: schriftjes of wisbordjes. ### Deel b -In deel b gaan lln zelf aan de slag met werkbladen. Bovenaan de werkbladen staan steeds doelen voor lln. Bijvoorbeeld: "deze opdracht wordt afgetekend als er een vierkant is getekend". +In deel b gaan leerlingen zelf aan de slag met werkbladen. Bovenaan de werkbladen staan steeds doelen voor leerlingen. Bijvoorbeeld: "deze opdracht wordt afgetekend als er een vierkant is getekend". Die doelen kun je in principe aftekenen zelfs als je niet zoveel programmeerkennis hebt. Het is een kwestie van kijken of er (bijv) een vierkant staat. Daar waar je iets moet opzoeken de code van een ll, is ook dat zo uitgelegd dat iedereen het kan aftekenen, bijvoorbeeld "er is een vierkant getekend, en de code bevat 'for'". -Die doelen kun je in principe aftekenen zelfs als je niet zoveel programmeerkennis hebt. Het is een kwestie van kijken of er \(bijv\) een vierkant staat. Daar waar je iets moet opzoeken de code van een ll, is ook dat zo uitgelegd dat iedereen het kan aftekenen, bijvoorbeeld "er is een vierkant getekend, en de code bevat 'for'". - -Natuurlijk verlopen lessen het allerbest als de leerkracht zelf vaardig is in Python en de bijbehorende problemen en misconcepties maar de realiteit is dat niet alle leerkrachten dat op dit moment zijn. Dat is voor deze serie geen probleem! Ook de te verwachten problemen en vragen van lln worden steeds uitgelegd in de leerkrachteninstuctie per lesdoel. +Natuurlijk verlopen lessen het allerbest als de docent zelf vaardig is in Python en de bijbehorende problemen en misconcepties maar de realiteit is dat niet alle leerkrachten dat op dit moment zijn. Dat is voor deze serie geen probleem! Ook de te verwachten problemen en vragen van leerlingen worden steeds uitgelegd in de docenteninstructie per lesdoel. Nog een paar tips over deel b: -* Sommige leerlingen zullen andere dingen gaan proberen in \(of zelfs buiten\) Python. Spreek vooraf af of dit wel of niet mag. Exploreren is natuurlijk leuk, maar brengt ook risico's met zich mee, namelijk: +* Sommige leerlingen zullen andere dingen gaan proberen in (of zelfs buiten) Python. Spreek vooraf af of dit wel of niet mag. Exploreren is natuurlijk leuk, maar brengt ook risico's met zich mee, namelijk: * Hele goede leerlingen demotiveren klasgenoten * Leerlingen leiden anderen af met bijv. tekeningen van gezichtjes - * Zelf dingen uitproberen in Python leidt tot verwarring en frustratie -* Sommige lesdoelen hebben "\(extra\)" in de titel. Die zijn voor snellere of meer ervaren leerlingen. Die kunnen op de volgorde in de lessenserie waar ze staan gedaan worden, of op het einde van alle lessen. Net hoeveel je wilt dat ze leerlingen uit elkaar gaan lopen qua waar ze zijn. + * Zelf dingen uitproberen met codes leidt tot verwarring en frustratie +* Sommige lesdoelen hebben "(extra)" in de titel. Die zijn voor snellere of meer ervaren leerlingen. Die kunnen op de volgorde in de lessenserie waar ze staan gedaan worden, of op het einde van alle lessen. Net hoeveel je wilt dat ze leerlingen uit elkaar gaan lopen qua waar ze zijn. -### Afsluiting +## Afsluiting -Ik sluit de les altijd nog even klassikaal af. Dat kan heel kort zijn, 5 of 10 minuutjes om even samen terug te blikken op het individuele deel. De laatste twee slides van deel a, waarin de leerdoelen herhaald worden, kun je hiervoor gebruiken. Ik vraag dan per leerdoel of lln het idee hebben dat ze het ook echt kunnen en gebruik soms wisbordjes voor een gezamenlijke samenvatting van de les. +Je kunt de les altijd even klassikaal afsluiten. Dat kan heel kort zijn, 5 of 10 minuutjes om even samen terug te blikken op het individuele deel. De laatste slide van deel a, waarin de leerdoelen herhaald worden, kun je hiervoor gebruiken. Ik vraag dan per leerdoel of leerlingen het idee hebben dat ze het ook echt kunnen en gebruik soms wisbordjes voor een gezamenlijke samenvatting van de les. ### Algemene tips! Een aantal algemene tips rondom de lessenserie: -* Reken op ongeveer 2 klokuren voor delen a, b en c bij elkaar: ca 45 minuten voor a, 45 min voor b en 10 minuten voor c, plus tussenin tijd om van de klassikale opzet naar de computers te gaan. -* Als je wisbordjes hebt, raad ik zeker aan die te gebruiken! Een van de uitdagingen van een programmeerles is dat leerlingen soms de mooiste dingen maken, zonder dat ze het goed snappen! Ze proberen dingen tot dat het werkt, of zoeken dingen op op YouTube. Helemaal geen probleem natuurlijk, maar soms hebben ze dan veel minder begrip dan jij denkt. Daarom is het goe dom dat begrip regelmatig te toetsen, juist ook omdat jij als lk misschien zelf ook nog niet alle ins en outs van Python ken. Ik programmeer zelf al 20 jaar en zelfs ik snap niet altijd alles wat lln in elkaar knutselen! -* Als je nieuwe codes laat zien, lees ze dan hardop voor, en laat leerlingen dat ook regelmatig doen. Uit ons eigen onderzoek blijkt dat lln dan beter onthouden hoe ze moeten programmeren. - * Bijvoorbeeld: pen.forward\(10\) is "pen punt forward rond haakje openen 10 rond haakje sluiten" -* Wees ook heel consequent in het benoemen van karakters in de code. Dus "\(" is niet een haakje, maar rond haakje. Op de slides proberen we dat ook zo consequent mogelijk te doen. Als je wilt, kun je onze poster met karakters in je lokaal ophangen. +* Reken op ongeveer 2 klokuren voor delen a, b en c bij elkaar: ca 45 minuten voor a, 45 min voor b, plus tijd om van de klassikale opzet naar de computers te gaan. +* Als je wisbordjes hebt, raad ik zeker aan die te gebruiken! Eén van de uitdagingen van een programmeerles is dat leerlingen soms de mooiste dingen maken, zonder dat ze het goed snappen! Ze proberen dingen tot dat het werkt, of zoeken dingen op op YouTube. Helemaal geen probleem natuurlijk, maar soms hebben ze dan veel minder begrip dan jij denkt. Daarom is het goe dom dat begrip regelmatig te toetsen, juist ook omdat jij als lk misschien zelf ook nog niet alle ins en outs van Python ken. Ik programmeer zelf al 20 jaar en zelfs ik snap niet altijd alles wat leerlingen in elkaar knutselen! +* Als je nieuwe codes laat zien, lees ze dan hardop voor, en laat leerlingen dat ook regelmatig doen. Uit ons eigen onderzoek blijkt dat leerlingen dan beter onthouden hoe ze moeten programmeren. + * Bijvoorbeeld: pen.forward(10) is "pen punt forward rond haakje openen 10 rond haakje sluiten" +* Wees ook heel consequent in het benoemen van karakters in de code. Dus "(" is niet een haakje, maar rond haakje. Op de slides proberen we dat ook zo consequent mogelijk te doen. Als je wilt, kun je onze poster met karakters in je lokaal ophangen. * Sommige leerlingen hebben weinig ervaring met computeren. Het vinden van zaken op het toetsenbord kan al lastig zijn, zoals de min of de 'tab'. Ook vaardigheden als knippen en plakken met ctrl-c en ctrl-v ontbreken regelmatig, en ook de ctrl-z voor ongedaan maken kennen ze niet altijd. OF ze weten niet hoe ze het moeten invoeren en proberen steeds heel precies ctrl en z tegelijk in te drukken ipv eerst de ctrl en dan de z erbij. Dit zijn geen leerdoelen van deze serie lessen maar de kans is groot dat je er wel tegenaan loopt. -* Stip steeds even de betekenis en goede uitspraak van de Engelse woorden in de code aan. Ik hoor nog regelmatig leerlingen worstelen met wat die woorden nou zijn. Dit wordt in het materiaal ook benoemd maar uitspraak zeker is ook handig als leerkrachten dat benadrukken. En soms betekenen woorden ook net iets anders in Python. In de tekentool heb je bijv. het commando 'left'. Dat betekent natuurlijk links, maar in deze code betekent het "draai linksom", dus niet "ga naar links". Dat is ook belangrijk om dat even te delen met leerlingen. - +* Stip steeds even de betekenis en goede uitspraak van de Engelse woorden in de code aan. We horen regelmatig leerlingen worstelen met wat die woorden nou zijn. In het materiaal wordt de betekenis van een woord wel uitgelegd maar het is handig als de docent dit extra benadrukt. En soms betekenen woorden ook net iets anders in Python. In de kunstlessen heb je bijv. het commando 'left'. Dat betekent natuurlijk links, maar in deze code betekent het "draai linksom", dus niet "ga naar links". diff --git a/img/image-20190126194646749.png b/img/image-20190126194646749.png deleted file mode 100644 index 65b62f0..0000000 Binary files a/img/image-20190126194646749.png and /dev/null differ diff --git a/img/image-20190126194716104.png b/img/image-20190126194716104.png deleted file mode 100644 index ea3514f..0000000 Binary files a/img/image-20190126194716104.png and /dev/null differ diff --git a/img/image-20190206124246541.png b/img/image-20190206124246541.png deleted file mode 100644 index f10fcfa..0000000 Binary files a/img/image-20190206124246541.png and /dev/null differ diff --git a/img/image-20190318125720956 copy 2 (1).png b/img/image-20190318125720956 copy 2 (1).png new file mode 100644 index 0000000..e735dc5 Binary files /dev/null and b/img/image-20190318125720956 copy 2 (1).png differ diff --git a/img/image-20190322151210272 (1) (1).png b/img/image-20190322151210272 (1) (1).png new file mode 100644 index 0000000..999200a Binary files /dev/null and b/img/image-20190322151210272 (1) (1).png differ diff --git a/img/image-20190322151210272 (1).png b/img/image-20190322151210272 (1).png new file mode 100644 index 0000000..999200a Binary files /dev/null and b/img/image-20190322151210272 (1).png differ diff --git a/img/image-20190322151210272 (2).png b/img/image-20190322151210272 (2).png new file mode 100644 index 0000000..999200a Binary files /dev/null and b/img/image-20190322151210272 (2).png differ diff --git a/img/image-20190403203016092.png b/img/image-20190403203016092.png deleted file mode 100644 index 6d93b9e..0000000 Binary files a/img/image-20190403203016092.png and /dev/null differ diff --git a/img/image-20190403203106093 (1).png b/img/image-20190403203106093 (1).png new file mode 100644 index 0000000..7da88f5 Binary files /dev/null and b/img/image-20190403203106093 (1).png differ diff --git a/img/image-20190406142049206 (1).png b/img/image-20190406142049206 (1).png new file mode 100644 index 0000000..ada1613 Binary files /dev/null and b/img/image-20190406142049206 (1).png differ diff --git a/img/logoCSCert.jpg b/img/logoCSCert.jpg new file mode 100644 index 0000000..a795013 Binary files /dev/null and b/img/logoCSCert.jpg differ diff --git a/module-1.1-hedy.md b/module-1.1-hedy.md new file mode 100644 index 0000000..4711694 --- /dev/null +++ b/module-1.1-hedy.md @@ -0,0 +1,9 @@ +# Module 1.1 - Hedy + +In module 1 gebruiken wij de lessen van [Hedy](http://hedy.org/). + +### Slides + +Voor iedere Hedy les hebben we ook slides: + +[https://slides.com/lmc\_oebbens/](https://slides.com/lmc\_oebbens/) diff --git a/module-1.1-nederlands/.DS_Store b/module-1.1-nederlands/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/module-1.1-nederlands/.DS_Store differ diff --git a/module-1.1-nederlands/bonus/bonus-2-vertraging.md b/module-1.1-nederlands/bonus/bonus-2-vertraging.md new file mode 100644 index 0000000..059c56e --- /dev/null +++ b/module-1.1-nederlands/bonus/bonus-2-vertraging.md @@ -0,0 +1,123 @@ +# Bonus 2: vertraging + +Nu verschijnt jouw verhaal in één keer. Wellicht vind je dat prettig, maar wellicht ook niet. We kunnen ook een vertraging tussen zinnen inbouwen, zodat het verhaal zich langzaam zal ontvouwen! + +## Voorkennis + +* Les 2: meerdere regels printen + +## Leerdoelen + +Aan het einde van deze bonus kun jij: + +* Een library importeren. +* Een vertraging gebruiken om je verhaal langzaam te laten verschijnen. + +**** + + + +## De 'time' library + +Helaas kan standaard Python geen vertraging gebruiken. Standaard Python kan eigenlijk vrij weinig... + +Gelukkig is het mogelijk om héél véél méér met Python te doen door een 'library' te 'importeren'. 'Library' is Engels voor 'bibliotheek', en een bibliotheek is een plek waar je heel veel dingen kunt opzoeken. In een library kan Python stukjes code opzoeken, die jij in jouw programma kunt gebruiken! + +In de 'time' library vinden we alles wat we nodig hebben wat met tijd te maken heeft. 'Time' is Engels voor 'tijd'. Deze kun je zo in jouw code importeren: + +```python +import time +``` + +**** + + + + +## Vertraging inbouwen + +In de time library staat het commando 'sleep'. 'Sleep' is Engels voor 'slapen'. Daarmee doet jouw code eventjes helemaal niets, waardoor we dus een vertraging kunnen inbouwen. + +Deze gebruik je in je code door eerst de naam van de library te typen (`time`), daarna een punt (`.`), en daarna het commando (`sleep`): `time.sleep`. + +De punt betekent dus 'gebruik ... van ...': "*gebruik* het commando `sleep` *van* de library `time`". + +Na `sleep` heb je net zoals bij `print` een rond haakje openen (`(`) en een rond haakje sluiten (`)`) nodig. Daartussen zet je hoeveel seconden je wilt wachten. Bijvoorbeeld, een vertraging van twee seconden ziet er zo uit: + +```python +time.sleep(2) +``` + +Als je dit commando tussen twee print commando's zet, dan wacht Python na het printen van het eerste voordat hij het tweede print: + +```python +import time + +print('Hallo.') +time.sleep(2) +print('Doei.') +``` + + +## Opdracht bonus-2-1\) Een vertraagde zin + +Deze opdracht wordt afgetekend als: + +* Je bovenaan je code hebt geschreven `import time` +* Je twee zinnen print, waarvan de tweede pas na drie seconden verschijnt +* Je in je schrift in eigen woorden schrijft hoe deze code werkt + +### Opdracht. + +Schrijf een verhaal van slechts twee zinnen over jouw lievelingseten. Laat de eerste zin direct verschijnen, maar de tweede zin pas na drie seconden. + + + + +**** + +## Meerdere vertragingen + +Een verhaal van maar twee zinnen is nogal kort. Maar we kunnen eenvoudig `time.sleep(2)` meerdere keren gebruiken om zo meerdere vertraagde zinnen te printen! Bijvoorbeeld met drie zinnen: + + +```python +import time + +print('Yo!') +time.sleep(1) +print('Hoe','gaat','het','met','jou?') +time.sleep(2) +print('Met','mij','gaat','het','goed.') +``` + +**Let op:** we gebruiken `import time` slechts één keer, helemaal bovenaan de code! + +Ook kun je zien dat we twee verschillende wachttijden hebben gekozen: eerst 1 seconde, en daarna 2 seconden. + +## Korter dan een seconde wachten + +Je kunt ook korter wachten dan 1 seconde door een kommagetal in te vullen. Om bijvoorbeeld een halve seconde te wachten, programmeer je: + +```python +time.sleep(0.5) +``` + +**Let op: gebruik een punt in plaats van een komma in Python code!** Wij Nederlanders gebruiken een komma, maar Engelsen gebruiken een punt. Python is Engelstalig, en dus moet je een punt gebruiken in een kommagetal. + + + + +## Opdracht bonus-2-2\) Een verhaal met vertragingen + +Deze opdracht wordt afgetekend als: + +* Je helemaal bovenaan je code hebt geschreven `import time` (en _nergens anders_ in je code!) +* Je vijf zinnen print, elke zin met vertraging er tussen +* Je in je schrift in eigen woorden schrijft hoe deze code werkt + +### Opdracht. + +Schrijf een verhaal van vijf zinnen over hoe jij vandaag naar school bent gekomen. Zorg dat er tussen alle zinnen een vertraging zit: een lange vertraging na lange zinnen, en een korte vertraging na een kort zinnetje. + + diff --git a/module-1.1-nederlands/bonus/bonus-3-randomGetallen.md b/module-1.1-nederlands/bonus/bonus-3-randomGetallen.md new file mode 100644 index 0000000..de3ec40 --- /dev/null +++ b/module-1.1-nederlands/bonus/bonus-3-randomGetallen.md @@ -0,0 +1,204 @@ +# Bonus 3: willekeurige getallen + +Nu is jouw verhaal iedere keer hetzelfde... Zou het niet leuker zijn als er iedere keer iets anders zou gebeuren? Dan wordt het voor de lezer leuk om jouw verhaal meerdere keren te lezen! Awesome! + +## Voorkennis + +* Bonus 2: `import` library, en vertraging +* Les 3: variabelen + +## Leerdoelen + +Aan het einde van deze bonus kun jij: + +* Willekeurige getallen maken en gebruiken in jouw verhaal. +* Iedere keer dat jouw verhaal gelezen wordt, ervoor zorgen dat het verhaal net ietsje anders is. + +**** + + + + +## De 'random' library + +In de vorige bonus hebben we de 'time' library geïmporteerd in ons programma. Herinner je: 'library' is Engels voor 'bibliotheek'. Door een library te importeren, kunnen we nieuwe stukjes code gebruiken in ons Python programma. + +Vandaag hebben we de 'random' library nodig. Random is Engels voor willekeurig. Met random-opdrachten kun je Python steeds iets anders laten doen. + +Deze library importeer je door **helemaal bovenaan je code** dit stukje code te gebruiken: + +```python +import random +``` + +**** + + + + +## Willekeurige gehele getallen + +Een willekeurig geheel getal tussen 2 en 10 kun je maken met `random.randint(2,10)`. +`randint` is de afkorting van de twee Engelse woorden 'random integer'. Dit betekent 'willekeurig geheel getal'. Een '_geheel getal_' is een getal zonder decimalen achter de komma, zoals bijvoorbeeld '2', '5', '73', of '707'. + +### Nu jij: probeer het! + +Probeer dit stukje code maar eens uit (vergeet `import random` niet): + +```python +aantal = random.randint(2,10) +print('Aantal:', aantal) +``` + +Probeer het volgende nu zelf: +- Voer het programma een paar keer uit. Wat zie je gebeuren? +- Kun je de getallen '2' en '10' ook krijgen? + + + +## Opdracht bonus-3-1\) Een verhaal met een willekeurig getal + +Deze opdracht wordt afgetekend als: + +* Je bovenaan je code hebt geschreven `import random`. +* Je onderstaande tekst print, met een willekeurig geheel getal tussen 2 en 5. +* Je in je schrift in eigen woorden schrijft hoe deze code werkt. + +### Opdracht. + +Schrijf een code die print: +``` +De aap heeft honger. +Hij kan wel 4 banen op! +``` +Gebruik hierbij _een willekeurig geheel getal_ tussen 2 en 5. + + +## Opdracht bonus-3-2\) Een dobbelsteen gooien + +Deze opdracht wordt afgetekend als: + +* Je bovenaan je code hebt geschreven `import random`. +* Je onderstaande tekst print, met een willekeurige uitkomst voor de dobbelsteen worp. +* Je in je schrift in eigen woorden schrijft hoe deze code werkt. + +### Opdracht. + +Schrijf een code die print: +``` +Je gooit een dobbelsteen op. +De dobbelsteen rolt... +En het wordt een... +5 +``` +Gebruik een willekeurig cijfer voor de uitkomst van de dobbelsteenworp. + +## Opdracht bonus-3-3\) Een dobbelsteen _spannend_ gooien + +Deze opdracht wordt afgetekend als: + +* Je tussen de vier regels van de vorige opdracht een vertraging in hebt gebouwd. +* Je in je schrift in eigen woorden schrijft hoe deze code werkt. + +### Opdracht. + +In bonus-2 heb je geleerd hoe je vertraging kunt programmeren. Programmeer nu vertraging in jouw dobbelsteen verhaal van de vorige opdracht, tussen alle zinnen. Daarmee wordt de uitkomst van de dobbelsteenworp veel spannender!!! + +**** + + + + + + + + + + + + + +  + +  + +  + +**** + +# Bonus 3-extra: willekeurige kommagetallen + +Soms wil je een kommagetal gebruiken. Dit kan ook met Python als je `random.uniform(2.5,4.5)` gebruikt. In dit voorbeeld krijg je een willekeurig kommagetal tussen 2,5 en 4,5. **Let op: gebruik _een punt_ in plaats van een komma in Python code!** + +```python +aantal = random.uniform(2.5,4.5) +print(aantal) +``` + +### Nu jij: probeer het! + +Probeer het volgende nu zelf: +- Voer het programma een paar keer uit. Wat zie je gebeuren? +- Lukt het je om precies 2.5 of precies 4.5 te krijgen? Waarom wel/niet? + + +### Afronden + +Je krijgt nu wel heel erg veel getallen achter de komma te zien... Bijvoorbeeld: `3.7882344812977244`. Met `round` kunnen we dit afronden. 'round' is Engels voor 'afronden'. + +Om af te ronden op bijvoorbeeld 2 getallen achter de komma, oftewel op 2 _decimalen_, schrijven we: +```python +print(round(3.7882344812977244,2)) +``` + + +### Nu jij: probeer het! + +Probeer dit eens zelf! +- Kun je het getal nu ook afronden op 5 getallen achter de komma? +- En op geen getallen achter de komma? + + +### Een afgerond willekeurig kommagetal + +Om in één keer een afgerond getal te krijgen, kun je de `random.uniform` in de `round` plaatsen: + +```python +aantal = round(random.uniform(1,10),1) +print(aantal) +``` + + +## Opdracht bonus-3-extra-1\) Python cijfers laten uitdelen + +Deze opdracht wordt afgetekend als: + +* Je bovenaan je code hebt geschreven `import random` +* Je onderstaande tekst print. +* Je een willekeurig kommagetal tussen 1.0 en 10.0 afgerond op één decimaal gebruikt. +* Je in je schrift in eigen woorden schrijft hoe deze code werkt. + +### Opdracht. + +Schrijf een code die jouw docent automatisch een willekeurig cijfer geeft: +``` +Mijn docent krijgt een 7.3 van mij. +``` +Gebruik hierbij _een willekeurig kommagetal getal_ tussen 1.0 en 10.0, afgerond op één getal achter de komma. + +## Opdracht bonus-3-extra-2\) Python _spannend_ cijfers laten uitdelen + +Deze opdracht wordt afgetekend als: + +* Je tussen de twee regels van de vorige opdracht een vertraging in hebt gebouwd. +* Je in je schrift in eigen woorden schrijft hoe deze code werkt. + +### Opdracht. + +Pas je code van de vorige opdracht aan, zodat dit geprint wordt: +``` +Mijn docent krijgt van mij een... +7.3 +``` +Bouw een vertraging in tussen de twee zinnen, zodat het voor de lezer _spannender_ wordt wat het cijfer zal zijn! + diff --git a/module-1.1-nederlands/bonus/bonus-4-randomDingen.md b/module-1.1-nederlands/bonus/bonus-4-randomDingen.md new file mode 100644 index 0000000..b726932 --- /dev/null +++ b/module-1.1-nederlands/bonus/bonus-4-randomDingen.md @@ -0,0 +1,135 @@ +# Bonus 4: willekeurige dingen + +Nu is jouw verhaal iedere keer hetzelfde... Zou het niet leuker zijn als er iedere keer iets anders zou gebeuren? Dan wordt het voor de lezer leuk om jouw verhaal meerdere keren te lezen! Awesome! + +## Voorkennis + +* Bonus 3: `import random` (alleen de eerste helft van deze bonus is voldoende voorkennis) +* Les 4: lijsten + +## Leerdoelen + +Aan het einde van deze bonus kun jij: + +* Willekeurige dingen uit een lijst halen. +* Iedere keer dat jouw verhaal gelezen wordt, ervoor zorgen dat het verhaal net ietsje anders is. + +**** + + + + +## Willekeurige dingen + +Met de 'random' library kunnen we willekeurige dingen laten gebeuren. Herinner je: met een 'library' breid je Python uit met nieuwe stukjes code die jij kunt gebruiken! + +We kunnen een willekeurig ding uit een lijst halen. Dit gaat op dezelfde manier als met een stok kaarten. Je schudt het stok kaarten! + +Het schudden van een lijst doe je met: +```python +random.shuffle(dingen) +``` +'Shuffle' is Engels voor schudden. Met die code schudden we dus de lijst `dingen` door elkaar! + +Vervolgens kun je de bovenste kaart pakken. Omdat het stok kaarten geschud is, is die bovenste kaart volkomen willekeurig! We pakken dus het eerste ding van onze geschudde lijst, met index nummer 0: + +```python +print(dingen[0]) +``` + +### Nu jij: probeer het! + +We kunnen `random.shuffle(dingen)` nu gebruiken in een klein verhaaltje. + +```python +import random +print('Hoe','ga','ik','vandaag','naar','school?') +vervoer = [ 'auto', 'fiets', 'bus' ] +random.shuffle(vervoer) +print('Ik','neem','vandaag','de',vervoer[0],'!') +``` + +1) Voer de code een paar keer zelf uit. Wat gebeurt er? Is het verhaal nu nog steeds altijd hetzelfde? +2) Schrijf duidelijk in je schrift wat je denkt dat alle regels precies doen. + + + + + +## Opdracht bonus-4-1\) Een willekeurig dier in je verhaal + +Deze opdracht wordt afgetekend als: + +* Je bovenaan je code hebt geschreven `import random` +* Je een zin in je code hebt waarin steeds een ander dier verschijnt +* Je in je schrift in eigen woorden schrijft hoe deze code werkt + +### Opdracht. + +Open jouw code van opdracht 4b-4. Je had daar een lijst met vijf dieren erin gemaakt. Maar je krijgt nu steeds dezelfde te zien in je verhaal. Pas deze code aan zodat je steeds een ander dier in je verhaal krijgt. + + + + +**** + +## Meerdere willekeurige lijsten + +Om nog meer variatie te krijgen in je verhaal, kun je ook **een willekeurig zelfstandig naamwoord** met **een willekeurig bijvoeglijk naamwoord** combineren. Zo kan de lezer bijvoorbeeld een 'grote auto', een 'snelle bus', een 'snelle auto', of een 'mooie fiets' krijgen. Dit is een combinatie van twee lijsten, één voor het zelfstandig naamwoord en één voor het bijvoeglijk naamwoord: + +```python +voorstukjes = [ 'grote', 'snelle', 'mooie' ] +vervoer = [ 'auto', 'fiets', 'bus' ] +``` + +Als we nu beide lijsten schudden, en beiden printen, dan hebben we een willekeurig zelfstandig naamwoord met een willekeurig bijvoeglijk naamwoord ervoor: + +```python +import random +print('Hoe','ga','ik','vandaag','naar','school?') +voorstukjes = [ 'grote', 'snelle', 'mooie' ] +vervoer = [ 'auto', 'fiets', 'bus' ] +random.shuffle(voorstukjes) +random.shuffle(vervoer) +print('Ik','neem','vandaag','de',voorstukjes[0],vervoer[0],'!') +``` + +### Nu jij: probeer het! + +1) Voer de code een paar keer zelf uit. Wat gebeurt er? Kun je alle combinaties krijgen? +2) Schrijf duidelijk in je schrift wat je denkt dat alle regels precies doen. + + + + + +## Opdracht bonus-4-2\) Nog meer mogelijkheden! + +Deze opdracht wordt afgetekend als: + +* Je in de lijst `voorstukjes` vijf verschillende bijvoeglijk naamwoorden hebt staan. +* Je in de lijst `vervoer` vijf verschillende zelfstandig naamwoorden hebt staan. +* Je een zin in je code hebt waarin steeds een ander vervoermiddel met daarvoor een ander bijvoeglijk naamwoord verschijnt +* Je in je schrift in eigen woorden schrijft hoe deze code werkt + +### Opdracht. + +Breid de voorgaande code over het willekeurige vervoer uit door 5 verschillende bijvoeglijk naamwoorden en 5 verschillende zelfstandig naamwoorden in de lijsten te zetten. + + + + + +## Opdracht bonus-4-3\) Een willekeurig emotioneel dier in je verhaal + +Deze opdracht wordt afgetekend als: + +* Je een zin in je code hebt waarin steeds een ander dier met een ander bijvoeglijk naamwoord (bijv. aardige, boze, ...) verschijnt +* Je in je schrift in eigen woorden schrijft hoe deze code werkt + +### Opdracht. + +Open je code met het verhaal over een willekeurig dier uit opdracht bonus-4-1. +Maak een nieuwe lijst met minstens 5 willekeurige emoties als bijvoeglijk naamwoord (boze, vrolijke, ...). +Voeg aan de zin waarin je het willekeurig dier print een willekeurige emotie voor het dier toe. + diff --git a/module-1.1-nederlands/bonus/bonus-5-inputValideren.md b/module-1.1-nederlands/bonus/bonus-5-inputValideren.md new file mode 100644 index 0000000..a641f56 --- /dev/null +++ b/module-1.1-nederlands/bonus/bonus-5-inputValideren.md @@ -0,0 +1,238 @@ +# Bonus 5: input valideren + +Soms wil je dat de lezer van je verhaal keuzes kan maken, maar niet alle keuzes zijn natuurlijk mogelijk. Daarom moet jij, als de programmeer, ervoor zorgen dat de lezer alleen keuzes kan maken die van jou mogen. + +## Voorkennis + +* Les 4: lijsten +* Les 5: input + +## Leerdoelen + +Aan het einde van deze bonus kun jij: + +* De lezer laten kiezen tussen een paar acties +* Controleren of de input van de lezer mogelijk is + +**** + + + + +## Mogelijke antwoorden opslaan in een lijst + +Voordat we kunnen controleren of het antwoord van de lezer juist is, moeten we deze antwoorden eerst opslaan in een lijst. Stel dat de opties zijn 'ren weg', 'wacht af', en 'ga kijken'. Dan wil je een lijst maken met die drie acties: + +```python +keuzes = [ 'ren weg', 'wacht af', 'ga kijken' ] +print('Wat doe je? Kies tussen:', keuzes) +``` + +Met de ``print`` kunnen we de lezer laten zien welke keuzes hij heeft. + +## Lezer vragen om actie + +Vervolgens kunnen we de lezer vragen wat hij/zij wilt doen, en dit antwoord opslaan in een variabele genaamd 'antwoord'. + +```python +antwoord = input() +``` + + +## Opdracht bonus-5-1\) Laat de lezer kiezen! + +Deze opdracht wordt afgetekend als: + +- Je een verhaal van 3-5 zinnen print. +- Je aan de lezer vraagt om een keuze te maken tussen drie opties die opgeslagen staan in een lijst. +- Je in je schrift in eigen woorden opschrijft hoe deze code werkt. + +### Opdracht. + +Schrijf een verhaal van 3-5 zinnen over een dier. Het dier komt zijn natuurlijke vijand tegen. (Bijvoorbeeld: kip-vos, schaap-wolf, muis-kat, olifant-muis, ...) Laat de lezer vervolgens kiezen tussen drie mogelijke acties: wat moet het dier doen? + +**** + + + + +## Controleren of het antwoord mogelijk is: valideren + +**Controleren** of het antwoord van de lezer mogelijk is, heet het **'valideren'** van het antwoord. + +Daarvoor willen we nu kijken of `antwoord` in de lijst voorkomt. _in lijst_ voorkomt. Dat verklapt al hoe het in Python moet: met `in`! + +```python +print(antwoord in keuzes) +``` + +### Nu jij: probeer het! + +Probeer het uit, en beantwoord deze vragen: +1) Wat zegt de computer als je een antwoord invoert wat in de lijst staat? +2) En wat als deze niet in de lijst staat? +3) Kun je bedenken wat die twee woorden -- die je bij (1) en (2) te zien kreeg -- dus betekenen? + + +### Wachten totdat het antwoord mogelijk is + +Als de lezer een goed antwoord geeft, kreeg je `True` te zien. Oftewel, 'waar' of 'juist'. Als de lezer echter een fout antwoord geeft, dan kreeg je `False` te zien. Oftewel, 'onwaar' of 'fout'. + +Als de lezer een fout antwoord geeft, dan moeten we nogmaals vragen om een antwoord. En als het dan weer fout is, dan moeten we het nogmaals vragen. Zo moeten we door blijven _herhalen totdat_ we een geldig antwoord krijgen. + +Herhalen totdat iets gebeurd, kun je met `while` doen. Naar het Nederlands vertaald: 'zolang'. Dat ziet er zo uit: + +```python +while VOORWAARDE: + DOE IETS +``` + +Op de plek van `VOORWAARDE` zetten we de voorwaarde neer dat de `while` (_zolang_) moet door blijven gaan met `DOE IETS` te herhalen. Merk op dat de `while` regel eindigt met **een dubbele punt**, en dat de volgende regel met `DOE IETS` **een inspringing** heeft aan de voorkant heeft. Die zijn beiden **verplicht**! + +We willen nu blijven _herhalen totdat_ de lezer een goed antwoord geeft... maar dat is _herhalen zolang_ de lezer _geen_ goed antwoord geeft. Precies andersom dus! Dus we moeten `not` toevoegen om die '_geen_' te programmeren: `while antwoord not in keuzes`: + +```python +antwoord='' +while antwoord not in keuzes: + antwoord = input() +``` + +Deze drie regels code zijn dus in plaats van alleen `antwoord = input()`. Het kost dus **slechts twee extra regels code** om input te valideren! + + +### De keuze laten zien + +Tot slot kun je een `print` toevoegen om de keuze van de lezer te laten zien. +**Let op: er staat _geen inspringing_ voor die `print`**, omdat de `print` pas moet gebeuren wanneer de herhaling van de `while` helemaal klaar is! + +```python +antwoord='' +while antwoord not in keuzes: + antwoord = input() +print('Je hebt gekozen voor:', antwoord) +``` + +### Nu jij: probeer het! + +Probeer deze dingen zelf uit: +1) Wat gebeurd er als we die `antwoord=''` regel niet hebben? +2) Schrijf in eigen woorden in je schrift waarom die foutmelding gebeurd. + + +## Opdracht bonus-5-2\) input valideren in jouw verhaal + +Deze opdracht wordt afgetekend als: + +- Je verhaal minstens 4 zinnen print. +- Je aan de lezer vraagt om een keuze te maken tussen drie opties. + - Bij een fout antwoord: de lezer kan nogmaals een antwoord invoeren. + - Bij een goed antwoord: we zien de gemaakte keuze, en het verhaal gaat verder. +- Je in je schrift in eigen woorden opschrijft hoe deze code werkt. + +### Opdracht. + +Ga verder met je code van opdracht bonus-5-1. Zorg er nu voor dat het verhaal niet doorgaat totdat de lezer een juiste keuze maakt! Voeg aan het einde van je programma nog één zinnetje toe die de keuze van de lezer vertelt: "Je hebt gekozen voor: ...". + +**** + + + + +## Geef de lezer feedback + +Als je nu het programma uitvoert, dan gaat het programma pas verder wanneer de lezer een goed antwoord geeft. Dat is niet heel gebruiksvriendelijk: we moeten de lezer natuurlijk wel vertellen dat hij/zij een fout antwoord heeft gegeven! + +Dit kunnen we eenvoudig bereiken door de `print('Wat doe je? Kies tussen:', keuzes)` die we al hadden, in de herhaallus te plaatsen: + +```python +antwoord='' +while antwoord not in keuzes: + print('Wat doe je? Kies tussen:', keuzes) + antwoord = input() +print('Je hebt gekozen voor:', antwoord) +``` + +### Nu jij: probeer het! + +1) Wat krijgt de lezer nu te zien als hij/zij een fout antwoord geeft? + + + +## Opdracht bonus-5-3\) geef de lezer ook feedback in jouw verhaal + +Deze opdracht wordt afgetekend als: + +- Je verhaal minstens 4 zinnen print. +- Je aan de lezer vraagt om een keuze te maken tussen drie opties. + - Bij een fout antwoord, krijgt de lezer dezelfde vraag nogmaals. + - Bij een goed antwoord, zien we de gemaakte keuze, en gaat het verhaal verder. +- Je in je schrift in eigen woorden opschrijft hoe deze code werkt. + +### Opdracht. + +Ga verder met je code van opdracht bonus-5-2. Zorg er nu ook voor dat wanneer de lezer een fout antwoord invoert, dat de lezer weer dezelfde vraag te zien krijgt. + +**** + + + + +## Lege regels toevoegen voor leesbaarheid + +Om het verhaal leesbaarder te maken voor de lezer, is het slim om af en toe een lege regel toe te voegen. Zeker rondom input van de lezer is een lege regel _heel prettig_! Dus zowel ervoor als erna. + +Dit doe je met `print()`. Je schrijft dus niets tussen de ronde haakjes: + +```python +print('Vertel hier een verhaal.') + +print() +antwoord='' +while antwoord not in keuzes: + print('Wat doe je? Kies tussen:', keuzes) + antwoord = input() +print('Je hebt gekozen voor:', antwoord) +print() + +print('Verhaal gaat verder.') +``` + + +## Opdracht bonus-5-4\) een lege regel toevoegen + +Deze opdracht wordt afgetekend als: + +- Je nu ook een lege regel print in jouw verhaal van de vorige opdracht. + +### Opdracht. + +Ga verder met je code van opdracht bonus-5-3. Voeg een lege regel toe voordat én nadat de lezer input geeft. + + +### Volgende keer... + +In de volgende les leer je om iets met de keuze van de lezer te doen, dus bewaar je code goed, zodat je hier volgende les mee verder kunt gaan! + + + + +**** + +## Samenvatting + +Samengevat, je kunt dit stukje Python code gebruiken om ervoor te zorgen dat de lezer alleen een mogelijk antwoord kan kiezen. + +```python +print('Vertel hier een verhaal.') + +print() +keuzes = [ 'ren weg', 'wacht af', 'ga kijken' ] +antwoord='' +while antwoord not in keuzes: + print('Wat doe je? Kies tussen:', keuzes) + antwoord = input() +print('Je hebt gekozen voor:', antwoord) +print() + +print('Verhaal gaat verder.') +``` diff --git a/module-1.1-nederlands/bonus/bonus-6-meerdereVerhaallijnen.md b/module-1.1-nederlands/bonus/bonus-6-meerdereVerhaallijnen.md new file mode 100644 index 0000000..124e035 --- /dev/null +++ b/module-1.1-nederlands/bonus/bonus-6-meerdereVerhaallijnen.md @@ -0,0 +1,20 @@ +# Bonus 6: meerdere verhaallijnen + +Het verhaal zal nu iedere keer dat iemand het leest héél anders gaan verlopen: je gaat *meerdere verhaallijnen* programmeren! + +Deze bonus bestaat uit drie losse delen: +- In bonus-6a laten we dingen met een kans gebeuren, voortbouwend op bonus-3. +- In bonus-6b gaan we de gevalideerde input uit bonus-5 gebruiken. +- In bonus-6c gaan we willekeurig gekozen dingen uit bonus-4 het verhaal totaal laten veranderen. Bijvoorbeeld, een 'boze' hond geeft een heel ander verhaal dan een 'vrolijke' hond! + +Bonus-6a is moet je als eerste doen. Het maakt niet uit of je bonus-6b of bonus-6c eerst doet. + +## Minimale voorkennis + +* Les 6: `if`, `else` + +## Leerdoelen + +Aan het einde van deze bonusen kun jij: + +* Meerdere verhaallijnen in hetzelfde programma programmeren, zodat het verhaal iedere keer anders is. diff --git a/module-1.1-nederlands/bonus/bonus-6a-kansen.md b/module-1.1-nederlands/bonus/bonus-6a-kansen.md new file mode 100644 index 0000000..e0c13d1 --- /dev/null +++ b/module-1.1-nederlands/bonus/bonus-6a-kansen.md @@ -0,0 +1,177 @@ +# Bonus 6a: een kans dat iets gebeurt + +In bonus-3 hebben we al een dobbelsteen opgegooid voor een willekeurig resultaat. We kunnen nu ook die dobbelsteen laten bepalen wat er daarna in het verhaal gebeurd! + +## Voorkennis + +* Bonus 3: `random.randint` +* Les 6: `if`, `else` + +## Leerdoelen + +Aan het einde van deze bonus kun jij: + +* Gebeurtenissen met een kans laten gebeuren. +* Meerdere verhaallijnen in hetzelfde programma programmeren. + +**** + + + +## Dobbelsteen opgooien + +In bonus-3 schreven we een code om een dobbelsteen op te gooien: + +```python +import random + +print('Je gooit een dobbelsteen op...' +worp = random.randint(1,6) +print('Het is een', worp) +``` + +Weet je deze nog? `random.randint(1,6)` geeft een willekeurig getal tussen 1 en 6! + + +## Reageren op een 6 + +In les-6 heb je geleerd om `if` en `else` te gebruiken om twee verschillende situaties te programmeren. Dit kunnen we gebruiken om te kijken wat er gegooid is. + +Als we willen kijken of er 6 gegooid is, dan gebruiken we `if worp == 6:`: + +```python +if worp == 6: + print('Wow! Het was een 6!') +else: + print('Geen geluk. Wellicht de volgende keer?') +``` + +## Opdracht bonus-6a-1\) 6 gooien + +Deze opdracht wordt afgetekend als: + +* Je een dobbelsteen opgooit en een bericht print als het een 6 is. +* Je een ander bericht print als het niet een 6 is. +* De speler op enter moet drukken om te gooien. +* Je in je schrift in eigen woorden schrijft hoe deze code werkt. + +### Opdracht. + +Maak het volgende: +- Print dat we een dobbelsteen opgooien. +- Wacht tot de speler op enter drukt. (Tip: gebruik `input`.) +- Gooi de dobbelsteen. +- Geef de speler een prijs als er 6 gegooid wordt. +- Als er geen 6 wordt gegooid, zeg dat de speler pech heeft. + +**** + + + +## Dobbelsteen geeft een kans + +In plaats van de dobbelsteen écht te gooien en dit te laten zien aan de lezer, kunnen we ook een dobbelsteen gooien om iets met een kans te laten gebeuren. + +Stel dat je een kans van 1 op 6 wilt hebben... Dat is de kans dat er een 6 wordt gegooid! + +Of stel dat je een kans van 1 op 3 wilt hebben... Dat is de kans dat er een 1 of een 2 wordt gegooid! Een 1 of een 2 zijn kleiner dan een 3. Dus we kunnen kijken of de worp kleiner is dan 3: `if worp < 3:`: + +```python +if worp < 3: + print('Dit gebeurt met een kans van 1 op 3!') +else: + print('Dit gebeurt met een kans van 2 op 3!') +``` + + +## Opdracht bonus-6a-2\) avondeten! + +Deze opdracht wordt afgetekend als: + +* Je print wat we vanavond gaan eten, met onderstaande kansen. +* Je in je schrift hebt geschreven hoe deze code werkt. + +### Opdracht. + +Je ouders twijfelen wat ze vanavond voor jullie avondeten zullen gaan klaarmaken. Je besluit om ze te helpen door Python te laten bepalen wat jullie vanavond zullen gaan eten! + +Maak een programma dat voorspelt wat de lezer vanavond zal gaan eten: +- Met een kans van 5 op 6, eten we pasta. +- Met een kans van 1 op 6, eten we patat. + +**** + + + +## Algemene kans + +Maar met een dobbelsteen kunnen we alleen maar kansen van 1 op 6, 2 op 6, 3 op 6, etc. maken. Wat nu als we een kans van 1 op 4 zouden willen hebben? Oftewel, 25% kans? + +Als we met procenten willen werken, kunnen we beter een getal tussen 0 en 100 maken. Dit kan het makkelijkste met: +```python +kans = random.random()*100 +``` +Dit maakt eerst een willekeurig getal tussen 0 en 1 (`random.random()`). Daarna doen we x100 om de getallen tussen 0 en 100 te maken. + +Een kans van 25% is dan: +```python +if kans < 25: # 25% kans + print('Dit gebeurt met een 25% kans.') +else: # 75% kans + print('Dit is de overige kans van 75%.') +``` + +## Meer dan twee situaties + +Met `if` en `else` programmeer je twee situaties. Maar je kunt ook meer dan twee situaties programmeren! + +Als je in de `else` weer een `if` plaatst, ga je al van 2 naar 3 situaties. Hier heeft Python een handig commando voor: `elif`. Dat is een `else` en een `if` in één! + +```python +if kans < 25: # 25% kans + print('Dit gebeurt met een 25% kans.') +elif kans < 60: # 35% kans + print('Deze kans is 35%, omdat 60 - 25 = 35!') +else: # 40% kans + print('Deze kans is 40%, omdat 100 - 60 = 40!') +``` + +Door een `else` in `elif` te veranderen en een nieuwe `else` toe te voegen maak je dus steeds weer een situatie erbij: drie situaties, vier, vijf, zes, of zelfs twintig situaties. Het kan allemaal! + + + +## Opdracht bonus-6a-3\) honger!!! + +Deze opdracht wordt afgetekend als: + +* Je print wat we vanavond gaan eten, met onderstaande kansen. +* Je in je schrift hebt geschreven hoe deze code werkt. + +### Opdracht. + +In de vorige opdracht waren er maar twee keuzes... Laten we daar nu drie opties van maken, met procentuele kansen. + +Maak een programma dat voorspelt wat de lezer vanavond zal gaan eten: +- Met een 10% kans, eten we pasta bolognese. +- Met een 25% kans, eten we stampot boerenkool. +- Met een 65% kans, eten we pannenkoeken. +Merk op dat de kansen altijd tot 100% optellen! + +## Opdracht bonus-6a-4\) meer variatie in het menu + +Deze opdracht wordt afgetekend als: + +* Je print wat we vanavond gaan eten, met onderstaande kansen. +* Je in je schrift hebt geschreven hoe deze code werkt. + +### Opdracht. + +Variatie is goed. Lekker, en gezond. We gaan meer opties programmeren. + +Maak een programma dat voorspelt wat de lezer vanavond zal gaan eten: +- Met een 10% kans, eten we pasta bolognese. +- Met een 25% kans, eten we stampot boerenkool. +- Met een 15% kans, eten we patat met een kroket. +- Met een 30% kans, eten we pannenkoeken. +- Met een 20% kans, eten we soep met brood. +Merk op dat de kansen altijd tot 100% optellen! diff --git a/module-1.1-nederlands/bonus/bonus-6b-inputValideren2.md b/module-1.1-nederlands/bonus/bonus-6b-inputValideren2.md new file mode 100644 index 0000000..676328b --- /dev/null +++ b/module-1.1-nederlands/bonus/bonus-6b-inputValideren2.md @@ -0,0 +1,139 @@ +# Bonus 6b: gevalideerde input gebruiken + +In bonus-5 valideerde we de input van de lezer met behulp van een lijst. Nu gaan we ervoor zorgen dat die input ook effect heeft! + +## Voorkennis + +* Bonus 5: input valideren +* Les 6: `if`, `else` +* Bonus 6a: `elif` + +## Leerdoelen + +Aan het einde van deze bonus kun jij: + +* Aan de hand van de keuze van de lezer het verhaal anders laten verlopen. +* Meerdere verhaallijnen in hetzelfde programma programmeren. + +**** + + + + +## Recap bonus-5 + +In bonus-5 hadden we een lijst gemaakt van mogelijke keuzes, genaamd `keuzes`. De lezer kon vervolgens één van die keuzes kiezen. Het programma ging pas verder wanneer de lezer één van de mogelijke antwoorden koos. Deze staat nu opgeslagen in een variabele `antwoord`: + +```python +print('Vertel hier een verhaal.') + +print() +keuzes = [ 'ren weg', 'wacht af', 'ga kijken' ] +antwoord='' +while antwoord not in keuzes: + print('Wat doe je? Kies tussen:', keuzes) + antwoord = input() +print() + +print('Verhaal gaat verder.') +``` + + +## Het antwoord bepalen + +Het antwoord van de lezer staat nu opgeslagen in de variabele `antwoord`, en we weten dat het één van de opties uit de lijst `keuzes` is. Voor iedere keuze willen we een ander scenario programmeren. We kunnen `if` gebruiken om te reageren op iedere keuze. Voor de eerste keuze ziet dit er als volgt uit: + +```python +if antwoord == keuzes[0]: + print("Het was keuze 1!") +``` + +Net zoals in bonus-6a, kunnen we `elif` gebruiken om alle opties af te lopen: + +```python +if antwoord == keuzes[0]: + print("Het was keuze 1!") +elif antwoord == keuzes[1]: + print("Het was keuze 2!") +elif antwoord == keuzes[2]: + print("Het was keuze 3!") +``` + +Als je meer dan drie keuzes hebt, dan kun je dit eenvoudig uitbreiden door steeds de laatste twee regels te kopiëren en daaronder te plakken, en 1 bij de index van de lijst op te tellen. + + + +## Opdracht bonus-6b-1\) Drie verhaallijnen + +Deze opdracht wordt afgetekend als: + +* Je een verhaal hebt over een dier die zijn natuurlijke vijand tegen komt. +* De lezer drie keuzes krijgt. +* Het verhaal pas verder gaat wanneer de lezer een mogelijke keuze invoert. +* Voor iedere keuze wordt gezegd 'Het was keuze' met het nummer daarachter. + +### Opdracht. + +In opdrachten bonus-5-1 t/m bonus-5-4 schreef je een verhaal over een dier die zijn natuurlijke vijand tegen kwam. Nu ben je in staat om dit verhaal verder te schrijven. + +Voeg de `if` en de twee `elif` uit bovenstaand voorbeeld toe aan jouw verhaal. + +(We gaan hier in de volgende opdracht weer mee verder.) + +**** + + + +## Het antwoord gebruiken + +We kunnen nu een totaal ander bericht printen voor iedere andere keuze. In het vorige voorbeeld waren dit de keuzes: + +```python +keuzes = [ 'ren weg', 'wacht af', 'ga kijken' ] +``` + +We kunnen dan `print` in de keuzebepaling met de `if` en de twee `elif` herschrijven tot een klein verhaaltje: + +```python +if antwoord == keuzes[0]: # ren weg + print('Je probeert weg te rennen!') + print('...') + print('Je bent ontkomen.') + print('Niets lijkt je te volgen.') +elif antwoord == keuzes[1]: # wacht af + print('Je wacht af.') + print('Er springt een aap uit de bosjes.') + # Vertel hier een lang verhaal + print('Je loopt weg.') +elif antwoord == keuzes[2]: # ga kijken + print('Je loopt ernaar toe, en gaat kijken.') + print('Er springt een aap uit de bosjes.') + # Vertel hier een ander lang Verhaal + # Het verhaal is anders dan bij keuze 2, + # omdat je nu heeeel dichtbij staat! + print('Je loopt weg.') + +print() +# Hier kun je een verder verhaal programmeren. +# Wat de lezer hierboven ook gekozen heeft, +# uiteindelijk gaat het verhaal hier gewoon verder! +``` + +Je ziet dat bij iedere keuze die de lezer maakt een heel ander verhaal gaat gebeuren. Uiteraard moet je nog wel even je fantasie loslaten om het verhaal af te schrijven... + +Ook is even commentaar (`#`) toegevoegd achter iedere keuze. Dat maakt de code veel makkelijker om te lezen! + + + +## Opdracht bonus-6b-2\) Drie verhaallijnen + +Deze opdracht wordt afgetekend als: + +* Je een verhaal hebt over een dier die zijn natuurlijke vijand tegen komt. +* De lezer drie keuzes krijgt. +* Het verhaal pas verder gaat wanneer de lezer een mogelijke keuze invoert. +* Voor iedere keuze een _ander_ verhaal van minstens twee zinnen vertelt wordt. + +### Opdracht. + +Ga verder met je code uit de vorige opdracht. Schrijf voor iedere keuze die de lezer in jouw verhaal heeft, een verhaal van minstens twee zinnen. diff --git a/module-1.1-nederlands/bonus/bonus-6c-randomDingen2.md b/module-1.1-nederlands/bonus/bonus-6c-randomDingen2.md new file mode 100644 index 0000000..9c23d15 --- /dev/null +++ b/module-1.1-nederlands/bonus/bonus-6c-randomDingen2.md @@ -0,0 +1,80 @@ +# Bonus 6c: willekeurige dingen, willekeurige verhalen + +## Voorkennis + +* Bonus 4: random dingen +* Les 6: `if`, `else` +* Bonus 6a: `elif` + +## Leerdoelen + +Aan het einde van deze bonus kun jij: + +* Willekeurige dingen de verhaallijn laten veranderen. +* Meerdere verhaallijnen in hetzelfde programma programmeren. + +**** + + + +## Recap bonus-4 + +In bonus-4 gebruikten we lijsten om willekeurige dingen in ons verhaal te laten verschijnen. De lijst schudde we met `random.shuffle(lijstnaam)`. + +We combineerden ook twee lijsten: een lijst met bijvoeglijk naamwoorden (`voorstukje`) en een lijst met zelfstandig naamwoorden (`vervoer`). + +```python +import random + +print('Hoe','ga','ik','vandaag','naar','school?') +voorstukjes = [ 'grote', 'snelle', 'mooie' ] +vervoer = [ 'auto', 'fiets', 'bus' ] +random.shuffle(voorstukjes) +random.shuffle(vervoer) +print('Ik','neem','vandaag','de',voorstukjes[0],vervoer[0],'!') +``` + +## Bijvoeglijk naamwoord gebruiken + +We kunnen het bijvoeglijk naamwoord gebruiken om te veranderen wat er geprint wordt. Hiervoor lopen we weer alle opties af met `elif`, net zoals in bonus-6a. Voor de laatste optie kunnen we altijd ook gewoon `else` gebruiken. + +```python +voorstukje = voorstukjes[0] # Kies een willekeurig bijv. naamwoord +if voorstukje == 'grote': # groot + print('Wow, die', vervoer[0], 'is echt gigantisch!') +elif voorstukje == 'snelle': # snel + print('Daarmee zijn we snel op school!') +else: # mooi + print('Het is niet de grootste of de snelste, maar hij is wel super mooi!!!') +``` + + + +## Opdracht bonus-6c-1\) Jouw vervoer + +Deze opdracht wordt afgetekend als: + +* Je vijf bijvoeglijk naamwoorden hebt waar willekeurig uit gekozen wordt, en een ander bericht print voor elk. +* Je in je schrift hebt geschreven hoe deze code werkt. + +### Opdracht. + +In opdracht bonus-4-2 programmeerde je vijf bijvoeglijke naamwoorden als `voorstukjes`. Print nu één heel andere zin voor ieder van die bijvoeglijke naamwoorden, net zoals in bovenstaand voorbeeld. + +**** + +## Opdracht bonus-6c-2\) Emotionele dieren, deel 2 + +Deze opdracht wordt afgetekend als: + +* Je vijf verschillende emoties hebt als bijvoeglijk naamwoord, waar willekeurig uit gekozen wordt. +* Je voer ieder van die emoties een klein verhaaltje hebt geprogrammeerd. +* Je in je schrift hebt geschreven hoe deze code werkt. + +### Opdracht. + +In opdracht bonus-4-3 programmeerde je willekeurige emoties ('boze', 'vrolijke', ...) voor willekeurige dieren. Deze werden willekeurig uit twee lijsten gekozen. + +Programmeer nu voor iedere emotie een ander verhaaltje. + +Bijvoorbeeld, wanneer er een 'boos' dier te voorschijn springt, dan moet je jezelf verdedigen. Of als er een 'vrolijk' dier te voorschijn springt, dan maak je van hem je huisdier. diff --git a/module-1.1-nederlands/bonus/bonus-more-ideas.md b/module-1.1-nederlands/bonus/bonus-more-ideas.md new file mode 100644 index 0000000..63440be --- /dev/null +++ b/module-1.1-nederlands/bonus/bonus-more-ideas.md @@ -0,0 +1,93 @@ +# Les 2: Time + +## Aftellen +```python +import time + +print('3...', end='\r') +time.sleep(1) +print('2...', end='\r') +time.sleep(1) +print('1...', end='\r') +time.sleep(1) +``` + +`end='\r'` betekent: +* eindig (`end`) de geprinte regel met ... +* `\r` betekent 'ga terug naar het begin van de regel' +* als je dus iets nieuws print, dan overschrijf je de vorige regel die geprint was + +Zie ook: +* https://www.quora.com/How-can-I-delete-the-last-printed-line-in-Python-language + +### Meer overschrijven + +Alle tekst clearen: +* https://stackoverflow.com/questions/19596750/is-there-a-way-to-clear-your-printed-text-in-python + +## meer time library features + +* huidige tijd opvragen +* elapsed time +* timezones + +--> https://docs.python.org/3/library/time.html#functions + +# Les 3: Random + +Uitbreiding voor de dobbelsteen: gooien met animatie. + +```python +print(random.randint(1,6),end='\r') +time.sleep(0.1) +print(random.randint(1,6),end='\r') +time.sleep(0.1) +print(random.randint(1,6),end='\r') +time.sleep(0.1) +print(random.randint(1,6),end='\r') +time.sleep(0.1) +print(random.randint(1,6),end='\r') +time.sleep(0.2) +print(random.randint(1,6),end='\r') +time.sleep(0.2) +print(random.randint(1,6),end='\r') +time.sleep(0.2) +print(random.randint(1,6),end='\r') +time.sleep(0.25) +print(random.randint(1,6),end='\r') +time.sleep(0.25) +print(random.randint(1,6),end='\r') +time.sleep(0.3) +worp = random.randint(1,6) +print(worp) +``` + +# Les 4: Lijsten + +## Lijst printen met layout +hele lijst in één keer printen; +lijst mooier weergeven door hem te unpacken en een separator te definiëren + +```python +lst = ['foo', 'bar', 'spam', 'egg'] +print(*lst, sep='\n') +``` + +# Les 5: input met een functie + +gebruik een functie om antwoord te valideren (prevent code duplication) + +# Les 6: if met functies + +maak een aparte functie per branch om de code beter te structureren + +# Les 6: hoofdletterongevoelig + +```python +print('Hond of kat?') +antwoord = input() +if antwoord.lower() == 'hond': + print('waf waf') +else: + print('miauw miauw') +``` diff --git a/module-1.2-kunst/.DS_Store b/module-1.2-kunst/.DS_Store new file mode 100644 index 0000000..11a6e91 Binary files /dev/null and b/module-1.2-kunst/.DS_Store differ diff --git a/module-1.2-van-hedy-naar-python/README.md b/module-1.2-van-hedy-naar-python/README.md new file mode 100644 index 0000000..d36d1b5 --- /dev/null +++ b/module-1.2-van-hedy-naar-python/README.md @@ -0,0 +1,2 @@ +# Module 1.2 Van Hedy naar Python + diff --git a/module-1.2-van-hedy-naar-python/opdracht-1.md b/module-1.2-van-hedy-naar-python/opdracht-1.md new file mode 100644 index 0000000..f93e641 --- /dev/null +++ b/module-1.2-van-hedy-naar-python/opdracht-1.md @@ -0,0 +1,27 @@ +# Opdracht 1 + +## Voorbereiding + +Lees ter voorbereiding nog even goed deze slides door: [https://slides.com/felienne/pidk-m1-l7a#/](https://slides.com/felienne/pidk-m1-l7a#/) + +Die slides leggen nog even uit hoe dingen in Python werken. Doe ook de vragen voor jezelf! + +## 1) Maak je verhaal in Python! + +Nu is het tijd om jouw verhaalopdracht van Hedy in Python te gaan maken. + +Zoek je verhaal in Hedy op en zet het stap voor stap om naar Python. + +Net als bij Hedy, moeten deze dingen moeten in je verhaal zitten voor een voldoende: + +* Minstens 25 zinnen +* Minstens 3 variabele die je definieert én gebruikt +* Minstens 3 keuzes met een if-else +* Netjes commentaar bovenaan +* Bij moeilijke stukjes code ook commentaar achter de codes + +Je kunt extra punten verdienen door: + +* Het gebruiken van een lijst +* Het gebruiken van `random.shuffle()` <— vergeet dan niet om `import random` bovenaan je code te zetten! +* Andere coole dingen die je kunt verzinnen! diff --git a/module-1.2-van-hedy-naar-python/opdracht-2.md b/module-1.2-van-hedy-naar-python/opdracht-2.md new file mode 100644 index 0000000..6398dc7 --- /dev/null +++ b/module-1.2-van-hedy-naar-python/opdracht-2.md @@ -0,0 +1,26 @@ +# Opdracht 2 + +## Voorbereiding + +Lees ter voorbereiding goed deze slides door: [https://slides.com/felienne/pidk-m2-l7a](https://slides.com/felienne/pidk-m2-l7a) + +Die slides leggen nog even uit hoe turtle opdrachten in Python werken. Doe ook de vragen voor jezelf! + +## 1) Maak je tekening in Python! + +Nu is het tijd om jouw tekenopdracht van Hedy in Python te gaan maken. Zoek je tekening in Hedy op en zet het stap voor stap om naar Python. + +Net als in Hedy moeten deze dingen in je programma zitten: + +* Minstens 5 _**losse**_ figuren. +* Minstens 3 variabele die je definieert én gebruikt. +* Minstens 3 kleuren. +* Netjes commentaar bovenaan. +* Bij moeilijke stukjes code ook commentaar achter de codes. + +Je kunt **extra** punten verdienen door: + +* Het gebruiken van rgb-codes voor kleuren. +* `begin_fill()` en `end_fill` om vlakken in te kleuren. +* Figuren met meerdere kleuren (zie onderaan dit werkblad). +* Andere coole dingen die je kunt verzinnen! diff --git a/module-1.3-geschiedenis/README.md b/module-1.3-geschiedenis/README.md new file mode 100644 index 0000000..bd8a4fa --- /dev/null +++ b/module-1.3-geschiedenis/README.md @@ -0,0 +1,16 @@ +# Module 2.1 - Geschiedenis quiz + +## Instructie voor de leerkracht + +Het idee van deze module is dat leerlingen een eigen quiz over geschiedenis maken met Python. Leerlingen kiezen zelf een onderwerp en de bijbehorende vragen. Een speler van het spel kan punten verzamelen door goed te antwoorden. \ +\ +Leerlingen die snel door het materiaal gaat, maken ook een "volgorde" vraag waarbij de speler gebeurtenissen op volgorde moet leggen. + +## Doelen van deze module + +* For lussen gebruiken om over een lijst te lopen (ipv met een iterator variable) +* While lussen gebruiken + +## Slides + +Je vindt alle [slides van Module Geschiedenis](https://slides.com/felienne/decks/python-in-de-klas-module-3) bij elkaar op deze pagina. diff --git a/module-1.3-geschiedenis/les-1/README.md b/module-1.3-geschiedenis/les-1/README.md new file mode 100644 index 0000000..e17287b --- /dev/null +++ b/module-1.3-geschiedenis/les-1/README.md @@ -0,0 +1,20 @@ +# Les 1 + +## Slides + +[Module Geschiedenis, les 1](https://slides.com/felienne/pidk-m3-l1a) + +## Leerdoelen \(Herhaling van modules 1 en 2\) + +* print\(\) gebruiken om woorden te laten zien +* variabelen instellen en printen +* werken met lijsten +* willekeurige element in een lijst aanwijzen +* if-else gebruiken op input van een gebruiker + + + + + + + diff --git a/module-1.3-geschiedenis/les-1/les-1a.md b/module-1.3-geschiedenis/les-1/les-1a.md new file mode 100644 index 0000000..4d27daf --- /dev/null +++ b/module-1.3-geschiedenis/les-1/les-1a.md @@ -0,0 +1,26 @@ +# Les 1a + +#### **Variabelen** + +1\) Schrijf alles op wat je nog weet over variabelen. + +2\) Kijk nu mee op het bord met wat de anderen nog wisten. Welk belangrijk weetje miste jij nog? + +#### **Lijsten** + +1\) Schrijf alles op wat je nog weet over lijsten. + +2\) Kijk nu mee op het bord met wat de anderen nog wisten. Welk belangrijk weetje miste jij nog? + +#### **Willekeurig** + +1\) Schrijf alles op wat je nog weet over willekeurig \(random\). + +2\) Kijk nu mee op het bord met wat de anderen nog wisten. Welk belangrijk weetje miste jij nog? + +#### **If** + +1\) Schrijf alles op wat je nog weet over if en input\(\). + +2\) Kijk nu mee op het bord met wat de anderen nog wisten. Welk belangrijk weetje miste jij nog? + diff --git a/module-1.3-geschiedenis/les-1/les-1b.md b/module-1.3-geschiedenis/les-1/les-1b.md new file mode 100644 index 0000000..ee8a39e --- /dev/null +++ b/module-1.3-geschiedenis/les-1/les-1b.md @@ -0,0 +1,40 @@ +# Les 1b + +#### Opdracht 1b-1\) Kies een geschiedenisthema, en zoek minstens 10 vragen op. + +Deze opdracht wordt afgetekend als je een onderwerp hebt gekozen en 10 vragen. + +Bijvoorbeeld: + +* De onafhankelijkheid van Suriname +* De Amerikaanse burgeroorlog +* Het beleg van Leiden + +Zoek voor je onderwerp minstens 10 feiten op die je als quizvraag kunt gebruiken, bijvoorbeeld: + +* Wanneer werd Suriname onafhankelijk van Nederland? \(1975\) +* Wie was er president toen de Amerikaanse burgeroorlog eindigde? \(Lincoln\) +* In welk jaar vond het Beleg van Leiden plaats? \(1574\) + +#### Opdracht 2b-1\) Zet de vragen in een lijst en print er 1 uit + +Deze les wordt afgetekend als: + +* Je je vragen in een lijst hebt gezet +* Je je antwoorden ook in een lijst hebt gezet \(op dezelfde volgorde!\) +* Je een willekeurige vraag kan printen + +**Opdracht.** Zet je vragen in een lijst. Let goed op komma's tussen de vragen, en aanhalingstekens om de vragen. Print er steeds willekeurig eentje uit als het programma wordt opgestart. + +Belangrijk: Je hoeft nog niets met de antwoorden te doen. De antwoorden in de lijst zetten is voldoende. + +#### Opdracht 3b-1\) \[Extra\] Maak een programma met alle elementen die je al kent. Je mag zelf iets kiezen om te maken! + +Deze opdracht wordt afgetekend als je een programma hebt gemaakt met daarin deze dingen: + +* input\(\) +* if +* een variabele +* een lijst +* iets willekeurigs + diff --git a/module-1.3-geschiedenis/les-2/README.md b/module-1.3-geschiedenis/les-2/README.md new file mode 100644 index 0000000..0799bfa --- /dev/null +++ b/module-1.3-geschiedenis/les-2/README.md @@ -0,0 +1,12 @@ +# Les 2 + +## Slides + +[Module Geschiedenis, les 2](https://slides.com/felienne/pidk-m3-l2a#/) + +## Leerdoelen + +* willekeurige _getallen_ in een lijst aanwijzen + + + diff --git a/module-1.3-geschiedenis/les-2/les-2a.md b/module-1.3-geschiedenis/les-2/les-2a.md new file mode 100644 index 0000000..fe85002 --- /dev/null +++ b/module-1.3-geschiedenis/les-2/les-2a.md @@ -0,0 +1,3 @@ +# Les 2a + +Geen a-deel bij deze les omdat er vorige les al uitgebreid herhaald is er er eigenlijk geen nieuwe concepten aangeleerd zijn. diff --git a/module-1.3-geschiedenis/les-2/les-2b.md b/module-1.3-geschiedenis/les-2/les-2b.md new file mode 100644 index 0000000..2614848 --- /dev/null +++ b/module-1.3-geschiedenis/les-2/les-2b.md @@ -0,0 +1,19 @@ +# Les 2b + +#### Opdracht 2b-1) Print een random vraag met random.randint() + +Deze opdracht wordt afgetekend als: + +* je de willekeurige vraag kiest met randint() in plaats van choice(). +* Je uit de hele lengte van de lijst kiest met len() + +#### Opdracht 2b-2) Sla het bijbehorende antwoord op in een variabele + +Deze opdracht wordt afgetekend als: + +* je het goede antwoord opgeslagen hebt in een variabele +* noem de variabele `goed_antwoord` + +**Opdracht.** Print het goede antwoord niet uit, dat is te makkelijk! Sla 'm in plaats daarvan op in een variabele. Die variabele kun je dan later gaan gebruiken om te kijken of een ingevoerd antwoord goed is. + +#### diff --git a/module-1.3-geschiedenis/les-3/README.md b/module-1.3-geschiedenis/les-3/README.md new file mode 100644 index 0000000..930a0b4 --- /dev/null +++ b/module-1.3-geschiedenis/les-3/README.md @@ -0,0 +1,10 @@ +# Les 3 + +## Slides + +[Module Geschiedenis, les 3](https://slides.com/felienne/python-in-de-klas-module-3-les-3) + +## Leerdoelen + +* willekeurige _getallen_ in een lijst aanwijzen + diff --git a/module-1.3-geschiedenis/les-3/les-3a.md b/module-1.3-geschiedenis/les-3/les-3a.md new file mode 100644 index 0000000..0a7f908 --- /dev/null +++ b/module-1.3-geschiedenis/les-3/les-3a.md @@ -0,0 +1,10 @@ +# Les 3a + +## + + + +Geen a-deel bij deze les omdat er vorige les an uitgebreid herhaald is er er eigenlijk geen nieuwe concepten aangeleerd zijn. + + + diff --git a/module-1.3-geschiedenis/les-3/les-3b.md b/module-1.3-geschiedenis/les-3/les-3b.md new file mode 100644 index 0000000..be768a9 --- /dev/null +++ b/module-1.3-geschiedenis/les-3/les-3b.md @@ -0,0 +1,43 @@ +# Les 3b + +#### Opdracht 3b-1) Vraag de gebruiker om invoer + +Deze opdracht wordt afgetekend als: + +* Je met input() de gebruiker kan laten antwoorden op een willekeurige vraag + +Zorg natuurlijk wel dat je het antwoord niet meer print! + +#### Opdracht 3b-2) Kijk of het antwoord goed is + +Deze opdracht wordt afgetekend als: + +* je het goede antwoord opslaat in `goed_antwoord` +* je een `if else` gebruikt om te kijken of het goed of fout is + +**Opdracht.** Sla het goede antwoord op in een variabele. Gebruik die variabele om met if te kijken of het antwoord klopt. + +#### Opdracht 3b-3) Voeg de puntentelling toe + +Deze opdracht wordt afgetekend als: + +* Je een variabele punten hebt gemaakt +* Je 1 punt krijgt voor een goed antwoord + +**Opdracht.** Gebruik nu een variabele `punten`. + +#### Opdracht 3b-4) Blijven spelen met een lus (extra) + +Deze opdracht wordt afgetekend als: + +* Je een for lus om je code zet, zodat je meerdere vragen krijgt + +**Opdracht.** Je moet nu steeds opnieuw de code runnen voor een nieuwe vraag, en je kunt maar 1 punt verdienen. Als je de hele code in een for lus zet, dan gaat het vaker. Je code komt er ongeveer zo uit te zien: + +``` +punten = 0 +for i in range(10): + # kies een getal + # print de vraag + # controleer het antwoord +``` diff --git a/module-1.3-geschiedenis/les-4/README.md b/module-1.3-geschiedenis/les-4/README.md new file mode 100644 index 0000000..29fe055 --- /dev/null +++ b/module-1.3-geschiedenis/les-4/README.md @@ -0,0 +1,2 @@ +# Les 4 + diff --git a/module-1.3-geschiedenis/les-4/les-4a.md b/module-1.3-geschiedenis/les-4/les-4a.md new file mode 100644 index 0000000..c93c251 --- /dev/null +++ b/module-1.3-geschiedenis/les-4/les-4a.md @@ -0,0 +1,4 @@ +# Les 4a + +TODO: oefeningen while \(kunnen op les 5 lijken\) + diff --git a/module-1.3-geschiedenis/les-4/les-4b.md b/module-1.3-geschiedenis/les-4/les-4b.md new file mode 100644 index 0000000..1882b93 --- /dev/null +++ b/module-1.3-geschiedenis/les-4/les-4b.md @@ -0,0 +1,44 @@ +# Les 4b + +**Opdracht 4b-1\) Maak een while lus die tot 5 telt** +Deze opdracht wordt afgetekend als: + +* Je code tot 5 telt met een while lus +* Na de getallen 0 t/m 4 "klaar" geprint wordt + +**Opdracht.** Laat Python **tot** 5 tellen. Je mag beginnen met deze code, zet op de streepjes steeds de goede stukjes. + +```python +import time +punten = 0 +while punten __ 5: + time.sleep(1) #wacht even (dan zie je beter wat er gebeurt) + print(__) + punten __ __ __ __ + +print(__) +``` + +**Opdracht 4b-2\) Maak een while lus voor je quiz** +Deze opdracht wordt afgetekend als: + +* Je quiz doorgaat tot er 5 punten gehaald zijn. + +**Opdracht.** Combineer nu je code van opdracht 1 met de code van je quiz. Het zal ongeveer zo gaan: + +```python +import time + +# stel de lijst vragen en antwoorden in +# stel punten in op 0 + +# begin de while lus, kijk of punten meer is dan 5 + # kies een willekeurige vraag + # zoek het bijbehorende antwoord op + + # controleer met een if + # goed? -> 1 punt erbij + +# feliciteer de speler hier met 5 goede antwoorden +``` + diff --git a/module-1.3-geschiedenis/les-5/README.md b/module-1.3-geschiedenis/les-5/README.md new file mode 100644 index 0000000..bd54439 --- /dev/null +++ b/module-1.3-geschiedenis/les-5/README.md @@ -0,0 +1,13 @@ +# Les 5 + +## Slides‌ + +[​Module Geschiedenis, les 5](https://slides.com/felienne/python-in-de-klas-module-3-les-5) + +## Leerdoelen + +* oefenen met while +* elementen uit een lijst verwijderen met remove\(\) + + + diff --git a/module-1.3-geschiedenis/les-5/les-5a.md b/module-1.3-geschiedenis/les-5/les-5a.md new file mode 100644 index 0000000..13f469c --- /dev/null +++ b/module-1.3-geschiedenis/les-5/les-5a.md @@ -0,0 +1,113 @@ +# Les 5a + +## Printen + +Aan het einde van de les kun jij: + +* nog beter met de while werken +* elementen uit een lijst halen met while + +**While** + +1\) Welke van deze programma's print **3 keer "Hallo"** uit? + +Schrijf de goede code over in je schrift! + +```python +1: +punten = 1 +while punten == 3: + print("Hallo") + punten = punten + 1 + +2: +punten = 1 +while punten < 3: + print("Hallo") + punten = punten + 1 + +3: +punten = 1 +while punten < 4: + print("Hallo") + punten = punten + 1 +``` + +2\) Welke van deze programma's print **1 tot en met 6** uit? + +```python +1: +punten = 1 +while punten == 7: + print(punten) + punten = punten + 1 + +2: +punten = 1 +while punten < 7: + print(punten) + punten = punten + 1 + +3: +punten = 1 +while punten < 7: + punten = punten + 1 + print(punten) +``` + +3\) Welke van deze programma's print 5x een dobbelsteen worp uit? Lees de code goed! + +```python +1: +teller = 1 +while teller < 6: + print(random.randint(1,6)) + teller = teller + 1 + +2: +teller = 0 +while teller < 6: + print(random.randint(1,6)) + teller = teller + 1 + +3: +teller = 1 +while teller < 5: + print(random.randint(1,6)) + teller = teller + 1 +``` + +**Remove** + +1\) Goed of fout? + +Goed: Schrijf wat de code print +Fout: Schrijf op wat de fout is. + +```python +1: +weekdagen = ['ma', 'di', 'wo', 'do', 'vr', 'za'] +weekdagen.remove(za) +print(weekdagen) + +2: +dobbel = [1, 2, 3, 4, 5, 6] +dobbel.remove(7) +print(dobbel) + +3: +dobbel = [1, 2, 3, 4, 5, 6] +dobbel.remove(4) +print(dobbel) + +4: +weekdagen = ['ma', 'di', 'wo', 'do', 'vr', 'za'] +weekdagen.remove('ma') +print(weekdagen) + +5: +dobbel = [1, 2, 3, 4, 5, 6] +dobbel.remove() +print(dobbel) +``` + diff --git a/module-1.3-geschiedenis/les-5/les-5b.md b/module-1.3-geschiedenis/les-5/les-5b.md new file mode 100644 index 0000000..134cc5d --- /dev/null +++ b/module-1.3-geschiedenis/les-5/les-5b.md @@ -0,0 +1,17 @@ +# Les 5b + +#### Opdracht 5b-1) Verwijder goed beantwoorde vragen + +Deze opdracht wordt afgetekend als: + +* Je vragen die door de gebruiker goed zijn beantwoord uit de lijst vragen haalt + +**Opdracht.** Zorg nu dat de vragen die de speler goed beantwoord heeft, uit de lijst gaan. + +#### Opdracht 5b-2) Verwijder goed beantwoorde antwoorden + +Deze opdracht wordt afgetekend als: + +* Je antwoorden van vragen die door de gebruiker goed zijn beantwoord zijn uit de lijst antwoorden haalt + +**Opdracht.** Zorg nu dat de antwoorden behorende bij de vragen die de speler goed beantwoord heeft, uit de lijst gaan. diff --git a/module-1.3-geschiedenis/les-6/README.md b/module-1.3-geschiedenis/les-6/README.md new file mode 100644 index 0000000..39a5209 --- /dev/null +++ b/module-1.3-geschiedenis/les-6/README.md @@ -0,0 +1,22 @@ +# Les 6 + +## Slides‌ + +​[Module Geschiedenis, les 6](https://slides.com/felienne/python-in-de-klas-module-3-les-6) + +## Leerdoelen + +* verder oefenen met if en lijsten + + + + + + + + + + + + + diff --git a/module-1.3-geschiedenis/les-6/les-6b.md b/module-1.3-geschiedenis/les-6/les-6b.md new file mode 100644 index 0000000..8d95991 --- /dev/null +++ b/module-1.3-geschiedenis/les-6/les-6b.md @@ -0,0 +1,26 @@ +# Les 6b + +#### Opdracht 6-1) Geef de speler een hint als hij of zij het antwoord niet weet + +Deze opdracht wordt afgetekend als: + +* Je een lijst `hints` hebt gemaakt +* De speler een hint in beeld krijgt als het antwoord fout is +* De hint verwijderd wordt uit de lijst als het wel antwoord goed is. + +**Opdracht.** Maak de lijst `hints` en zorg dat alles goed werkt. Bij een hint kan je denken aan extra uitleg, maar je zou de speler ook kunnen laten kiezen uit een paar opties. + +#### Opdracht 6b-2) Maak nog meer lijsten + +Deze opdracht wordt afgetekend als: + +* Je minstens nog één lijst in je spel verwerkt. + +**Opdracht.** Er zijn nog meer dingen die bij een vraag kunnen horen, en dus in een nieuwe lijst passen. \ +Denk bijvoorbeeld aan: + +* Het thema per vraag. Print per vraag ook uit waar de vraag over gaat, bijv. WOII, Franse revolutie of de verlichting. +* De moeilijkheidsgraad per vraag. Is een vraag moeilijk dan krijg je twee punten, anders één. + +Maar je mag ook zelf iets verzinnen! + diff --git a/module-1.3-geschiedenis/les-7/README.md b/module-1.3-geschiedenis/les-7/README.md new file mode 100644 index 0000000..0eba305 --- /dev/null +++ b/module-1.3-geschiedenis/les-7/README.md @@ -0,0 +1,10 @@ +# Les 7 + +## Slides‌ + +​[Module Geschiedenis, les 7](https://slides.com/felienne/python-in-de-klas-module-3-les-7) + +## Leerdoelen + +* geneste lijsten + diff --git a/module-1.3-geschiedenis/les-7/les-7a.md b/module-1.3-geschiedenis/les-7/les-7a.md new file mode 100644 index 0000000..55c2aba --- /dev/null +++ b/module-1.3-geschiedenis/les-7/les-7a.md @@ -0,0 +1,4 @@ +# Les 7a + +TODO: Hier zou meer oefenen met geneste lijsten heel goed zijn \(was voor de klas van Mark Staal niet perse nodig\) + diff --git a/module-1.3-geschiedenis/les-7/les-7b.md b/module-1.3-geschiedenis/les-7/les-7b.md new file mode 100644 index 0000000..cc4de97 --- /dev/null +++ b/module-1.3-geschiedenis/les-7/les-7b.md @@ -0,0 +1,36 @@ +# Les 7b + +#### Opdracht 7-1) Gebruik een lijst van lijsten + +Deze opdracht wordt afgetekend als: + +* Je vragen, antwoorden, hints en themas samen in 1 lijst `vragen` opslaat +* Je uit die lijst een willekeurig element haalt, dat is dus zelf een lijst) +* Je uit die lijst een vraag, het antwoord en de hint en het thema haalt +* Je quiz verder hetzelfde werkt als vorige week. Dat betekent dat je: + * vragen kan stellen met een thema erbij + * de speler en antwoord kan geven + * je dat antwoord controleert + * een hint geeft als de speler het niet weet + * een punt geeft als de speler het wel weet + +**Opdracht.** Zorg dat jouw quiz een lijst van lijsten gebruikt, maar verder hetzelfde werkt als eerst. + +#### Opdracht 7-2) Verwijder nu ook de gestelde vragen + +Deze opdracht wordt afgetekend als: + +* Je een vraag die wordt gesteld verwijdert uit de lijst. + +**Opdracht.** Gebruik nu 1 `remove()` om de lijst met een vraag, antwoord, thema en hint te verwijderen als de vraag goed beantwoord os. + + + + + + + + + + + diff --git a/module-nederlands/.DS_Store b/module-2.1-pygame-quiz/.DS_Store similarity index 71% rename from module-nederlands/.DS_Store rename to module-2.1-pygame-quiz/.DS_Store index a6ae560..bf2850c 100644 Binary files a/module-nederlands/.DS_Store and b/module-2.1-pygame-quiz/.DS_Store differ diff --git a/module-2.1-pygame-quiz/README.md b/module-2.1-pygame-quiz/README.md new file mode 100644 index 0000000..b896359 --- /dev/null +++ b/module-2.1-pygame-quiz/README.md @@ -0,0 +1,18 @@ +# Module 2.2 - PyGame Quiz + +## Instructie voor de leerkracht + +Het idee van deze module is dat leerlingen verder werken aan hun quiz over geschiedenis uit module 2.1. + +In deze module gaan ze een "user interface" maken: Knoppen voor de speler om op te klikken, dat doen we in de PyGame omgeving, die ook binnen repl.it toegankelijk is. + +## Doelen van deze module + +* Leren "renderen", dwz dingen op het scherm laten verschijnen +* Werken met x-y coordinaten op een scherm +* Werken met events, zoals muiskliks +* Nadenken over gebruikersinteractie + +## Slides + +Je vindt alle [slides van Module Geschiedenis](https://slides.com/felienne/decks/python-in-de-klas-module-3) bij elkaar op deze pagina. diff --git a/module-2.1-pygame-quiz/les-1/README.md b/module-2.1-pygame-quiz/les-1/README.md new file mode 100644 index 0000000..560b9e5 --- /dev/null +++ b/module-2.1-pygame-quiz/les-1/README.md @@ -0,0 +1,20 @@ +# Les 1 + +## Slides + +[Module PyGame Quiz, les 1](https://slides.com/felienne/python-klas-2-module-1-les-1/) + +## Leerdoelen \(Herhaling van modules 1, 2 en 3\) + +* print\(\) gebruiken om woorden te laten zien +* variabelen instellen en printen +* werken met lijsten +* willekeurige element in een lijst aanwijzen +* if-else gebruiken op input van een gebruiker + +## Instructies voor de leerkracht + +Deze les heeft maar een opwarmopdrachtje omdat het de eerste les is, en er dus vast wat te herhalen valt. Ik doe dat graag met wisbordjes, maar het kan ook met een Kahoot of juist door leerlingen samen een mindmap te laten maken, net hoe je handig vindt! + +De opdrachten hebben steeds een beschrijving en ook startcode. Die startcode kun je klaarzetten voor leerlingen om mee te beginnen. In een repl.it Team bijvoorbeeld kun je een 'template' aanmaken, dan zet je de uitleg in de readme.md en de startcode in de main.py. + diff --git a/module-2.1-pygame-quiz/les-1/opdracht-1.md b/module-2.1-pygame-quiz/les-1/opdracht-1.md new file mode 100644 index 0000000..afce59d --- /dev/null +++ b/module-2.1-pygame-quiz/les-1/opdracht-1.md @@ -0,0 +1,28 @@ +# Les 1b + +### Opdracht 1 + +Deze opdracht wordt afgetekend als: + +1. Je minstens 10 vragen in je code hebt staan +2. Je voor iedere vraag minstens 3 antwoordopties hebt bedacht + +Voor deze opdracht ga je je weer verdiepen in je quiz van voor de vakantie. Kun je je code nog vinden op repl.it? Zoek je quizvragen van voor de vakantie op \(of verzin nieuwe!\). Maak nu voor voor iedere vraag minstens een aantal antwoordopties. Die opties zijn mogelijke antwoorden op de vraag. Het moeten natuurlijk wel een beetje zinnige opties zijn, dat een speler echt moet denken welke er goed zijn! Sla je opties op in een tweede lijst `opties` zoals je ook in de startcode ziet. + +### Startcode + +```python +import random + +quizvragen = ['vraag 1', 'vraag 2'] #vul hier jouw vragen in! +opties = ['A)... B)...', 'A)... B)...'] #vul hier jouw antwoorden in! + +#deze code hoef je niet aan te passen, die is alleen om je lijsten te testen +#als het goed is kun je deze code wel prima lezen natuurlijk...! + +vraagnummer = random.randint(0, len(quizvragen)-1) +print(quizvragen[vraagnummer]) +print("Kies uit") +print(opties[vraagnummer]) +``` + diff --git a/module-2.1-pygame-quiz/les-1/opdracht-1/README.md b/module-2.1-pygame-quiz/les-1/opdracht-1/README.md new file mode 100644 index 0000000..3bd5a78 --- /dev/null +++ b/module-2.1-pygame-quiz/les-1/opdracht-1/README.md @@ -0,0 +1,6 @@ +# Opdracht 1 + +1. Zoek je quizvragen van voor de vakantie op \(of verzin nieuwe!\) +2. Verzamel minstens 10 vragen +3. Maak voor iedere vraag minstens 3 antwoordopties, en sla die op in een tweede lijst + diff --git a/module-2.1-pygame-quiz/les-1/opdracht-1/main.py b/module-2.1-pygame-quiz/les-1/opdracht-1/main.py new file mode 100644 index 0000000..04fc22a --- /dev/null +++ b/module-2.1-pygame-quiz/les-1/opdracht-1/main.py @@ -0,0 +1,13 @@ +import random + +quizvragen = ['vraag 1', 'vraag 2'] #vul hier jouw vragen in! +opties = ['A)... B)...', 'A)... B)...'] #vul hier jouw antwoorden in! + +# deze code hoef je niet aan te passen, die is alleen om je lijsten te testen +# als het goed is kun je deze code wel prima lezen natuurlijk...! +vraagnummer = random.randint(0, len(quizvragen)-1) + +print(quizvragen[vraagnummer]) +print("Kies uit") +print(opties[vraagnummer]) + diff --git a/module-2.1-pygame-quiz/les-2/README.md b/module-2.1-pygame-quiz/les-2/README.md new file mode 100644 index 0000000..62af2e8 --- /dev/null +++ b/module-2.1-pygame-quiz/les-2/README.md @@ -0,0 +1,18 @@ +# Les 2 + +## Slides + +[Module PyGame Quiz, les 2](https://slides.com/felienne/python-klas-2-module-1-les-2) + +## Leerdoelen + +* Herhaling van rgb-codes +* Plaatjes inladen in PyGame +* x-y coordinaten gebruiken in PyGame + +## Instructies voor de leerkracht + +Deze les gaan leerlingen echt aan de slag met PyGame, door het op de juiste plaats zetten van de letters. Ze mogen zelf kiezen wat het wordt, in de hoeken, of juist op een rijtje. + + + diff --git a/module-2.1-pygame-quiz/les-2/les-2a.md b/module-2.1-pygame-quiz/les-2/les-2a.md new file mode 100644 index 0000000..e51e709 --- /dev/null +++ b/module-2.1-pygame-quiz/les-2/les-2a.md @@ -0,0 +1,92 @@ +# Les 2a + +**Opdracht 1** + +Je ziet hier nog een keer de code van PyCharm, in losse stukjes. Schrijf bij iedere regel in jouw eigen woorden wat de code doet. + +```python +import pygame +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python +import pygame +pygame.init() +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python +breedte = 800 +hoogte = 600 +screen = pygame.display.set_mode((breedte, hoogte)) +``` + +Deze regels zorgen ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ +\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python +zwart = 0, 0, 0 +wit = 255, 255, 255 +``` + +Deze regels zorgen ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ +\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python +lettertype = pygame.font.SysFont(None, 40) +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python +A = pygame.image.load("A.png") +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python +vraagtekst = "Wat is de hoofdstad van Nederland?" +vraagblok = lettertype.render(vraagtekst, True, wit) +``` + +Deze regels zorgen ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ +\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python +while True: +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python + pygame.display.flip() +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python + screen.fill(zwart) +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python + screen.blit(A, (0, 0)) +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python +screen.blit(vraagblok, (0, 275)) +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + + + + + + + diff --git a/module-2.1-pygame-quiz/les-2/opdracht-1.md b/module-2.1-pygame-quiz/les-2/opdracht-1.md new file mode 100644 index 0000000..dd08ed7 --- /dev/null +++ b/module-2.1-pygame-quiz/les-2/opdracht-1.md @@ -0,0 +1,58 @@ +# Les 2b + +**Opdracht 1** + +Deze opdracht wordt afgetekend als: + +1. Het scherm netjes ingesteld is op 600 bij 800 +2. De achtergrondkleur van het veld zwart is +3. De kleur van de tekst wit is + +**Uitleg.** Fork de startcode op [https://repl.it/@mevrHermans/pidk-jaar-2-les-2-opdr-1](https://repl.it/@mevrHermans/pidk-jaar-2-les-2-opdr-1). Die code is nog niet helemaal goed, jij gaat die code zelf stap voor stap verbeteren. + +Voor de eerste opdracht ga jij de instellingen goed zetten. Stel de grootte van het scherm in op 600 hoog en 800 breed. Zet ook de beide kleuren goed. Dat gaat met RGB (Rood Groen Blauw) codes. Ken je die nog uit het eerste jaar? Als de de getallen goed instelt krijg je een zwarte achtergrond met witte letters erop. Probeer je code uit om te kijken of het goed is! + +**Startcode** + +Het startprogramma is [online](https://repl.it/@mevrHermans/pidk-jaar-2-les-2-opdr-1) te vinden. Deze code kun je voor alle opdrachten van deze week gebruiken. + +**Opdracht 2** + +Deze opdracht wordt afgetekend als: + +1. Je vier letters in beeld hebt +2. De letters elkaar niet overlappen + +**Uitleg.** De code zet nu een letter A op het scherm, maar we willen alle vier de letters in beeld. Dan kunnen spelers er straks op klikken. \ +\ +We doen de letter B stap voor stap. Er zijn twee regels in de code die je moet kopiëren op de letter B ook in beeld te krijgen. Dat zijn deze twee regels. Ten eerste: + +```python +A = pygame.image.load("A.png") +``` + +Deze regels laadt het plaatje "A.png" in en slaat het plaatje op in de variabele A. Verander beide A's en B's.\ +Alleen deze regel is nog niet genoeg om de B op het scherm te krijgen. Probeer de code maar eens, er staat nog steeds alleen een A. Deze regel, in de `while` lus is ook nog nodig: + +```python + screen.blit(A, (0, 0)) +``` + +Deze regel code zet de variable A op het scherm, op plekje (0,0). (0, 0) betekent links bovenaan. Zorg jij dat de andere letters ook netjes in beeld komen? Je mag zelf kiezen waar ze staan, als ze maar niet over elkaar staan. + +{% hint style="info" %} +**Let op!** Verander de A in een B, maar verander ook de getallen!! Als je de getallen op (0, 0) laat staan, zie je alleen de B, die op de A geplakt wordt. +{% endhint %} + +**Opdracht 3 (Extra)** + +Deze opdracht wordt afgetekend als: + +1. Je een extra plaatje in beeld krijgt + +**Opdracht.** Je kunt ook zelf nog iets in beeld krijgen, bijv. een smiley, een foto van jezelf of een "ik weet het niet" knop voor de speler. Voeg jij zelf nog iets toe aan je programma? Volg deze stappen: + +1. Zoek een plaatje en sla het op op je computer +2. Upload het plaatje in repl.it met de drie kleine stippeltjes +3. Laad het plaatje en sla het op in een variable +4. "Blit" de variabele op het scherm, doe dat in de `while` lus diff --git a/module-2.1-pygame-quiz/les-3/README.md b/module-2.1-pygame-quiz/les-3/README.md new file mode 100644 index 0000000..fe24311 --- /dev/null +++ b/module-2.1-pygame-quiz/les-3/README.md @@ -0,0 +1,14 @@ +# Les 3 + +## Slides + +[Module PyGame Quiz, les 3](https://slides.com/felienne/python-klas-2-module-1-les-3) + +## Leerdoelen + +* Leren muiskliks afhandelen in PyGame + +## Instructies voor de leerkracht + +In deze les gaan de leerlingen leren hoe PyGame muiskliks van de gebruiker kan detecteren. + diff --git a/module-2.1-pygame-quiz/les-3/les-3a.md b/module-2.1-pygame-quiz/les-3/les-3a.md new file mode 100644 index 0000000..5c78744 --- /dev/null +++ b/module-2.1-pygame-quiz/les-3/les-3a.md @@ -0,0 +1,67 @@ +# Les 3a + +**Opdracht 1** + +Je ziet hier nog een keer de code van PyCharm, in losse stukjes. Schrijf bij iedere regel in jouw eigen woorden wat de code doet. + +```python +import pygame, time +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python +lettertype = pygame.font.SysFont(None, 40) +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python + locatie_muis = pygame.mouse.get_pos() +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python + time.sleep(0.5) +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python +if A.get_rect().collidepoint(locatie_muis): +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python + screen.blit(A, (0, 0)) +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python + screen.blit(vraagblok, (0, 275)) + screen.blit(optiesblok, (0, 310)) +``` + +Deze regels zorgen ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python + pygame.event.get() +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python + if knoppen[0] == 1: +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +```python + knoppen = pygame.mouse.get_pressed() +``` + +Deze regel zorgt ervoor dat: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + diff --git a/module-2.1-pygame-quiz/les-3/les-3b.md b/module-2.1-pygame-quiz/les-3/les-3b.md new file mode 100644 index 0000000..ace832a --- /dev/null +++ b/module-2.1-pygame-quiz/les-3/les-3b.md @@ -0,0 +1,64 @@ +# Les 3b + +**Opdracht 1** + +Deze opdracht wordt afgetekend als: + +1. Je de vier letters weer in beeld hebt + +**Uitleg.** Fork de startcode op [https://repl.it/@mevrHermans/pidk-jaar-2-les-3-opdr-1](https://repl.it/@mevrHermans/pidk-jaar-2-les-3-opdr-1). Die code is nog niet helemaal goed, jij gaat die code zelf stap voor stap verbeteren. Je begint net als vorige week maar met 1 letter. Zet jij alle vier de letters weer op een mooie plek? + +**Opdracht 2** + +Deze opdracht wordt afgetekend als: + +1. De letter A aangeklikt kan worden +2. Je de letter waarop geklikt is, onderin in beeld krijgt + +**Uitleg.** Zorg nu dat de A onderin in beeld komt als je op de A klikt. Als je klaar bent, ziet het er zo uit als je op de A klikt: + +![](<../../.gitbook/assets/image (3) (1).png>) + +Zet de if-code op de juiste plek neer, en zorg dat deze regels wel in de buitenste if blijven staan. Er staat al een stukje commentaar op de goede plek voor je klaar: + +```python +# vul hier code in om te kijken of er op de A geklikt is +``` + +{% hint style="info" %} +Heb je ook geprobeerd het zo te programmeren dat het voor de B en de C en D werkt? Dat werkt nog niet meteen, dat gaan we de volgende les leren. +{% endhint %} + +**Opdracht 3 (Extra)** + +Deze opdracht wordt afgetekend als: + +1. Je een extra plaatje in beeld krijgt + +**Opdracht.** Je kunt ook zelf nog iets in beeld krijgen, bijv. een smiley, een foto van jezelf of een "ik weet het niet" knop voor de speler. Voeg jij zelf nog iets toe aan je programma? Volg deze stappen: + +1. Zoek een plaatje en sla het op op je computer +2. Upload het plaatje in repl.it met de drie kleine stippeltjes +3. Laad het plaatje en sla het op in een variable +4. "Blit" de variabele op het scherm, doe dat in de `while` lus + +**Opdracht 4 (Extra)** + +Deze opdracht wordt afgetekend als: + +1. De letters van plek kunnen veranderen. + +**Uitleg.** De letters blijven nu op dezelfde plek staan als ze worden aangeklikt. Je kan de quiz nog moeilijker maken, en leuker, als de letters nadat ze zijn aangeklikt, ergens anders weer in beeld komen. Dat kan op een random (willekeurige) plak zijn. + +**Opdracht 5 (Extra)** + +Deze opdracht wordt afgetekend als: + +1. Je zelf iets nieuws verzonnen hebt, en gemaakt + +**Opdracht.** Ben je klaar? Verzin dan zelf nog iets leuks! Bijv: + +* Een aftelklok van 10 seconden waarbinnen de speler moet klikken. +* Andere letters of plaatjes om op te klikken, bijv een Appel voor A en een Banaan voor B + +Maar het mag ook iets heel anders zijn! diff --git a/module-2.1-pygame-quiz/les-4/README.md b/module-2.1-pygame-quiz/les-4/README.md new file mode 100644 index 0000000..d2009e2 --- /dev/null +++ b/module-2.1-pygame-quiz/les-4/README.md @@ -0,0 +1,20 @@ +# Les 4 + +## Slides + +[Module PyGame Quiz, les 4](https://slides.com/felienne/pidk-k3-m1-l4) + +## Leerdoelen + +* Leren over het gebruik van `get_rect()` in een variable om muiskliks op iedere plek af te kunnen vangen + +## Instructies voor de leerkracht + +In deze les gaan de leerlingen leren hoe PyGame muiskliks van de gebruiker kan detecteren. Dat deden we eerder met `get_rect()` rechtstreeks, maar dat werkt niet op iedere plek op het veld. We passen dat deze les stap voor stap aan. + +### + + + + + diff --git a/module-2.1-pygame-quiz/les-4/les-4a.md b/module-2.1-pygame-quiz/les-4/les-4a.md new file mode 100644 index 0000000..036f422 --- /dev/null +++ b/module-2.1-pygame-quiz/les-4/les-4a.md @@ -0,0 +1,30 @@ +# Les 4a + +**Opdracht 1** + +Bekijk de code uit de slides, alleen voor de letter A. + +```python +A = pygame.image.load("A.png") + +while True: + + screen.blit(A, (0, 0)) + + pygame.event.get() + locatie_muis = pygame.mouse.get_pos() + knoppen = pygame.mouse.get_pressed() + + if knoppen[0] == 1: + if A.get_rect().collidepoint(locatie_muis): + print('A') + + time.sleep(0.5) #even wachten op de volgende klik! +``` + +Weet jij nog wat er niet goed is aan deze code? Waarom werkt het niet altijd. + +**Opdracht 2** + +Welke regels moeten er aangepast worden zodat de code wel goed werkt? Schrijf de regelnummers op. + diff --git a/module-2.1-pygame-quiz/les-4/les-4b.md b/module-2.1-pygame-quiz/les-4/les-4b.md new file mode 100644 index 0000000..9e8a70b --- /dev/null +++ b/module-2.1-pygame-quiz/les-4/les-4b.md @@ -0,0 +1,91 @@ +# Les 4b + +**Opdracht 1** + +Deze opdracht wordt afgetekend als: + +1. Je alle code voor A hebt veranderd zodat de rechthoek meedoet +2. Je dus A onderin in beeld krijgt als je op de A klikt. + +**Uitleg.** Pak jouw code van vorige week. Om te kijken of er op een letter wordt geklikt gebruikte jij `A.get_rect().collidepoint()` om te kijken of er op de A werd geklikt. Dat werkte wel voor de A maar niet voor de andere letters. In de les heb je gezien hoe je dat moet verbeteren. Volg deze 5 stappen: + +1. Maak bovenaan de code een nieuwe variabele +2. Sla in de variabele `A_rechthoek` de rechthoek van A op met `A.get_rect()` +3. Stel het midden van de letter a, `A_rechthoek.center` in op (100,100) +4. blit de A in `A_rechthoek`, in plaats van directe op een locatie zoals in je oude code +5. Gebruik in de if `get_rect().collidepoint()` in plaats van `A_rechthoek.collidepoint` + +Als je klaar bent, ziet het er zo uit als je op de A klikt: + +![](<../../.gitbook/assets/image (3) (1).png>) + +**Opdracht 2** + +Deze opdracht wordt afgetekend als: + +1. De letters B, C en D **ook** aangeklikt kan worden +2. Je de letter waarop geklikt is, onderin in beeld krijgt + +Herhaal nu de 5 stappen voor alle andere letters. Let op deze dingen. Het kan helpen om ze af te strepen als je ze gedaan hebt: + +* Kopieer de code die je in stap 1 gemaakt hebt, alle 5 de regels! +* Verander alle A's in B's. Ook in de variabelen! +* Verander de plaats waar de B komt met `B_rechthoek.center`. Anders komen alle letters op elkaar. + +Zet de if-code op de juiste plek neer, en zorg dat deze regels wel in de buitenste if blijven staan. Er staat al een stukje commentaar op de goede plek voor je klaar: + +```python +# vul hier code in om te kijken of er op de A geklikt is +``` + +**Opdracht 3** + +Deze opdracht wordt afgetekend als: + +1. Je een variabele `antwoord` hebt gemaakt waarin de aangeklikte letter is opgeslagen. + +**Uitleg.** We printen nu de aangeklikte letter uit. Dat is prima, maar we willen de letter ook nog in een variabele opslaan. Want dan kunnen we straks kijken of het aangeklikte antwoord goed is. Zorg dat de letter in een variabele komt. Die variabele noemen we `antwoord`. Zet bovenaan je code de variabele op 'geen'. Zorg ook dat de variabele na het klikken verandert. Dat doet je door de regel `print('A')`te vervangen door: + +```python +antwoord = 'A' +``` + +{% hint style="info" %} +Let op! Zorg dat deze regel op dezelfde manier ingesprongen is als de regel erboven! +{% endhint %} + +Lukt deze opdracht nog niet? Dat is niet erg! In de volgende les bespreken we deze code samen. + +**Opdracht 4 (Extra)** + +Deze opdracht wordt afgetekend als: + +1. Je een extra plaatje in beeld krijgt + +**Opdracht.** Je kunt ook zelf nog iets in beeld krijgen, bijv. een smiley, een foto van jezelf of een "ik weet het niet" knop voor de speler. Voeg jij zelf nog iets toe aan je programma? Volg deze stappen: + +1. Zoek een plaatje en sla het op op je computer +2. Upload het plaatje in repl.it met de drie kleine stippeltjes +3. Laad het plaatje en sla het op in een variable +4. "Blit" de variabele op het scherm, doe dat in de `while` lus + +**Opdracht 5 (Extra)** + +Deze opdracht wordt afgetekend als: + +1. De letters van plek kunnen veranderen. + +**Uitleg.** De letters blijven nu op dezelfde plek staan als ze worden aangeklikt. Je kan de quiz nog moeilijker maken, en leuker, als de letters nadat ze zijn aangeklikt, ergens anders weer in beeld komen. Dat kan op een random (willekeurige) plak zijn. + +**Opdracht 6 (Extra)** + +Deze opdracht wordt afgetekend als: + +1. Je zelf iets nieuws verzonnen hebt, en gemaakt + +**Opdracht.** Ben je klaar? Verzin dan zelf nog iets leuks! Bijv: + +* Een aftelklok van 10 seconden waarbinnen de speler moet klikken. +* Andere letters of plaatjes om op te klikken, bijv een Appel voor A en een Banaan voor B + +Maar het mag ook iets heel anders zijn! diff --git a/module-2.1-pygame-quiz/les-5/README.md b/module-2.1-pygame-quiz/les-5/README.md new file mode 100644 index 0000000..049754b --- /dev/null +++ b/module-2.1-pygame-quiz/les-5/README.md @@ -0,0 +1,31 @@ +# Les 5 + +## Slides + +[Module PyGame Quiz, les 5](https://slides.com/felienne/python-klas-2-module-1-les-5) + +## Leerdoelen + +* Herhalen van gebruik variabelen \(in deel a\) +* Herhalen van if + +## Instructies voor de leerkracht + +In deze les blikken we weer even terug op variabelen en if's zodat de muiskliks verder verwerkt kunnen worden met 'gewone' Python, zonder PyGame. + +## Eindprogramma + +Op het einde van de les zouden leerlingen ongeveer [dit programma](https://repl.it/@mevrHermans/Pidk-M4-L5a-einde) moeten hebben. Niet alles aan dat programma is al perfect, en het is prima als leerlingen dat ook zien! + +De "goede" problemen zijn, die erbij horen: + +* Als er nog niks is aangeklikt komt al "Helaas, geen is niet goed" in beeld +* Het gekozen antwoord blijft in beeld geprint worden +* Het duurt even voor je weer mag klikken + +Leerlingen kunnen zeker al kunnen nadenken hoe dat komt, en hoe je dat kan oplossen. Hierbij helpen gerichte vragen. Opdracht 4 voor iedereen helpt leerlingen goed reflecteren op het programma, opdracht 5 laar snellere leerlingen ook over de oorzaken nadenken. + + + + + diff --git a/module-2.1-pygame-quiz/les-5/les-4a.md b/module-2.1-pygame-quiz/les-5/les-4a.md new file mode 100644 index 0000000..123f145 --- /dev/null +++ b/module-2.1-pygame-quiz/les-5/les-4a.md @@ -0,0 +1,153 @@ +# Les 5a + +**Nog even oefenen met de if** + +**Opdracht 1: Wat printen deze codes?** + +Je krijgt een aantal codes, én de invoer van een gebruiker. Wat wordt er geprint? + +Voorbeeld: + +```python + print('Suiker of melk?') + in_de_thee = input() + if in_de_thee == 'melk': + print('gieten') + else: + print('schudden') + --- + Input: melk +``` + +De invoer is: melk \(kijk bij Input:\) De code print: gieten. Nu jij! + +```python +1. print('Suiker of melk?') + in_de_thee = input() + if in_de_thee == 'melk': + print('gieten') + else: + print('schudden') + --- + Input: suiker +``` + +```python +2. print('Suiker of melk?') + in_de_thee = input() + if in_de_thee == 'melk': + print('gieten') + else: + print('schudden') + --- + Input: pindakaas +``` + +```python +3. print('reptiel of zoogdier?') + diersoort = input() + if diersoort == 'reptiel': + print('legt', 'een', 'ei') + else: + print('geeft', 'melk') + --- + Input: reptiel +``` + +```python +4. print('reptiel of zoogdier?') + diersoort = input() + if diersoort == 'reptiel': + print('legt', 'een', 'ei') + else: + print('geeft', 'melk') + --- + Input: zeptiel +``` + +```python +5. print('Nederlands of Engels') + taal = input() + if taal == 'Engels': + print('Hello', 'good morning!') + else: + print('Hallo', 'goedemorgen!') + --- + Input: engels +``` + +```python +6. print('Nederlands of Engels') + taal = input() + if taal == 'Engels': + print('Hello', 'good morning!') + else: + print('Hallo', 'goedemorgen!') + --- + Input: Engels +``` + +```python +7. print('Nederlands of Engels') + taal = input() + if taal == 'Engels': + print('Hello', 'good morning!') + else: + print('Hallo', 'goedemorgen!') + --- + Input: English +``` + +**Opdracht 2: Schrijf de if's zelf!** + +We gaan steeds de goede dierengeluiden printen. Deze horen bij elkaar: + +* hond - waf +* kat - miauw +* kikker - kwak +* eend - kwek +* koe - boe +* varken - oink + +Wat moet er op de puntjes? Alleen dat hoef je in je schrift te schrijven. + +```python +1. print('hond of kat') + dier = input() + if dier == 'hond': + print(...) + else: + print('miauw') +``` + +```python +2. print('hond of kat') + dier = input() + if dier .. 'hond': + print('waf') + else: + print('miauw') +``` + +```python +3. print('koe of varken') + dier = input() + if dier == ...: + print('boe') + else: + print('oink') +``` + +```python +4. print('koe of kikker') + dier = input() + if dier == ...: + print('boe') + else: + print(...) +``` + + + + + diff --git a/module-2.1-pygame-quiz/les-5/les-4b.md b/module-2.1-pygame-quiz/les-5/les-4b.md new file mode 100644 index 0000000..ea4d213 --- /dev/null +++ b/module-2.1-pygame-quiz/les-5/les-4b.md @@ -0,0 +1,93 @@ +# Les 5b + +**Opdracht 1 : Maak de variabele antwoord** + +Deze opdracht wordt afgetekend als: + +1. Je een variabele `antwoord` hebt gemaakt waarin de aangeklikte letter is opgeslagen. +2. De variabele ook uitgeprint wordt na het klikken + +**Uitleg.** Ga naar jouw code van vorige week. In die code print je nu de aangeklikte letter uit. Dat is prima, maar we willen de letter ook nog in een variabele opslaan. Want dan kunnen we straks kijken of het aangeklikte antwoord goed is. + +Volg deze stappen: + +1. Zet bovenaan je code, vóór de while lus, een nieuwe variabele`antwoord`op 'geen'. +2. Zorg ook dat de variabele na het klikken verandert. Dat doet je door onder de regel `print('A')`deze regel te zetten: + +```python +antwoord = 'A' +``` + +{% hint style="info" %} +Let op! Zorg dat deze regel op dezelfde manier ingesprongen is als de regel erboven! +{% endhint %} + +3\. print de variabele `antwoord`onderin de while lus. + +**Opdracht 2 : Controleer het antwoord** + +Deze opdracht wordt afgetekend als: + +1. Er bij een goed antwoord 'goed' geprint wordt en bij een fout antwoord 'fout' + +**Uitleg.** Voeg een if toe aan je code, waarmee je kijkt of het antwoord goed is. Volg deze stappen: + +1. Maak een variabele `goede_antwoord` waarin je het goede antwoord van de vraag opslaat +2. Kijk met een if of het antwoord van de speler, in `antwoord`hetzelfde is als `goede_antwoord` + +**Opdracht 3 : Reset de variabele** + +Deze opdracht wordt afgetekend als je: + +1. Na een goed of fout antwoord, de variabele `antwoord`weer op 'geen' gezet wordt. + +**Uitleg.** Als de speler het antwoord nu goed of fout heeft, dan blijft dat de hele tijd zo. Dat is natuurlijk niet leuk. Zeker niet bij een fout antwoord. Daarom moet de variabele `antwoord` weer op 'geen' gezet worden, zodat het nog een keer geprobeerd kan worden. + +Pas eerste de code van de A aan, en test die dan goed. Verander de code daarna pas weer voor de B, C en D. + +**Opdracht 4** + +Deze opdracht wordt afgetekend als: + +* Je minstens 3 problemen in de code hebt gevonden + +Niet alles is al goed aan dit programma, maar dat lossen we in de verdere lessen nog samen op. Welke problemen zie jij in het programma? Schrijf de problemen op, bijv in een schrift of in commentaar bovenin je code. + +Een voorbeeld van een probleem is: het gekozen antwoord komt steeds maar weer in beeld + +Welke problemen zie jij nog meer? + +**Opdracht 5 (Extra)** + +Deze opdracht wordt afgetekend als: + +* Je weet waar de problemen in de code zitten +* Je bedenkt hoe je ze zou kunnen oplossen + +Je hebt bij Opdracht 4 minstens 3 problemen in de code gevonden. Schrijf nu per probleem op: + +* In welke regels code het probleem volgens jou zit +* Hoe je het probleem op kan lossen in woorden + +De oplossing hoeft niet met programmeren te maken te hebben. Je mag bijv. schrijven "De letter moet niet steeds in beeld komen" of "De letter moet alleen in beeld komen als er net op geklikt is". Hoe we het programmeren zien we in de volgende les! + +**Opdracht 6 (Extra)** + +Deze opdracht wordt afgetekend als: + +1. De letters van plek kunnen veranderen. + +**Uitleg.** De letters blijven nu op dezelfde plek staan als ze worden aangeklikt. Je kan de quiz nog moeilijker maken, en leuker, als de letters nadat ze zijn aangeklikt, ergens anders weer in beeld komen. Dat kan op een random (willekeurige) plak zijn. + +**Opdracht 7 (Extra)** + +Deze opdracht wordt afgetekend als: + +1. Je zelf iets nieuws verzonnen hebt, en gemaakt + +**Opdracht.** Ben je klaar? Verzin dan zelf nog iets leuks! Bijv: + +* Een aftelklok van 10 seconden waarbinnen de speler moet klikken. +* Andere letters of plaatjes om op te klikken, bijv een Appel voor A en een Banaan voor B + +Maar het mag ook iets heel anders zijn! diff --git a/module-2.1-pygame-quiz/les-6/README.md b/module-2.1-pygame-quiz/les-6/README.md new file mode 100644 index 0000000..e537ac6 --- /dev/null +++ b/module-2.1-pygame-quiz/les-6/README.md @@ -0,0 +1,21 @@ +# Les 6 + +## Slides + +[Module PyGame Quiz, les 6](https://slides.com/felienne/python-klas-2-module-1-les-6) + +## Leerdoelen + +* Helder plan formuleren voor fouten +* Systematisch fouten oplossen + +## Instructies voor de leerkracht + +In deze les blikken we terug op de code van de vorige les. Die code was nog niet helemaal in de haak, en leerlingen denken er in deze les samen allemaal over na wat er mis is. Hoe je dat vormgeeft kun je zelf bedenken, je kan bijv. met wisbordjes werken, of de leerlingen één voor een de beurt geven. + +## Eindprogramma + +Op het einde van de les zouden leerlingen ongeveer [dit programma](https://repl.it/@mevrHermans/Pidk-M4-L6a-Einde) moeten hebben. + + + diff --git a/module-2.1-pygame-quiz/les-6/les-6a.md b/module-2.1-pygame-quiz/les-6/les-6a.md new file mode 100644 index 0000000..d94ccfc --- /dev/null +++ b/module-2.1-pygame-quiz/les-6/les-6a.md @@ -0,0 +1,2 @@ +# Les 6a + diff --git a/module-2.1-pygame-quiz/les-6/les-6b.md b/module-2.1-pygame-quiz/les-6/les-6b.md new file mode 100644 index 0000000..bf604af --- /dev/null +++ b/module-2.1-pygame-quiz/les-6/les-6b.md @@ -0,0 +1,84 @@ +# Les 6b + +**Denk goed na over de requirements! Maak een stappenplan per requirement. Dit zijn ze alledrie:** + +1. Als er geklikt is, moet de geklikte letter in beeld komen +2. De geklikte letter moet maar 1 keer in beeld komen +3. Je mag niet twee keer achter elkaar op dezelfde letter klikken! + + + +**Opdracht 1: Als er geklikt is, moet de geklikte letter in beeld komen** + +Volg deze stappen. Schrijf steeds op papier of het al goed is, en wat er anders moet! \ +Ga dan pas programmeren! + +1. Werkt dit voor jouw code al goed? + 1. Ja -> Super! + 2. Nee -> Ga naar stap +2. Waar in de code zit het probleem?\ + \ + +3. Wat moet er anders?\ + \ + +4. Verander de code en ga naar stap 1. + +\ +**Opdracht 2: De geklikte letter moet maar 1 keer in beeld komen** + +Volg deze stappen. Schrijf steeds op papier of het al goed is, en wat er anders moet! \ +Ga dan pas programmeren! + +1. Werkt dit voor jouw code al goed? + 1. Ja -> Super! + 2. Nee -> Ga naar stap +2. Waar in de code zit het probleem?\ + \ + +3. Wat moet er anders?\ + \ + +4. Verander de code en ga naar stap 1. + + + +**Opdracht 3: Je mag niet twee keer achter elkaar op dezelfde letter klikken.** + +Voor opdracht 3 moet je eerst nog dieper nadenken. Wat betekent het dat je niet twee keer mag klikken? Schrijf de requirement duidelijker op; Schrijf op wat er gebeurt als de gebruiker twee keer klikt op dezelfde letter. + +Dat betekent: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +Volg nu de stappen. Schrijf steeds op papier of het al goed is, en wat er anders moet! \ +Ga dan pas programmeren! + +1. Werkt dit voor jouw code al goed? + 1. Ja -> Super! + 2. Nee -> Ga naar stap +2. Waar in de code zit het probleem?\ + \ + +3. Wat moet er anders?\ + \ + +4. Verander de code en ga naar stap 1. + + + +**Opdracht 4: De quiz moet stoppen als het goede antwoord aangeklikt is.** + +Voor opdracht 4 moet je ook weer eerst even diep nadenken. Schrijf de requirement duidelijker op; wat moet er gebeuren als het antwoord goed is? + +Volg nu de stappen. Schrijf steeds op papier of het al goed is, en wat er anders moet! \ +Ga dan pas programmeren! + +1. Werkt dit voor jouw code al goed? + 1. Ja -> Super! + 2. Nee -> Ga naar stap +2. Waar in de code zit het probleem?\ + \ + +3. Wat moet er anders?\ + \ + +4. Verander de code en ga naar stap 1. diff --git a/module-2.1-pygame-quiz/les-7/README.md b/module-2.1-pygame-quiz/les-7/README.md new file mode 100644 index 0000000..de43a6c --- /dev/null +++ b/module-2.1-pygame-quiz/les-7/README.md @@ -0,0 +1,22 @@ +# Les 7 + +## Slides + +[Module PyGame Quiz, les 7](https://slides.com/felienne/python-klas-2-module-1-les-7) + +## Leerdoelen + +* Begin maken met functies: Code herbruiken op een nette manier + +## Instructies voor de leerkracht + +In deze les maken we weer een stap voorwaarts, leerlingen gaan werken aa het toevoegen van een tweede vraag aan hun code. Sommige leerlingen zullen dat trouwens al wel geprobeerd hebben. Maar, knippen en plakken is niet handig, dan wordt code lang en onoverzichtelijk. In deze les maken we een eerste stap richting functies. + +Omdat functies vrij lastig zijn, oefenen we dat los van PyGame. Dat voegen we later natuurlijk weer in de quiz in. + +## Eindprogramma + +Op het einde van de les zouden leerlingen ongeveer [dit programma](https://repl.it/@mevrHermans/Pidk-M4-L7a-Einde) moeten hebben. + + + diff --git a/module-2.1-pygame-quiz/les-7/les-7a.md b/module-2.1-pygame-quiz/les-7/les-7a.md new file mode 100644 index 0000000..e105ac8 --- /dev/null +++ b/module-2.1-pygame-quiz/les-7/les-7a.md @@ -0,0 +1,122 @@ +# Les 7a + +**Code lezen met een functie erin** + +Hier onder staan programma's met een functie-definitie erin. Lees de code en schrijf op het vel wat er uit de code komt. + +Lukt dat meteen al! Super?\ +Lukt dat niet meteen? Dat geeft niks. Volg dan deze stappen, zoals we ook op de slides hebben gezien: + +* Begin boven aan +* Lees de regels stap voor stap. + * Staat er een def? + * Python slaat de code op en doet niets. + * Staat er de naam van een functie? + * Lees omhoog tot je de functienaam ziet. + * Voer de regels uit in de functie + * Dat zijn de regels die ingesprongen zijn + * Klaar met de functie? Ga terug naar de plek van vertrek. + +Regels aanstrepen die je al hebt gehad helpt erg! + +1\) + +```python +def hallo(): + print('Hallo') + +hallo() +print('Jij ook hallo!') +print('Ik zeg liever hoi') +hallo() +``` + +2\) + +```python +def jacob(): + print('Vader Jacob, vader Jacob') + print('Slaapt gij nog? Slaapt gij nog') + print('Alle klokken luiden, alle klokken luiden') + print('Bim bam bom, bim bam bom') + +jacob() +jacob() +``` + +3\) + +```python +def negen(): + print('Drie keer drie is negen') + +negen() +print('Ieder zingt zijn eigen lied') +negen +print('Jason zingt zijn lied') +``` + +\ +**Code maken met een functie erin** + +1\) Hier staat code waarin meerdere keren hetzelfde gebeurt. + +```python +print('Twinkle, twinkle, little star') +print('How I wonder what you are') +print('Up above the world so high') +print('Like a diamond in the sky') +print('Twinkle, twinkle little star') +print('How I wonder what you are') +``` + +Maak er een functie van. Volgt deze stappen: + +1. \[In de code boven] Omcirkel de code die herhaald wordt. +2. \[In de code onder] Maak een functie van de omcirkelde code op de aangegeven plaats. Dat is bij de \*\* +3. \[In de code boven] Kijk goed welke regels er omcirkeld zijn. Die vervang je onder door de functieaanroep. +4. \[In de code onder] Schrijf code die precies hetzelfde uitprint als de code hier boven, maar dan met de functie `twinkle()`. + +``` +def twinkle(): + ** +​ +​ +​ +​ +​ +​ +``` + +> + +2\) + +```python +print('Schaapje, schaapje, heb je witte wol?') +print('Ja baas, ja baas, drie zakken vol.') +print('Eén voor de meester') +print('en één voor zijn vrouw,') +print('één voor het kindeke') +print('dat bibbert van de kou.') +print('Schaapje schaapje heb je witte wol?') +print('Ja baas, ja baas, drie zakken vol.') +``` + +``` +#schrijf je code hier: +​ +​ +​ +​ +​ +​ +​ +​ +​ +``` + +3\) + + + diff --git a/module-2.1-pygame-quiz/les-7/les-7b.md b/module-2.1-pygame-quiz/les-7/les-7b.md new file mode 100644 index 0000000..a62a7a3 --- /dev/null +++ b/module-2.1-pygame-quiz/les-7/les-7b.md @@ -0,0 +1,20 @@ +# Les 7b + +**Opdracht 1 : Gebruik een functie in de quiz** + +Deze opdracht wordt afgetekend als: + +1. Je meerdere vragen kunt stellen in je quiz +2. Je daarvoor een functie gebruikt. + +**Uitleg.** Ga naar jouw code van vorige week. Zorg nu dat je meerdere vragen kunt stellen met een functie. Je kunt het op twee manieren doen: + +* Meteen de functie maken en dan aanroepen (moeilijker) +* Eerst je code copy-pasten en dan aanpassen zoals we geoefend hebben in deel A (iets makkelijker) + +Lukt het nog niet helemaal? Dat geeft niks! Volgende les bespreken we de aanpak samen. + + + + + diff --git a/module-2.1-pygame-quiz/les-8/README.md b/module-2.1-pygame-quiz/les-8/README.md new file mode 100644 index 0000000..d35679a --- /dev/null +++ b/module-2.1-pygame-quiz/les-8/README.md @@ -0,0 +1,18 @@ +# Les 8 + +## Slides + +[Module PyGame Quiz, les 8](https://slides.com/felienne/python-klas-2-module-1-les-8) + +## Leerdoelen + +* Meerdere vragen met een functie + +## Instructies voor de leerkracht + +In deze les maken gebruiken we functies om meerdere vragen te stellen, zodat de code mooi overzichtelijk blijft. De functies van Les 7 worden nu dus in de quiz ingevoegd. + +## Eindprogramma + +Op het einde van de les zouden leerlingen ongeveer [dit programma](https://repl.it/@mevrHermans/Pidk-M4-L8a-Einde) moeten hebben. + diff --git a/module-2.1-pygame-quiz/les-8/les-8a.md b/module-2.1-pygame-quiz/les-8/les-8a.md new file mode 100644 index 0000000..bc7992c --- /dev/null +++ b/module-2.1-pygame-quiz/les-8/les-8a.md @@ -0,0 +1,144 @@ +# Les 8a + +**Nog eens kijken naar de quizcode** + +Hier staat het programma zonder functies: + +```python +import pygame +import time + +pygame.init() +breedte = 800 +hoogte = 600 +background_color = 0, 0, 0 +font = pygame.font.SysFont(None, 40) +screen = pygame.display.set_mode((breedte, hoogte)) + +A = pygame.image.load("A.png") +A_rechthoek = A.get_rect() +B = pygame.image.load("B.png") +B_rechthoek = B.get_rect() +C = pygame.image.load("C.png") +C_rechthoek = C.get_rect() +D = pygame.image.load("D.png") +D_rechthoek = D.get_rect() + + +vraagtekst = "Wat is de hoofdstad van Nederland?" +vraagblok = font.render(vraagtekst, True, (255,255,255)) +optiestekst = "A) Haarlem B) Rotterdam C) Amsterdam D) Eindhoven" +optiesblok = font.render(optiestekst, True, (255,255,255)) +goede_antwoord = 'C' + +antwoord = 'geen' +vorige_antwoord = 'geen' + +while not antwoord == goede_antwoord: + pygame.display.flip() + screen.fill(background_color) + + screen.blit(vraagblok, (0, 275)) + screen.blit(optiesblok, (0, 310)) + + A_rechthoek.center = (100, 100) + screen.blit(A, A_rechthoek) + + B_rechthoek.center = (600, 100) + screen.blit(B, B_rechthoek) + + C_rechthoek.center = (100, 500) + screen.blit(C, C_rechthoek) + + D_rechthoek.center = (600, 500) + screen.blit(D, D_rechthoek) + + pygame.event.get() + locatie_muis = pygame.mouse.get_pos() + knoppen = pygame.mouse.get_pressed() + + if knoppen[0] == 1: + if A_rechthoek.collidepoint(locatie_muis): + antwoord = 'A' + if B_rechthoek.collidepoint(locatie_muis): + antwoord = 'B' + if C_rechthoek.collidepoint(locatie_muis): + antwoord = 'C' + if D_rechthoek.collidepoint(locatie_muis): + antwoord = 'D' + + if antwoord == vorige_antwoord: + print('Dat probeerde je net ook al') + else: + + if antwoord == goede_antwoord: + print('Goedzo!') + else: + print('Helaas,', antwoord, 'is niet goed') + vorige_antwoord = antwoord + antwoord = 'geen' #reset het antwoord zodat de speler nog een keer kan proberen + + + time.sleep(0.5) #even wachten op de volgende klik! + + +vraagtekst = "Wat is de hoofdstad van Belgie?" +vraagblok = font.render(vraagtekst, True, (255,255,255)) +optiestekst = "A) Gent B) Brussel C) Antwerpen D) Brugge" +optiesblok = font.render(optiestekst, True, (255,255,255)) +goede_antwoord = 'B' + +antwoord = 'geen' +vorige_antwoord = 'geen' + +while not antwoord == goede_antwoord: + pygame.display.flip() + screen.fill(background_color) + + screen.blit(vraagblok, (0, 275)) + screen.blit(optiesblok, (0, 310)) + + A_rechthoek.center = (100, 100) + screen.blit(A, A_rechthoek) + + B_rechthoek.center = (600, 100) + screen.blit(B, B_rechthoek) + + C_rechthoek.center = (100, 500) + screen.blit(C, C_rechthoek) + + D_rechthoek.center = (600, 500) + screen.blit(D, D_rechthoek) + + pygame.event.get() + locatie_muis = pygame.mouse.get_pos() + knoppen = pygame.mouse.get_pressed() + + if knoppen[0] == 1: + if A_rechthoek.collidepoint(locatie_muis): + antwoord = 'A' + if B_rechthoek.collidepoint(locatie_muis): + antwoord = 'B' + if C_rechthoek.collidepoint(locatie_muis): + antwoord = 'C' + if D_rechthoek.collidepoint(locatie_muis): + antwoord = 'D' + + if antwoord == vorige_antwoord: + print('Dat probeerde je net ook al') + else: + + if antwoord == goede_antwoord: + print('Goedzo!') + else: + print('Helaas,', antwoord, 'is niet goed') + vorige_antwoord = antwoord + antwoord = 'geen' #reset het antwoord zodat de speler nog een keer kan proberen + + time.sleep(0.5) #even wachten op de volgende klik! +``` + +Kijk nog eens goed naar de code. Welke stukjes zijn hetzelfde? Omcirkel die stukken. + +In deel b van de les gaan we de functie zelf ook maken + diff --git a/module-2.1-pygame-quiz/les-8/les-8b.md b/module-2.1-pygame-quiz/les-8/les-8b.md new file mode 100644 index 0000000..b6d9771 --- /dev/null +++ b/module-2.1-pygame-quiz/les-8/les-8b.md @@ -0,0 +1,66 @@ +# Les 8b + +**Opdracht 1 : Gebruik een functie in de quiz \(herhaling\)** + +Deze opdracht wordt afgetekend als: + +1. Je meerdere vragen kunt stellen in je quiz +2. Je daarvoor een functie gebruikt. + +**Uitleg.** Ga naar jouw code van vorige week. Zorg nu dat je meerdere vragen kunt stellen met een functie. Je kunt het op twee manieren doen: + +* Meteen de functie maken en dan aanroepen \(moeilijker\) +* Eerst je code copy-pasten en dan aanpassen zoals we geoefend hebben in deel a \(iets makkelijker\) + +**Opdracht 2: Zet je vragen in een lijst** + +Deze opdracht wordt afgetekend als: + +1. Je vragen in een lijst opgeslagen zijn +2. De antwoorden en antwoordopties ook ieder in een lijst staan +3. Je de eerste vraag uit de lijst kiest +4. Je de vraag verwijdert als je de vraag gesteld hebt +5. Je ook de goede antwoordenopties verwijdert + +**Uitleg.** Je zet je vragen nu steeds in de code, maar dan krijg je ze altijd in dezelfde volgorde. Dat is niet zo spannend. We gaan de vragen in een lijst zetten, dan kan je er steeds een willekeurige uit kiezen. Dat doen we in opdracht 3. Voor deze opdracht zetten we alles eerst in een lijstje. + +Maak drie lijsten: + +1. vragen +2. antwoord\_opties +3. goede\_antwoorden + +Kies dan steeds de eerste vraag uit, en stel die vraag. Je programma blijft dus hetzelfde werken. Verwijder na iedere vraag alle drie dingen die je gebruikt hebt. Dat doe je met een pop\(0\), zo: + +```python +vragen.pop(0) +antwoord_opties.pop(0) +goede_antwoorden.pop(0) +``` + +**Opdracht 3: Kies een willekeurige vraag** + +Deze opdracht wordt afgetekend als: + +1. Je uit de vraag een willekeurige vraag kiest +2. Je ook de bijbehorende opties en het bijbehorende goede antwoord opzoekt + +**Uitleg.** Nu maken we het spel leuker door steeds een willekeurige vraag te kiezen. Weet je nog hoe dat moet? Volg deze stappen: + +1. Zet bovenin je code `import random` +2. Maak een variabele `getal` waarin je een willekeurige getal kiest. Dat doe je met `random.randint(0,10)` Bij de 10 moet het aantal vragen dat jij in je lijst hebt. +3. Overal waar je eerst de de 0 had staan, zet je nu getal neer. Dan krijg je niet de eerste vraag maar een willekeurige. Vergeet ook niet de nullen bij pop\(\) te vervangen! + +**Opdracht 4: Tel de punten \(extra\)** + +Deze opdracht wordt afgetekend als: + +1. Je telt hoeveel goede antwoorden de speler heeft aangeklikt + +**Opdracht 5: Deel strafpunten uit \(extra\)** + +Deze opdracht wordt afgetekend als: + +1. Je telt hoeveel goede antwoorden de speler heeft aangeklikt +2. De speler per fout antwoord een strafpunt krijgt + diff --git a/module-2.1-pygame-quiz/todos.md b/module-2.1-pygame-quiz/todos.md new file mode 100644 index 0000000..c839bf1 --- /dev/null +++ b/module-2.1-pygame-quiz/todos.md @@ -0,0 +1,6 @@ +# TODOs + +Deze zaken zouden nog aangevuld of beter kunnen: + +* Les 4 heeft nu geen a-deel, vanwege het opsplitsen was die bij ons niet nodig, zou er wel bij kunnen/moeten + diff --git a/module-2.2-pygame-biologie/README.md b/module-2.2-pygame-biologie/README.md new file mode 100644 index 0000000..f02b732 --- /dev/null +++ b/module-2.2-pygame-biologie/README.md @@ -0,0 +1,2 @@ +# Module 2.2 - Pygame Biologie + diff --git a/module-2.2-pygame-biologie/les-1/README.md b/module-2.2-pygame-biologie/les-1/README.md new file mode 100644 index 0000000..5a834ef --- /dev/null +++ b/module-2.2-pygame-biologie/les-1/README.md @@ -0,0 +1,23 @@ +# Les 1 + +## Slides + +[Module PyGame Simulatie, les 1](https://slides.com/felienne/pidk-k2-m2-l1) + +## Leerdoelen \(Herhaling van modules 1, 2 en 3\) + +* Simulatie opstarten +* Leren dat je niet zomaar plaatjes mag pakken van Google + +## Instructies voor de leerkracht + +Deze les maakt het beginnetje van de simulatie, leerlingen maken het begin zelf en kiezen een eigen dier uit om in hun simulatie te laten voorkomen. Let er goed op dat ze ook hun variabelenamen aanpassen, dat is wel zo netjes. + +Op het einde van de les moeten leerlingen ongeveer deze code hebben. + + + + + + + diff --git a/module-2.2-pygame-biologie/les-1/les-1a.md b/module-2.2-pygame-biologie/les-1/les-1a.md new file mode 100644 index 0000000..8f49e2c --- /dev/null +++ b/module-2.2-pygame-biologie/les-1/les-1a.md @@ -0,0 +1,2 @@ +# Les 1a + diff --git a/module-2.2-pygame-biologie/les-1/les-1b.md b/module-2.2-pygame-biologie/les-1/les-1b.md new file mode 100644 index 0000000..f649ef1 --- /dev/null +++ b/module-2.2-pygame-biologie/les-1/les-1b.md @@ -0,0 +1,93 @@ +# Les 1b + +**Opdracht 1) Fork de startcode** + +Deze opdracht wordt afgetekend als: + +* Je naar [https://repl.it/@mevrHermans/simulatie-start](https://repl.it/@mevrHermans/simulatie-start) bent gegaan +* Je dit programma 'geforkt' hebt met de fork knop + +Klik op het potloodje naast de naam van het programma. Klik dan op de grijze knop met fork erop. Je hebt nu een kopie van het programma gemaakt. Dat wordt vanzelf opgeslagen zodat je er steeds aan door kan werken. + +![](../../.gitbook/assets/les1-afb1.png) + +**Opdracht 2) Stel het veld in** + +Deze opdracht wordt afgetekend als: + +* Je simulatie werkt en alles in beeld komt + +**Uitleg.** Er staat al wat code voor je klaar, je hoeft het alleen aan te passen. + +``` +breedte = 600 +hoogte = __ +​ +screen = pygame.display.set_mode((breedte, hoogte)) +​ +schildpad = pygame.image.load('schildpad.png') +``` + +Als eerste pas je de grootte van het scherm aan bij hoogte en breedte. Je hoeft alleen een getal op de streepjes te zetten. Kijk eens goed naar het scherm. Wat is meer, de grootte of de breedte? Als de breedte 800 is wat zou dan (ongeveer) de hoogte zijn? Vul en getal in en probeer je code uit. + +**Opdracht 3) Programmeer de honger-variabele** + +Deze opdracht wordt afgetekend als: + +* De honger van het dier (in de variabele `honger`) steeds hoger wordt. + +**Uitleg.** Er is al een variabele honger aangemaakt, en die wordt ook al geprint, dat zie er zo uit: + +![](<../../.gitbook/assets/image (4) (1).png>) + +Maar de variabele blijft nu steeds op 0 staan. Dat ga jij nu aanpassen. + +In de code staat al `# maak honger hier eentje meer` . Op die plek ga jij de variabele `honger` eentje meer maken. Weet je nog hoe dat moet? + +**Opdracht 4) Beëindig de simulatie** + +Deze opdracht wordt afgetekend als: + +* De simulatie stopt als de honger van het dier 100 is geworden. + +De simulatie gaat nu eindeloos door. Dat klopt natuurlijk niet, als een dier geen voedsel vindt, dat moet de simulatie stoppen. Er staat al wat code voor je klaar, de while lus bijvoorbeeld, die stopt al vanzelf als de variabele `dier_leeft` op `False` gezet wordt. + +Ga naar de regel code waar dit staat: `# als de honger meer is dan 100, zet dier_leeft dan op False` + +Maak daar een if die kijkt of `honger` meer is dan 100. Als het meer is, zet de variabele dier\_leeft dan op False. + +{% hint style="info" %} +Denk aan de hoofdletter bij False. Met een kleine letter werkt het niet. +{% endhint %} + +**Opdracht 5) Doe onderzoek voor jouw eigen simulatie** + +Deze opdracht wordt afgetekend als: + +* Je een dier hebt gekozen die in jouw simulatie voor gaan komen +* Je voldoende onderzoek hebt gedaan over de snelheid en leefsituatie van het dier. Denk bijvoorbeeld aan: snelheid, leefstijl (alleen of in een groep), voedsel, waterbehoefte. +* Je deze informatie hebt samengevat in je schrift of in een bestand op de computer + +**Uitleg** + +Later in de lessen gaan we de schildpad en de krop sla veranderen in een dier die jij mag kiezen. Ga nu informatie gaan zoeken over dieren. Kies een dier uit en een voedsel van dat dier. Zoek ook informatie uit over de leeromgeving van je dier. + +#### **Opdracht 6)** Laad je eigen plaatjes in + +Deze opdracht wordt afgetekend als: + +* Je je eigen dierenplaatje hebt gezocht en ingeladen in je simulatie +* Je de namen van de variabeles netjes hebt aangepast naar jouw dier en voedsel. + +**Uitleg** Je hebt als het goed is al een dier gekozen. Zoek nu op internet goede plaatjes op van dat dier. + +**Let op!** Je mag plaatjes niet zomaar pakken. + +Denk aan de Google-regels van mevr. Hermans en stel je zoekresultaten in via Tools - Usage Rights - Labeled for reuse. + +Upload de plaatjes naar je simulatie en pas de code aan zodat die plaatjes worden ingeladen. + +Pas ook de variabelenamen aan! Het is niet netjes als er `schildpad_rechthoek` in jouw code staat, staat terwijl je bijv. een antilope inlaadt. Daar kun je van in de war raken. + + + diff --git a/module-2.2-pygame-biologie/les-2-1/README.md b/module-2.2-pygame-biologie/les-2-1/README.md new file mode 100644 index 0000000..cb0fc38 --- /dev/null +++ b/module-2.2-pygame-biologie/les-2-1/README.md @@ -0,0 +1,17 @@ +# Les 2 + +## Slides + +[Module PyGame Simulatie, les 2](https://slides.com/felienne/python-klas-2-module-1-les-2) + +## Leerdoelen + +* Muiskliks verwerken +* Plaatjes "schalen" + +## Instructies voor de leerkracht + +Deze les gaan leerlingen het plaatje "schalen", groter en kleiner maken aan de hand van hoeveel honger het heeft. Ook kan het dier nu gevoerd worden met een klik op het voedsel. Op het einde van de les hebben leerlingen ongeveer dit programma: [https://repl.it/@mevrHermans/Pidk-M2-L2a-einde\#main.py](https://repl.it/@mevrHermans/Pidk-M5-L2a-einde#main.py) + + + diff --git a/module-2.2-pygame-biologie/les-2-1/les-2a.md b/module-2.2-pygame-biologie/les-2-1/les-2a.md new file mode 100644 index 0000000..00976a6 --- /dev/null +++ b/module-2.2-pygame-biologie/les-2-1/les-2a.md @@ -0,0 +1,2 @@ +# Les 2a + diff --git a/module-2.2-pygame-biologie/les-2-1/les-2b.md b/module-2.2-pygame-biologie/les-2-1/les-2b.md new file mode 100644 index 0000000..60c9286 --- /dev/null +++ b/module-2.2-pygame-biologie/les-2-1/les-2b.md @@ -0,0 +1,59 @@ +# Les 2b + +#### 1) Teken een rechthoek om je dier + +Deze opdracht wordt afgetekend als: + +* Je een rechthoek om je dier tekent. + +Zet deze code in de loop. Dat zie je goed waar het rechthoek staat:`pygame.draw.rect(screen, (100,100,100), schildpad_rechthoek, 1)` + +#### **2) Schaal je plaatje** + +Deze opdracht wordt afgetekend als: + +* Jouw dier steeds kleiner wordt als het meer honger heeft +* Je hiervoor `pygame.transform.rotozoom()` gebruikt. + +**Uitleg** + +Nu ga je je dier steeds kleiner maken als hij meer honger heeft. Daarvoor gaan we twee stappen zetten: + +1. Maak een nieuwe variabele `schildpad_origineel` aan en laad daarin je plaatje. +2. Voeg nu een regel toe in de code waar je je dier 'schaalt', maw een andere grootte geeft. Dat ziet er zo uit:`schildpad = pygame.transform.rotozoom(schildpad_origineel, 0, (100-honger)/100)` + +{% hint style="info" %} +Bij jou kunnen de variabelen natuurlijk anders heten, bijv `hert_origineel`of `blobvis_origineel`. +{% endhint %} + +{% hint style="info" %} +Het kan ook zijn dat jij iets andere getallen nodig hebt, omdat je dier al groter of kleiner begint. Verander de twee getallen 100 in andere getallen tot je het mooi vindt. +{% endhint %} + +#### **3) Laat je dier op dezelfde plek krimpen** + +Deze opdracht wordt afgetekend als: + +* Je dier op dezelfde plek blijft staan tijdens het schalen. + +**Uitleg** + +Je dier blijft nu aan de bovenkant van het veld hangen, omdat hij niet weet waar hij stond voor het krimpen. Dat moet jij eerst opslaan in een variabele. + +1. Maak een nieuwe variabele `midden` aan en sla daarin het midden van de rechthoek op, dat doe je zo: `midden = schildpad_rechthoek.center`\ + In midden zitten nu twee getallen, die stellen het midden van het diertje voor. +2. Hierna komt dan de regel waarin je het dier kleiner maakt:\ + `schildpad = pygame.transform.rotozoom(schildpad_origineel, 0, (100-honger)/100)`\ + Na het kleiner maken moet je het midden weer herstellen, dat doe je met deze regel:\ + `schildpad_rechthoek.center = midden` + +**4) Voer het dier met een muisklik** + +Deze opdracht wordt afgetekend als: + +* Je je dier met een muisklik op het voedsel kan voeren + +**Uitleg.** + +Je dier kan nu alleen kleiner worden en dan is je simulatie natuurlijk snel afgelopen. Zorg daarom dat je op het voedsel kan klikken, en dat de variabele honger dan met 10 verlaagd wordt. Als het goed is, groeit je dier dan ook vanzelf! + diff --git a/module-2.2-pygame-biologie/les-2/README.md b/module-2.2-pygame-biologie/les-2/README.md new file mode 100644 index 0000000..1d4221c --- /dev/null +++ b/module-2.2-pygame-biologie/les-2/README.md @@ -0,0 +1,17 @@ +# Les 3 + +## Slides + +Module PyGame Simulatie, les 3 + +## Leerdoelen + +* Bewegen van je plaatjes +* Plaatjes aan de rand om laten keren + +## Instructies voor de leerkracht + +Deze les gaan leerlingen een begin maken met beweging in de simulatie, het dier gaat vooruit bewegen. Het loopt dat het veld uit, maar ook dat lossen we natuurlijk op door de snelheid aan te passen. Aan het einde van de les hebben de leerlingen ongeveer dit programma \(zonder extra's\): [https://repl.it/@mevrHermans/Pidk-K2-M2-L3a-einde](https://repl.it/@mevrHermans/Pidk-K2-M2-L3a-einde) + + + diff --git a/module-2.2-pygame-biologie/les-2/les-2a.md b/module-2.2-pygame-biologie/les-2/les-2a.md new file mode 100644 index 0000000..edf18e1 --- /dev/null +++ b/module-2.2-pygame-biologie/les-2/les-2a.md @@ -0,0 +1,77 @@ +# Les 3a + +#### 1\) Code tot nu toe + +Deze opdracht wordt afgetekend als: + +* Je voor alle blokken code hebt opgeschreven wat ze doen + +Hier lees je de basiscode tot nu toe. De code is opgedeeld in blokken, tussen de strepen. Schrijf per stuk in je schrift wat de code doet. Leg ook per blok uit waarom deze code nodig is. + +Je mag hiervoor samenwerken met je buur. + +```python +------- Blok 1 ------ +import pygame +import time + +------- Blok 2 ------ +pygame.init() +breedte = 600 +hoogte = 300 +screen = pygame.display.set_mode((breedte, hoogte)) +backgroundColor = 0, 0, 0 + +------- Blok 3 ------ +schildpad_origineel = pygame.image.load("pad-wit-klein.png") + +------- Blok 4 ------ +schildpad = pygame.image.load("pad-wit-klein.png") + +------- Blok 5 ------ +dier_leeft = True +honger = 0 + +------- Blok 6 ------ +while dier_leeft: + +------- Blok 7 ------ + pygame.draw.rect(screen, (100,100,100), schildpad_rechthoek, 1) + +------- Blok 8 ------ + pygame.display.flip() + screen.fill(background_color) + screen.blit(schildpad, schildpad_rechthoek) + screen.blit(sla, sla_rechthoek) + +------- Blok 9 ------ + print(f'ik heb zoveel honger: {honger}') + honger = honger + 1 + if honger > 100: + dier_leeft = False + +------- Blok 10 ------ + pygame.event.get() + locatie_muis = pygame.mouse.get_pos() + knoppen = pygame.mouse.get_pressed() + + if knoppen[0] == 1: + if sla_rechthoek.collidepoint(locatie_muis): + print('haphap') + honger = honger - 10 + +------- Blok 11 ------ + midden = schildpad_rechthoek.center + schildpad = pygame.transform.rotozoom(schildpad_origineel, 0, (100-honger)/100) + schildpad_rechthoek = schildpad.get_rect() + schildpad_rechthoek.center = midden + +------- Blok 12 ------ + time.sleep(0.1) + +------- Blok 13 ------ +print('Helaas, je schildpad is overleden') +``` + + + diff --git a/module-2.2-pygame-biologie/les-2/les-2b.md b/module-2.2-pygame-biologie/les-2/les-2b.md new file mode 100644 index 0000000..813e2b8 --- /dev/null +++ b/module-2.2-pygame-biologie/les-2/les-2b.md @@ -0,0 +1,82 @@ +# Les 3b + +**1) Verander de 'hongersnelheid'** + +Deze opdracht wordt afgetekend als: + +* Je `honger = honger + 1` verandert in `honger = honger + 0.1` + +**Uitleg**. Als je dier je hard krimpt, dan zie je niet meer goed dat het dier beweegt. Daarom laten we de honger nu wat langzamer verlopen. + +#### 2**) Laat je dier bewegen** + +Deze opdracht wordt afgetekend als: + +* Jouw dier over het scherm beweegt + +**Uitleg.** Nu ga je je dier laten bewegen. Daarvoor gaan we twee stappen zetten. + +1\) Maak een variabele snelheid, buiten de lus, dus boven de regel met `while dier_leeft` + +Snelheid is een lijst met daarin twee getallen zoals je hebt gezien in de slides. Zet de twee getallen op 1 en 0. + +{% hint style="info" %} +Let op! Het zijn getallen, dus we gebruiken geen aanhalingstekens. +{% endhint %} + +2\) Onderaan in de lus je code zet je nu deze regel: `schildpad_rechthoek = schildpad_rechthoek.move(snelheid)` + +Let op! Deze regel staat in de lus van `while`, dus die moet beginnen met spaties. + +**Het is niet erg als je dier na een tijdje uit beeld verdwijnt! Dat lossen we op in opdracht 3.** + +#### **3) Laat je dier rechts stuiteren** + +Deze opdracht wordt afgetekend als: + +* De dier aan de rechterkant omdraait + +**Uitleg.** Zorg dat de muis niet meer uit beeld verdwijnt, maar aan de **rechterkant** van het veld omdraait. In de les heb je deze code gezien: + +```python + if schildpad_rechthoek.bottom > 800: + # draai om + print("de muis draait om!") + snelheid[0] = -snelheid[0] +``` + +Voeg deze code aan je eigen programma toe in de `while:` + +#### **4) Laat je dier ook links stuiteren** + +Deze opdracht wordt afgetekend als: + +* De dier ook aan de linkerkant omdraait + +**Uitleg.** Zorg nu dat het dier ook aan de linkerkant omdraait. Welke waarde zou je daarvoor moeten gebruiken? Denk goed na, of probeer het uit. Je kunt de code van de rechterkant kopieren en aanpassen. + +{% hint style="info" %} +verander de > in een < voor de linkerkant +{% endhint %} + +#### 5) Stuiter door het veld (extra) + +Deze opdracht wordt afgetekend als: + +* Het dier schuin beweegt +* Het dier allebei aan alle vier de randen stuitert + +**Uitleg.** Het dier stuitert nu allebei maar een richting op, maar ze kunnen ook schuin door het veld. Maak de snelheid dan bijv. \[1,2] en \[2,1]. + +Nu stuiteren ze niet helemaal goed want het dier loopt nu boven of ander het veld uit. Kan jij dat repareren? + +#### 6) Begin op een willekeurige plek (extra) + +Deze opdracht wordt afgetekend als: + +* Het dier niet linksboven maar op een willekeurige plek begint + +**Uitleg.** Het plaatje begint standaard links bovenin, maar dat kun je ook aanpassen. Denk aan deze vragen om je te helpen: + +* Welke waardes moet je denk je aanpassen om de plaats in te stellen? +* Weet je nog hoe je een willekeurige waarde kiest? diff --git a/module-2.2-pygame-biologie/les-4.md b/module-2.2-pygame-biologie/les-4.md new file mode 100644 index 0000000..4ff5f9a --- /dev/null +++ b/module-2.2-pygame-biologie/les-4.md @@ -0,0 +1,4 @@ +# Les 4 + +Collision detection + diff --git a/module-2.2-pygame-biologie/les-4/README.md b/module-2.2-pygame-biologie/les-4/README.md new file mode 100644 index 0000000..2ca6a24 --- /dev/null +++ b/module-2.2-pygame-biologie/les-4/README.md @@ -0,0 +1,17 @@ +# Les 4 + +## Les 4 + +## Slides + +[Module PyGame Simulatie, les 4](https://slides.com/felienne/pidk-k2-m2-l4) + +## Leerdoelen + +* Plaatjes ook visueel aan de rand om laten keren met een flip +* Het voedsel na een paar iteraties naar een andere plek laten verplaatsen + +## Instructies voor de leerkracht + +Deze les gaan leerlingen het plaatje van het dier ook laten omkeren. Aan het einde van de les hebben de leerlingen ongeveer dit programma \(zonder extra's\): [https://repl.it/@mevrHermans/Pidk-K2-M2-L4a-einde](https://repl.it/@mevrHermans/Pidk-K2-M2-L4a-einde) + diff --git a/module-2.2-pygame-biologie/les-4/les-4b.md b/module-2.2-pygame-biologie/les-4/les-4b.md new file mode 100644 index 0000000..da3caa5 --- /dev/null +++ b/module-2.2-pygame-biologie/les-4/les-4b.md @@ -0,0 +1,32 @@ +# Les 4b + +**1\) Flip je dier aan de rand** + +Deze opdracht wordt afgetekend als: + +* Je dier ook visueel omdraait aan de rand + +**Uitleg**. Gebruik de code `transform.flip()` om je dier ook te draaien. Draai het originele plaatje om en niet het gewone plaatje, anders gaat de kwaliteit omlaag. + +{% hint style="info" %} +Tip: Loopt de schildpad uit beeld? Verander dan de hoogte en breedte een beetje zodat je goed het hele scherm ziet! +{% endhint %} + +**2\) Laat het voedsel door het beeld springen** + +Deze opdracht wordt afgetekend als: + +* Je voedsel door het veld 'springt' en na een paar iteraties op een andere plek komt + +**Uitleg**. Voedsel staat niet altijd stil, dus zorg dat het steeds op een andere plek verschijnt. Dat moet niet iedere iteratie, maar om de 10 stappen. Gebruik daarvoor de code met `spring_teller` zoals op de slides uitgelegd is. + +Vergeet niet import random helemaal bovenaan je code te zetten! + +**3\) Roteer je dier ook \(extra\)** + +Deze opdracht wordt afgetekend als: + +* Je dier schuin door het beeld gaat en ook netjes meedraait. + +**Uitleg**. Verander je snelheid van \[-1,0\] in \[1,1\]. Nu zal je dier schuin door het beeld bewegen. Dan wil je je dier niet alleen flippen maar ook roteren aan de rand met rotozoom. + diff --git a/module-2.2-pygame-biologie/les-5/README.md b/module-2.2-pygame-biologie/les-5/README.md new file mode 100644 index 0000000..c96057f --- /dev/null +++ b/module-2.2-pygame-biologie/les-5/README.md @@ -0,0 +1,15 @@ +# Les 5 + +## Slides + +[Module PyGame Simulatie, les 5](https://slides.com/felienne/pidk-k2-m2-l5) + +## Leerdoelen + +* Dier laten groeien bij aanraken van het voedsel +* Het voedsel ook bij aanraking naar een andere plek laten verplaatsen + +## Instructies voor de leerkracht + +Deze les gaan leerlingen het dier echt laten eten van het voedsel. Iedere keer als het dier het voedsel aanraakt, gaat het dier groeien, ipv met een muisklik. Het voedsel is dan natuurlijk opgegeten en verdwijnt. Eindprogramma: [https://repl.it/@mevrHermans/Pidk-K2-M2-L5a-einde](https://repl.it/@mevrHermans/Pidk-K2-M2-L5a-einde) + diff --git a/module-2.2-pygame-biologie/les-5/les-5b.md b/module-2.2-pygame-biologie/les-5/les-5b.md new file mode 100644 index 0000000..8e15b89 --- /dev/null +++ b/module-2.2-pygame-biologie/les-5/les-5b.md @@ -0,0 +1,43 @@ +# Les 5b + +#### 1\) Printen bij een 'collision' \(botsing\) + +Deze opdracht wordt afgetekend als: + +* Er "hap hap" geprint wordt als het dier het eten aanraakt. + +**Uitleg** + +Straks moet je dier natuurlijk groter worden als het eten pakt! Maar we beginnen met een makkelijkere versie, we gaan eerst alleen printen als het dier voedsel pakt. + +Gebruik de _'collision detection'_ code om te kijken of het dier zijn voedsel aanraakt. De code werkt zo: + +```python +if schildpad_rechthoek.colliderect(sla_rechthoek): + print('hap hap') +``` + +Maar dan natuurlijk met jouw dier en jouw variabelen! + +#### 2\) Groeien bij een 'collision' + +Deze opdracht wordt afgetekend als: + +* Je dier groeit als het zijn eten aanraakt. + +**Uitleg** + +Verlaag de variabele `honger` in de code van opdracht 1. Als het goed is gaat het dier nu vanzelf groeien! + +#### 3\) Voedsel verspringen bij een 'collision' + +Deze opdracht wordt afgetekend als: + +* Het voedsel naar een andere plek gaat als het dier het heeft opgegeten. + +**Uitleg** + +Vorige les heb je het voedsel al laten verspringen. Die code ga je nu gebruiken om het voedsel ook te laten verspringen als het wordt opgegeten. Lees je code van vorige week goed en zet het springen op je juiste plek. + + + diff --git a/module-2.3-rekenmachine/README.md b/module-2.3-rekenmachine/README.md new file mode 100644 index 0000000..f6fca65 --- /dev/null +++ b/module-2.3-rekenmachine/README.md @@ -0,0 +1,17 @@ +# Module 2.3 - Rekenmachine + +## Instructie voor de leerkracht + +Het idee van deze module is dat leerlingen een eigen rekenmachine maken. Concepten uit de wiskundeles komen terug, zoals dat vermenigvuldigen en delen voor optellen en aftrekken komen, het gebruik van haakjes en het maken van een eenvoudige grafiek. + +## Doelen van deze module + +Meer oefenen met bekende concepten: + +* Functies +* if-elif-else + +## Slides + +Deze module heeft nog geen slides, de opdrachten worden steeds in Les a uitgelegd. + diff --git a/module-2.3-rekenmachine/les-1/README.md b/module-2.3-rekenmachine/les-1/README.md new file mode 100644 index 0000000..b171fb3 --- /dev/null +++ b/module-2.3-rekenmachine/les-1/README.md @@ -0,0 +1,15 @@ +# Les 1 + +## Slides + +Nog geen slides beschikbaar + +## Leerdoelen + +* herhalen invoer met `input()` en vertalen tekst naar getal met `int()` +* `isnumeric()` + +## Instructies voor de leerkracht + +Deze les gaan maken de leerlingen een beginnetje met een simpele rekenmachine. Op het einde hebben de leerlingen ongeveer dit programma: [https://replit.com/@mevrHermans/Pidk-K2-M3-L1-einde](https://replit.com/@mevrHermans/Pidk-K2-M3-L1-einde) + diff --git a/module-2.3-rekenmachine/les-1/les-1a.md b/module-2.3-rekenmachine/les-1/les-1a.md new file mode 100644 index 0000000..2fb0ee5 --- /dev/null +++ b/module-2.3-rekenmachine/les-1/les-1a.md @@ -0,0 +1,12 @@ +# Les 1a + +**Maak een rekenmachine** + +In de komende lessen gaan we een rekenmachine maken. Op het einde van de lessen kan jouw rekenmachine prima rekenen met haakjes, kwadraten en kan je rekenmachine ook grafieken voor je tekenen. Handig! + +In deze eerste les is onze rekenmachine nog simpel, we voeren twee getallen in, en dan pas een operator. Dat is een keer of een plus. Deze les werkt jouw rekenmachine dus zo: + +![](<../../.gitbook/assets/image (6).png>) + +Maar geen zorgen, over een paar lessen is het mogelijk om een mooie som in te voeren, zoals 5+8. Later breiden we dat nog verder uit. + diff --git a/module-2.3-rekenmachine/les-1/les-1b.md b/module-2.3-rekenmachine/les-1/les-1b.md new file mode 100644 index 0000000..2b94f00 --- /dev/null +++ b/module-2.3-rekenmachine/les-1/les-1b.md @@ -0,0 +1,45 @@ +# Les 1b + +**Opdracht 1) Fork de startcode** + +Deze opdracht wordt afgetekend als: + +* Je naar [https://replit.com/@mevrHermans/Pidk-K2-M3-L1a-start](https://replit.com/@mevrHermans/Pidk-K2-M3-L1a-start) bent gegaan +* Je dit programma 'geforkt' hebt met de fork knop + +**Opdracht 2) Maak de code af!** + +Deze opdracht wordt afgetekend als: + +* Jouw code netjes op twee getallen vraagt +* Jouw code om een operator vraagt (dat zijn symbolen van wiskunde: plus, min, keer, gedeeld door) +* Jouw code dan het antwoord print + +**Uitleg.** Er staat al wat code voor jou klaar om mee te beginnen. Belangrijke codes om te gebruiken zijn deze: + +* met `getal = input(tekst)` vraag je de gebruiker om een getal, dat komt in de variabele `getal`. +* `int(tekst)` vertaalt de tekst tussen haakjes in een getal +* `if: elif: else:` gebruik je om een keuze te maken +* `round()` rond het getal netjes af voor we printen + +{% hint style="info" %} +Vergeet niet dat Python voor een sterretje gebruikt, dat is deze \*. Python gebruikt voor gedeeld door de slash, deze / +{% endhint %} + +**Opdracht 3) Verbeter de foutmelding** + +Deze opdracht wordt afgetekend als: + +* Je een nette foutmelding krijgt als je iets invoert dat geen getal is. + +Als je een verkeerde operator invoert, krijg je een mooie foutmelding te zien: + +![](<../../.gitbook/assets/image (7) (1).png>) + +Maar misschien had je ook geprobeerd om iets in te voeren dat geen getal was. Dan gaat niet goed, dan krijg je dit: + +![](<../../.gitbook/assets/image (5).png>) + +Zorg dat je ook een mooie foutmelding krijgt als `getal1` of `getal2` geen getal is. Daarvoor hebben we een nieuwe code nodig: `is_getal(getal_1)`Met die code kun je kijken of een tekst die ingevoerd is, wel een getal is. De functie `is_getal` staat al voor jou klaar bovenin het programma. + +Zet jij de code zelf in een `if`? diff --git a/module-2.3-rekenmachine/les-2/README.md b/module-2.3-rekenmachine/les-2/README.md new file mode 100644 index 0000000..bfbdf04 --- /dev/null +++ b/module-2.3-rekenmachine/les-2/README.md @@ -0,0 +1,16 @@ +# Les 2 + +## Slides + +Nog geen slides beschikbaar + +## Leerdoelen + +* tekst splitsen op een special karakter met `split()` +* herhaling van `int()` +* herbruiken en aanpassen van eigen code + +## Instructies voor de leerkracht + +In deze les wordt de rekenmachine aangepast zodat je een som kan invoeren, bijv. 5+4. Je hoeft dat niet meer de getallen en operator los in te voeren. Op het einde hebben de leerlingen ongeveer dit programma: [https://replit.com/@mevrHermans/Pidk-K2-M3-L2-einde](https://replit.com/@mevrHermans/Pidk-K2-M3-L2-einde) + diff --git a/module-2.3-rekenmachine/les-2/les-2a.md b/module-2.3-rekenmachine/les-2/les-2a.md new file mode 100644 index 0000000..6c92f7e --- /dev/null +++ b/module-2.3-rekenmachine/les-2/les-2a.md @@ -0,0 +1,10 @@ +# Les 2a + +**Typ een mooie som** + +In de vorige les moesten we steeds de getallen en de operator \(een symbool zoals plus of keer\) los intypen. Dat werkt wel, maar dat is niet zo mooi. + +In deze les gaan we een mooie som intoetsen, bijv: **5 + 4**. De rekenmachine bepaalt dan zelf wat de getallen zijn en wat er uitgerekend moet worden. Nouja, dat moet jij natuurlijk eerst programmeren! + +In deze les moet je de som perse met spaties invoeren. Dat is natuurlijk wel een beetje veel moeite! Dat gaan we in een volgende les verbeteren, zodat je ook **5+4** kan invoeren. + diff --git a/module-2.3-rekenmachine/les-2/les-2b.md b/module-2.3-rekenmachine/les-2/les-2b.md new file mode 100644 index 0000000..3018899 --- /dev/null +++ b/module-2.3-rekenmachine/les-2/les-2b.md @@ -0,0 +1,54 @@ +# Les 2b + +**Opdracht 1) Fork de startcode** + +Deze opdracht wordt afgetekend als: + +* Je naar [https://replit.com/@mevrHermans/Pidk-K2-M3-L2a-start](https://replit.com/@mevrHermans/Pidk-K2-M3-L2a-start) bent gegaan +* Je dit programma 'geforkt' hebt met de fork knop + +**Opdracht 2) Maak de code af!** + +Deze opdracht wordt afgetekend als: + +* Jouw code om een som vraagt. +* Jij netjes de onderdelen van de som print. + +**Uitleg.** Er staat wal wat code voor jou klaar om mee te beginnen. Vul jij de goede codes op de streepjes in? Belangrijke codes om te gebruiken zijn deze: + +* met `split()` kun je van een stukje tekst een lijst maken. Bij iedere spatie komt er een nieuw stukje in de lijst. +* met `[0]`haal je een element uit een lijst. Vergeet niet dat het eerste element element 0 heet! + +**Opdracht 3) Maak de code af** + +Deze opdracht wordt afgetekend als: + +* Jouw code de som netjes uitrekent. + +**Uitleg.** Nu moet de som natuurlijk nog uitgerekend worden. Kijk naar jouw code van vorige week en zorg dat de code goed rekent. Je mag jouw code natuurlijk kopiëren, maar let op! Er moet nog wel wat aan veranderd worden. + +{% hint style="info" %} +Test je code goed? Krijg jij als antwoord op 5 + 5 55 in plaats van 10? dan heb je jouw getallen niet vertaald met `int()`! +{% endhint %} + +**Op** + + + +**Opdracht 5) Verbeter de foutmelding (Extra)** + +Deze opdracht wordt afgetekend als: + +* Je een nette foutmelding geeft als de gebruiker geen spaties gebruikt. + +**Uitleg.** Ben je vergeten een spatie te gebruiken? Dan doet de code het niet goed. Probeer het maar eens, dan krijg je dit in beeld: + +![](<../../.gitbook/assets/image (8).png>) + +Dat is natuurlijk niet zo netjes. Kun jij een mooie foutmelding maken? Je hebt daarvoor deze codes nodig: + +* met `' ' in som` kan je kijken of er een spatie in de code zit +* een `if` om de som alleen uit te voeren als er een spatie in zit + + + diff --git a/module-2.3-rekenmachine/les-3/README.md b/module-2.3-rekenmachine/les-3/README.md new file mode 100644 index 0000000..ac1b2a1 --- /dev/null +++ b/module-2.3-rekenmachine/les-3/README.md @@ -0,0 +1,16 @@ +# Les 3 + +## Slides + +Nog geen slides beschikbaar + +## Leerdoelen + +* `replace()` voor het vervangen in een string +* herhaling maken van een lijst +* herhaling itereren over een lijst + +## Instructies voor de leerkracht + +In deze les zorgen we ervoor dat sommen met een spatie ook mogen, bijv 5 + 4. Op het einde hebben de leerlingen ongeveer dit programma: [https://replit.com/@mevrHermans/Pidk-K2-M3-L3-einde](https://replit.com/@mevrHermans/Pidk-K2-M3-L3-einde) + diff --git a/module-2.3-rekenmachine/les-3/les-3a.md b/module-2.3-rekenmachine/les-3/les-3a.md new file mode 100644 index 0000000..2d5565b --- /dev/null +++ b/module-2.3-rekenmachine/les-3/les-3a.md @@ -0,0 +1,26 @@ +# Les 3a + +**Replace\(\)** + +In de vorige les moesten we perse een spatie invoeren tussen de getallen en de operatoren \(de symbolen zoals plus of keer\). Dat is natuurlijk niet zo handig, want als je dat per ongeluk vergeet dan komt er een foutmelding. + +Om dat op te lossen gaan we `replace()` leren. Replace is Engels voor vervangen. Met `replace()`kun je in een string een stukje tekst vervangen door een ander stukje tekst. + +Bijvoorbeeld, als je in de variabele `tekst` de tekst **hallo naam** hebt staan, en je doet daarna een `tekst.replace('naam', 'piet')` dan is de variabele tekst veranderd in **hallo piet**. Probeer deze code maar eens uit! + +```text +tekst = 'hallo naam' +tekst = tekst.replace('naam', 'piet') + + +print(tekst) +``` + +**Sommen zonder spaties** + +We kunnen `replace()` gebruiken om de som een beetje voor te bereiden. Dat noemen we met een moeilijk woord "preprocessing". We zoeken in de som een operator op, en dan vervangen we die door de operator met spaties eromheen. + +Dus de som `5+4` wordt dan: `5 + 4`. Omdat de som daarna mooi spaties heeft rondom de operator, kunnen we die nu met `split()`opdelen! + +We doen dat in de opdrachten eerst even voor de plus, en daarna voor de andere operatoren. + diff --git a/module-2.3-rekenmachine/les-3/les-3b.md b/module-2.3-rekenmachine/les-3/les-3b.md new file mode 100644 index 0000000..97b83d7 --- /dev/null +++ b/module-2.3-rekenmachine/les-3/les-3b.md @@ -0,0 +1,63 @@ +# Les 3b + +**Opdracht 1\) Fork de startcode** + +Deze opdracht wordt afgetekend als: + +* Je naar [https://replit.com/@mevrHermans/Pidk-K2-M3-L3-start](https://replit.com/@mevrHermans/Pidk-K2-M3-L3-start) bent gegaan +* Je dit programma 'geforkt' hebt met de fork knop + +**Opdracht 2\) Vervang de plus** + +Deze opdracht wordt afgetekend als: + +* Jouw code spaties om de plus zet + +**Uitleg.** Er staatwal wat code voor jou klaar om mee te beginnen. Vul jij op regel 5 de code aan? Zet op het linkse streepje de plus en op het rechterstreepje de plus met spaties er om heen. Vergeet de aanhalingstekens niet! + +Test jouw code met een plussom zonder spaties, bijv `5+4`. Werkt dat goed? +Probeer ook eens een keersom, bijv `5*4`Dat werkt nog niet goed he? Dat gaan we nu oplossen. + +**Opdracht 3\) Vervang de andere operatoren** + +Deze opdracht wordt afgetekend als: + +* Jouw code spaties om alle operatoren zet + +**Uitleg.** Kopieer nu de regel code op regel 5 nu drie keer: een keer voor de keer, een keer voor de gedeeld door en een keer voor de min. + +Test jouw code nu met alle operatoren, steeds zonder spaties. Werkt alles nu goed? + +**Opdracht 4\) Met een lus** + +Deze opdracht wordt afgetekend als: + +* Jouw code spaties om alle operatoren zet +* Je daarvoor een lijst en een lus gebruikt + +**Uitleg.** Er zit nu best wat herhaling in je programma, want de vier regels doen precies hetzelfde. Dat gaan we nu mooier maken. Doe dat met deze stappen: + +1\) Maak een lijst met de operatoren erin, maak daarvoor deze code af: `operatoren = ['+', __]` Vergeet niet om aanhalingstekens om de operatoren te zetten, en komma's ertussen. + +2\) Loop over de lijst, maak daarvoor deze code af: + +```text +operatoren = ['+', __] +for operator in operatoren: + som = som.replace(__, __) +``` + +Zet op het linkse streepje de variabele operator, en op het rechterstreepje die variabele met spaties erom heen. + +**Opdracht 5\) Niet delen door 0 \(extra\)** + +Deze opdracht wordt afgetekend als: + +* Je een mooie foutmelding geeft als iemand probeert door 0 te delen. + +Uitleg. Delen door 0 dat mag natuurlijk niet. Als je dat nu probeert dan krijg je een error van Python: + +![](../../.gitbook/assets/image%20%2811%29.png) + +Dat is natuurlijk niet zo mooi. Zorg dat jij dat er een nette foutmelding in beeld komt als getal2 0 is? + diff --git a/module-2.3-rekenmachine/les-4.md b/module-2.3-rekenmachine/les-4.md new file mode 100644 index 0000000..1971f92 --- /dev/null +++ b/module-2.3-rekenmachine/les-4.md @@ -0,0 +1,16 @@ +# Les 4 + +## Slides + +Nog geen slides beschikbaar + +## Leerdoelen + +* herhaling elementen toevoegen aan een lijst +* herhaling elementen verwijderen uit een lijst +* herhaling `while` lus + +## Instructies voor de leerkracht + +Deze les gaan maken de leerlingen een beginnetje met een simpele rekenmachine. Op het einde hebben de leerlingen ongeveer dit programma: [https://replit.com/@mevrHermans/Pidk-K2-M3-L4-einde](https://replit.com/@mevrHermans/Pidk-K2-M3-L4-einde) + diff --git a/module-2.3-rekenmachine/les-4/README.md b/module-2.3-rekenmachine/les-4/README.md new file mode 100644 index 0000000..023ac00 --- /dev/null +++ b/module-2.3-rekenmachine/les-4/README.md @@ -0,0 +1,16 @@ +# Les 4 + +## Slides + +Nog geen slides beschikbaar + +## Leerdoelen + +* herhaling elementen toevoegen aan een lijst +* herhaling elementen verwijderen uit een lijst +* herhaling `while` lus + +## Instructies voor de leerkracht + +Deze les gaan maken de leerlingen het mogelijk om langere sommen te maken, bijv 5 + 4 + 2. Op het einde hebben de leerlingen ongeveer dit programma: [https://replit.com/@mevrHermans/Pidk-K2-M3-L4-einde](https://replit.com/@mevrHermans/Pidk-K2-M3-L4-einde) + diff --git a/module-2.3-rekenmachine/les-4/les-4a.md b/module-2.3-rekenmachine/les-4/les-4a.md new file mode 100644 index 0000000..f8b90d2 --- /dev/null +++ b/module-2.3-rekenmachine/les-4/les-4a.md @@ -0,0 +1,24 @@ +# Les 4a + +**Lange sommen** + +Heb je al eens geprobeerd om een langere som in te voeren in je programma? Bijv 1+2+3? Dat werkt nog niet goed. Dit is wat er dan gebeurt. + +![](../../.gitbook/assets/image%20%289%29.png) + +{% hint style="info" %} +Denk eens goed na hoe het komt dat lange sommen niet werken. Kun jij zelf al een manier verzinnen waarop je code wel meer dan 2 getallen en operatoren aankan? Als je denkt dat dat lukt, ga het dan maar proberen! Zo nee, lees dan maar verder. +{% endhint %} + +**Pas de lijst aan** + +Om de lange sommen mogelijk te maken gaan we de lijst steeds aanpassen. We rekenen de eerste som uit, dus de eerste drie getallen bij elkaar. In het voorbeeld hierboven is dat dus 1 + 2. Dat is natuurlijk 3. Dam verwijderen we '1', '+' en '2' uit de lijst, en zetten er '3' voor in de plaats. Nu hebben we weer een mooie lijst om mee te rekenen, namelijk '3', '+' en '3'. Daar kunnen we dan dezelfde strategie op los laten als we al deden! + +**Hele lange sommen** + +We willen ook een som van willekeurige lengte uit kunnen rekenen, dus we gaan een while lus gebruiken. Zo lang er nog meer dan 3 dingen in de lijst zitten, blijven we rekenen en vervangen. + + + + + diff --git a/module-2.3-rekenmachine/les-4/les-4b.md b/module-2.3-rekenmachine/les-4/les-4b.md new file mode 100644 index 0000000..2440f8f --- /dev/null +++ b/module-2.3-rekenmachine/les-4/les-4b.md @@ -0,0 +1,129 @@ +# Les 4b + +**Opdracht 1) Maak een variabele antwoord** + +Deze opdracht wordt afgetekend als: + +* Je een variabele `antwoord` hebt gemaakt om het antwoord van een som in op te slaan. + +**Uitleg.** Je hoeft vanaf deze les de code niet meer te forken, je mag steeds aan je eigen rekenmachine doorwerken.\ +\ +Als eerste stap gaan we een variabele toevoegen. In plaats van het antwoord meteen te printen met `print(getal1 + getal2)` gaan we de waarde eerst in een variabele zetten.\ +\ +Vervang alle vier regels voor operatoren door toewijzingen, bijvoorbeeld: + +`print(getal1 + getal2)` + +wordt + +`antwoord = getal1 + getal2` \ +`print (antwoord)` + +Test je code nu uit. Als het goed is, werkt alles nog precies hetzelfde! + +**Opdracht 2) Pas je if aan** + +Deze opdracht wordt afgetekend als: + +* Je nog maar een keer `print(antwoord)` in je code hebt staan. + +**Uitleg.** We hebben nu vier keer dezelfde regen in de code staan. Dat is niet zo handig, dus dat gaan we eerst netjes maken voor we verder gaan. + +We gaan eerst kijken of de operator wel in het lijstjes operatoren zit. Dat doen we met de regel `if operator in operatoren:`Die if gaan we combineren met de else die we al hadden, zoals in de code hier onder. Op de \_\_\_\_ staart de code die jij al had, met 4 if's. + +```python + if operator in operatoren: + _____ + else: + print('deze operator ken ik niet!') +``` + +Nu mag je de regel print(antwoord) bij alle vier de regels weghalen en alleen op het einde printen, zoals in deze code. Op de streepjes staan dan de andere drie operatoren, zonder `print(antwoord)` + +```python + if operator in operatoren: + if operator == '+': + antwoord = getal1 + getal2 + ____ + + print (round(antwoord)) + else: + print('deze operator ken ik niet!') +``` + +{% hint style="info" %} +Test je code nu weer goed, met een kloppende som en een foute som! Bijv: \ +3 + 5 -> dat wordt natuurlijk 8\ +hallo dit is een som -> dat moet een nette foutmelding geven +{% endhint %} + +**Opdracht 3) Zet het antwoord in de lijst** + +Deze opdracht wordt afgetekend als: + +* Je het antwoord op de som in de lijst hebt gezet. + +**Uitleg.** We gaan nu het antwoord in de lijst zetten op de plek van de som. Dat gaat zo: + +We zetten eerst deze code onder `print(antwoord)` + +```php +som_onderdelen.insert(0, str(antwoord)) +print(som_onderdelen) +``` + +Deze code insert antwoord in de lijst op plek 0. Insert is engels voor invoegen. En invoegen op plek 0 dat is natuurlijk aan het begin van de lijst, helemaal vooraan.\ +\ +We printen de lijst even zodat je goed ziet wat er in zit, bijv bij de som 1+ 4, wordt dit de lijst:\ +\ +\['5', '1', '+', '4']\ +\ +De 5 ziet er nu netjes in zoals je ziet. Maar... de 1, de plus en de 4 die mogen eruit. Want die som hebben we al opgelost. Dat gaan we zo doen: + +```python +som_onderdelen.pop(0) +som_onderdelen.pop(0) +som_onderdelen.pop(0) +print(som_onderdelen) +``` + +Ken je `pop()`nog van de geschiedenisquiz? Die haalt een element uit de lijst op een bepaalde plek. Wij halen plekje 1, drie keer weg. Dus dat betekent dat plekken 1 (de tweede plek), 2 en 3 worden weggehaald. + +We printen de lijst weer zodat je ziet wat er gebeurt. Zet jij de `pop()`s op de goede plek?\ +\ +Er is nog een stapje nodig, omdat we nu de lijst printen. Bij 1 + 6 krijgen we dit: \['7']. Dat is niet zo mooi. Verander de laatste regel dus in het printen van alleen het eerste element van `som_onderdelen`. Je weet vast hoe dat moet! + +**Opdracht 4) Voeg een while lus toe** + +Deze opdracht wordt afgetekend als: + +* Je een while lus aan je code hebt toegevoegd + +**Uitleg.** Nu we een sommetje van drie elementen kunnen vervangen door het antwoord, kunnen we dat steeds herhalen! Het gaat bijvoorbeeld zo: + +De som is: 1 + 2 + 3 + 8\ +In de lijst krijgen we dan \['1', '+', '2', '+', '3', '+', '8']\ +We rekenen nu het eerste stukje som uit. Dat is 1 + 2, dat wordt natuurlijk 3. \ +Dan zetten we '3' op de plaats in de lijst van '1' en '+' en '2'. Zo: \['3', '+', '3', '+', '8']\ +Dat kunnen we weer herhalen.\ +Dus nu is de lijst: \['3', '+', 3, '+', '8']\ +We rekenen nu het eerste stukje som uit. Dat is 3 + 3, dat wordt natuurlijk 6.\ +Dan zetten we 6 op de plaats in de lijst van '3' en '+' en '3'. Zo: \['6', '+', '8']\ +Het laatste stukje som gaat ook hetzelfde, 6 en 8 worden vervangen door 14. + +Dat herhalen gaan we in de code doen met een while-lus. Die ken je natuurlijk wel van andere opdrachten. We gaan de lus herhalen zolang de lijst nog meer dan 3 elementen heeft. Weet jij nog hoe dat geschreven moet worden?\ +\ +Zet al jouw code vanaf de regel `getal_1 = som_onderdelen[0]`in de while lus. + +Test je code weer goed! + +**Opdracht 5) Stop op tijd (Extra)** + +Heb je ook geprobeerd om een verkeerde som in de voeren? Bijv x + y? Dat wordt niks! Je code vertelt wel dat het geen geldige getallen zijn, maar hij houdt er nooit meer mee op. Dat kun je oplossen door onder `print('Je voerde geen geldige getallen in!')`een nieuwe code te zetten: `break`. Dat zorgt ervoor dat de lus gestopt wordt. + +Dat foutje zit nog op een andere plek in de code. Weet jij waar? + +**Opdracht 6) Nog betere foutmeldingen (Extra)** + +We krijgen nu een mooie foutmelding als we geen getallen invoeren of een gekke operator. Maar als je alleen tekst invoert, gebeurt er niets. Probeer bijv. maar eens **hallo** in te voeren. Weet jij hoe dat komt? En kan jij zorgen dat er in zo'n geval ook een goede foutmelding komt? Bijv: dit is geen som. + diff --git a/module-2.3-rekenmachine/les-5/README.md b/module-2.3-rekenmachine/les-5/README.md new file mode 100644 index 0000000..0b4d4ce --- /dev/null +++ b/module-2.3-rekenmachine/les-5/README.md @@ -0,0 +1,16 @@ +# Les 5 + +## Slides + +Nog geen slides beschikbaar + +## Leerdoelen + +* `index()` +* `in` +* `and` + +## Instructies voor de leerkracht + +Deze les zorgen leerlingen ervoor dat prioriteiten ook goed werken. Dus dat de \* voor de + en de - gaat. Op het einde hebben de leerlingen ongeveer dit programma: [https://replit.com/@mevrHermans/Pidk-K2-M3-L5-einde\#main.py](https://replit.com/@mevrHermans/Pidk-K2-M3-L5-einde#main.py) + diff --git a/module-2.3-rekenmachine/les-5/les-5a.md b/module-2.3-rekenmachine/les-5/les-5a.md new file mode 100644 index 0000000..e818e7e --- /dev/null +++ b/module-2.3-rekenmachine/les-5/les-5a.md @@ -0,0 +1,8 @@ +# Les 5a + +**Voorrangsregels** + +Heb je al eens geprobeerd om een som te maken met verschillende operatoren erin? 5 + 4 - 2 dat gaat wel goed, maar als je keer en plus mixt, dan krijg je een verkeerd antwoord! Bijvoorbeeld 5 + 4 \* 10. Het goede antwoord hier is natuurlijk 45. Want 4 \* 10 gaat voor, dat wordt 40 en dan moet de 5 er nog bij opgeteld worden. Maar onze rekenmachine weet dat nog niet. Die gaat gewoon van links naar rechts en maakt er dus 90 van: 5 + 4 wordt 9 en dan keer 10. Dat gaan we deze les oplossen! + + + diff --git a/module-2.3-rekenmachine/les-5/les-5b.md b/module-2.3-rekenmachine/les-5/les-5b.md new file mode 100644 index 0000000..a8ca746 --- /dev/null +++ b/module-2.3-rekenmachine/les-5/les-5b.md @@ -0,0 +1,108 @@ +# Les 5b + +**Opdracht 1) Zoek de keer in een lijst** + +Deze opdracht wordt afgetekend als: + +* Je de positie van de eerste keer kan printen + +**Uitleg.** We gaan in de lijst kijken of er een \* in zit. Dat doen we met een `index()`. Index vertelt op welke plek een bepaald element in een lijst zit. Wij gaan 'm zo gebruiken: `som_onderdelen.index('*')` + +Zoek de positie op met deze code en sla die op een in een variable. Die variabele noemen we `index_keer`. We doen het zoeken nu alleen nog eventjes naar de keer, de gedeeld door die komt later! + +Print de variabele uit en kijk of het klopt. + +{% hint style="info" %} +Denk eraan dat de lijst altijd op 0 begint, dus als er staat dat een \* op plek 1 staat, dan staat die op de tweede plek! +{% endhint %} + +**Opdracht 2) Is er wel een keer?** + +Deze opdracht wordt afgetekend als: + +* Je de positie van de eerste keer kan printen**, als deze in de lijst zit** +* Je de som gewoon uitrekent als er geen keer in de lijst zit + +**Uitleg.** Heb je al eens geprobeerd de code uit te voeren als er geen keer in de som zit? Zo niet, probeer dat nu eens. Bijv. 5 + 3. Dan krijg je dit: + +![](<../../.gitbook/assets/image (10).png>) + +Omdat er geen \* in de som zit, komt er een foutmelding. Dat gaan we nu oplossen. We mogen `index()` alleen gebruiken als we weten dat er een keer in de lijst zit. Dat kunnen we testen met de code `in`. Dat gaat zo: + +```python +if '*' in som_onderdelen: + index_keer = som_onderdelen.index('*') + print(index_keer) +``` + +**Opdracht 3) De getallen ophalen** + +Deze opdracht wordt afgetekend als: + +* Je het getal vóór en na de keer ophaalt +* Je die getallen gaat gebruiken in je som, als er een keer in de som zit +* Je, als er geen keer in de som zit, gewoon de eerste twee getallen gebruikt + +**Uitleg.** Er kunnen nu twee situaties aan de hand zijn: + +* Of er zit een keer in de som, en dan willen we die keer pakken en de getallen voor en na de keer. +* Of er zit geen keer in de som, en dan willen we gewoon de eerste twee getallen en de eerste operator (zoals we het eerst deden) + +We gaan daarvoor een nieuwe variabele `begin` maken. Die begint op 0 als er geen keer is, en op de plek voor de keer als er wel een keer is. + +Maak jij deze code af? + +```python + #zoek naar de eerste * in de lijst: + if '*' in som_onderdelen: + index_keer = som_onderdelen.index('*') + #is er een keer? Dan beginnen we daar! + begin = index_keer-1 + else: + #geen keer? We beginnen aan het begin + begin = 0 + + getal_1 = __ <- zet hier som_onderdelen op de plek van begin + operator = __ <- zet hier som_onderdelen op de plek van begin + 1 + getal_2 = __ <- zet hier som_onderdelen op de plek van begin + 2 + + __ #hier komt de rest van jouw code +``` + +Test je code nu uit. Werkt het al goed? + +**Opdracht 4) De goede getallen weghalen!** + +Deze opdracht wordt afgetekend als: + +* Je **de goede getallen uit de lijst haalt** +* Je daardoor iedere som met \* en - en + netjes uitrekent + +De code werkt niet goed. Dat komt omdat we nu nog altijd de eerste drie dingen uit de lijst halen, en niet de getallen en operator die we net gedaan hebben. Dat werkt natuurlijk niet goed. + +We hadden deze codes: + +```python + som_onderdelen.pop(0) + som_onderdelen.pop(0) + som_onderdelen.pop(0) + som_onderdelen.insert(0, str(antwoord)) +``` + +Maar in plaats van weghalen en invoegen bij 0 willen we dat nu natuurlijk bij `begin` doen. Dat is of 0 of de plek van de keer. Past jij de code aan? + +{% hint style="info" %} +Kijk goed of al deze sommen het doen: + +* 5 + 4 \* 10 -> 45 +* 2 + 2 + 2 -> 6 +* 2 + 2 \* 2 -> ook 6 +{% endhint %} + +**Opdracht 5) Ook de gedeeld door heeft voorrang (extra)** + +Deze opdracht wordt afgetekend als: + +* Je ook sommen met een / kan uitrekenen. Gedeeld door komt ook voor + en - + +**Uitleg.** Ook delen gaat voor plus en min. Kun jij zorgen dat dat ook werkt in je rekenmachine? Dat is een pittige klus, maar wel heel leuk als het lukt. Weet je al hoe je dat gaat doen? Ga er dan maar voor! diff --git a/module-2.3-rekenmachine/les-6/README.md b/module-2.3-rekenmachine/les-6/README.md new file mode 100644 index 0000000..5d1281e --- /dev/null +++ b/module-2.3-rekenmachine/les-6/README.md @@ -0,0 +1,14 @@ +# Les 6 + +## Slides + +Nog geen slides beschikbaar + +## Leerdoelen + +* `and` + +## Instructies voor de leerkracht + +Deze les zorgen leerlingen ervoor dat prioriteiten helemaal goed werken. Dus / ook voor de + en de - gaat. Ook maken ze het afronden van getallen beter in orde. [https://replit.com/@mevrHermans/Pidk-K2-M3-L6-einde](https://replit.com/@mevrHermans/Pidk-K2-M3-L6-einde#main.py) + diff --git a/module-2.3-rekenmachine/les-6/les-6a.md b/module-2.3-rekenmachine/les-6/les-6a.md new file mode 100644 index 0000000..c43048e --- /dev/null +++ b/module-2.3-rekenmachine/les-6/les-6a.md @@ -0,0 +1,8 @@ +# Les 6a + +**Ook de gedeeld door gaat voor** + +In de vorige les hebben we gezorgd dat de keer voor de + en de - komt. Maar datzelfde geldt natuurlijk ook voor de gedeeld door. Immers 5 + 10 / 5 is 7, want we delen 10 eerst door 5 dat geeft 2. Die twee tellen we dan bij de eerste 5 op. + + + diff --git a/module-2.3-rekenmachine/les-6/les-6b.md b/module-2.3-rekenmachine/les-6/les-6b.md new file mode 100644 index 0000000..a52e1f7 --- /dev/null +++ b/module-2.3-rekenmachine/les-6/les-6b.md @@ -0,0 +1,47 @@ +# Les 6b + + **Opdracht 1) Ook de gedeeld door heeft voorrang** + +Deze opdracht wordt afgetekend als: + +* Je ook sommen met een / goed kan uitrekenen. Gedeeld door komt ook voor + en - + +**Uitleg.** Sommen met een / nog niet goed, dan gaan we dat nu samen verbeteren. Kijk bijvoorbeeld eens naar deze som: 5 + 10 / 5 + +Daar moet 7 uitkomen want gedeeld door gaat voor. Dus eerst 10/5, dat is 2 en die 2 wordt dan opgeteld bij de 5. Maar in onze rekenmachine gaat dat niet goed. Wij gaan van links naar rechts, dus we krijgen 5 + 10 dat is 15 gedeeld door 5 is 3. + +We gaan dit samen in stapjes doen. Volg deze stappen: + +1. Begin bij deze code `if '*' in som_onderdelen:`Die code kijkt nu alleen of er een \* in de som zit. +2. Zet in deze if nog een if die kijkt of er **ook** een / in de `som_onderdelen` zit. + 1. Zo ja? Als er een \* en een / in de som zitten, moet je kijken welke er het meest vooraan staat, want die moet eerst. Dat kun je bekijken door wie de laagste index heeft. + 2. Zo nee? Dan ga je nog kijken of er in de som alleen een \* zit (zoals we al deden) + 3. Zit er geen keer in? Dan kijken nog even of er alleen een / in zit. Dat lijkt op de code die we al hadden maar dan voor de gedeeld door. + +Succes! En vergeet je code niet te testen met veel verschillende sommen. + +**Opdracht 2) Met of zonder kommagetal?** + +Deze opdracht wordt afgetekend als: + +* Je kommagetallen uitprint met een punt, maar gehele getallen zonder punt + +**Uitleg.** Tot nu hebben we steeds alle getallen afgerond. Dus als je 10/5 uitrekende, kreeg je mooi 2. Maar als je 10/3 deed, dan kreeg je 3. Dus geen 3.333333.... . Dat gaan we nu oplossen! + +Laten we eens beginnen met het weghalen van de `round` in deze regel code: + +``` + som_onderdelen.insert(begin, str(round(antwoord))) +``` + +Probeer dat eens en kijk wat er gebeurt. 10/3 wordt nu 3.333333 dus dat is prima! Maar nu krijgen we bij 10/2 5.0 en dat is weer niet zo mooi. Dat moet gewoon 5 worden! + +Dat gaan we oplossen door te kijken of het afgerond getal en het getal zelf hetzelfde zijn. Voor 2 is dat zo want 2.0 is hetzelfde getal als 2. Maar voor 3.333333 is dat niet zo want dan is het afgeronde getal 3. Zet deze code onder de regels met `pop()`. + +``` + if round(antwoord) == antwoord: + antwoord = round(antwoord) +``` + + + diff --git a/module-2.3-rekenmachine/les-7/README.md b/module-2.3-rekenmachine/les-7/README.md new file mode 100644 index 0000000..f40fd79 --- /dev/null +++ b/module-2.3-rekenmachine/les-7/README.md @@ -0,0 +1,2 @@ +# Les 7 + diff --git a/module-2.3-rekenmachine/les-7/les-7a.md b/module-2.3-rekenmachine/les-7/les-7a.md new file mode 100644 index 0000000..c43a6ce --- /dev/null +++ b/module-2.3-rekenmachine/les-7/les-7a.md @@ -0,0 +1,10 @@ +# Les 7a + +**Haakjes** + +Er is nog iets dat jouw rekenmachine mist en dat zijn... haakjes! + +Haakjes gaan voor de keer en de gedeeld door. Bijvoorbeeld: + +De som 5 \* 4 + 6 wordt 26 want de 5 \* 4 gaat eerst. \ +Maar de som 5 \* (4+6) wordt 50 want nu zorgen de haakjes ervoor dat 4 + 6 eerst gaat. Dat gaan wij vandaag ook in de rekenmachine zetten. diff --git a/module-2.3-rekenmachine/les-7/les-7b.md b/module-2.3-rekenmachine/les-7/les-7b.md new file mode 100644 index 0000000..b97f140 --- /dev/null +++ b/module-2.3-rekenmachine/les-7/les-7b.md @@ -0,0 +1,5 @@ +# Les 7b + +**Haakjes** + +Zorg dat je rekenmachine ook correct met haakjes kan werken. diff --git a/module-2.5-microbit.md b/module-2.5-microbit.md new file mode 100644 index 0000000..8d26211 --- /dev/null +++ b/module-2.5-microbit.md @@ -0,0 +1,79 @@ +# Module 2.5 - Microbit + +### Doel van de opdracht + +Jullie werken de komende 8 weken in duo's werken om een eigen toepassing te bedenken en te maken voor de MicroBit. Daarbij denk je kritisch na over het mogelijke ontwerp van je project, maak je een gedetailleerd plan van aanpak en reflecteer je op je werk. + +### Wat moet je opleveren? + +* Een procesverslag (met de onderwerpen 1 t/m 4) +* Jullie Microbit product. +* Een korte video waarin je de applicatie demonstreert. + +### Inhoud procesverslag + +1\) Brainstormsessie + +Brainstorm samen over mogelijke toepassingen voor de MicroBit. Wees origineel en denk verder dan de voorbeelden die jullie hebben gezien (noteer je ideeën op je plan van aanpak). + +2\) Kritische vragen over de toepassing + +Beantwoord met elkaar onderstaande kritische vragen. Deze vragen helpen je om verder na te denken over de functionaliteit en relevantie van je gekozen toepassing. + +* Wat is het specifieke probleem dat jullie toepassing oplost? +* Wie zijn de gebruikers van jullie toepassing? +* Welke functionaliteiten zijn essentieel voor jullie toepassing om effectief te zijn? +* Zijn er vergelijkbare bestaande producten of oplossingen online? Zo ja, hoe verschilt jullie toepassing? +* Hoe kunnen jullie ervoor zorgen dat jullie toepassing intuïtief en gemakkelijk te gebruiken is? + +3\) Plan van aanpak + +Stel een gedetailleerd plan van aanpak op voor het maken van jullie toepassing. Daarbij dien je de volgende zaken in op te nemen: + +* Top 3 van ideeën (brainstormen). +* Motivatie over uiteindelijke keuze, onderbouwd met de antwoorden op de 5 kritische vragen. +* Maak een tekening van je ontwerp. +* Beschrijving van de toepassing. +* Lijst van benodigde materialen en componenten. +* Maak een taakverdeling. +* Bedenk een teststrategie: wanneer test je?, wat test je?, wat is het resultaat? +* Mogelijke uitbreidingen of verbeteringen van de toepassing. + +4\) Reflectie + +Bij dit project reflecteer je twee keer op je werk: + +1. De eerste keer is halverwege het project, je doet dit aan de hand van de feedback die je ontvangt van je docent en van je klasgenoten. Elke duo wordt die les gekoppeld aan een ander duo om elkaars werk te bekijken en daar tips en tops over te geven. +2. De tweede keer dat je reflecteert is wanneer je werk voltooid is. + +Beantwoord voor het onderdeel ‘Reflectie’ samen aan de hand van onderstaande vragen: + +* Waar ben je tegenaan gelopen tijdens het ontwikkelen van je project? +* Welke invloed heeft dit gehad op het uiteindelijke product? +* Welke tips en tops heb je ontvangen van je klasgenoten? +* Welke acties heb je ondernomen naar aanleiding van de feedback van je klasgenoten. +* Wat zou je volgende keer anders doen? + +### Beoordeling + +Jullie worden beoordeeld door de docent, en je presenteert je de video aan je klasgenoten. + +### Belangrijke data + +* Week 1: start plan van aanpak. +* Week 3: benodigd materiaal doorgeven aan docent. +* Week 5: feedback van klasgenoten. +* Week 8: Inleveren van je werk en video presentatie in de klas. +* Week 9 : Reflectie gesprek met docent. + +### Handige bronnen: + + + +[Micro.bit-explorer-kaarten-v1\_alles\_2019-03-15.pdf (digiwijsheid.nl)](https://www.digiwijsheid.nl/wp-content/uploads/2019/05/Micro.bit-explorer-kaarten-v1\_alles\_2019-03-15.pdf) + +[Make it: code it | micro:bit (microbit.org)](https://microbit.org/projects/make-it-code-it/) + +[Python editor | micro:bit (microbit.org)](https://microbit.org/get-started/user-guide/python-editor/) + +[Voorbeelden | De Micro:bit (demicrobit.com)](https://demicrobit.com/programmacodes/) diff --git a/module-2.6-creative-coding/README.md b/module-2.6-creative-coding/README.md new file mode 100644 index 0000000..c0c86b3 --- /dev/null +++ b/module-2.6-creative-coding/README.md @@ -0,0 +1,2 @@ +# Module 2.6 + diff --git a/module-2.6-creative-coding/les-1a.md b/module-2.6-creative-coding/les-1a.md new file mode 100644 index 0000000..3bff2bd --- /dev/null +++ b/module-2.6-creative-coding/les-1a.md @@ -0,0 +1,6 @@ +# Les 1a + +Les 1a + +{% file src="../.gitbook/assets/les 1a creative coding P5js.pdf" %} + diff --git a/module-2.6-creative-coding/les-1b.md b/module-2.6-creative-coding/les-1b.md new file mode 100644 index 0000000..467bdc3 --- /dev/null +++ b/module-2.6-creative-coding/les-1b.md @@ -0,0 +1,5 @@ +# Les 1b + + + +{% file src="../.gitbook/assets/les 1b creative coding P5js (1).pdf" %} diff --git a/module-2.6-creative-coding/les-2a.md b/module-2.6-creative-coding/les-2a.md new file mode 100644 index 0000000..df57eb7 --- /dev/null +++ b/module-2.6-creative-coding/les-2a.md @@ -0,0 +1,5 @@ +# Les 2a + + + +{% file src="../.gitbook/assets/les 2a creative coding P5js.pdf" %} diff --git a/module-2.6-creative-coding/les-2b.md b/module-2.6-creative-coding/les-2b.md new file mode 100644 index 0000000..4f07a03 --- /dev/null +++ b/module-2.6-creative-coding/les-2b.md @@ -0,0 +1,5 @@ +# Les 2b + + + +{% file src="../.gitbook/assets/Les 2b creative coding P5js.pdf" %} diff --git a/module-3.1-spreadsheets/README.md b/module-3.1-spreadsheets/README.md new file mode 100644 index 0000000..f1ec7cb --- /dev/null +++ b/module-3.1-spreadsheets/README.md @@ -0,0 +1,10 @@ +# Module 3.3 - Spreadsheets/Fijnstofmeter + + + + + + + + + diff --git a/module-3.1-spreadsheets/les-1/README.md b/module-3.1-spreadsheets/les-1/README.md new file mode 100644 index 0000000..b519525 --- /dev/null +++ b/module-3.1-spreadsheets/les-1/README.md @@ -0,0 +1,17 @@ +# Les 1 + +## Slides + +[Module Spreadsheets, les 1](https://slides.com/felienne/python-klas-3-module-1-les-1) + +## Leerdoelen + +* Wat is een spreadsheet? +* Data in een spreadsheet filteren + +## Instructies voor de leerkracht + +Leerlingen maken kennis met spreadsheets en moeten in de gegeven spreadsheet information opzoeken. Leerlingen kunnen de antwoorden op een vel of in hun schrift schrijven of je kunt ze laten uitypen in inleveren in een LMS. + + + diff --git a/module-3.1-spreadsheets/les-1/les-1b.md b/module-3.1-spreadsheets/les-1/les-1b.md new file mode 100644 index 0000000..3f6d544 --- /dev/null +++ b/module-3.1-spreadsheets/les-1/les-1b.md @@ -0,0 +1,31 @@ +# Les 1b + +**Opdracht 1) Aantal nucleaire ontploffingen** + +Jij gaat de aardbevingendata downloaden en dan openen in Excel of Google Drive. Je mag zelf kiezen welk programma je gebruikt, ze werken ongeveer hetzelfde. + +Het bestand staat hier: [https://www.dropbox.com/s/6f0xrn4knxb5lvz/earthquakes-kaggle-1000.xlsx?dl=0](https://www.dropbox.com/s/6f0xrn4knxb5lvz/earthquakes-kaggle-1000.xlsx?dl=0) + +Zoek in het bestand op hoeveel nucleaire ontploffingen er geweest zijn, dat is in het Engels 'Nuclear Explosion' en kun je vinden in kolom E. + +**Opdracht 2) Aantal aardbevingen op 6 juli** + +Kijk nu nog eens in de data. + +Hoeveel aardbevingen waren er op 6 juli 1965? Kijk zelf in welke kolom je die informatie kunt vinden. + +**Opdracht 3) Hoogste en laagste magnitude** + +Kijk nu weer in de data. + +Ik ben benieuwd naar de hoogte en laagste magnitude. Die kun je ook opzoeken door gebruik te maken van de filterknop. De hoogste waarde noemen we het maximum. De laagste het minimum. + +**Opdracht 4) Aardbevingen in juli van ISCGEM (X)** + +Kijk nu weer in de data. + +We gaan nu een dubbel filter gebruiken. Ik wil alle aardbevingen tellen in juli, van alle jaren! Ook wil ik alleen die aardbevingen meetellen waarvan de bron, in kolom I, ISCGEM is. Hoeveel tel je er? + +**Opdracht 5) De kolom ID (X)** + +Kijk eens naar kolom H. Wat valt jou op aan die data? diff --git a/module-3.1-spreadsheets/les-2/README.md b/module-3.1-spreadsheets/les-2/README.md new file mode 100644 index 0000000..e1a605b --- /dev/null +++ b/module-3.1-spreadsheets/les-2/README.md @@ -0,0 +1,17 @@ +# Les 2 + +## Slides + +[Module Spreadsheets, les 2](https://slides.com/felienne/python-klas-3-module-1-les-2) + +## Leerdoelen + +* Formules MIN, MAX, en GEMIDDELDE +* Conditionele formules met ALS + +## Instructies voor de leerkracht + +Leerlingen gaan aan de slag met het aardvevingenbestand en moeten nu met formules de juiste antwoorden vinden. Ze leveren de formules en de antwoorden in ter controle (op papier of digitaal). + + + diff --git a/module-3.1-spreadsheets/les-2/les-2b.md b/module-3.1-spreadsheets/les-2/les-2b.md new file mode 100644 index 0000000..c6a3924 --- /dev/null +++ b/module-3.1-spreadsheets/les-2/les-2b.md @@ -0,0 +1,45 @@ +# Les 2b + +**Opdracht 1) Eenvoudige berekeningen** + +Open [de data](https://www.dropbox.com/s/6f0xrn4knxb5lvz/earthquakes-kaggle-1000.xlsx?dl=0) weer in Excel. + +Maak formules voor deze vijf berekeningen: + +1. Minimale magnitude van alle rijen Tip: gebruik de formule: MIN +2. Minimale diepte +3. Maximale magnitude +4. Gemiddelde magnitude Tip: gebruik de formule: GEMIDDELDE +5. Gemiddelde diepte + +{% hint style="info" %} +Soms staat Excel in het Nederlands. Als dat bij jou zo is kun je de vertalingen van de formules [opzoeken](https://www.perfectxl.com/nl/over-spreadsheets/excel-verklarende-woordenlijst/wat-is-excel-functie/excel-functie-vertalingen-engels-nederlands/). +{% endhint %} + +**Opdracht 2) Conditionele berekeningen** + +Werk verder in het bestand dat je al hebt. + +Bereken nu deze _conditionele_ berekeningen. Zet de formules in de lijst formules, en de antwoorden in de lijst getallen. + +Maak formules voor deze zes berekeningen: + +1. Aantal Nuclear Explosions Tip: gebruik de formule AANTAL.ALS +2. Aantal met magnitude groter dan 7 +3. Aantal earthquakes met magnitude groter dan 7 Tip: + + Gebruik de formule AANTALLEN.ALS <-- kijk goed, het is AANTAL**LEN** +4. Gemiddelde magnitude van Nuclear Explosions Tip: gebruik de formule GEMIDDELDE.ALS +5. Gemiddelde latitude van Earthquakes +6. Gemiddelde longitude van Earthquakes + +**Opdracht 3 Andere formules (X)** + +Ga zelf op zoek naar formules die je zou kunnen gebruiken, reken er iets mee uit, en leg uit waarom of waarvoor je juist deze formule zou gebruiken. Je mag er zoveel verzinnen als je maar wilt. + +Denk bijvoorbeeld aan: + +* Welke diepte komt het vaakst voor? +* De hoogste magnitude in juli? +* Aardbevingen op jouw verjaardag? +* Aardbevingen in de kleine pauze (tussen half 11 en 11)? diff --git a/module-3.1-spreadsheets/les-3/README.md b/module-3.1-spreadsheets/les-3/README.md new file mode 100644 index 0000000..1ead1c7 --- /dev/null +++ b/module-3.1-spreadsheets/les-3/README.md @@ -0,0 +1,14 @@ +# Les 3 + +## Slides + +[Module Spreadsheets, les 3](https://slides.com/felienne/python-klas-3-module-1-les-3) + +## Leerdoelen + +* Herhaling van formules van les 2 +* Maken van grafieken in Excel + +## Instructies voor de leerkracht + +In deze les worden formules nog een keer herhaald, ze zijn lastig voor sommige lln. Ook maken we een begin met het maken van grafieken. diff --git a/module-3.1-spreadsheets/les-3/les-3b.md b/module-3.1-spreadsheets/les-3/les-3b.md new file mode 100644 index 0000000..f12559f --- /dev/null +++ b/module-3.1-spreadsheets/les-3/les-3b.md @@ -0,0 +1,53 @@ +# Les 3b + +**Opdracht 1) Formules in de herhaling** + +Open het [nieuwe bestand](https://www.dropbox.com/s/f7opvepdq2yyo0n/Cijfers-leerling-versie.xlsx?dl=0) over cijfers. Maak formules voor deze zeven berekeningen: + +1. Totaal van alle cijfers van toets 3 +2. Gemiddelde cijfer van toets 2 +3. Gemiddelde cijfer van de **voldoendes** van toets 3 +4. Gemiddelde van de cijfers **van meisjes** voor toets 3 +5. Aantal jongens in totaal in de klas +6. Aantal jongens met een onvoldoende +7. Aantal cijfers onder de 8 bij totaal + +**Opdracht 2) Moeilijkere formules** + +Open het nieuwe bestand over [atletiekdata](https://www.dropbox.com/s/mfrckp48wndikix/Atletiekdata.xlsx?dl=0). Maak formules voor deze zes berekeningen: + +1. Hoeveel kinderen zijn er gekwalificeerd? +2. Wat is het gemiddelde aantal seconde dat alle kinderen over de hordeloop doen? +3. Hoeveel kinderen doen er minder dan 50 minuten over de 10 kilometer? +4. Wat is de gemiddelde afstand die meisjes halen met kogelstoten? +5. Hoeveel jongens doen **minder dan 5 minuten** over de 1 kilometer? +6. Wat is het aantal jongens dat **niet** gekwalificeerd is? + +Vond je dit niet zo lastig? Maak dan deze extra sommen ook! + +1. Extra moeilijk: Wat is de snelste tijd op alledrie de afstanden bij elkaar? En wie heeft die snelste tijd behaald? +2. Extra extra moeilijk! Als we kijken naar het hordelopen en kogelstoten samen, wie doet het dan het allerbeste? En hoe heb je dat bepaald? + +**Opdracht 3) Grafieken** + +Deze opdracht gaat over het maken van grafieken. We maken eerst grafieken van de cijferlijsten. Werk verder aan het bestand dat je al hebt\*\*.\*\* + +Maak deze grafieken: + +* Een kolomgrafiek van toets 1 <--- staat er dus al! +* Een lijngrafiek van toets 2 +* Box and whiskersplot van totaal +* Box and whiskersplot van toets 3 +* Radargrafiek van toets 1 + +**Opdracht 4) Grafieken en formules (X)**\ +\ +Deze opdracht gaat over het maken van grafieken. Werk verder aan het bestand met cijfers dat je al hebt. + +Als data in Excel letters of woorden zijn, en geen getallen, dan kun er niet meteen een grafiek maken. Excel weet niet hoe dat moet. Je moet dan eerst formules schrijven. Daaruit komen cijfers en die kun je dan in een grafiek gebruiken. + +Maak formules voor deze zaken. Maak dan ook de grafiek erbij. Wat zie je aan de grafiek? + +* Een staafgrafiek met het aantal voldoendes en onvoldoendes +* Een staafgrafiek met het aantal jongens en meisjes +* Een staafgrafiek met het aantal eindcijfers boven en onder de 8 diff --git a/module-3.1-spreadsheets/les-4/README.md b/module-3.1-spreadsheets/les-4/README.md new file mode 100644 index 0000000..8057eaf --- /dev/null +++ b/module-3.1-spreadsheets/les-4/README.md @@ -0,0 +1,14 @@ +# Les 4 + +## Slides + +[Module Spreadsheets, les 4](https://slides.com/felienne/python-klas-3-module-1-les-4) + +## Leerdoelen + +* Werken met twee tabellen + +## Instructies voor de leerkracht + +In deze les leren leerlingen over 'normalisatie' van een database zonder dat we natuurlijk die term gebruiken. Leerlingen krijgen data met veel herhaling en moeten dat zelf in meerdere tabbladen zetten. We gebruiken hier ook de term tabel voor tabblad zodat leerlingen daar aan wennen. De in te leveren documenten zijn deze keer Excelsheets, die zullen lln dus ergens moeten uploaden of naar je mailen. + diff --git a/module-3.1-spreadsheets/les-4/les-4b.md b/module-3.1-spreadsheets/les-4/les-4b.md new file mode 100644 index 0000000..7773b63 --- /dev/null +++ b/module-3.1-spreadsheets/les-4/les-4b.md @@ -0,0 +1,42 @@ +# Les 4b + +**Opdracht 1) Data splitsen in meerdere tabellen** + +Bekijk de data van de [boekenwinkel](https://www.dropbox.com/s/f238jnrnxjlg4hs/Boekenwinkel.xlsx?dl=0). Alle namen van boeken staan in de tabel Boekverkopen. Dat willen we niet, we willen dat alle titels maar een keer voorkomen. Dat doen we in deze stappen: + +**Stap 1.** Ga naar de tabel Boeken en geef iedere boek een eigen nummer. Er staan er al twee voor je klaar. + +**Stap 2.** Ben je klaar met alle nummers? Vervang dan alle boektitels door hun nummer. Dus De kleine blonde dood door 1 en Koning van Katoren door 2 etc. + +**Opdracht 2) Games data** + +In het bestand [games\_verkoop](https://www.dropbox.com/s/ot971wworatqocg/games\_verkoop.xlsx?dl=0) vind je data over spellen. Kun jij de data analyseren? Bijv: + +* Welke spellen zijn het meest gekocht in Europa? +* Welke genres (soorten spellen zoals strategie of shooter) waren het populairst in de jaren 90? +* Welke uitgever (publisher) maakt de succesvolste spellen? + +Je mag ook zelf formules bedenken om uit te rekenen! + +**Opdracht 3) Vliegtuigroutes (X)** + +In het bestand [vliegtuig\_routes](https://www.dropbox.com/scl/fi/nnxsiz924w0u9a5b5cr41/vliegtuig\_routes.xlsx?dl=0\&rlkey=92kb31a9be21pnsam1ycsi69c) vind je vliegreizen van en naar verschillende vliegvelden. Je kunt ook het soort vliegtuig zien. + +Kun jij een mooie datavisualizatie maken met deze data? Bijv: + +* Welke luchthavens zijn het drukst (hebben de meeste vluchten)? Maak een staafdiagram! +* Waar kun je komen vanuit Schiphol (AMS) zonder overstappen? + +Op het tabblad vliegvelden kun je de gps coördinaten zien van alle vliegvelden onder latitude en longitude. Daarmee kun je ook van alles berekenen! Bijv: + +* Welke vlucht is het langste? Tips: + * Haal van begin- en eindpunt (source en destination) de latitude en longitude op + * Bereken dan met Pythagoras de hemelsbrede afstand +* Welk soort vliegtuig vliegt het verste gemiddeld? + * Bereken eerst de afstand voor alle vluchten en gebruikt dan gemiddelde.als per vliegtuigtype + +Als je er echt voor wilt gaan, kijk dan eens of het je lukt om de vliegreizen op een wereldkaart te zetten door naar de GPS coördinaten te kijken! + +*** + +*** diff --git a/module-3.1-spreadsheets/les-5/README.md b/module-3.1-spreadsheets/les-5/README.md new file mode 100644 index 0000000..d6092e9 --- /dev/null +++ b/module-3.1-spreadsheets/les-5/README.md @@ -0,0 +1,16 @@ +# Les 5 + +## Slides + +[Module Spreadsheets, les 5](https://slides.com/felienne/python-klas-3-module-1-les-5) + +## Leerdoelen + +* Weer tabellen koppelen +* Nu kan een tabel twee keer gekoppeld worden. + +## Instructies voor de leerkracht + +In deze les wordt het normaliseren nog iets complexer omdat 1 tabel (teams en metrostation) twee keer voorkomt in de data. Ook hier zijn de in te leveren documenten zijn deze keer Excelsheets, die zullen lln dus ergens moeten uploaden of naar je mailen + +De extra opdrachten van les 4 kunnen hier ook nog ingezet worden. diff --git a/module-3.1-spreadsheets/les-5/les-5b.md b/module-3.1-spreadsheets/les-5/les-5b.md new file mode 100644 index 0000000..3968570 --- /dev/null +++ b/module-3.1-spreadsheets/les-5/les-5b.md @@ -0,0 +1,73 @@ +# Les 5b + +**Opdracht 1) Metro splitsen in meerdere tabellen** + +Bekijk de data van de [metroreizen](https://www.dropbox.com/s/v0f2r74j0ewuc11/Metroreizen.xlsx?dl=0). Alle namen van personen en van metrostations staan in de tabel Reizen. Dat willen we niet, we willen dat alle namen maar een keer voorkomen. Dat doen we in deze stappen: + +**Stap 1.** Ga naar de tabel Personen en geef iedere persoon een eigen nummer. Er staat er al eentje voor je klaar: Nummer 1 is Joy + +**Stap 2.** Ga naar de tabel Stations en geef iedere station een eigen nummer. Er staat er al eentje voor je klaar: Nummer 1 is Gerdesiaweg + +{% hint style="info" %} +Je hoeft niet alle data over te typen! Je kunt de hele kolom met namen kopiëren en dan met 'Duplicaten verwijderen' alleen de unieke namen overhouden. +{% endhint %} + +**Stap 3.** Ben je klaar met alle nummers? Vervang dan met cltr-h alle namen steeds. Dus Joy door 1, Raheem door 2 etc. + +**Opdracht 2) Eredivisie data splitsen in meerdere tabellen** + +Splits ook [data van de eredivisie](https://www.dropbox.com/s/cd1caftox88zxuq/eredivisie-2020.xlsx?dl=0) in meerdere tabellen. Er staan geen tabellen voor je klaar, dus die moet je zelf verzinnen en invullen. Je weet dat je klaar bent als er geen teksten meerdere keren voorkomen (namen van scheidsrechters en teams) + +**Opdracht 3) Splits de quizdata** + +Ga nu naar het spreadsheet waarin jij jouw quizvragen hebt opgeslagen. Splits dat zelf in de juiste tabellen uit. + +**Opdracht 4) Verzin je eigen data!** + +Je mag nu helemaal zelf wat data verzinnen! Je zet je eigen data meteen op de goede manier in verschillende tabellen. + +Denk bijvoorbeeld aan: + +* Wedstrijden van jouw favoriete sport +* Karakters uit games of series met hun eigenschappen (Pokemon bijv) +* Bekende zangers of zangeressen, hun liedjes en positie in de top-40 + +Of iets heel anders natuurlijk! Je kunt ook op [https://www.kaggle.com/datasets](https://www.kaggle.com/datasets) kijken ter inspiratie.\ +\ +Je mag de data zelf verzinnen, maar het moet wel een beetje realistisch zijn. + +Ben je klaar? Hier weer de controle of het goed is: + +* In iedere tabel staat een kolom met unieke nummers +* Ieder woord of zin komt maar 1 keer voor in het hele bestand +* Op andere plekken waar die data nodig is, staat het nummer dat bij het woord of de zin hoort + +**Opdracht 5) Aardbevingen (X)** + +Ga weer terug naar de [Aardbevingendataset](https://www.dropbox.com/s/6f0xrn4knxb5lvz/earthquakes-kaggle-1000.xlsx?dl=0). + +Selecteer een, twee of drie kolommen van de data. Kies nu een grafieksoort bij Invoegen, Grafieken. Kies zelf maar iets uit! + +Kijk nu goed naar de grafiek. Is deze grafiek nuttig? Waarom wel of niet? + +Denk bijv aan: + +* Box and whiskersplot van diepte +* Box and whiskersplot van magnitude +* Box and whiskersplot van tijd +* Spreiding van latitude en longitude +* Lijngrafiek van magnitude +* Lijngrafiek van diepte + +**Opdracht 6) Grafieken op formules (X)** + +Deze opdracht gaat weer over grafieken op de aardbevingendataset. + +Als data in Excel letters of woorden zijn, en geen getallen, dan kun je geen grafiek maken. Je moet dan eerst formules schrijven om de data om te zetten. Daaruit komen cijfers en die kun je dan in een grafiek gebruiken. + +Maak formules voor deze zaken: + +* Een staafgrafiek met het aantal aardbevingen en het aantal ontploffingen +* Een staafgrafiek met het aantal aardbevingen voor ieder meetstation +* Het aantal aardbevingen boven en onder magnitude 6 +* Het aantal aardbevingen boven en onder magnitude 200 meter diepte diff --git a/module-3.1-spreadsheets/les-6/README.md b/module-3.1-spreadsheets/les-6/README.md new file mode 100644 index 0000000..d760324 --- /dev/null +++ b/module-3.1-spreadsheets/les-6/README.md @@ -0,0 +1,16 @@ +# Les 6 en 7 + +## Slides + +[Module Spreadsheets, les 6](https://slides.com/felienne/pidk-k3-m1-l6)\ +[Module Spreadsheets, les 7](https://slides.com/felienne/pidk-k3-m1-l7/) + +## Leerdoelen + +* Tabellen koppelen met VERT.ZOEKEN + +## Instructies voor de leerkracht + +Met VERT.ZOEKEN kun je tabellen weer aan elkaar koppelen. Dat is een mooie voorbereiding op die koppeling in databases in de module die hierop volgt. Sommige leerlingen vinden dit echt lastig, dus neem er goed de tijd voor. Ik heb hier vorig jaar twee lessen aan besteed, met [nog een extra slidedeck](https://slides.com/felienne/pidk-k3-m1-l7/). + +De extra opdrachten van les 4 kunnen hier ook nog ingezet worden. diff --git a/module-3.1-spreadsheets/les-6/les-6b.md b/module-3.1-spreadsheets/les-6/les-6b.md new file mode 100644 index 0000000..abd6ec1 --- /dev/null +++ b/module-3.1-spreadsheets/les-6/les-6b.md @@ -0,0 +1,70 @@ +# Les 6b + +**Opdracht 1) Boekdata koppelen** + +Zoek je eigen boekenwinkelbestand van twee lessen geleden week op. + +Zet nu in de tabel Boekverkopen een nieuwe kolom neer en noem die: Titel. + +Zet nu in die kolom een VERT.ZOEKEN en koppel deze kolom met de tabel Boekverkopen. + +{% hint style="info" %} +Kijk op je formulespiekbrief als je de formule niet meer goed weet. +{% endhint %} + +Als je het goed hebt gedaan, dan ziet je spreadsheet er net zo uit als aan het begin van het jaar! Alleen nu kun je de data op een plek veranderen. + +**Opdracht 2) Metrodata koppelen** + +Zoek je eigen metrobestand van vorige les op. + +Zet nu naast iedere kolom met een nummer een nieuwe kolommen. Dat zijn voor de metro drie nieuwe kolommen: Personen Van Naar. + +{% hint style="info" %} +let op! Van en Naar horen allebei bij de tabel station +{% endhint %} + +Zet nu in alledrie de nieuwe kolommen een VERT.ZOEKEN. Als je het goed hebt gedaan, dan ziet je spreadsheet er net zo uit als aan het begin van het jaar! Alleen nu kun je de data op een plek veranderen. + +**Opdracht 3) Quizdata koppelen** + +Open jouw eigen bestand met quizvragen. Heb je geen eigen bestand meer? Gebruik dan [dit bestand](https://www.dropbox.com/s/u8ixhte1840qtb3/Quizdata-genormaliseerd.xlsx?dl=0). Kijk goed welke kolommen er allemaal getallen hebben. Die getallen horen bij andere tabellen! + +Schrijf eerst een goed op welke getallen bij welke tabel horen. + +Maak nu extra kolommen en zet in die kolommen een VERT.ZOEKEN om ze te koppelen. + +**Opdracht 4) Voetbaldata koppelen** + +Koppel ook de juiste tabellen in de data van de voetbalwedstrijden. Bekijk zelf goed waar de kolommen moet komen. + +**Opdracht 5) Investeringen analyseren (X)** + +Bekijk de data van verschillende [investeringen](https://www.dropbox.com/s/dx7e7o2koszwovl/SP500%20oil%20gold%20bitcoin.xlsx?dl=0). In de spreadsheet is de prijs weergegeven van de Bitcoin, olie, goud en de S\&P500 (De S\&P500 is een aandelenindex van de 500 grootste Amerikaanse bedrijven). Voer de volgende taken uit + +1. Maak een grafiek met op de y-as de waarde van een investering en de x-as de tijd. Doe dit voor iedere kolom. Lukt het om alle data in één grafiek te krijgen? +2. Welke investering is het meest in waarde gestegen? Welke het minst? +3. Stel je had op 5 april 2015 1000 euro in Brent Oil geïnvesteerd. Wanneer was het beste moment om dit te verkopen? +4. Stel je had op 9 november 2021 100 euro in Bitcoin geïnvesteerd, hoeveel heb je dan op 18 juni 2022 nog over? +5. Stel je had op 1 januari 2015 100 euro in Goud en 100 euro in de S\&P500 geïnvesteerd. Hoeveel heb je daar op 18 juni 2022 nog van over? +6. Stel je had op 1 januari 2018 1000 euro kunnen investeren. Waar had je dat dan het beste in kunnen investeren zodat je op 18 juni 2022 zoveel mogelijk geld had gewonnen? + +**Opdracht 6) Sparklines (X)** + +Voor deze opdracht mag je een Sparklines grafiek proberen te maken. Sparklines is een grafiek die je in 1 cel maakt. Je maakt het via **Invoegen - Sparklines** (Dus niet onder Grafiek!) + +Dan kies je eerst de data waarvan je de grafiek wilt maken, en daarna de cel waarin je de sparklines grafiek wilt zetten. + +Schrijf dan in Python op wat je gemaakt hebt, en wat je ziet aan de grafiek. + +Probeer er maar eens een paar te maken, dat mag op de cijfers of op de data van de aardbeving. + +**Opdracht 7) Voorwaardelijke Opmaak (X)** + +Voor deze opdracht ga je gebruik maken van Voorwaardelijke Opmaak. Dat betekent dat cellen een bepaalde kleur krijgen, afhankelijk van hun waarde. + +Selecteer een hele kolom met data en kies dan Voorwaardelijke Opmaak in het midden van de menubalk. + +Schrijf dan in Python op wat je gemaakt hebt. Bijvoorbeeld: welke soort opmaak je hebt gekozen (Gegevensbalk of kleurenschool of pictogrammen) en wat je ziet aan de kleuren. + +Probeer er maar eens een paar te maken, dat mag op de cijfers of op de data van de aardbeving. diff --git a/module-3.1-spreadsheets/les-7/README.md b/module-3.1-spreadsheets/les-7/README.md new file mode 100644 index 0000000..ffe36dd --- /dev/null +++ b/module-3.1-spreadsheets/les-7/README.md @@ -0,0 +1,25 @@ +# Les 8 - Eindopdracht + +## Slides + +[Module Spreadsheets, les 8](https://slides.com/felienne/pidk-k3-m1-l8) + +## Leerdoelen + +* Zelf een klant zoeken met een Excelsheet +* Die Excelsheet goed beschrijven +* Die Excelsheet verbeteren + +## Instructies voor de leerkracht + +In deze meerweekse opdracht gaan leerlingen zelf een Excelsheet zoeken en verbeteren. De opdracht werkt in vier fases: + +0\. Excelsheet zoeken (1 week)\ +1\. Verslag maken over de Excelsheet (2 weken)\ +2\. Verbetering bedenken en overleggen met klant (2 weken)\ +3\. Verbeteringen doorvoeren (2 weken) + +De fases kunnen een beetje in elkaar overlopen, dat is niet zo heel erg, maar zorg wel dat lln eerst nadenken en dan pas formules gaan maken. Anders verzinnen ze soms onhaalbare dingen. + + + diff --git a/module-3.1-spreadsheets/les-7/les-8b.md b/module-3.1-spreadsheets/les-7/les-8b.md new file mode 100644 index 0000000..ed6e9e5 --- /dev/null +++ b/module-3.1-spreadsheets/les-7/les-8b.md @@ -0,0 +1,34 @@ +# Les 8b + +**Fase 0) Klant zoeken** + +Zoek iemand die ergens Excel voor gebruikt (deze week!) + +**Fase 1) Excelsheet beschrijven** + +Beschrijf in deel 1 van je verslag: + +* Van wie is deze Excel? +* Wat doet die persoon ermee? +* Welke tabellen zitten er in de Excel +* Welke formules worden gebruikt? + +**Fase 2) Verbeteringen Excelsheet verzinnen** + +Vraag aan de klant wat er beter kan. + +Beschrijf in deel 2 van je verslag: + +* Wat kun jij zelf verzinnen dat beter kan? +* Wat wil de klant nog verbeteren? + +**Fase 3) Maak de verbeteringen** + +Inleveren deel 3 verslag: + +* Wat heb je verbeterd? +* Wat heb je toegevoegd? +* Hoe heb je dat aangepakt? +* Was de klant blij? + +Inleveren Excelsheet. diff --git a/module-3.2-databases/README.md b/module-3.2-databases/README.md new file mode 100644 index 0000000..c307292 --- /dev/null +++ b/module-3.2-databases/README.md @@ -0,0 +1,23 @@ +# Module 3.4 - Databases + +## Instructie voor de leerkracht + +Het idee van deze module is dat leerlingen kennis maken met databases en de daarbij behorende programmeertaal SQL. Het kan heel nuttig zijn om leerlingen extra te laten oefenen met [CodeAcademy](https://www.codecademy.com/learn/learn-sql). + +In deze module bouwen we sterk voort op module 3.1, we gebruiken bijvoorbeeld dezelfde datasets en opdrachten. Dat is bewust zo gedaan zodat leerlingen niet veel meer over de context hoeven na te denken en zich volledig kunnen concentreren op de SQL commando's. + +## Doelen van deze module + +Meer oefenen met bekende concepten: + +* SQL commando's (SELECT, FROM, WHERE, INSERT, UPDATE, DELETE) +* Het combineren van SQL and Python + +## Slides + +Alle slides voor deze module staan [hier bij elkaar](https://slides.com/felienne/decks/python-in-de-klas-module-3-2). + + + + + diff --git a/module-3.2-databases/les-1/README.md b/module-3.2-databases/les-1/README.md new file mode 100644 index 0000000..68a4f8d --- /dev/null +++ b/module-3.2-databases/les-1/README.md @@ -0,0 +1,17 @@ +# Les 1 + +## Slides + +[Module Database, les 1](https://slides.com/felienne/pidk-k3-m2-l1) + +### Leerdoelen + +* Kennismaken met SQL +* select \* en select meerdere kolommen +* Commentaar gebruiken in SQL met -- + +## Instructies voor de leerkracht + +Deze les maakt de start met databases in SQL. Het bouwt verder op wat leerlingen al weten uit Module 1 van Jaar 3, in de les trekken we veel parallellen met Excel en Python. + +## diff --git a/module-3.2-databases/les-1/les-1a.md b/module-3.2-databases/les-1/les-1a.md new file mode 100644 index 0000000..8f49e2c --- /dev/null +++ b/module-3.2-databases/les-1/les-1a.md @@ -0,0 +1,2 @@ +# Les 1a + diff --git a/module-3.2-databases/les-1/les-1b.md b/module-3.2-databases/les-1/les-1b.md new file mode 100644 index 0000000..9bca4ab --- /dev/null +++ b/module-3.2-databases/les-1/les-1b.md @@ -0,0 +1,50 @@ +# Les 1b + +**1) Print alle cijferdata** + +Dit is je eerste SQL opdracht. Fork eerst [dit programma](https://replit.com/@mevrHermans/Pidk-K3-M2-L1b-1). + +Verander alleen de code in `main.sql`. Verander niets aan database.sql! + +Zorg ervoor dat **alle data** uit de tabel cijfers geprint wordt. Er is al wat code voor je klaargezet, jij hoeft alleen op de streepjes code in te vullen: + +```sql +.print __ +select __ +from __ +``` + +**2) Print naam en gemiddelde** + +Dit is je tweede SQL opdracht. Verander weer alleen de code in `main.sql`, niet in `database.sql`! + +Zorg ervoor dat **naam en gemiddelde** uit de tabel cijfers geprint wordt. Er is al weer code voor je klaargezet, jij hoeft alleen op de streepjes code in te vullen: + +```sql +.print __ +select __ +from __ +``` + +**3) Print alle drie de toetsen** + +Verander de code in `main.sql` weer, maar verander nog steeds niets aan `database.sql`! + +Zorg ervoor dat **de data van de drie toetsen** uit de tabel cijfers geprint wordt. Deze keer moet jij de code helemaal zelf schrijven. + +**4) Data toevoegen (X)** + +Ben je klaar met de cijferdata? Duik dan eens in de insert code. Met deze code maak je zelf een tabel. Begin met [dit programma](https://replit.com/@mevrHermans/Pidk-K3-M2-L4b). + +Met create maak je een tabel aan, en met insert voeg je data toe. + +Kun jij deze dingen doen? + +* Een nieuwe rij erbij met data voor een nieuwe leerling: + +Naam: Piet Geslacht: J Toetsen: 8, 9, 6 + +* Je krijgt alleen de data voor de drie toetsen. Reken het gemiddelde en de voldoende/onvoldoende zelf uit. +* Een nieuwe kolom erbij voor een vierde toets? Verzin de data zelf. Zoek dan met Google maar uit hoe je bestaande data in een tabel kan aanpassen. + +\`\` diff --git a/module-3.2-databases/les-2/README.md b/module-3.2-databases/les-2/README.md new file mode 100644 index 0000000..7402f28 --- /dev/null +++ b/module-3.2-databases/les-2/README.md @@ -0,0 +1,14 @@ +# Les 2 + +## Slides + +[​Module Database, les 2​](https://slides.com/felienne/pidk-k3-m2-l2) + +## Leerdoelen + +* Berekeningen in SQL: avg +* WHERE + +## Instructies voor de leerkracht + +Deze les maakt legt berekeningen in SQL uit aan de hand van het voorbeeld van gemiddelden, zoals in Excel. Ook de WHERE wordt in die context uitgelegd. diff --git a/module-3.2-databases/les-2/les-2b.md b/module-3.2-databases/les-2/les-2b.md new file mode 100644 index 0000000..ffc0fd2 --- /dev/null +++ b/module-3.2-databases/les-2/les-2b.md @@ -0,0 +1,108 @@ +# Les 2b + +**Opdracht 1) Formules** + +Open dit [programma](https://replit.com/@mevrHermans/Pidk-K3-M2-L2b-1). Gebruik nu formules om deze dingen te printen: + +* Het aantal aardbevingen in de dataset. + + Begin met deze code: + +```sql +.header on +.mode column + +.read database.sql + +.print 'Aantal aardbevingen' +select count(__) +from earthquakes; +``` + +* Gemiddelde magnitude. + + Begin met deze code: + +```sql +.header on +.mode column + +.read database.sql + +-- .print 'Gemiddelde magnitude' +-- select __ +-- from earthquakes; +``` + +* De minimale diepte. Schrijf deze query helemaal zelf. + +**Opdracht 2) Conditionele formules** + +Ook in deze opdracht werken we weer met de tabel van de aardbevingen, maar nu uit [dit programma](https://replit.com/@mevrHermans/Pidk-K3-M2-L2b-2). + +Let op! Er zitten nu meerdere soorten in de dataset: earthquakes en Nuclear Explosions. Dat zie je in de Kolom **Soort.** + +Maak formules voor deze zes berekeningen: + +1. Aantal rijen met magnitude groter dan 7 + + Begin met deze code: + + ```sql + .header on + .mode column + + .read database.sql + + -- 1) Aantal Nuclear Explosions + .print 'Aantal Nuclear Explosions' + select * + from earthquakes; + ``` +2. Aantal Nuclear Explosions +3. Gemiddelde magnitude van alle Nuclear Explosions +4. Gemiddelde latitude van alle Earthquakes +5. Gemiddelde longitude van alle Earthquakes +6. Aantal Earthquakes met magnitude groter dan 7 + +Tip: Voor query 6 heb je een 'and' nodig! + +**Opdracht 3)** + +Voer nu deze berekeningen uit voor een [dataset met toetsen](https://replit.com/@mevrHermans/Pidk-K3-M2-L2b-3). + +:warning:Let op! Deze data is anders dan in het voorbeeld op de slides. + +Maak formules voor deze zeven berekeningen: + +1. Totaal van alle cijfers van toets 3 +2. Gemiddelde cijfer van toets 2 +3. Gemiddelde cijfer van de voldoendes van toets 3 +4. Gemiddelde van de cijfers van meisjes voor toets 3 +5. Aantal jongens in de klas +6. Aantal jongens met een onvoldoende +7. Aantal cijfers onder de 8 bij Gemiddelde + +**Opdracht 4) Atletiekformules (X)** + +Ook deze dataset hebben we eerder gezien in Excel, open deze [hier](https://replit.com/@mevrHermans/Pidk-K3-M2-L2b-4). + +Maak formules voor deze zes berekeningen: + +1\) Hoeveel kinderen zijn er gekwalificeerd? + +2\) Wat is het gemiddelde aantal seconde dat alle kinderen over de hordeloop doen? + +3\) Hoeveel kinderen doen er minder dan 50 minuten over de 10 kilometer? + +4\) Wat is de gemiddelde afstand die meisjes halen met kogelstoten? + +5\) Hoeveel jongens doen minder dan 5 minuten over de 1 kilometer? + +6\) Wat is het aantal jongens dat niet gekwalificeerd is? + +Vond je dit niet zo lastig? Maak dan deze extra sommen ook! + +7\) Extra moeilijk: Wat is de snelste tijd op alledrie de afstanden bij elkaar? En wie heeft die snelste tijd behaald? Leg uit met commentaar hoe je het hebt uitgerekend. + +8\) Extra extra moeilijk! Als we kijken naar het hordelopen en kogelstoten samen, wie doet het dan het allerbeste? En hoe heb je dat bepaald? Leg uit met commentaar hoe je het hebt uitgerekend. diff --git a/module-3.2-databases/les-3/README.md b/module-3.2-databases/les-3/README.md new file mode 100644 index 0000000..8e5baa4 --- /dev/null +++ b/module-3.2-databases/les-3/README.md @@ -0,0 +1,16 @@ +# Les 3 + +## Slides + +[Module Database, les 3](https://slides.com/felienne/pidk-k3-m2-l3) + +### Leerdoelen + +* Werken met meerdere tabellen + +## Instructies voor de leerkracht + +In deze les gaan leerlingen tabellen aan elkaar koppelen op basis van een id, vergelijkbaar met de VLOOKUP/VERT.ZOEKEN in Excel + +## + diff --git a/module-3.2-databases/les-3/les-3b.md b/module-3.2-databases/les-3/les-3b.md new file mode 100644 index 0000000..d7b68c1 --- /dev/null +++ b/module-3.2-databases/les-3/les-3b.md @@ -0,0 +1,60 @@ +# Les 3b + +**1) Personen en metroreizen** + +Voor deze opdracht koppel je de tabellen Personen en Reizen aan elkaar zodat we goed kunnen zien wie er wanneer geeft gereisd. Er staat al wat code voor je klaar in [deze repl](https://replit.com/@mevrHermans/Pidk-K3-M2-L3b-1). + +**2) Stations en metroreizen** + +Voor deze opdracht koppel je de tabellen Personen en Stations aan elkaar zodat we goed kunnen zien wie waarnaar toe geeft gereisd. + +Je kan deze opdracht op 2 niveau's doen, kies zelf: + +* Makkelijk: Koppel alleen de kolom Van + +```sql +.print 'Reizen en Stations' +select * +from reizen, stations +-- where reizen.__ == stations.__ +``` + +:warning:Tip! Kopieer deze code en, en run eerst de code zonder regel 4, en kijk hoe welke kolommen bij elkaar horen. + +* Moeilijker: Koppel de tabel Stations twee keer en toon de naam van Van en van Naar. + +```sql +.print 'Reizen en Stations' +select Naam, stations_van.Naam, __.Naam +from reizen, stations as stations_van, stations as __ + + +``` + +:warning:Tip: Je moet stations twee keer in from zetten omdat het twee keer gekoppeld moet worden. -- Geef de tabel twee keer een andere naam, dat doe je met een `as`. + + + +**3) Scheidsrechters en namen** + +Voor deze opdracht gaan we met een nieuwe dataset werken. De database vind je [hier](https://replit.com/@mevrHermans/Pidk-K3-M2-L3b-3). Die dataset hebben we ook in Excel al gezien, het zijn voetbalwedstrijden met clubs en scheidsrechters. + +Voor deze opdracht koppel je wedstrijden aan scheidsrechters. Er staat nu geen code klaar, die schrijf je zelf. + + + +**4) Teams koppelen** + +Voor deze opdracht koppel je wedstrijden aan team. + +Ook deze opdracht kan je opdracht op 2 niveau's doen, kies zelf: + +* Makkelijk: Koppel alleen de kolom Team 1 +* Moeilijker: Koppel twee en toon de naam van Team 1 en van Team 2. + +Er staat nu geen code klaar, maak de queries zelf. + + + + + diff --git a/module-3.2-databases/les-4/README.md b/module-3.2-databases/les-4/README.md new file mode 100644 index 0000000..2c47268 --- /dev/null +++ b/module-3.2-databases/les-4/README.md @@ -0,0 +1,17 @@ +# Les 4 + +## Slides + +[Module Database, les 4](https://slides.com/felienne/pidk-k3-m2-l4) + +### Leerdoelen + +* Werken met meerdere tabellen (herhaling) + +## Instructies voor de leerkracht + +Deze les herhaalt de inhoud van les 3, omdat het best lastig bleek voor sommige leerlingen. Voor de snellere leerlingen zijn er extra opdrachten. + + + +## diff --git a/module-3.2-databases/les-4/les-4b.md b/module-3.2-databases/les-4/les-4b.md new file mode 100644 index 0000000..11ffbfc --- /dev/null +++ b/module-3.2-databases/les-4/les-4b.md @@ -0,0 +1,56 @@ +# Les 4b + +**1) Personen en metroreizen (herhaling)** + +Voor deze opdracht koppel je de tabellen Personen en Reizen aan elkaar zodat we goed kunnen zien wie er wanneer geeft gereisd. Er staat al wat code voor je klaar in [deze repl](https://replit.com/@mevrHermans/Pidk-K3-M2-L3b-1). + +**2) Stations en metroreizen (herhaling)** + +Voor deze opdracht koppel je de tabellen Personen en Stations aan elkaar zodat we goed kunnen zien wie waarnaar toe geeft gereisd. + +Je kan deze opdracht op 2 niveau's doen, kies zelf: + +* Makkelijk: Koppel alleen de kolom Van + +```sql +.print 'Reizen en Stations' +select * +from reizen, stations +-- where reizen.__ == stations.__ +``` + +:warning:Tip! Kopieer deze code en, en run eerst de code zonder regel 4, en kijk hoe welke kolommen bij elkaar horen. + +**3) Personen en metroreizen (X)** + +Voor sommigen van deze opdrachten moet je koppelen én ook formules gebruiken! + +Pluis zelf uit hoe dit moet. Maak dan deze queries: + +1. Het aantal reizen gemaakt door meisjes +2. Het aantal reizen naar Poortugaal +3. Het aantal reizen van en naar Poortugaal +4. De naam van de persoon die het vaakst naar Delfshaven is gereisd +5. In welke tijdsperiode reizen jongens het vaakst? + +* Nacht (van 00:00 tot 6:00) +* Ochtend (van 06:00 tot 12:00) +* Middag (van 12:00 tot 18:00) +* Avond (van 18:00 tot 0:00) + +**4)** **Queries over de voetbaldata (X)** + +Voor sommigen van deze opdrachten moet je koppelen én ook formules gebruiken! Pluis zelf uit hoe dit moet. Schrijf dan deze queries: + +1. Het aantal keren gelijkspel +2. Het gemiddelde verschil tussen de scores Tip: Daarvoor moet je de absolute waarde berekenen omdat soms de een groter is en dan de ander. Dat kan met ABS() +3. Het grootste verlies dat Scheidsrechter nummer 3 gefloten heeft + + Tip: Dit kan met of zonder koppelen, kies zelf wat je wilt + + Koppelen is natuurlijk moeilijker, dus leuker! +4. De grootste winst van Ado (Nu moet je wel koppelen!) +5. De naam van de scheidsrechter die het vaaks verlies gefloten heeft +6. De naam van de club die het vaakst gewonnen heeft +7. De naam van de club die het vaakst verloren heeft op zondag +8. De naam van de club die het vaakst verloren heeft op zondagavond (na 18:00 noemen we avond) diff --git a/module-3.2-databases/les-5/README.md b/module-3.2-databases/les-5/README.md new file mode 100644 index 0000000..39548d5 --- /dev/null +++ b/module-3.2-databases/les-5/README.md @@ -0,0 +1,18 @@ +# Les 5 + +## Slides + +[Module Database, les 5](https://slides.com/felienne/pidk-k3-m2-l5) + +### Leerdoelen + +* Tabellen maken met CREATE +* Dat invoegen met INSERT + +## Instructies voor de leerkracht + +In deze les maken leerlingen zelf tabellen en vullen ze die met data. + + + +## diff --git a/module-3.2-databases/les-5/les-5b.md b/module-3.2-databases/les-5/les-5b.md new file mode 100644 index 0000000..9455fb2 --- /dev/null +++ b/module-3.2-databases/les-5/les-5b.md @@ -0,0 +1,118 @@ +# Les 5b + +**Opdracht 1a) Maak de tabel personen** + +Deze tabel krijgt de kolommen: nummer, voornaam en geslacht. Kopieer deze code en vul deze zelf aan op de streepjes. + +```sql +create table __( + Persoonsnummer __, + __ TEXT, + __ TEXT +); +``` + +Tip! deze code print alle tabellen uit. Als je het goed doet, komt er **personen** in beeld. + +```sql +.tables +``` + +**Opdracht 1b) Maak de andere metro-tabellen** + +Maak nu de andere tabellen voor de metroreizen + +Het moet er zo uitzien: + +Tabel: **personen** met kolommen: nummer, voornaam en geslacht + +Tabel: **stations** met kolommen: nummer en naam + +Tabel: **reizen** met kolommen: persoonsnummer, datum, tijd, van, naar + +Vul deze code weer aan op de streepjes: + +```sql + +CREATE TABLE personen( + __ __, + __ __, + __ __ +); + +CREATE TABLE stations( + __ __, + __ __ +); + +CREATE TABLE reizen( + __ __, + datum DATE, + tijd TIME, + __ __, + __ __ +); +``` + +Gebruik weer .`tables` om je tabellen te bekijken om te zien of alles gelukt is. Als je het goed doet, komt er **personen reizen stations** in beeld. + +**2) Data toevoegen** + +Nu we de tabellen hebben gemaakt kunnen we de tabellen vullen met data. Werk verder in je programma van opdrachten 1a en 1b. + +Begin met deze code, en voeg in iedere tabel nog minstens 5 rijen toe. Je mag de data zelf verzinnen of overnemen uit de [slides van les 3](https://slides.com/felienne/pidk-k3-m2-l3#/19). + +```sql +insert into personen values(1, _, _); + +insert into stations values(38, __); + +insert into reizen values('09/06/20', '10:48:00', __, __, __); +``` + +:warning: Tip? Ben je klaar? Gebruik deze codes om je tabellen te bekijken: + +```sql +-- select * +-- from personen; + +-- select * +-- from stations; + +-- select * +-- from reizen; +``` + +**Opdracht 3) Voetbaltabellen** + +Begin nu een nieuw programma voor de voetbaldata. + +Maak daarin de drie tabellen aan voor de voetbalwedstrijden. Je moet nu zelf de kolommen allemaal invullen + +Tabel: **teams**, kolommen: teamnummer en Naam + +Tabel: **scheidsrechters**, kolommen: nummer en Naam + +Tabel: **wedstrijden**, kolommen: date, time, scheidsrechtersnummer, team\_1, team\_2, goals\_1, goals\_2 + +Verzin zelf de code. Als je het goed doet, komt er na het commando `.tables` dit in beeld: **scheidsrechters teams wedstrijden** + +**4) Tabellen vullen voetbal** + +Vul nu ook de voetbaltabellen met data. Verzin de data zelf of gebruik de laatste echte wedstrijden uit de eredivisie of het WK! + +**5) Even terug naar het koppelen van data (X)** + +Ga terug naar je programma over de metrodata. + +Koppel nu jouw eigen drie tabellen van de metroreizen aan elkaar. + +Koppel 1x reizen aan personen om de naam van reizigers op te zoeken, en 2x reizen aan stations om de namen van stations te zoeken. + +Selecteer ook de juiste kolommen! Als je dan een select schrijft, moet er zoiets uitkomen (maar dan natuurlijk voor jouw eigen data): + +**Jan, Nesselande, Beurs** + +**Piet, Coolhaven, Oostplein** + +:warning: Tip? Je moet stations twee keer in from zetten omdat het twee keer gekoppeld moet worden. Geef de tabel twee keer een andere naam. diff --git a/module-3.2-databases/les-6/README.md b/module-3.2-databases/les-6/README.md new file mode 100644 index 0000000..8d21ad7 --- /dev/null +++ b/module-3.2-databases/les-6/README.md @@ -0,0 +1,13 @@ +# Les 6 + +## Slides + +[Module Database, les 6](https://slides.com/felienne/pidk-k3-m2-l6) + +### Leerdoelen + +* Data in een tabel aanpassen + +## Instructies voor de leerkracht + +In deze les veranderen leerlingen data in een tabel met een SQL UPDATE code. diff --git a/module-3.2-databases/les-6/les-6b.md b/module-3.2-databases/les-6/les-6b.md new file mode 100644 index 0000000..95ea840 --- /dev/null +++ b/module-3.2-databases/les-6/les-6b.md @@ -0,0 +1,30 @@ +# Les 6b + +**Opdracht 1) Clement** + +Verander de naam Clemens in Clement. Er staat al wat code voor je klaar in [deze repl](https://replit.com/@mevrHermans/Pidk-K3-M2-L6b-1). + +Pas de eerste regel van deze code aan zodat de naam veranderd wordt: + +```sql +select * <--- hier moeten andere codes komen +from personen +where persoonsnummer = 5; +``` + +**Opdracht 2) Ander geslacht voor Jordi** + +Werk verder in de fork die je al hebt. \ +\ +Verander het geslacht van Jordi van J in M. Kijk eerst zelf goed wat er in de tabel zit, zoek daarbij zelf het persoonsnummer op om in de where te gebruiken.\ + + +**Opdracht 3) Meisjes -> V Jongens -> M** + +Het is gebruikelijker om niet de J van jongens te gebruiken, maar de M van man. Voor meisjes gebruiken we juist de V van vrouw en niet de M van meisje. Verander jij de data voor alle regels? + +A (anders) mag A blijven. + +{% hint style="info" %} +Let op! Verander eerst de M in een V! Anders wordt alles M en weet je het verschil niet meer. +{% endhint %} diff --git a/module-3.2-databases/les-7/README.md b/module-3.2-databases/les-7/README.md new file mode 100644 index 0000000..a680ae9 --- /dev/null +++ b/module-3.2-databases/les-7/README.md @@ -0,0 +1,14 @@ +# Les 7 + +## Slides + +[Module Database, les 7](https://slides.com/felienne/pidk-k3-m2-l7) + +### Leerdoelen + +* Python & SQL samen gebruiken +* Introductie bedrijfsopdracht + +## Instructies voor de leerkracht + +In deze les leren leerlingen hoe ze SQL en Python kunnen combineren om vanuit Python een database te gebruiken. Ook leggen we de afsluitende opdracht uit van deze module. diff --git a/module-3.2-databases/les-7/les-7b.md b/module-3.2-databases/les-7/les-7b.md new file mode 100644 index 0000000..33e2908 --- /dev/null +++ b/module-3.2-databases/les-7/les-7b.md @@ -0,0 +1,48 @@ +# Les 7b + +**Opdracht** **1) Invoeren vanuit Python** + +Maak het programma van de slides zelf ook: zorg dat de gebruiker naam en geslacht kan invoeren. Begin met [deze repl](https://replit.com/@OnnoEbbens/Pidk-K3-M2-L7a-2#main.py). + +De database heeft al een autoincrement, dat hoef jij (nog) niet in te stellen. + +**Opdracht 2) Tabel maken en invoeren vanuit Python** + +Maak het programma van de slides zelf ook: zorg dat de gebruiker naam en geslacht kan invoeren. + +In opdracht 2 is er nog geen tabel aangemaakt in de database. Dat moet jij zelf doen, en je moet daar ook de autoincrement voor gebruiken, zodat de id vanzelf opgehoogd wordt.\ +\ +Begin met [deze repl](https://replit.com/@mevrHermans/Pidk-K3-M2-L7b-2). + +1. Voer eerst de `create` uit, dat hoeft maar een keer (daarna is de tabel aangemaakt) \` +2. Maak dan de rest van de code af, die moet je nog wel even 'aan' zetten, door de # eraf te halen. + +**Opdracht** **3) Alle metroreizen(X)** + +Maak een nieuw Pythonprogramma aan in repl.it. Zet op de eerste regel deze code: `import sqlite3` + +Nu kun je vanuit Python ook database codes aanspreken zoals in opdracht 1 en 2. + +{% hint style="info" %} +Met de code `sqlite3 database.db` kan je je database testen via de shell +{% endhint %} + +Maak nu alle drie de tabellen van de metroreizendataset. De gebruiker moet personen en stations kunnen invoeren. Ook moet de gebruiker de tabel reizen kunnen vullen met reizen van een persoon van en naar een station. + +Tip: Print alle namen en stations uit met Python. Zoek zelf uit hoe dat moet. Dan kan de gebruiker gewoon de nummers invoeren. + +**Opdracht 4) PyGame & Invoeren (X)** + +WErk verder in je replit van opdracht 3, maar voeg bovenaan deze code in: + +`import pygame` + +Nu kan je SQL en Pygame allebei gebruiken in een programma! + +Maak nu een mooie 'user interface' in PyGame waarin de data kan worden ingevoerd. Maak bijv: + +* een knop Invoeren +* een knop Aanpassen +* Een knop Laat alle data zien + +Schrijf dan bijbehorende queries. Je mag de queries laten zien met print, of, extra moeilijk op het PyGame scherm zelf met een blit. diff --git a/module-3.2-databases/les-8.md b/module-3.2-databases/les-8.md new file mode 100644 index 0000000..09e65cd --- /dev/null +++ b/module-3.2-databases/les-8.md @@ -0,0 +1,15 @@ +# Les 8 + +## Slides + +[Module Database, les 8](https://slides.com/felienne/pidk-k3-m2-l8) + +### Leerdoelen + +* Python & SQL samen gebruiken +* Antwoorden van een SELECT query verwerken in Python +* Introductie bedrijfsopdracht + +## Instructies voor de leerkracht + +In deze les leren leerlingen hoe ze SQL en Python kunnen combineren voor een SELECT query die een resultaat oplevert. Ook leggen we de afsluitende opdracht van deze module nogmaals uit. diff --git a/module-3.2-databases/les-8/README.md b/module-3.2-databases/les-8/README.md new file mode 100644 index 0000000..09e65cd --- /dev/null +++ b/module-3.2-databases/les-8/README.md @@ -0,0 +1,15 @@ +# Les 8 + +## Slides + +[Module Database, les 8](https://slides.com/felienne/pidk-k3-m2-l8) + +### Leerdoelen + +* Python & SQL samen gebruiken +* Antwoorden van een SELECT query verwerken in Python +* Introductie bedrijfsopdracht + +## Instructies voor de leerkracht + +In deze les leren leerlingen hoe ze SQL en Python kunnen combineren voor een SELECT query die een resultaat oplevert. Ook leggen we de afsluitende opdracht van deze module nogmaals uit. diff --git a/module-3.2-databases/les-8/les-8b.md b/module-3.2-databases/les-8/les-8b.md new file mode 100644 index 0000000..21f8ca8 --- /dev/null +++ b/module-3.2-databases/les-8/les-8b.md @@ -0,0 +1,25 @@ +# Les 8b + +**Opdracht** **1) SELECT in Python** + +Je gaat nu, net als in de slides, bij iedere keer dat er een nieuw persoon wordt ingevoerd de hele database printen. + +Gebruik hiervoor je resultaat van les 7b opdracht 1. + +**Opdracht** **2) Een betere user experience** + +Nu krijgt de gebruiker steeds maar weer die hele tabel in beeld. Dat wil die misschien helemaal niet! + +We gaan de gebruiker dus de keuze geven, wil hij invoeren of zien wat er in de database zit? + +Gebruik je code van opdracht 1 + +**Opdracht** **3) PyGame & invoeren (X)** + +Maak nu een mooie 'user interface' in PyGame waarin de data kan worden ingevoerd. Maak bijv: + +* een knop "Invoeren" +* een knop "Aanpassen" +* een knop "Laat alle data zien" + +Schrijf dan bijbehorende queries. Je mag de queries laten zien met print, of, extra moeilijk op het PyGame scherm zelf met een blit. diff --git a/module-3.3-woordenoefenapp/README.md b/module-3.3-woordenoefenapp/README.md new file mode 100644 index 0000000..0baed18 --- /dev/null +++ b/module-3.3-woordenoefenapp/README.md @@ -0,0 +1,21 @@ +# Module 3.2 - TKinter Woordenoefenapp + +## Instructie voor de leerkracht + +Het idee van deze module is dat leerlingen een eigen app gaan maken om woordjes mee te oefenen. + +## Doelen van deze module + +Meer oefenen met bekende concepten: + +* Lijsten +* While loops + +Leren: + +* Dictionaries +* csv files verwerken met een csv-reader/writer + +## Slides + +Er zijn (nog) geen slides voor deze module diff --git a/module-3.3-woordenoefenapp/les-1/README.md b/module-3.3-woordenoefenapp/les-1/README.md new file mode 100644 index 0000000..6e4883d --- /dev/null +++ b/module-3.3-woordenoefenapp/les-1/README.md @@ -0,0 +1,18 @@ +# Les 1 + +## Slides + +[Woordenapp, les 1](https://slides.com/felienne/pidk-k3-m3-l1) + +### Leerdoelen + +* Dictionaries gebruiken +* Een csv-bestand inlezen en uitlezen als dictionary + +## Instructies voor de leerkracht + +In deze les leren leerlingen een csv-bestand openen met een csv-reader dat ook headers heeft. + +Ik zou aanraden om eerst het eerste stuk van de les over dictionaries uit te leggen, dan lln opdracht 1 en 2 te laten doen en dan pas het csv inlezen te behandelen omdat dat toch best ingewikkeld is en het handig is als ze de dicntionaries dan al eens gezien hebben. + +Het eindproduct van opdracht 4 is ongeveer [dit programma](https://replit.com/@mevrHermans/pidk-k3-m3-l1-einde). Daaraan werken lln volgende les weer verder. diff --git a/module-3.3-woordenoefenapp/les-1/les-1b.md b/module-3.3-woordenoefenapp/les-1/les-1b.md new file mode 100644 index 0000000..794a3d8 --- /dev/null +++ b/module-3.3-woordenoefenapp/les-1/les-1b.md @@ -0,0 +1,27 @@ +# Les 1b + +**Opdracht 1) Ophalen uit een dictionary** + +Ga naar [deze replit](https://replit.com/@mevrHermans/pidk-k3-m3-l1b1) en maak de code af zodat er eerst **Hallo Piet de Vries** geprint wordt. + +Maak dan de code helemaal af door de hekjes weg te halen, en zorg dat er ook **Achmed el Hamoui** geprint wordt. + +**Opdracht 2) Dictionary invullen** + +Ga nu naar [deze replit](https://replit.com/@mevrHermans/pidk-k3-m3-l1b2) en maak de code weer in twee stapjes af. Zorg eerst dat **Het spel voetbal speel je met 22 spelers** geprint wordt. + +Maak dan de code helemaal af door de hekjes weg te halen, en zorg dat er ook **Het spel schaken speel je met 2 spelers** geprint wordt. + +**Opdracht 3) Quizdata inlezen uit een bestand** + +Ga naar [deze replit](https://replit.com/@mevrHermans/pidk-k3-m3-l1b3) en vul de codes op de streepjes aan, zodat de vragen weer goed uitgeprint worden. Er moet dus steeds geprint worden:\ +\ +"Vraag 1 is ..." en dan op de stipjes de vraag. + +Tip: Kijk goed in de csvfile hoe de kolommen heten! + +**Opdracht 4) Woordjesdata inlezen** + +We gaan nu een begin maken met de woordjesoefenapp! Ga naar [deze replit](https://replit.com/@mevrHermans/pidk-k3-m3-l1b4#main.py) en lees het bestand met woorden in. Je moet zorgen dat het woord steeds geprint wordt, en na een paar tellen het bijbehorende antwoord. Voor die pauze staat al een `time.sleep(1)` in de code. + +Is de pauze te kort voor jou? Verander dan de 1 in een hoger getal. diff --git a/module-3.3-woordenoefenapp/les-2/README.md b/module-3.3-woordenoefenapp/les-2/README.md new file mode 100644 index 0000000..6602b01 --- /dev/null +++ b/module-3.3-woordenoefenapp/les-2/README.md @@ -0,0 +1,18 @@ +# Les 2 + +## Slides + +Nog geen slides beschikbaar + +### Leerdoelen + +* Herhalen van het `break` commando om een lus te stoppen. +* Een dictionary opslaan in een csv-bestand + + + +## Instructies voor de leerkracht + +In deze les leren leerlingen een csv-bestand opslaan met headers. + +Het eindproduct van opdracht 4 is ongeveer [dit programma](https://replit.com/@mevrHermans/pidk-k3-m3-l1-einde). Daaraan werken lln volgende les weer verder. diff --git a/module-3.3-woordenoefenapp/les-2/les-2b.md b/module-3.3-woordenoefenapp/les-2/les-2b.md new file mode 100644 index 0000000..8377a6c --- /dev/null +++ b/module-3.3-woordenoefenapp/les-2/les-2b.md @@ -0,0 +1,51 @@ +# Les 2b + +De app die we gaan maken kent straks twee fases: + +1. Woorden selecteren +2. Woorden oefenen + +In deze les gaan we alleen nog aan het stuk van woorden selecteren werken. + +**Opdracht 1) Stoppen met woorden laten zien** + +Begin met [deze repl](https://replit.com/@mevrHermans/pidk-k3-m3-l2b1-1). Voeg nu en if-elif-in voor deze 3 gevallen: + +1. Het anwoord is ja -> print **goed zo** +2. Het antwoord is nee -> print **jammer** +3. Het antwoord is stoppen -> stop de loop met `break` + +**Opdracht 2) Antwoord opslaan in een dict** + +Nu we weten welke woorden de gebruiker wel en niet kent, gaan we de antwoorden opslaan in een de dictionary die bij de rij hoort. Dat doen we in een nieuw veld: 'bekend'. Zo sla je iets in dat veld op: + +`rij['bekend'] = 'ja'` + +Sla nu ja op in het veld bekend als de gebruiker ja type en nee als hij nee typt. \ +\ +Je mag de prints laten staan als je wilt, dat kan handig zijn om te _debuggen_. + +**Opdracht 3) Dict opslaan in een bestand** + +Iedere rij in de ductionary heeft nu een extra veldje 'Bekend'. Dat wordt een extra kolom in het csv bestand. + +Plak deze code onderaan je bestand, buiten de loop (dus zonder inspringen!) + +Maak de code nu af door op de streepjes de kolommen in de vullen en een nieuwe bestandnaam + +``` +# sla de woorden weer op met ja of nee in de laatste kolom +headers = [____, _____, _____, _____] #vul hier de kolomnamen in, de bestaande kolommen PLUS 'Bekend' + +with open(___, 'w') as csvfile: #kies hier een nieuwe bestandsnaam + writer = csv.DictWriter(csvfile, fieldnames=headers) + writer.writeheader() + writer.writerows(woordlijst) +``` + +Voer de code uit en kijk of alles goed is gegaan, met andere woorden of jouw data in het nieuwe bestand staat. Zo ziet het er uit als alles goed is (maar bij jou kunnen de ja's en nee's natuurlijk op andere plekken staan) + +![](<../../.gitbook/assets/image (13).png>) + +In opdracht 1 heb je naar 3 mogelijkheden gekeken, maar soms maakt een gebruiker een typfout. Geef de melding "onbekende invoer" als de gebruiker iets invoert dat niet _ja_, _nee_ of _stoppen_ is. + diff --git a/module-3.3-woordenoefenapp/les-3/README.md b/module-3.3-woordenoefenapp/les-3/README.md new file mode 100644 index 0000000..e22a354 --- /dev/null +++ b/module-3.3-woordenoefenapp/les-3/README.md @@ -0,0 +1,18 @@ +# Les 3 + +## Slides + +Nog geen slides beschikbaar + +### Leerdoelen + +* Herhalen van: + * het maken van een functie om code te organiseren + + + +## Instructies voor de leerkracht + +In deze les verfijnen leerlingen het selectiegedeelte van het programma door te kijken of een woord al eerder gepresenteerd is aan de gebruiker. Ook ruimen ze de code op met een functie. + +Het eindproduct van deze les is ongeveer [dit programma](https://replit.com/@mevrHermans/pidk-k3-m3-l3-einde). Daaraan werken lln volgende les weer verder. diff --git a/module-3.3-woordenoefenapp/les-3/les-3b.md b/module-3.3-woordenoefenapp/les-3/les-3b.md new file mode 100644 index 0000000..2ffb9ef --- /dev/null +++ b/module-3.3-woordenoefenapp/les-3/les-3b.md @@ -0,0 +1,33 @@ +# Les 3b + +De app die we gaan maken kent straks twee fases: + +1. Woorden selecteren +2. Woorden oefenen + +In deze les werken we nog even verder aan het selecteren van woorden, maar treffen we ook wat voorbereidingen voor het werken met de twee fases. + +**Opdracht 1) Meerdere keren selecteren** + +Ga verder met je replit van vorige les. Als je het programma nu nog eens uitvoert, moet je nog een keer zeggen van woorden of je ze al kent. Dat is natuurlijk gek, want we hebben al eens aangeven van de woorden of we ze kenden. Daarom maak je nu deze aanpassingen aan je programma. + +1. Lees bij het beginnen niet het bestand `words.csv`in, maar `words-selectie.csv` +2. Haal in de for-lus niet alleen de kolom woord op met \['`woord']` maar ook de kolom `bekend`. Vraag alleen aan de gebruiker of het woord bekend is, als de kolom bekend nog leeg is. Dat doe je met een `if`, vergelijk daarvoor bekend met `''`. + +**Opdracht 2) Een functie maken** + +We hebben al heel wat code gemaakt, en er komt binnenkort nog meer code bij! Tijd om te code die we tot nu toe gemaakt hebben, in een functie te zetten om de code beter georganiseerd te houden. Maak een functie en noem deze `selecteren`. + +**Opdracht 3) Kiezen tussen selecteren en oefenen** + +Nu je een functie hebt gemaakt, moeten we die nog _aanroepen_. Aanroepen betekent de code in de functie opstarten. Vraag aan de gebruiker wat hij of zij wil doen, en zet dit in een if: + +1. De gebruiker zegt **selecteren** of **s** -> roep de functie `selecteren`aan. Let op! Vergeet de ronde haakjes achter de naam van de functie niet. +2. De gebruiker zegt **oefenen** of **o** -> print **We gaan oefenen** + +Het stukje code dat zegt dat we gaan oefenen breiden we volgende les verder uit. + +**Opdracht 4) Vang verkeerde invoer af (extra)** + +Ook hier kunnen we weer netjes controleren of de gebruiker wel het juiste heeft ingevoerd. Geef een goede melding bij onlogische invoer, en bedenk deze melding zelf. + diff --git a/module-3.3-woordenoefenapp/les-4/README.md b/module-3.3-woordenoefenapp/les-4/README.md new file mode 100644 index 0000000..3579a80 --- /dev/null +++ b/module-3.3-woordenoefenapp/les-4/README.md @@ -0,0 +1,18 @@ +# Les 4 + +## Slides + +Nog geen slides beschikbaar + +### Leerdoelen + +* Herhalen van: + * het maken van een functie om code te organiseren + + + +## Instructies voor de leerkracht + +In deze les gaan we het oefengedeelte van de app invullen. Dat doen we in tegenstelling tot in les 3 direct in een functie. + +Het eindproduct van deze les is ongeveer [dit programma](https://replit.com/@mevrHermans/pidk-k3-m3-l4-einde). Daaraan werken lln volgende les weer verder. diff --git a/module-3.3-woordenoefenapp/les-4/les-4b.md b/module-3.3-woordenoefenapp/les-4/les-4b.md new file mode 100644 index 0000000..f312a91 --- /dev/null +++ b/module-3.3-woordenoefenapp/les-4/les-4b.md @@ -0,0 +1,37 @@ +# Les 4b + +De app die we gaan maken kent straks twee fases: + +1. Woorden selecteren +2. Woorden oefenen + +In deze les gaan we het oefenen in orde maken. Dat doen we meteen in een functie. + +**Opdracht 1) Oefenfunctie aanroepen** + +Vorige les hebben we alleen nog de code `print('We gaan oefenen')`in de code gezet. Dat gaan we nu veranderen in het aanroepen van de oefenfunctie. Vervang de regel door`oefenen()`. + +**Opdracht 2) De functie aanmaken** + +De code werkt nu niet want er is nog geen functie oefenen! Die ga jij nu zelf maken en invullen. Scroll naar boven in je code en maak een functie. Je mag in de body (de inhoud) van je functie `print('We gaan oefenen')`zetten. + +Test je code nu uit. Krijg je inderdaad de tekst in beeld als je o typt? Dan is de functie goed aangemaakt. + +Tip: Klap de functie `selecteren()`even dicht met het driehoekje: + +![](<../../.gitbook/assets/image (12).png>) + +**Opdracht 3) De functie invullen** + +Nu ga jij de functie invullen. Zorg dat er het volgende gebeurt: + +1. Lees het csv-bestand weer in +2. Kijk per regel of het woord bekend is. Doe alleen iets voor onbekende woorden, dus als `rij['bekend'] == 'nee'` +3. Voor onbekende woorden, vraag de gebruiker om **twee** invoeren! + 1. De betekenis + 2. Een zin met het woord erin + +Voor nu slaan we de twee antwoorden op in twee variabelen: `betekenis` en `zin`. Volgende les schrijven we die variabelen terug in de csv file zodat je die aan je leraar Engels kan laten zien! + + + diff --git a/module-3.3-woordenoefenapp/les-5/README.md b/module-3.3-woordenoefenapp/les-5/README.md new file mode 100644 index 0000000..b15e792 --- /dev/null +++ b/module-3.3-woordenoefenapp/les-5/README.md @@ -0,0 +1,15 @@ +# Les 5 + +## Slides + +Nog geen slides beschikbaar + +### Leerdoelen + +* Data met nieuwe kolommen opslaan in een csv bestand + +## Instructies voor de leerkracht + +In deze les gaan de leerlingen de ingevoerde betekenis en de ingevoerde zinnen opslaan in een csv bestand zodat die kan worden nagekeken. + +Op de het einde van de les hebben lln ongeveer [dit programma.](https://replit.com/@mevrHermans/pidk-k3-m3-l5-einde#main.py) diff --git a/module-3.3-woordenoefenapp/les-5/les-5b-1.md b/module-3.3-woordenoefenapp/les-5/les-5b-1.md new file mode 100644 index 0000000..318bccc --- /dev/null +++ b/module-3.3-woordenoefenapp/les-5/les-5b-1.md @@ -0,0 +1,38 @@ +# Les 5b + +De app die we gaan maken kent twee fases: + +1. Woorden selecteren +2. Woorden oefenen + +In deze les gaan we het oefenen verder uitbreiden door de ingevulden antwoorden van de gebruiker op te slaan in het bestand. + +**Opdracht 1) Antwoorden opslaan** + +We gaan eerst de antwoorden van de gebruiker in =de dictionary opslaan, dat doen we zo: + +`rij['Betekenis'] = betekenis` + +Doe dat meteen na de invoer, en doe het ook voor de variabele zin om dezelfde manier + +**Opdracht 2) kolommen aanmaken in het csv bestand** + +Er is nu nog niets veranderd aan het bestand, voer je code maar eens uit, er is nog niets terug geschreven in het bestand. We moeten nog aan het csv bestand vertellen welke kolommen er in zitten, dat gaat zo: + +`headers = ['Nummer', 'Woord', 'Beschrijving',` ....`]` + +Vul op de puntjes zelf de nieuwe kolommen in. Krijg je een foutmelding? Lees dan goed wat er staat, waarschijnlijk heb je een foutje gemaakt in een naam van een kolom. + +**Opdracht 3) data opslaan** + +Sla nu de data op, dat doe je met deze code: + +```python + with open('words-selectie.csv', 'w', newline='') as csvfile: + writer = csv.DictWriter(csvfile, fieldnames=headers) + writer.writeheader() + writer.writerows(woordlijst) +``` + + + diff --git a/module-3.3-woordenoefenapp/les-5/les-5b.md b/module-3.3-woordenoefenapp/les-5/les-5b.md new file mode 100644 index 0000000..917b67b --- /dev/null +++ b/module-3.3-woordenoefenapp/les-5/les-5b.md @@ -0,0 +1,48 @@ +# Les 6b + +De app die we gaan maken kent nu twee fases: + +1. Woorden selecteren +2. Woorden oefenen + +In deze les gaan we een derde fases toevoegen: Uitvoer tonen. + +In die fase gaan we jouw opgeslagen csv bestand uitlezen en netjes weergeven zodat je het kan tonen aan je docent, of aan je ouders! + +**Opdracht 1) Nieuwe fase toevoegen** + +Maak een nieuwe functie en noem die `uitvoer_tonen()`. Weet je niet meer hoe je een funcite maakt? Kijkt dan in de code die je al hebt. + +Vul de body van de functie nog even met: + +`print('We gaan jouw woordenlijst nu tonen')` + +Dat vullen we later verder in. + +**Opdracht 2) Keuze voor de gebruiker uitbreiden.** + +Eerst had de gebruiker 2 opties, en nu 3. Verander jij de if zelf? Vergeet niet ook de instructie aan te passen, dat is deze regel: + +`input('Wil je woorden selecteren(s) of oefenen(o)?')` + +Test je code! Wordt de funtion `uitvoer_tonen` goed aangeroepen? + +**Opdracht 3) Data laten zien** + +We gaan nu de functie ook invullen met code. Kijk goed in je bestaande code en volg deze stappen: + +1. Lees het csv bestand words-selectie.csv uit +2. Print alleen de woorden waarvoor een antwoord is opgeslagen (doorvoor geldt: betekenis is niet leeg) +3. Zorg dat iedere regel zo geprint wordt: +4. Het woord `woord` betekent volgens jou `betekenis` Jij maakte er deze zin mee: `zin` + +{% hint style="info" %} +Een handig manier om strings in Python mooi te maken is het gebruik van fstrings, die maak je zo: + +f"Het woord {woord} betekent volgens jou {betekenis} Jij maakte er deze zin mee: {zin}. +{% endhint %} + + + + + diff --git a/module-3.3-woordenoefenapp/les-6.md b/module-3.3-woordenoefenapp/les-6.md new file mode 100644 index 0000000..b69e51f --- /dev/null +++ b/module-3.3-woordenoefenapp/les-6.md @@ -0,0 +1,15 @@ +# Les 6 + +## Slides + +Nog geen slides beschikbaar + +### Leerdoelen + +* Het gebruiken van f-strings om tekst mooi te printen. + +## Instructies voor de leerkracht + +In deze les gaan de leerlingen een mooie afdruk genereren van de scores om in te leveren. + +Op de het einde van de les hebben lln ongeveer [dit programma](https://replit.com/@mevrHermans/pidk-k3-m3-l6-einde#main.py). diff --git a/module-3.3-woordenoefenapp/les-7/README.md b/module-3.3-woordenoefenapp/les-7/README.md new file mode 100644 index 0000000..d93cb7f --- /dev/null +++ b/module-3.3-woordenoefenapp/les-7/README.md @@ -0,0 +1,15 @@ +# Les 7 + +## Slides + +Nog geen slides beschikbaar + +### Leerdoelen + +* Het gebruiken van f-strings om tekst mooi te printen. + +## Instructies voor de leerkracht + +In deze les gaan de leerlingen de ingevoerde betekenis controleren en dit in hun afdruk verwerken. + +Op de het einde van de les hebben lln ongeveer [dit programma](https://replit.com/@mevrHermans/pidk-k3-m3-l7-einde#main.py). diff --git a/module-3.3-woordenoefenapp/les-7/les-7b.md b/module-3.3-woordenoefenapp/les-7/les-7b.md new file mode 100644 index 0000000..2a8364b --- /dev/null +++ b/module-3.3-woordenoefenapp/les-7/les-7b.md @@ -0,0 +1,22 @@ +# Les 7b + +Er mist nog een belangrijke functie in ons programma... Kijken of wat de gebruiker invoert eigenlijk wel klopt! We gaan dat op twee plekken controleren, bij het invoeren van het antwoord in `oefenen()` om meteen feedback te geven, en bij het maken van het overzicht in `uitvoer_tonen()`. + +**Opdracht 1) Controleren bij het invoeren** + +Ga naar de functie oefenen() en voeg daar een if toe. Controleer of de ingevoerde betekenis hetzelfde is als de beschrijving uit het bestand. Zo ja, zeg dan iets positiefs tegen de gebruiker. Zo nee, vertel dan wat de betekenis wel is. Je kan daar weer een fstring voor gebruiken! + +**Opdracht 2) Opslaan bij het invoeren** + +We willen ook in de tabel opslaan of de gebruiker het antwoord wist zodat we dat later kunnen printen. Maak dus een nieuwe rij in de tabel, noem die "Goed" en sla daar "goed" of "fout" in op. + +Weet je niet meer goed hoe dat moet? Kijk in je code of zoek eens op Google op "save csv file in Python". + +**Opdracht 3) Goed of fout weergeven in de uitvoer** + +Ga nu weer naar je nieuwe functie `uitvoer_tonen()`. Je las daarin het csv bestand al uit natuurlijk, maar nu is er een nieuwe kolom! Pas je code zo aan dat `rij['Goed']` wordt opgeslagen in een variabele en netjes geprint. + + + + + diff --git a/module-3.3-woordenoefenapp/les-8/README.md b/module-3.3-woordenoefenapp/les-8/README.md new file mode 100644 index 0000000..1a513d9 --- /dev/null +++ b/module-3.3-woordenoefenapp/les-8/README.md @@ -0,0 +1,14 @@ +# Les 8 + +## Slides + +Nog geen slides beschikbaar + +### Leerdoelen + +* Zelf ideeën bedenken en uitwerken voor de app +* Herhaling van PyGame code voor interactie + +## Instructies voor de leerkracht + +In deze les gaan de leerlingen hun programma verder verfraaien met bijv. extra functies of een beginscherm in PyGame. diff --git a/module-3.3-woordenoefenapp/les-8/les-8b.md b/module-3.3-woordenoefenapp/les-8/les-8b.md new file mode 100644 index 0000000..d470b44 --- /dev/null +++ b/module-3.3-woordenoefenapp/les-8/les-8b.md @@ -0,0 +1,9 @@ +# Les 8b + +We zijn bij het einde van de lessenserie aangekomen! Het is nu aan jou om je app nog beter en mooier te maken. + +Verzin zelf hoe je dat app nog beter kan maken. Denk bijvoorbeeld aan: + +* Multiple choice vragen maken! Kies 4 random beschrijvingen (drie van random woorden en de goede erbij, natuurlijk) en laat de gebruiker de juiste uitkiezen. +* Gebruik je kennis van PyGame om een mooie user interface te maken. +* Hou de score van een gebruiker bij, hoeveel antwoorden zijn er goed en fout? diff --git a/module-3.4-arduino/README.md b/module-3.4-arduino/README.md new file mode 100644 index 0000000..f2e9266 --- /dev/null +++ b/module-3.4-arduino/README.md @@ -0,0 +1,22 @@ +# Module 3.5 - Arduino + +## Instructie voor de leerkracht + +In deze module gaan de leerlingen aan de slag met een Arduino. Hierbij wordt gebruik gemaakt van de Arduino [starterskit](https://store.arduino.cc/products/arduino-starter-kit-multi-language). In de starterskit zit een boek met opdrachten die ook als [pdf](https://www.uio.no/studier/emner/matnat/ifi/IN1060/v21/arduino/arduino-projects-book.pdf) beschikbaar is. + +Het voordeel van werken met de Arduino is dat het programmeren heel visueel wordt. Een simpel voorbeeld is dat een LED lampje gaat branden als je code goed werkt. Ook zijn de projecten in de starterskit goed afgebakend. Ieder project geeft weer de kans om opnieuw te beginnen als het vorige project even wat minder ging. Het lastige aan het werken met een Arduino is dat er op veel fronten iets mis kan gaan. De electrische schakeling, de code en de verbinding. Het oplossen (debuggen) van fouten is een belangrijk doel van deze lessenserie. Bij fouten is het vaak handig om de schakeling met bijbehorende tekst uit het boek nog een keer goed te bekijken. + +De onderdelen van de Arduino zijn ook kwetsbaar. Het verbuigen of afbreken van pinnen komt veel voor. Gelukkig zijn de onderdelen makkelijk nieuw te bestellen en meestal niet duur. Wel kan het veel tijd kosten om de juiste onderdelen te bestellen. Een aantal tips om hier mee om te gaan: + +* Maak een doosje voor kapotte onderdelen. Dan weet je wat er kapot is gegaan en wat je moet bestellen. +* Als leerlingen zeggen dat een onderdeel kapot is kijk dan eerst kritisch naar hun schakeling. Er kan best iets anders aan de hand zijn. Als het dan echt kapot lijkt check het dan nog even zelf met een eigen schakeling. Op deze manier heb ik 90% van de 'kapotte' onderdelen weer 'gerepareerd'. +* Laat een leerling die snel klaar is online zoeken naar onderdelen om te bestellen. +* De kabel van de computer naar de Arduino wordt vaak losgetrokken bij de Arduino. Deze verbinding is wat minder robuust dus je kan de leerlingen beter de usb van de computer eruit laten trekken en niet de verbinding op de Arduino. + +## Doelen van deze module + +Leren werken met een voor de leerlingen nieuwe programmeertaal (C++) en IDE. + +## Slides + +Er zijn ook [slides](https://slides.com/lmc\_oebbens/decks/leerjaar-3-module-4) beschikbaar voor deze module. diff --git a/module-3.4-arduino/les-1/README.md b/module-3.4-arduino/les-1/README.md new file mode 100644 index 0000000..d0f8396 --- /dev/null +++ b/module-3.4-arduino/les-1/README.md @@ -0,0 +1,17 @@ +# Les 1 + +## Slides + +[Arduino, les 1](https://slides.com/lmc\_oebbens/python-klas-3-module-4-les-1) + +### Leerdoelen + +* Een electrische schakeling maken + +## Instructies voor de leerkracht + +In deze les leren leerlingen een schematisch overzicht van een schakeling lezen en maken. Het maken van een schakeling is een hoop gepriegel om het iets eenvoudiger te maken hier wat tips: + +* Geef aan dat de draadjes ('jumper wires') voldoende diep in het breadboard gestoken moeten worden. Anders maakt deze geen contact en werkt de schakeling niet +* Het vinden van de juiste kleurcode op de weerstanden ('resistors') is lastig, ook voor mensen die niet kleurenblind zijn. Het kan helpen om van tevoren de juiste weerstand klaar te leggen zodat de leerlingen weten naar wat ze moeten zoeken. Bladzijde 41 van het boek geeft hier meer informatie over. +* De push-buttons maken vaak net geen contact met het breadboard terwijl het lijkt alsof ze er goed in zitten. De schakeling werkt dan niet terwijl alles verder goed is. Hiervoor kan je aparte pinnen ('male header pins') gebruiken. Stop deze pinnen op het breadboard in dezelfde gaatjes als de push button, op deze manier weet je zeker dat er verbinding wordt gemaakt. Bladzijde 8 van het boek laat zien welk onderdeel dit is. diff --git a/module-3.4-arduino/les-1/les-1b.md b/module-3.4-arduino/les-1/les-1b.md new file mode 100644 index 0000000..9f5dfa1 --- /dev/null +++ b/module-3.4-arduino/les-1/les-1b.md @@ -0,0 +1,27 @@ +# Les 1b + +**Opdracht 1) Pak de starterskit uit** + +* Pak de starterskit uit. Bekijk welke spullen er allemaal inzitten. +* Verdeel de onderdelen over de verdeelbox. Kies zelf een slimme indeling zodat je daarna makkelijk bij alle spullen kan. +* Zorg dat je geen dingen kwijtraakt! + +**Opdracht 2) Vastzetten Arduino** + +Zet de Arduino vast op het plastic (zie boek bldzd 12 & 13). + +**Opdracht 3) Maak je eerste circuit** + +Maak het eerste circuit uit het boek (bldzd 26). Maak eerst het hele circuit. Plug dan je usb in en kijk of je LED lampje gaat branden. + +**Opdracht 4) Zet de knoppen in serie** + +Gebruik het circuit van opdracht 3. Voeg een knop toe zodat je twee knoppen in serie geschakeld hebt (zie boek bldzd 28). Maak eerst het hele circuit. Plug dan je usb in en kijk of je LED lampje gaat branden als je beide knoppen indrukt. + +**Opdracht 5) Zet de knoppen in parallel (X)** + +Gebruik het circuit van opdracht 4. Zet de twee knoppen nu in serie (zie boek bldzd 29). Maak eerst het hele circuit. Plug dan je usb in en kijk of je LED lampje gaat branden als je één van beide knoppen indrukt. Check of beide knoppen werken. + +**Opdracht 6) DIY (X)** + +Bedenk zelf hoe je het circuit zou kunnen aanpassen. Maak gebruik van knoppen, weerstanden en led lampjes. diff --git a/module-3.4-arduino/les-2/README.md b/module-3.4-arduino/les-2/README.md new file mode 100644 index 0000000..27f23a8 --- /dev/null +++ b/module-3.4-arduino/les-2/README.md @@ -0,0 +1,9 @@ +# Les 2 + +## Slides + +[Arduino, les 2](https://slides.com/lmc\_oebbens/python-klas-3-arduino) + +### Leerdoelen + +* Code maken en testen om een electrische schakeling aan te sturen diff --git a/module-3.4-arduino/les-2/les-2b.md b/module-3.4-arduino/les-2/les-2b.md new file mode 100644 index 0000000..58fad12 --- /dev/null +++ b/module-3.4-arduino/les-2/les-2b.md @@ -0,0 +1,46 @@ +# Les 2b + +**Opdracht 1) Maak een spaceship** + +Maak het circuit met led lampjes en een knop om een spaceship te maken (zie boek bldzd 34) + +**Opdracht 2) Installeer de Arduino IDE** + +Zie presentatie + +**Opdracht 3) Programmeer je Arduino** + +Schrijf de code om je spaceship circuit van opdracht 1 aan te sturen. Stuur de code naar de Arduino en check of deze werkt. Dit is uitgelegd in het boek bldzd 36 t/m 40. + +**Opdracht 4) Spice up your shapeship** + +Vouw het bijgeleverde karton en plaats dit over je circuit zodat je een echt spaceship hebt. + +**Opdracht 5) Leg uit** + +Leg in eigen woorden uit: + +* Wat doen de `loop()` en de `setup()` functies? +* Wat doet de `pinMode()` functie? +* Welke input geef je mee aan de functie `digitalWrite()`? +* Welke output geeft de functie `digitalRead()`? + +**Opdracht 6) Initialise** + +Zorg ervoor dat alle led lampen 1 keer knipperen als je de code van de computer naar de Arduino stuurt. + +**Opdracht 7) Langzaam spaceship** + +Zorg ervoor dat alles 10 keer zo langzaam gaat. Dus 1x knipperen duurt 10 keer zo lang dan eerst. + +**Opdracht 8) Serie schakelen en Lampje toevoegen** + +Voeg een extra lampje toe en een tweede knop. maar zorg dat de knoppen in serie zijn geschakeld. + +**Opdracht 9) Geel! (X)** + +Vervang één van de rode led lampen door een gele. Bedenk zelf wanneer deze moet knipperen. + +**Opdracht 10) Fantasie (X)** + +Bedenk zelf iets om je schip uit te breiden. Dit kan zowel door het toevoegen van onderdelen aan je circuit als door het aanpassen van de code. diff --git a/module-3.4-arduino/les-3/README.md b/module-3.4-arduino/les-3/README.md new file mode 100644 index 0000000..848e49d --- /dev/null +++ b/module-3.4-arduino/les-3/README.md @@ -0,0 +1,18 @@ +# Les 3 + +## Slides + +[Arduino, les 3](https://slides.com/lmc\_oebbens/module-3-les-3) + +### Leerdoelen + +* Een temperatuursensor gebruiken om de temperatuur te meten +* Snappen hoe je data van de Arduino naar de computer stuurt + +## Instructies voor de leerkracht + +Tips: + +* De temperatuursensor moet op de juiste manier op het breadboard worden gemonteerd. Draai je de pinnen om dan wordt de temperatuursensor (gevaarlijk) warm. +* Elke starterskit heeft maar één temperatuursensor. Er is een ander onderdeel wat er erg op lijkt. Je herkent de tempeartuursensor aan de letters tmp op de sensor. +* Om de resultaten van `Serial.print` te zien klik je in de Arduino IDE rechtsboven op het vergrootglas (de Serial Monitor). diff --git a/module-3.4-arduino/les-3/les-3b.md b/module-3.4-arduino/les-3/les-3b.md new file mode 100644 index 0000000..2a459c0 --- /dev/null +++ b/module-3.4-arduino/les-3/les-3b.md @@ -0,0 +1,47 @@ +# Les 3b + +**Opdracht 1) Maak een Love-o-Meter** + +Maak het circuit met temperatuursensor en 3 led lampen (zie boek bldzd 44). Let op de verschillende pinnen van de tempeartuursensor. Als je de temperatuursensor verkeerd zet heb je kans dat deze gevaarlijk heet wordt. + +**Opdracht 2) Bouw de interface** + +Vouw het bijgeleverde karton en plaats dit over je circuit zodat je een echte Love-o-Meter hebt. + +**Opdracht 3) Programmeer je Arduino** + +Schrijf de code om je Love-o-Meter circuit van opdracht 1 aan te sturen. Stuur de code naar de Arduino en check of deze werkt. Dit is uitgelegd in het boek bldzd 47 t/m 51. + +**Opdracht 4) Leg uit** + +Leg in eigen woorden uit: + +* Wat doet de `serial.Begin()` functie en welke input geef je mee aan deze functie? +* Welke functie gebruik je om de waarde van een sensor weer te geven? +* Wat doet de `analogRead` functie? Wat is het verschil met de `digitalRead()` functie? +* Waarom wordt bij het printen van de tempeartuur de functie `serial.Println()` gebruikt en niet `serial.Print()`? +* Gerda denkt dat ze koorts heeft. Ze heeft geen thermometer maar wel de Arduino. Kan ze deze opstelling gebruiken om te meten hoeveel graden koorts ze heeft? + +**Opdracht 5) Andersom** + +Nu gaan er steeds meer lampjes branden als de temperatuursensor warmer wordt. Pas de code aan zodat bij de start alle lampjes branden en er steeds meer lampjes uitgaan als het warmer wordt. + +**Opdracht 6) Gevoelig** + +Er gaat nu iedere keer een lampje aan (of uit bij opdracht 5) als de temperatuur 2 graden stijgt. Pas de code aan zodat dit al gebeurd bij een stijging van 1 graden. + +**Opdracht 7) Lichtshow** + +Programmeer de lampjes zo dat bij een bepaalde temperatuur de lampjes gaan knipperen. Kies zelf de temperatuur en hoe snel ze knipperen. + +**Opdracht 8) baselineTemp** + +We geven nu aan de Arduino op dat de standaardtemperatuur (`baselineTemp`) 20 graden is. Stel je gebruikt de Love-o-Meter op een plek waar het geen 20 graden is. Wat kan je doen om automatisch de `baselineTemp` te bepalen. Pas de code zo aan zodat deze werkt bij iedere temperatuur. + +**Opdracht 9) DJ Love (X)** + +Voeg een knop (button) toe aan de schakeling. Pas als je deze knop indrukt werkt de schakeling. Zorg dat de staat van de knop (aan/uit) wordt weergegeven op de computer, gebruik hiervoor de functie `serial.Print()`. + +**Opdracht 10) DIY (X)** + +Bedenk zelf nog iets om je schakeling of code uit te breiden. Bedenk eerst goed wat je wil dat er gebeurd. Dan hoe je dat moet maken en ga het dan pas uitvoeren. diff --git a/module-3.4-arduino/les-4/README.md b/module-3.4-arduino/les-4/README.md new file mode 100644 index 0000000..ba2e5fd --- /dev/null +++ b/module-3.4-arduino/les-4/README.md @@ -0,0 +1,17 @@ +# Les 4 + +## Slides + +[Arduino, les 4](https://slides.com/lmc\_oebbens/module-3-les-4) + +### Leerdoelen + +* een lichtsensor gebruiken om licht te meten +* een analoog signaal omzetten naar een digitaal signaal +* een digitaal signaal omzetten naar een analoog signaal + +## Instructies voor de leerkracht + +Tips: + +* Hoe de lichtsensor eruit ziet verschilt per versie van de Arduino starterskit. diff --git a/module-3.4-arduino/les-4/les-4b.md b/module-3.4-arduino/les-4/les-4b.md new file mode 100644 index 0000000..a9d35de --- /dev/null +++ b/module-3.4-arduino/les-4/les-4b.md @@ -0,0 +1,38 @@ +# Les 4b + +**Opdracht 1) Color mixing lamp** + +Bouw de schakeling van bldzd 54 in je boek. Lees de uitleg bij de schakeling op bladzijde 55. Let goed op dat je ook de gekleurde doorschijnende stroken gebruikt. + +**Opdracht 2) Programmeer je Arduino** + +Schrijf de code om de color mixing lamp aan te sturen. Stuur de code naar de Arduino en check of deze werkt. Dit is uitgelegd in het boek bldzd 56 t/m 60. + +**Opdracht 3) Leg uit** + +Leg in eigen woorden uit: + +* In het script worden de variabelen `redValue` en `redSensorValue` aangemaakt. Geef voor beide variabelen aan welke mogelijke waarden die kan hebben en waarvoor de variabele wordt gebruikt. +* In de code staat `redValue = redSensorValue / 4;` waarom is het nodig om de `redSensorValue` te delen door 4?. +* Wat gebeurt er als we de draadjes die naar de pinnen A0 en A1 gaan omwisselen? +* Wat doet de `analogWrite` functie en waarom kan je `analogWrite` alleen gebruiken op de pinnen 3, 5, 6, 9, 10 en 11? + +**Opdracht 4) Stoplicht** + +Zorg dat de RGB LED blauw gaat branden. Op het moment dat de sensoren voornamelijk rood licht binnenkrijgen moet de RGB LED uitgaan. Als de sensoren daarna weer voornamelijk groen licht binnenkrijgen moet de RGB LED weer blauw gaan branden. + +**Opdracht 5) Lichtsignalen (X)** + +Splits het tweetal. Één van de twee schrijft de code om de RGB LED aan te sturen op basis van de lichtsensoren. De code mag alleen geverifieerd worden en nog niet naar de Arduino worden gestuurd. Schrijf zonder de code uit te voeren op welke kleur de RGB LED geeft als er: + +1. alleen rood licht op de sensoren valt +2. alleen blauw licht op de sensoren valt +3. alleen groen licht op de sensoren valt + +Check vervolgens welke antwoorden goed zijn door de code naar de Arduino te sturen en uit te testen. Wie de meeste goede antwoorden heeft gegeven heeft gewonnen. + +tip: Maak de code ingewikkeld zodat het voor de andere persoon lastig is te zien welke kleur het wordt. Zorg wel dat je zelf nog weet welke kleur het wordt. + +**Opdracht 6) Rainbow road (X)** + +Voor deze opdracht hoef je de sensoren niet te gebruiken. Je kan ze wel gewoon in de schakeling laten zitten. Zorg dat de RGB LED geleidelijk veranderd van kleur. Gebruik deze volgorde: rood,oranje,geel,groen,blauw,paars,rood. Zorg dat de totale cyclus ca. 10 seconden duurt. Het is handig om hiervoor een loop (lus) te maken met `for`. Weet je niet hoe dit moet kijk dan even naar je code van les 3b. Daarin heb je al een loop met `for` gemaakt. diff --git a/module-3.4-arduino/les-5/README.md b/module-3.4-arduino/les-5/README.md new file mode 100644 index 0000000..a3a7e7b --- /dev/null +++ b/module-3.4-arduino/les-5/README.md @@ -0,0 +1,18 @@ +# Les 5 + +## Slides + +[Arduino, les 5](https://slides.com/lmc\_oebbens/module-3-les-5) + +### Leerdoelen + +* een potentiometer en een servo toevoegen aan een schakeling +* capacitors gebruiken om een constante spanning op de schakeling te houden +* een library gebruiken in je code + +## Instructies voor de leerkracht + +Tips: + +* Bekijk via de Serial Monitor of de potentiometer werkt. +* Let bij het aansluiten van de servo op de juiste kleur draden. De witte draad moet naar een digitale PWM pin. diff --git a/module-3.4-arduino/les-5/les-5b.md b/module-3.4-arduino/les-5/les-5b.md new file mode 100644 index 0000000..6bad23a --- /dev/null +++ b/module-3.4-arduino/les-5/les-5b.md @@ -0,0 +1,44 @@ +# Les 5b + +**Opdracht 1) Mood Cue** + +Bouw de schakeling van bladzijde 64 uit het boek. Let op hoe je de capacitors plaatst. De zijde met de zwarte streep moet worden verbonden met de aarde (ground -). Als deze verkeerd om zijn kan de capacitor ontploffen. + +**Opdracht 2) Programmeer je Arduino** + +Schrijf de code om de Mood Cue aan te sturen. Stuur de code naar de Arduino en check of deze werkt. Dit is uitgelegd in het boek bldzd 66 t/m 68. + +**Opdracht 3) Bouw de interface** + +Vouw het bijgeleverde karton en plaats dit over je circuit zoals uitgelegd in het boek bldzd 69. + +**Opdracht 4) Leg uit** + +Leg in eigen woorden uit: + +1. Wat doet de code `#include `? +2. Wat doet de `map()` functie? Wat is het resultaat van onderstaande functie aanroepen + * map(0, 0, 1023, 0, 179) + * map(179, 0, 1023, 0, 179) + * map(5, 0, 10, 0, 50) +3. Wat doet een capacitor? +4. WAt doet de functie `myServe.write()`? Waarom moet de waarden die je aan deze functie geeft kleiner zijn dan 180? + +**Opdracht 5) There was light** + +Vervang de potentiometer door een lichtsensor. Zorg dat de servo op "COME IN" staat als het licht is en op "STAY OUT" als het donker is + +**Opdracht 6) Mysterious (X)** + +Voeg een knop toe aan de opstelling van opdracht 5. Persoon 1 van het tweetal programmeert de knop en de lichtsensor op een bepaalde manier. Probeer voor ieder van deze 4 scenario's te bedenken wat de servo moet doen: + +1. wel licht, knop niet ingedrukt +2. wel licht, knop ingedrukt +3. geen licht, knop niet ingedrukt +4. geen licht, knop ingedrukt + +Persoon 2 van het tweetal leest het script en probeert uit de code te halen wat er gebeurt in elk van de 4 scenario's. Zowel persoon 1 als persoon 2 schrijft op wat hij/zij denkt dat er gebeurt. Controleer daarna of het klopt door de 4 scenario's te testen. + +**Opdracht 7) Mastermind (X)** + +Deze opdracht gaat hetzelfde als opdracht 6. Persoon 1 schrijft weer code voor de 4 scenario's. Deze keer leest persoon 2 niet het script maar gaat hij meteen testen wat er gebeurt. Hij schrijft de code (op papier of in een andere Arduino IDE) die hij denkt dat er hoort bij deze configuratie. Als persoon 2 voor alle 4 de scenario's code heeft geschreven vergelijkt hij dit met de code die persoon 1 had geschreven. diff --git a/module-3.4-arduino/les-6/README.md b/module-3.4-arduino/les-6/README.md new file mode 100644 index 0000000..eacee92 --- /dev/null +++ b/module-3.4-arduino/les-6/README.md @@ -0,0 +1,17 @@ +# Les 6 + +## Slides + +[Arduino, les 6](https://slides.com/lmc\_oebbens/module-3-les-6-271c98/edit) + +### Leerdoelen + +* een piezo gebruiken om de Arduino geluiden te laten maken +* het signaal van een lichtsensor gebruiken om de piezo aan te sturen +* zelf op zoek gaan naar code online om je piezo aan te sturen + +## Instructies voor de leerkracht + +Tips: + +* Neem gehoorbescherming mee.. diff --git a/module-3.4-arduino/les-6/les-6b.md b/module-3.4-arduino/les-6/les-6b.md new file mode 100644 index 0000000..eab8deb --- /dev/null +++ b/module-3.4-arduino/les-6/les-6b.md @@ -0,0 +1,47 @@ +# Les 6b + +**Opdracht 1) Light Termin** + +Bouw de schakeling van bladzijde 72 uit het boek. + +**Opdracht 2) Programmeer je Arduino** + +Schrijf de code om de piezo aan te sturen. Stuur de code naar de Arduino en check of deze werkt. Dit is uitgelegd in het boek bldzd 74 t/m 77. + +**Opdracht 3) Leg uit** + +Leg in eigen woorden uit: + +1. Wat doet de `map()` functie? Wat is het resultaat van onderstaande functie aanroepen + * map(0, 0, 1023, 50, 4000) + * map(100, 0, 1023, 50, 4000) + * map(70, 0, 100, 0, 50) +2. Wat veranderd er aan het geluid van je piezo als je de 50 in de map functie veranderd in 200? +3. Hoe zorg je dat het geluid van de piezo langzamer veranderd? +4. Wat is de betekenis van de variabelen `SensorHigh` en `SensorLow`. Welke waarden kunnen deze variabelen zijn? +5. Wat moet je aanpassen in het script om de kalibratieperiode 20 seconden te maken? + +**Opdracht 4) Für elise** + +Zorg dat je Arduino de für elise speelt met de piezo. Tip: zoek online naar de juiste code. + +**Opdracht 5) World Wide Web** + +Zoek online naar Arduino projecten waarbij een piezo is gebruikt. Zoek drie projecten op en beantwoord de volgende vragen. Zet de resultaten in een word document en stuur deze op: + +1. Geef een link naar het project. +2. Wat voor schakeling is er gemaakt? Welke onderdelen zijn er allemaal gebruikt? +3. Zit er code bij? Begrijp je wat er in de code gebeurd? +4. Zou je dit project zelf na kunnen maken? Zo niet, waarom niet? Zo ja, wat heb je ervoor nodig om dit te maken en hoe lang denk je er mee bezig te zijn? + +**Opdracht 6) DIY (X)** + +Heb je een project gevonden bij opdracht 5 wat je zelf na kan maken? Ga er mee aan de slag? + +**Opdracht 7) DJ (X)** + +Voeg een paar knoppen (push button's) toe aan je schakeling. Bedenk eerst wat er moet gebeuren als je een knop indrukt. Programmeer de schakeling dan zo dat het ook daadwerkelijk gebeurd. + +**Opdracht 8) Nog een liedje (X)** + +Bedenk zelf een nummer wat je met de Arduino wil afspelen. Ga online op zoek naar de juiste code. diff --git a/module-3.4-arduino/les-7/README.md b/module-3.4-arduino/les-7/README.md new file mode 100644 index 0000000..f40fd79 --- /dev/null +++ b/module-3.4-arduino/les-7/README.md @@ -0,0 +1,2 @@ +# Les 7 + diff --git a/module-3.4-arduino/les-7/les-7b.md b/module-3.4-arduino/les-7/les-7b.md new file mode 100644 index 0000000..570abc7 --- /dev/null +++ b/module-3.4-arduino/les-7/les-7b.md @@ -0,0 +1,35 @@ +# Les 7b + +**Opdracht 1) Digital Hourglass** + +Bouw de schakeling van bladzijde 88 uit het boek om een digitale zandloper te maken. Let op! Dit is project 8 in het boek. + +**Opdracht 2) Programmeer je Arduino** + +Schrijf de code om je digitale zandloper te maken. Stuur de code naar de Arduino en check of deze werkt. Dit is uitgelegd in het boek bldzd 90 t/m 93. + +**Opdracht 3) Leg uit** + +Leg in eigen woorden uit: + +1. Waarom staat op regel 2 van de code `unsigned long`, wat betekent dit? +2. Wat doet de functie `millis`? +3. Nu gaat er iedere 10 minuten een nieuw lampje branden, wat moet je veranderen in de code om te zorgen dat er iedere 10 seconden een nieuw lampje gaat branden. +4. Waarom heb je zowel de variabele `switchState` als de variabele `prevSwitchState` nodig? Kan dit ook met één variabele? +5. Zet bij iedere regel code een uitleg met wat er gebeurt. Gebruik hiervoor de `//`. Je mag de uitleg achter de code zetten of in de regel erboven. + +**Opdracht 4) Push** + +Vervang de tilt switch door een Push Button. Denk goed na hoe je nu de code moet veranderen om deze goed te laten werken + +**Opdracht 5) Ploing dong** + +Voeg een piezo toe. Iedere keer dat er een lampje aan gaat hoor je nu ook een geluidje. Ga zelf online op zoek naar een geschikt geluid hiervoor. + +**Opdracht 6) Relativitijd (X)** + +Zorg dat de snelheid waarmee de lampjes aan gaat steeds groter wordt. De tijd tussen het eerste en tweede lampje is 20 seconden, tussen het tweede en derde lampje 18 seconden, dan 16 seconden enz. + +**Opdracht 7) Timing is everything (X)** + +Voeg nog een Push Button toe. Gebruik de tijdsintervallen van opdracht 6. Je gaat nu een spel maken. Als je de Push Button indrukt terwijl het 5de lampje aan is en het 6 de lampje nog uit heb je gewonnen en moeten alle lampjes gaan knipperen. diff --git a/module-3.4-arduino/les-8/README.md b/module-3.4-arduino/les-8/README.md new file mode 100644 index 0000000..bd7467e --- /dev/null +++ b/module-3.4-arduino/les-8/README.md @@ -0,0 +1,2 @@ +# Les 8 + diff --git a/module-3.4-arduino/les-8/les-8b.md b/module-3.4-arduino/les-8/les-8b.md new file mode 100644 index 0000000..785ac27 --- /dev/null +++ b/module-3.4-arduino/les-8/les-8b.md @@ -0,0 +1,33 @@ +# Les 8b + +**Fase 1) Project zoeken** + +Zoek online naar 3 projecten die gemaakt zijn met de Arduino. Probeer projecten te zoeken die je uiteindelijk zelf wil gaan maken. + +Maak een verslag over die 3 projecten waarin je beschrijft: + +* Wat is het doel van het project? +* Welke onderdelen zijn er gebruikt? +* Hoe ziet de code eruit? Beschrijf kort wat de code doet. +* Stel je wil dit namaken, welke stappen voer je dan uit? + +**Fase 2) Kiezen en bestellen** + +Maak tweetallen. Kies samen één project uit wat jullie willen bouwen. Gebruik de projecten uit de vorige fase als idee. Kijk naar de haalbaarheid (4 weken om te bouwen). + +Zet een voorstel op papier waarin je vertelt wat je wil maken en wat je daarvoor nodig hebt. Als je onderdelen moet bestellen vermeld dan ook het type nummer en de website waar je ze kan bestellen. + +Is fase 2 goedgekeurd dan kan je onderdelen gaan bestellen. Let op de levertijd! + +**Fase 3) Bouwen** + +Test alle onderdelen eerst los voordat je ze in de schakeling inbouwt. Zet de schakeling in elkaar en schrijf de code. Werkt de schakeling en heb je nog tijd over. Denk dan na hoe je het project verder kan verbeteren. + +Het eindproduct is een presentatie. Laat in de presentatie zien: + +* wat hebben jullie gemaakt +* wat was jullie originele doel? Wat heb jullie uiteindelijk gemaakt? +* laat een stukje code zien en vertel wat dat doet +* wat vonden jullie makkelijk? +* wat vonden jullie lastig +* wat zouden jullie de volgende keer anders doen? diff --git a/module-4.1-tkinter/README.md b/module-4.1-tkinter/README.md new file mode 100644 index 0000000..389cb1d --- /dev/null +++ b/module-4.1-tkinter/README.md @@ -0,0 +1,2 @@ +# Module 3.1 - TkInter Rekenmachine + diff --git a/module-4.1-tkinter/les-1/README.md b/module-4.1-tkinter/les-1/README.md new file mode 100644 index 0000000..dd5da99 --- /dev/null +++ b/module-4.1-tkinter/les-1/README.md @@ -0,0 +1,14 @@ +# Les 1 + +## Slides + +* [Slides les 1](https://slides.com/felienne/pidk-k4-m1tk-l1/edit) + +## Leerdoelen + +* Herhalen functies in Python +* UI maken met tkinter + +## Instructies voor de leerkracht + +In deze les gaan leerlingen aan de slag met een UI voor hun al eerder gemaakte rekenmachines. Ze gaan die nu van een UI voorzien met TKinter. Op het einde van de les hebben de leerlingen ongeveer [dit programma](https://replit.com/@mevrHermans/pidk-k4-tki-l1-einde#main.py). diff --git a/module-4.1-tkinter/les-1/les-1a.md b/module-4.1-tkinter/les-1/les-1a.md new file mode 100644 index 0000000..1100bc8 --- /dev/null +++ b/module-4.1-tkinter/les-1/les-1a.md @@ -0,0 +1,14 @@ +# Les 1a + +**Zoek je rekenmachine op!** + +In een eerdere lessenserie heb je een rekenmachine gemaakt. Die gaan we nu verrijken met een interface met knoppen en uitvoer, daar kun je natuurlijk veel meer mee dan met tekst. + +**Een mooie User Interface** + +Tot nu toe hebben we in de rekenmachine en in ander projecten met tekst gewerkt, bijvoorbeeld tekst als uitvoer met `print()` en tekst als invoer met `input()` Maar met Python kan je ook mooiere applicaties maken met knoppen, invoerveld en meer. Dat gaan we in de komende lessen leren met de library `tkinter.` + + + + + diff --git a/module-4.1-tkinter/les-1/les-1b.md b/module-4.1-tkinter/les-1/les-1b.md new file mode 100644 index 0000000..71444ac --- /dev/null +++ b/module-4.1-tkinter/les-1/les-1b.md @@ -0,0 +1,122 @@ +# Les 1b + +**Opdracht 1) Schakel je code uit en voeg de UI toe** + +We gaan de User Interface (of UI, zeg: Joe-Ai) stap voor stap toevoegen. Open je code van vorige week en zet even alles uit. Dat doet je met ctrl-a (alles selecteren) en dan ctrl-? (alles op commentaar zetten). Dat ziet er zo uit: + +![](https://www.dropbox.com/s/loq2buxpzippru0/Screen%20Shot%202022-08-12%20at%2011.57.48%20AM.png?raw=1) + +Zet nu deze code bovenaan. Deze regels maken een UI aan met een knop en een invoerveld. + +{% code lineNumbers="true" %} +```python +# import time + +from tkinter import * + +root = Tk() + +root.title("Mijn rekenmachine") +root.geometry("600x400") + +def Rekenen(): + som = invoerveld.get() + # plak hier jouw oude code + + uitvoerveld["text"] = "0" + +invoerlabel = Label(root) +invoerlabel["text"] = "Vul hier jouw som in:" +invoerlabel.place(x=0, y=0) + +invoerveld = Entry(root) +invoerveld.place(x=0, y=60) + +knop = Button(root) +knop["text"] = "Rekenen" +knop["command"] = Rekenen +knop.place(x=0, y=120) + +uitvoerveld = Label(root) +uitvoerveld["text"] = "Berekening komt hier" +uitvoerveld.place(x=0, y=180) +``` +{% endcode %} + +Voer de code uit en zie dat je drie elementen in beeld hebt: een invoerveld, een knop en een uitvoerveld, zo: + +![](https://www.dropbox.com/s/5t4xsfjat3lm8qt/Screen%20Shot%202022-08-12%20at%2011.58.01%20AM.png?raw=1) + +Vind je de namen of plaatsen van de velden niet mooi? Verander dan de regels 7, 17, 18, 21, 24, 25 29 en 30. + +**Opdracht 2) Koppel jouw rekenmachine** + +Nu gaan we jouw bestaande codes invoegen in de functie `rekenen()`. Pak alle code op die je onderaan de pagina in commentaar had gezet en doe het volgende. Ben heel zorgvuldig anders lukt het niet! + + + +1. Verwijder deze regels:\ + + + ```python + # vraag de gebruiker om een som + som = input('Voer een som in.') + ``` + + +2. Selecteer nu alle codes onderaan die beginnen met # +3. Zet het weer aan met ctrl-? +4. Spring de code in met tab +5. **Plak de codes nu in de functie `rekenen()` , op de plek van # plak hier jouw oude code** + + + +Als het goed is kun je de functie nu mooi dichtklappen en zitten als jouw codes erin: + +![](https://www.dropbox.com/s/kz4dc30lo4uusc9/Screen%20Shot%202022-08-12%20at%2012.13.01%20PM.png?raw=1) + +{% hint style="info" %} +Voer nu je code uit om te kijken of alles in orde is! Klik op de rekenknop en kijk +{% endhint %} + +Voer nu je code uit en kijk of alles werkt. Als je goed is kan je een som invoeren in het veld, en komt de uitvoer onder in beeld (nog niet in je UI, dat komt nog). + +Als het goed is, ziet het er zo uit: + +![](https://www.dropbox.com/s/kdjhiqb13ckvgn5/Screen%20Shot%202022-08-12%20at%2012.20.34%20PM.png?raw=1) + +Krijg je deze foutmelding? Dan ben je vergeten de regel met `input()` weg te halen. + +![](https://www.dropbox.com/s/5bkj44df5s06ghb/Screen%20Shot%202022-08-12%20at%2012.19.36%20PM.png?raw=1) + +**Opdracht 3) Uitvoer in het label** + +Zo, de rekenmachine werkt, maar... de uitvoe komt nu onderin beeld en niet in onze mooi UI. Dat gaan we nu aanpassen. + + + +Lees je code goed door en zoek naar allen `print()` codes. Verander iedere print in het instellen van de tekst van het label `uitvoerveld`. \ +\ +Bijvoorbeeld: + +`print('Je voerde geen geldige getallen in!')`\ +\ +wordt\ +\ +`uitvoerveld["text"] = 'Je voerde geen geldige getallen in!'` + +Probeer je code weer uit! Komt het resultaat van de som mooi in beeld? + +**Opdracht 4) Foutje in het rood** + +Als het goed is, komen ook al je foutmeldingen in de UI, maar ze zien er hetzelfde uit als een uitvoer. In tkinter kan je ook de achtergrondkleur veranderen, zo: + +``` +uitvoerveld["bg"] = "red" +``` + +Zet deze code op de 2 plekken waar je een foutmelding print. Als je wilt kun je ook de tekstkleur nog veranderen, bijv in geel: + +``` +uitvoerveld["fg"] = "yellow" +``` diff --git a/module-4.1-tkinter/les-2/README.md b/module-4.1-tkinter/les-2/README.md new file mode 100644 index 0000000..7595109 --- /dev/null +++ b/module-4.1-tkinter/les-2/README.md @@ -0,0 +1,17 @@ +# Les 2 + +## Slides + +* [Slides les 2 ](https://slides.com/felienne/pidk-k4-m1tk-l2) + +In deze slides staat het programma dat de lln op het einde van de vorige les gemaakt zouden moeten hebben. We lopen dat regel voor regel door waarbij steeds een andere leerling de beurt krijgt en vertelt wat de regel moet doen. Een heel makkelijke en effectieve manier om kennis te herhalen en verdiepen. + +## Leerdoelen + +* UI maken met tkinter + +## Instructies voor de leerkracht + +In deze les gaan leerlingen aan de slag met een UI voor hun al eerder gemaakte woordenoefenapp. Ook die zetten ze om naar TKinter, maar dat gaat nu anders dan met de rekenmachine, ze beginnen met een lege TKinter app en voegen stap voor stap codes in. + +Op het einde van de les hebben de leerlingen ongeveer [dit programma](https://replit.com/@mevrHermans/pidk-k4-tki-l2-einde#main.py). diff --git a/module-4.1-tkinter/les-2/les-2a.md b/module-4.1-tkinter/les-2/les-2a.md new file mode 100644 index 0000000..29c453b --- /dev/null +++ b/module-4.1-tkinter/les-2/les-2a.md @@ -0,0 +1,7 @@ +# Les 2a + +**De woordenoefenapp** + +In de vorige les heb jij jouw rekenmachine omgezet naar tkinter. NU gaan we datzelfde doen voor de woordenoefenapp! Zoek je code op en zet er zelf een UI omheen. + +Deze keer pakken we het anders aan; we beginnen met een leeg programma, maken de UI, en zetten er dan stap voor stap de codes in van de woordenoefenapp. diff --git a/module-4.1-tkinter/les-2/les-2b.md b/module-4.1-tkinter/les-2/les-2b.md new file mode 100644 index 0000000..1c3421f --- /dev/null +++ b/module-4.1-tkinter/les-2/les-2b.md @@ -0,0 +1,48 @@ +# Les 2b + +**1) Maak een nieuw programma op replit** + +Maak een vers programma op replit en zet er deze code in: + +```python +from tkinter import * + +root = Tk() + +root.title("Mijn woordenoefenapp") +root.geometry("600x400") +``` + +Test je code uit en kijk of je weer een mooie UI in beeld krijgt. + +**2) Maak drie knoppen** + +In je oefenapp had je, als het goed is, die verschillende _modi_ (het meervoud van modus): + +1. Woorden selecteren om te oefenen met de functie `selecteren()` +2. Woorden oefenen met de functie `oefenen()` +3. Een print maken van jouw woordenkennis met de functie `uitvoer_tonen()` + +Maak nu drie knoppen en zet daar op: + +1. Selecteren +2. Oefenen +3. Uitvoer tonen + +Weet je niet meer hoe je knoppen maakt? Spiek bij jouw code van vorige week. + +Hier zijn belangrijke tips!! + +* Iedere knop moet een eigen variabele worden! (bijv: `knop1` en `knop2` of, nog beter: `selecteerknop` en `oefenknop`) +* `.place(x=0, y=120)` geeft de (x,y) coördinaat van de knop aan +* Iedere knop moet op een andere plaats komen +* Je hoeft nog geen codes te koppelen aan de knoppen. Dus `["command"]`mag je nog even weglaten + +Test nu je code en kijk of het er goed uit ziet. + +**3) Maak een uitvoerveld en twee knoppen** + +We hebben ook weer uitvoer nodig om het woord te laten zien, en twee knoppen met Ja en Nee erop. Daarmee gaat de gebruiker aangeven of ze het woord al kennen. Voeg die ook toe aan je programma, zodat het er zo uit ziet: + +
+ diff --git a/module-4.1-tkinter/les-3/README.md b/module-4.1-tkinter/les-3/README.md new file mode 100644 index 0000000..c564b15 --- /dev/null +++ b/module-4.1-tkinter/les-3/README.md @@ -0,0 +1,19 @@ +# Les 3 + +## Slides + +* [Slides les 3](https://slides.com/felienne/pidk-k4-m1tk-l3/edit) + +In deze slides laten we een vorm van het eindproduct zien. Zo weten leerlingen goed waar ze naartoe werken. + +## Leerdoelen + +* Lijsten in Python herhalen +* UI laten wachten op een knop + +## Instructies voor de leerkracht + +In deze les gaan leerlingen verder met de UI van de woordenoefenapp, ze zetten in deze les het stukje programma voor het selecteren van woorden om. Hiervoor moet het programma wachten tot de ja of nee knop is ingedrukt, waarvoor een speciaal stukje code nodig is. + +Op het einde van de les hebben de leerlingen ongeveer dit programma. + diff --git a/module-4.1-tkinter/les-3/les-3b.md b/module-4.1-tkinter/les-3/les-3b.md new file mode 100644 index 0000000..244a4a2 --- /dev/null +++ b/module-4.1-tkinter/les-3/les-3b.md @@ -0,0 +1,71 @@ +# Les 3b + +**1) Open je bestand en laat de woorden één voor één zien** + +Zoek nu jouw code van voor de vakantie op. Als het goed is had jij in je code al een functie `selecteren()` staan. Lees die code nu eens goed door en kijk of je nog weet wat alles doet. + +In de functie `selecteren()` opende je een bestand en printte je de woorden daaruit één voor één. + +{% hint style="info" %} +Heb je het bestand niet meer? [Download het dan hier](https://www.dropbox.com/s/vtez5spovavxrs7/words.csv?dl=0) +{% endhint %} + +We gaan nu een stukje van het selecteren in jouw UI programma zetten, zo: + +* Maak een nieuwe functie `selecteren()` +* Koppel die aan de selecteerknop. Weet je niet meer hoe het moet? Kijk bij je code van vorige week. +* Open het csv-bestand en zet iedere woord op het uitvoerveld. In jouw code was dat een `print()`, die moet je dus gaan veranderen. + +Probeer je code nu weer uit. + +**2) Even pauzeren!** + +Als het goed is, doet je code het nu maar... alle woorden komen heel snel achter elkaar! Je ziet dus alleen het laatste woord. Zo ziet dat er waarschijnlijk uit (maar jij zou ook een ander woord kunnen hebben als je een andere versie van de woordenlijst gebruikt) + +
+ +Wil je zeker weten dat inderdaad alle woorden langskomen? Zet dan eens een deze codes nadat je het uitvoerveld hebt aangepast: + +```python + root.update() + time.sleep(1) +``` + +Dan komende de woorden wel één voor één. + +We moeten dus wachten tot de gebruiker op een knop heeft kunnen klikken voor het volgende woord erbij komt! Daar is een tkinter een trucje voor met een variabele, dat gaat als volgt. + +Zet bovenaan je code deze regels, die maken speciale tkinter variabeles aan die je kan gebruiken om te kijken of de ja of nee knop al is ingedrukt. + +```python +ja_of_nee_knop_is_ingedrukt = IntVar() +knop_gekozen = StringVar() + +def ja_knop_ingedrukt(): + ja_of_nee_knop_is_ingedrukt.set(1) + knop_gekozen.set("ja") + +def nee_knop_ingedrukt(): + ja_of_nee_knop_is_ingedrukt.set(1) + knop_gekozen.set("nee") +``` + +Nu moet je deze functie ingedrukt toevoegen als commando van de ja en de nee knop. Weet je nog hoe je een functie op een knop zet? + +Als dat gelukt is, moet je in **de loop waarin je de woorden inleest** een wacht commando zetten. Zet deze regel nadat je het woord in het uitvoerveld hebt geprint. + +```python +jaknop.wait_variable(ja_of_nee_knop_is_ingedrukt) +``` + +Test je code nu uit! Druk steeds op de ja of nee knop en kijk of er steeds een nieuw woord in beeld komt. + +**3) Ik ken dat woord al!** + +In de selecteerfase van je programma gaat de gebruiker voor ieder woord aangeven of ze het al kennen. Dat deden we in de tekstversie met het intypen van ja of nee. In tkinter gaan we nu dus iets doen met de ingedrukte ja of nee knop. + +We hebben de speciale variabele `knop_gekozen`gemaakt zodat we weten welke van de twee knoppen er gebruikt is. Staat deze variabele op "ja", dan is de jaknop indrukt, en staat hij op "nee" dan natuurlijk de neeknop. Dat kun jij in de code gebruiken! + +Pas je code die je al had aan zodat het netjes reageert op de knoppen. + +Zorg er ook voor dat de ja en nee waardes opgeslagen worden in je csv-bestand. diff --git a/module-4.1-tkinter/les-4/README.md b/module-4.1-tkinter/les-4/README.md new file mode 100644 index 0000000..abd648b --- /dev/null +++ b/module-4.1-tkinter/les-4/README.md @@ -0,0 +1,21 @@ +# Les 4 + +## Slides + +* [Slides les 4](https://slides.com/felienne/pidk-k4-m1tk-l4) + +In deze slides lezen we weer samen de codes van les 3 door, een regel per leerling. + +## Leerdoelen + +* Dictionaries in Python herhalen +* UI elementen laten verschijnen na indrukken knop + + + +## Instructies voor de leerkracht + +In deze les gaan leerlingen verder met de UI van de woordenoefenapp. In deze les laten ze de relevante UI elementen voor selecteren (ja, nee en uitvoerveld) pas verschijnen wanneer de knop selecteren wordt ingedrukt. + +Op het einde van de les hebben de leerlingen ongeveer [dit programma](https://replit.com/@mevrHermans/pidk-k4-tki-l4-einde#main.py). + diff --git a/module-4.1-tkinter/les-4/les-4b.md b/module-4.1-tkinter/les-4/les-4b.md new file mode 100644 index 0000000..2bda4ea --- /dev/null +++ b/module-4.1-tkinter/les-4/les-4b.md @@ -0,0 +1,65 @@ +# Les 4b + +**1) Verstop de ja- en nee-knop en het uitvoerveld** + +Zoals we het nu geprogrammeerd hebben, zijn de knoppen die bij selecteren horen (ja, nee en het uitvoerveld) meteen al in beeld: + +
+ +Maar die moeten alleen in beeld komen als de gebruiker op selecteren gedrukt heeft. Dat gaan we zou programmeren: + +1. Kijk goed hoe de knoppen heten die nodig zijn voor het selecteren. Dat zijn de knoppen voor ja en nee. +2. Verplaats nu alle regels met `.place()`erin **van de knoppen die horen bij selecteren** naar de functie `selecteren()`. Ze staan dan alleen in de functies `selecteren()` en niet meer onderaan je code. + +Voer nu je programma uit en kijk of de knoppen aan het begin wegzijn, en terugkomen als je op Selecteren drukt. + + **2) Oefenen, de opzet** + +Dan gaan we nu aan de slag met de oefenknop. We beginnen nog even zonder jouw oude codes. + +1. Maak een lege functie oefenen() +2. Koppel deze functie aan de oefenknop +3. Begin in de functie oefenen met het uitwissen van de knoppen van selecteren, want die hebben we nu niet nodig. Dat doe je zo: \ + `jaknop.place_forget()`\ + `neeknop.place_forget()` +4. Maak deze dingen aan: + 1. Een invoerveld voor de betekenis van het woord + 2. Een invoerveld voor de zin + 3. Een nieuwe knop die gaat controleren of het woord goed is. We noemen die de `controleerknop`. + 4. Een variabele en een functie voor de controleerknop:\ + `controleerknop_is_ingedrukt = IntVar()` + + \ + `def controleerknop_ingedrukt():` \ + `controleerknop_is_ingedrukt.set(1)` +5. Laat deze knop en de velden verschijnen als er op Oefenen geklikt is + +Test je code goed voordat je verder gaat! + +**3) Oefenen, de invulling** + +Nu ga de de functie ook echt invullen. Bekijk in jouw oude code en zet deze om, zodat dit er allemaal weer op zit: + +* Vroeger gebruikte je een input() code, en die zet het programma vanzelf op pauze. Dat moet nu in tkinter anders. \ + Dus: de functie wacht bij ieder woord tot er op de controleerknop is gedrukt met\ + `controleerknop.wait_variable(controleerknop_is_ingedrukt)` +* De gebruiker kan een betekenis invoeren + * Die betekenis wordt opgeslagen in het bestand in de kolom **Betekenis-ingevoerd** + * Is de betekenis goed (gelijk aan wat er in het bestand staat) dan: + * schrijf je goed in het bestand bij de kolom **Goed** + * print je **Goed** op de command line met `print()` Dat komt dus nog niet in het scherm! + * Is de betekenis fout: + * dan sla je fout op in de kolom **Goed** + * print je **Fout** op de command line met `print()` Dat komt dus nog niet in het scherm! +* De gebruiker kan een zin invoeren met het woord erin. Die sla jij op in de kolom **Zin**. + +**4) Nog wel een foutje... (extra)** + +Oefenen werkt nu goed maar... selecteren niet! Als je op selecteren drukt komen alle knoppen en velden in beeld: + +
+ +We gaan dit foutje in de volgende les oplossen, maar denk alvast eens na hoe je dit zou kunnen aanpakken! + + + diff --git a/module-4.1-tkinter/les-5/README.md b/module-4.1-tkinter/les-5/README.md new file mode 100644 index 0000000..50a8c55 --- /dev/null +++ b/module-4.1-tkinter/les-5/README.md @@ -0,0 +1,21 @@ +# Les 5 + +## Slides + +* [Slides les 5](https://slides.com/felienne/pidk-k4-m1tk-l5) + +In deze slides oefenen we nog wat met de executievolgorde in Python omdat dat vaak moeilijk blijkt. Basisgevallen gaan goed maar de combinatie van functies en ook TKinter codes maakt het soms pittig. Dat oefenen we dus nog even goed met wisbordjes. + +## Leerdoelen + +* UI elementen laten verdwijnen na indrukken knop +* Executievolgorde Python in het bijzonder met functies en TKinter. + + + +## Instructies voor de leerkracht + +In deze les gaan leerlingen verder met de UI van de woordenoefenapp. In deze les laten ze de relevante UI elementen voor selecteren (ja, nee en uitvoerveld) pas verschijnen wanneer de knop selecteren wordt ingedrukt. Daarvoor maken ze een nieuwe functie die het scherm leegmaakt. + +Op het einde van de les hebben de leerlingen ongeveer [dit programma](https://replit.com/@mevrHermans/pidk-k4-tki-l5-einde). + diff --git a/module-4.1-tkinter/les-5/les-5b.md b/module-4.1-tkinter/les-5/les-5b.md new file mode 100644 index 0000000..70c10dc --- /dev/null +++ b/module-4.1-tkinter/les-5/les-5b.md @@ -0,0 +1,37 @@ +# Les 5b + +**1) Maak oefenen mooier!** + +In de vorige les hebben we Goed of Fout alleen nog onder het scherm uitgeprint. Dat gaan we nu mooier maken, en jij mag zelf verzinnen hoe. Je kan bijvoorbeeld: + +* Een extra tekstveld invoegen en daar Goed of Fout in zetten. +* De achtergrond van je programma rood maken +* Een plaatje van een boze smiley in je programma zetten die verschijnt als het antwoord fout is!\ + + +Verzin het zelf en maak het zo leuk mogelijk. + + + +**2) Verstop de ja- en nee-knop en het uitvoerveld bij oefenen** + +Als je de vorige keer alle opdrachten afgerond hebt dan heb je gezien dat oefenen werkt, maar selecteren niet! Als je op selecteren drukt komen alle knoppen en velden in beeld: + +
+ +Kun jij zelf de code verzinnen die nodig is om de knoppen die bij selecteren horen te laten verdwijnen als er op Oefenen geklikt wordt? Test je code goed voor je verder gaat. + +Let op! Als je bij Stap 1 van deze les extra plaatjes of velden hebt gekozen, dan moet je die nu _ook_ laten verdwijnen. + +**3) En dan nu met een functie** + +Je code doet het nu! Maar het is wel een beetje een gedoe met al die losse forget codes. Het is netter om een mooie `wis_veld()` functie te maken. In die functie wis je dan alle velden uit, behalve de onderste drie. Roep de functie vervolgens aan in `selecteren()` en in `oefenen()`. Dan wordt het veld steeds netjes leeg, en weer gevuld! We kunnen deze functie straks ook bij Tonen gebruiken. + +**4) Begin aan Tonen (extra)** + +Ben je klaar? Maak dan maar een beginnetje met Tonen, of maak je programma nog mooier of leuker met je eigen ideeën. + + + + + diff --git a/module-4.1-tkinter/les-6/README.md b/module-4.1-tkinter/les-6/README.md new file mode 100644 index 0000000..5a68f31 --- /dev/null +++ b/module-4.1-tkinter/les-6/README.md @@ -0,0 +1,18 @@ +# Les 6 + +## Slides + +* [Slides les 6](https://slides.com/felienne/pidk-k4-m1tk-l6/) + +In deze slides kijken we naar het maken van een kleine aanpassing in de UI (twee labels toevoegen) en hoe je dat aan kan pakken. Leerlingen maken eerst zelf een plan (met wisbordjes) dat je dan als docent kan uitvoeren op het digibord. + +## Leerdoelen + +* UI elementen aanpassen + +## Instructies voor de leerkracht + +In deze les gaan leerlingen verder met de UI van de woordenoefenapp. In deze les voegen ze extra elementen toe en maken ze een begin met de functie tonen. + +Op het einde van de les hebben de leerlingen ongeveer [dit programma](https://replit.com/@mevrHermans/pidk-k4-tki-l6-einde#main.py). + diff --git a/module-4.1-tkinter/les-6/les-6b.md b/module-4.1-tkinter/les-6/les-6b.md new file mode 100644 index 0000000..df03307 --- /dev/null +++ b/module-4.1-tkinter/les-6/les-6b.md @@ -0,0 +1,34 @@ +# Les 6b + +**1) Voeg labels toe in oefenen** + +In de vorige lessen hadden we nog geen label voor de invoervelden staan omdat dat de code ingewikkelder maakt. We moeten dan immers nog meer velden laten verschijnen en verdwijnen. + +In de les hebben we nu gezien hoe we label voor betekenis en zin kunnen zetten, zodat het duidelijker is wat waarbij hoort. Doe dat nu ook in jouw programma (als je dat niet niet had). + +**2) Statistieken bij tonen** + +Nu oefenen goed in elkaar zit is het tijd te gaan kijken naar tonen! Je mag hier zelf bedenken wat jij gaat tonen, hier zijn een aantal ideeën die je zou kunnen laten zien: + +* Hoeveel woorden er al geselecteerd zijn +* Hoeveel woorden er _nog niet_ geselecteerd zijn +* Hoeveel woorden al goed beantwoord zijn +* Hoeveel woorden er fout beantwoord zijn tot nu toe +* Hoeveel zinnen er al zijn ingevoerd + +**3) Sla het aantal pogingen op (extra)** + +Wil je het tonen-venster nog uitgebreider maken? Dan kan je ook opslaan hoe vaak iemand een antwoord heeft geprobeerd. Maak daarvoor een nieuwe variabele, een nieuw veld in `rij`, en een nieuwe kolom in de csv. Kijk in je bestaande code hoe dat moet. + +Tip: Lees je deze zin? Kom dan naar mevrouw Hermans voor iets lekkers. Ik wil wel eens testen hoeveel leerlingen deze instructie goed lezen. Zeg natuurlijk niets tegen je buren!\ +\ +Je kunt nu nog veel meer statistieken maken zoals: + +* Welke woorden in één keer goed beantwoord waren +* Hoeveel woorden in één keer goed beantwoord waren +* Welk woord het vaakst fout geantwoord is + + + + + diff --git a/module-4.1-tkinter/les-7-1/README.md b/module-4.1-tkinter/les-7-1/README.md new file mode 100644 index 0000000..85726da --- /dev/null +++ b/module-4.1-tkinter/les-7-1/README.md @@ -0,0 +1,17 @@ +# Les 8 + +## Slides + +* [Slides les 8](https://slides.com/felienne/pidk-k4-m1tk-l8/) + +In deze slides gaan we het mogelijk maken om met verschillende gebruikers de app te gebruiken. + +## Leerdoelen + +* Werken met meerdere files + +## Instructies voor de leerkracht + +In deze les gaan leerlingen verder met de UI van de woordenoefenapp. In deze les voegen ze extra elementen toe en maken ze een begin met de functie tonen. + +Op het einde van de les hebben de leerlingen ongeveer dit programma. diff --git a/module-4.1-tkinter/les-7-1/les-7b.md b/module-4.1-tkinter/les-7-1/les-7b.md new file mode 100644 index 0000000..d3eb2e6 --- /dev/null +++ b/module-4.1-tkinter/les-7-1/les-7b.md @@ -0,0 +1,76 @@ +# Les 8b + +**1) Gebruikersinformatie** + +In deze laatste les gaan we gebruikers aan de app toevoegen, zodat er meerdere mensen mee kunnen oefenen. Volg deze stappen: + +1. Maak een extra label en een invoerveld. Deze moeten in beeld komen bij het opstarten van de app. +2. Maak na het klikken op de ok-knop een bestand voor deze gebruiker: `words-username.csv` dus bijvoorbeeld: `words-henkie.csv`en open dat bestand. + +Dat gaan we zo aanpakken: \ +\ +Sla eerst de naam van de gebruiker en de bijbehorende bestandsnaam op in globale variabelen, zodat je er in het hele programma bij kan. De globals moeten op een losse regels! + +```python + global gebruikersnaam + gebruikersnaam = gebruikersnaamveld.get() + global bestandsnaam + bestandsnaam = f'words{gebruikersnaam}.csv' +``` + +Volg dan deze stappen: + +* Importeer deze libraries:\ + `import os.path, shutil` +* Maak een bestandsnaam aan met de fstrings die we hebben geleerd:\ + `bestandsnaam = f'words{gebruikersnaam}.csv'` + +Test nu je code uit en kijk of je f-string klopt!!! + +* Kijk nu of het bestand bestaat met: \ + `if not os.path.exists(bestandsnaam):` +* Zo nee, kopieer het originele bestand:\ + `shutil.copy("words.csv", bestandsnaam)` +* Gebruik overal in het programma nu `bestandsnaam`in plaats van `"words.csv"`!!! + +Verder kan het programma blijven werken zoals het al werkt. + +**1b) Wachtwoord erbij (extra)** + +Wil je het nog mooier maken? Maak dan een tweede label en veldje voor een wachtwoord. Sla de wachtwoorden op in een nieuw bestand en zoek het goede wachtwoord op!\ +\ +Tip! Wil je dat het er echt mooi uitziet als een wachtwoord? Gebruik dan deze code:\ +\ +`wachtwoordveld = Entry(root, show="*")` + + + +**2) Statistieken voor alle gebruikers tonen** + +Nu je meerdere gebruikers hebt, kun je bij het tonenveld ook statistieken laten zien over de scores van alle gebruikers, relatief aan de huidige gebruiker! Bijvoorbeeld: + +* Het moeilijkste woord voor alle gebruikers (alle fouten in alle files bij elkaar opgeteld) +* Hoeveel woorden een gemiddelde gebruiker goed heeft versus deze gebruiker +* Hoeveel zinnen een gemiddelde gebruiker ingevoerd heeft versus deze gebruiker +* De lengte van de langste zin van alle gebruikers versus de huidige gebruiker + +**3) Sla ook een datum op bij ieder antwoord** + +Als je dit nog niet gedaan had, kun je nu het tonen-venster uitgebreider maken met datum-informatie. Dat doen we door ook de datum van vandaag op te slaan als iemand een antwoord invoert. Daarmee kan je nog veel meer statistieken maken zoals: + +* Aantal antwoorden goed vandaag, deze week, deze maand +* Aantal antwoorden fout vandaag, deze week, deze maand +* Welk woord het allerlangst geleden fout beantwoord is + +Volg deze stappen om de datum in te voeren: + +1. Zet boven aan je code `import time` +2. Voeg nu bij het antwoorden de code `datum = date.today()` in +3. Sla de variabele ook op in je csv file door de rij aan te passen +4. Sla de variabele ook op in je csv file door de headers aan te passen + +En, omdat je nu meerdere gebruikers hebt, kun je daar ook informatie over laten zien, bijvoorbeeld: + +* Hoeveel gebruikers er deze maand, week of dag hebben gespeeld +* Of de huidige gebruiker vaker of minder vaak oefende dan gemiddeld! + diff --git a/module-4.1-tkinter/les-7/README.md b/module-4.1-tkinter/les-7/README.md new file mode 100644 index 0000000..d4a907e --- /dev/null +++ b/module-4.1-tkinter/les-7/README.md @@ -0,0 +1,17 @@ +# Les 7 + +## Slides + +* [Slides les 7](https://slides.com/felienne/pidk-k4-m1tk-l7) + +In deze slides gaan we de tonenfunctionaliteit invoegen, waardoor de gebruiker statistieken kan zien van zijn of haar prestaties. Leerlingen mogen zelf kiezen welke statistieken ze tonen. + +## Leerdoelen + +* Simpele samenvattende statistiek tonen + +## Instructies voor de leerkracht + +In deze les gaan leerlingen verder met de UI van de woordenoefenapp en maken ze de tonen-functionaliteit uitgebreider. + +Op het einde van de les hebben de leerlingen ongeveer dit programma. diff --git a/module-4.1-tkinter/les-7/les-7b.md b/module-4.1-tkinter/les-7/les-7b.md new file mode 100644 index 0000000..169f790 --- /dev/null +++ b/module-4.1-tkinter/les-7/les-7b.md @@ -0,0 +1,35 @@ +# Les 7b + +**1) Tonen** + +Als je vorige les nog niet aan je tonen veld hebt gewerkt, is het daar nu tijd voor! Volg deze stappen: + +1. Maak een functie `tonen().` +2. Koppel die functie aan de tonen knop. +3. Maak het hele veld weer leeg met de functie die je daarvoor hebt gemaakt. +4. Voeg een label toe voor je statistieken, laat die in beeld komen en zet er wat leuks in. Je kan beginnen met bijv "Hier zijn jouw statistieken!" + +**2) Statistieken voor tonen** + +Nu het label voor tonen goed in beeld komt, mag jij zelf kiezen welke statistieken je gaat tonen. Hier zijn een aantal ideeën die je zou kunnen laten zien: + +* Hoeveel woorden er al geselecteerd zijn +* Hoeveel woorden er _nog niet_ geselecteerd zijn +* Hoeveel woorden al goed beantwoord zijn +* Hoeveel woorden er fout beantwoord zijn tot nu toe +* Hoeveel zinnen er al zijn ingevoerd + +**3) Sla ook een datum op bij ieder antwoord (extra)** + +We kunnen het tonen-venster _nog_ uitgebreider maken. Dat doen we door ook de datum van vandaag op te slaan als iemand een antwoord invoert. Daarmee kan je nog veel meer statistieken maken zoals: + +* Aantal antwoorden goed vandaag, deze week, deze maand +* Aantal antwoorden fout vandaag, deze week, deze maand +* Welk woord het allerlangst geleden fout beantwoord is + +Volg deze stappen om de datum in te voeren: + +1. Zet boven aan je code `import time` +2. Voeg nu bij het antwoorden de code `datum = date.today()` in +3. Sla de variabele ook op in je csv file door de rij aan te passen +4. Sla de variabele ook op in je csv file door de headers aan te passen diff --git a/module-4.2-game-maken.md b/module-4.2-game-maken.md new file mode 100644 index 0000000..248f2f9 --- /dev/null +++ b/module-4.2-game-maken.md @@ -0,0 +1,4 @@ +# Module 4.2 - Game maken + +Voor het maken van Games volgen we het [Keuzethema Games](https://ieni.github.io/inf2019/themas/oo-games). + diff --git a/module-4.2-javascript/README.md b/module-4.2-javascript/README.md new file mode 100644 index 0000000..ce6751f --- /dev/null +++ b/module-4.2-javascript/README.md @@ -0,0 +1,3 @@ +# Module 4.2 - JavaScript + +Deze module is gedeeltelijk gebaseerd op het [JavaScript materiaal](https://metiscoderclass.github.io/javascript-voor-web-0/Les-2-Elementen-uit-je-webpagina-halen-DOM.html) van Metis gemaakt door Hakan Akkas. diff --git a/module-4.2-javascript/les-1/README.md b/module-4.2-javascript/les-1/README.md new file mode 100644 index 0000000..5cb3831 --- /dev/null +++ b/module-4.2-javascript/les-1/README.md @@ -0,0 +1,18 @@ +# Les 1 + +## Slides + +[JavaScript les 1](https://slides.com/felienne/pidk-k4-m2-l1) + +### Lesbrief + +[Metis les 1](https://bit.ly/jsles-2) + +## Leerdoelen + +* Client - Server code +* Eerste stappen in JavaScript (variabelen en condities) + +## Instructies voor de leerkracht + +In deze les leren leerlingen hoe client side code werkt en zien ze JavaScript code voor het eerst. diff --git a/module-4.2-javascript/les-1/les-1b.md b/module-4.2-javascript/les-1/les-1b.md new file mode 100644 index 0000000..c2a9dd4 --- /dev/null +++ b/module-4.2-javascript/les-1/les-1b.md @@ -0,0 +1,37 @@ +# Les 1b + +**Opdracht 1) Naam en leeftijd** + +Vraag de bezoeken om zijn/haar leeftijd. Geef vervolgens een alert() met de volgende inhoud: + +``` +Hallo , je bent jaar oud. +``` + +\ en \ vervang je door wat je hebt opgevraagd. + +Er staat al wat code voor je klaar in [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l1-opdracht-1). + +**Opdracht 2) Volwassen of niet?** + +Open [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l1-opdracht-2). Vraag de bezoeker om zijn/haar leeftijd. Geef vervolgens een alert() met de volgende inhoud. Is de persoon jonger dan 12: + +``` +Jij bent jonger dan 12. +``` + +Is de persoon tussen 12 en 18: + +``` +Jij bent een jong volwassene. +``` + +{% hint style="info" %} +Twee condities combineer je in JavaScript met `&&`, niet met het woordje `and` zoals in Python! +{% endhint %} + +Is de persoon 18 en ouder: + +``` +Jij bent een volwassene. +``` diff --git a/module-4.2-javascript/les-2/README.md b/module-4.2-javascript/les-2/README.md new file mode 100644 index 0000000..560bc7d --- /dev/null +++ b/module-4.2-javascript/les-2/README.md @@ -0,0 +1,18 @@ +# Les 2 + +## Slides + +[JavaScript Les 2](https://slides.com/felienne/pidk-k4-m2-l2) + +### Lesbrief + +[Metis les 2](https://bit.ly/jsles-2) + +## Leerdoelen + +* DOM en JavaScript +* Loops & functies in JavaScript + +## Instructies voor de leerkracht + +In deze les leren leerlingen hoe ze met JavaScript de DOM aan kunnen passen om bijv tekst ver laten verdwijnen of aan te passen. Ook worden functies in JavaScript bekeken en loops. diff --git a/module-4.2-javascript/les-2/les-2b.md b/module-4.2-javascript/les-2/les-2b.md new file mode 100644 index 0000000..1abeadb --- /dev/null +++ b/module-4.2-javascript/les-2/les-2b.md @@ -0,0 +1,20 @@ +# Les 2b + +**Opdracht 1**\ +\ +Maak de kopjes kleiner: [https://replit.com/@mevrHermans/pidk-k4-m2-l2-opdracht-1](https://replit.com/@mevrHermans/pidk-k4-m2-l2-opdracht-1) + +**Opdracht 2**\ +\ +Begroet de gebruiker: [https://replit.com/@mevrHermans/pidk-k4-m2-l2-opdracht-2](https://replit.com/@mevrHermans/pidk-k4-m2-l2-opdracht-2)\ +\ +**Opdracht 3:** + +Tel af van 10 to 0 als de gebruiker op de knop klikt: [https://replit.com/@mevrHermans/pidk-k4-m2-l2-opdracht-3](https://replit.com/@mevrHermans/pidk-k4-m2-l2-opdracht-3) \ +\ +**Opdracht 4:** \ +\ +Tijd over? Gebruik JavaScript op jouw site! + + + diff --git a/module-4.2-javascript/les-3/README.md b/module-4.2-javascript/les-3/README.md new file mode 100644 index 0000000..e62ff4d --- /dev/null +++ b/module-4.2-javascript/les-3/README.md @@ -0,0 +1,17 @@ +# Les 3 + +## Slides + +[JavaScript Les 3](https://slides.com/felienne/pidk-k4-m2-l3) + +### Lesbrief + +[Metis les 3](https://metiscoderclass.github.io/javascript-voor-web-0/Les-3-Objecten-puntnotatie-en-style.html) + +## Leerdoelen + +* Objecten en functies in JavaScript + +## Instructies voor de leerkracht + +In deze les leren leerlingen over objecten in JavaScript en gaan ze wederom zelf aan de slag met functies in JavaScript. diff --git a/module-4.2-javascript/les-3/les-3b.md b/module-4.2-javascript/les-3/les-3b.md new file mode 100644 index 0000000..a140074 --- /dev/null +++ b/module-4.2-javascript/les-3/les-3b.md @@ -0,0 +1,43 @@ +# Les 3b + + **Opdracht 1) Maak een paragraaf op** + +Open [deze repl.it](https://replit.com/@mevrHermans/pidk-k4-m2-l3-opdracht-1).\ +\ +Schrijf de functie `maakParagraafOp()`. \ +\ +Deze functie moet de paragraaf met id 'text' de volgende opmaak geven: + +* Lettertype moet Verdana zijn; +* Achtergrondkleur moet geel zijn; +* Lettergrootte moet 12 pixels zijn. + +Let er wel op dat alle opmaak in JavaScript geprogrammeerd moet worden (en niet direct in het CSS-bestand). Er staat al wat code voor je klaar. + +Je hoeft niet een knop te maken bij deze opgave, alleen de functie. + +**Opdracht 2) Verander de kleur** + +Op [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l3-opdracht-2). Schrijf een **JavaScript** dat een aantal eigenschappen hiernaast verandert. + +* Zorg dat de Titel rood van kleur wordt +* Zorg dat de twee paragrafen rechts op de pagina worden weergegeven +* Zorg dat de twee paragrafen een mooier font en een grotere lettergrootte krijgen + +**Opdracht 3) Plaats het plaatje** + +In [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l3-opdracht-3) zie je een plaatje dat te groot is voor het scherm. + +Gebruik JavaScript om het plaatje te veranderen: + +* Maak het kleiner +* Zorg dat er ruimte links en boven het plaatje komt (met de `margin`T`op` eigenschap bijvoorbeeld) +* Zorg dat er een begeleidende tekst onder het plaatje komt. Deze tekst moet echt onder het plaatje komen dus niet een beetje ernaast. + +**Opdracht 4) Vragen aan de gebruiker** + +Nu gaan we er een stapje bovenop doen! Open [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l3-opdracht-4). Het bijbehorende HTML bestand is bijna leeg, maar zal opgevuld moeten worden. + +Vraag de gebruiker voor elk element (h1 en p-elementen) wat er in moet staan en zorg zo dat de pagina opgevuld zal worden. + +En geef de tekst in de elementen de bijbehorende kleuren, te zien aan de classnames. diff --git a/module-4.2-javascript/les-4/README.md b/module-4.2-javascript/les-4/README.md new file mode 100644 index 0000000..ab4c107 --- /dev/null +++ b/module-4.2-javascript/les-4/README.md @@ -0,0 +1,17 @@ +# Les 4 + +## Slides + +[JavaScript Les 4](https://slides.com/felienne/pidk-k4-m2-l4) + +### Lesbrief + +[Metis les 4](https://metiscoderclass.github.io/javascript-voor-web-0/Les-4-Fouten%20opsporen%20en%20de%20console.html) + +## Leerdoelen + +* Debuggen in JavaScript + +## Instructies voor de leerkracht + +In deze les leren leerlingen hoe ze JavaScript foutmeldingen in de browser kunnen bekijken. Dat gaat net wat anders dan in Python. diff --git a/module-4.2-javascript/les-4/les-4b.md b/module-4.2-javascript/les-4/les-4b.md new file mode 100644 index 0000000..7e72c97 --- /dev/null +++ b/module-4.2-javascript/les-4/les-4b.md @@ -0,0 +1,18 @@ +# Les 4b + +**Opdracht 1) Verbeter de code** + +In [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l4-opdracht-1) staan wat foutjes in de JavaScript code. Verbeter jij ze? + +**Opdracht 2) Vind de fout** + +Ook [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l4-opdracht-2) bevat fouten. Run de code, en zorg dat deze weer werkend wordt! + +Gebruik console.log() om uit te vinden wat er mis gaat. + +Zorg ervoor dat: + +* De kleur van de titel `steelblue` wordt +* De inhoud van de paragraaf met id `paragraaf1` als volgt is: `Dingen Werken!` + +TODO: deze les heeft wat weinig opgaves vergeleken met de volgende les. Iest meer erbij hier? diff --git a/module-4.2-javascript/les-5/README.md b/module-4.2-javascript/les-5/README.md new file mode 100644 index 0000000..d1cc5e2 --- /dev/null +++ b/module-4.2-javascript/les-5/README.md @@ -0,0 +1,17 @@ +# Les 5 + +## Slides + +[JavaScript Les 5](https://slides.com/felienne/pidk-k4-m2-l5) + +### Lesbrief + +[Metis les 5](https://metiscoderclass.github.io/javascript-voor-web-0/Les-5-Invoer-gebruiker.html) + +## Leerdoelen + +* Invoer van de gebruiken verwerken + +## Instructies voor de leerkracht + +In deze les leren leerlingen hoe ze in JavaScript invoer van een gebruiker kunnen verwerken. diff --git a/module-4.2-javascript/les-5/les-5b.md b/module-4.2-javascript/les-5/les-5b.md new file mode 100644 index 0000000..ceeb36b --- /dev/null +++ b/module-4.2-javascript/les-5/les-5b.md @@ -0,0 +1,59 @@ +# Les 5b + +**Opdracht 1) Wisselknop** + +In [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l5-opdracht-1) staat een pagina met een knop erop en wat tekst. + +Schrijf een programma dat twee dingen doet als je op de knop klikt: + +* De kleur van de tekst "Hieronder staat een knop." wordt geel +* De tekst van de knop verandert naar: "Klik niet meer." + +**Opdracht 2) Telknop** + +In [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l5-opdracht-2) staat een pagina met een knop. + +Zorg dat je programma het volgende doet: + +* hou een teller bij voor het aantal keer klikken op de knop +* als iemand 3 (of meer) keer op de knop klikt verandert de tekst van de knop in "Stop met klikken!" + +**Opdracht 3) Verander het plaatje** + +Fork [deze repl ](https://replit.com/@mevrHermans/pidk-k4-m2-l5-opdracht-3)en maak een HTML pagina met een plaatje. Stop hier een knop bij die het plaatje bij het drukken van de knop verandert. + +**HINT:** Je kunt een plaatje selecteren op basis van het id en dan het src attribuut attribuut veranderen. Een stukje code + +``` +var auto = document.getElementById("auto"); +``` + +``` +auto.src = "url van je eigen autoplaatje"; +``` + +**Opdracht 4) Tekst onder het plaatje** + +Werk verder met de code van "Opdracht 3) Verander het plaatje". + +Breid het vorige programma uit zodat de knop die je hebt gemaakt, om de plaatjes te veranderen, ook een tekstje op de pagina zet over de desbetreffende plaatjes. Elke keer als er dus op de knop gedrukt wordt veranderen de plaatjes maar ook de tekst. + +**Opdracht 5) Klikkerdeklik** + +Je krijgt nu [in deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l5-opdracht-5) een pagina met een lege paragraaf (met `id = "aantalkliks"`) en een button. + +Programmeer de button zodat in de paragraaf te zien is hoe vaak er is geklikt op de button. + +**Opdracht 6) Waar klik ik?** + +Als je [deze code](https://replit.com/@mevrHermans/pidk-k4-m2-l5-opdracht-6) runt, zie je twee blokjes. + +Maak een programma dat detecteert op welk vakje geklikt wordt. + +Verander je website zodat er komt te staan: + +``` +Je hebt geklikt op nummer: +``` + +Waarbij je `` vervangt door 1 of 2. diff --git a/module-4.2-javascript/les-6/README.md b/module-4.2-javascript/les-6/README.md new file mode 100644 index 0000000..e1cdf24 --- /dev/null +++ b/module-4.2-javascript/les-6/README.md @@ -0,0 +1,17 @@ +# Les 6 + +## Slides + +[JavaScript Les 6](https://slides.com/felienne/pidk-k4-m2-l6) + +### Lesbrief + +[Metis les 6](https://metiscoderclass.github.io/javascript-voor-web-0/Les-6-Meer-invoer-tegelijk-afhandelen.html) + +## Leerdoelen + +* Meerdere elementen tegelijk ophalen en aanpassen (bijv. alle \

elementen van een pagina) + +## Instructies voor de leerkracht + +In deze les leren leerlingen hoe ze meerdere tags of classes in een keer kunnen ophalen en aanpassen. diff --git a/module-4.2-javascript/les-6/les-6b.md b/module-4.2-javascript/les-6/les-6b.md new file mode 100644 index 0000000..540b549 --- /dev/null +++ b/module-4.2-javascript/les-6/les-6b.md @@ -0,0 +1,40 @@ +# Les 6b + +**Opdracht 1) Gekleurde invoer** + +Ga naar [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l6-opdracht-1). Je hebt een pagina met invoervelden en een knop. Zorg dat de knop de tekst van elk ingevoerd element rood kleurt. + +Probeer dit zo kort mogelijk te doen. Je gebruikt natuurlijk ook `document.getElementsByClassName()`. + +Daarnaast gebruik je ook een for-loop: + +```javascript +for (let index = 0; index < lijst.length; index++){ +} +``` + +**Opdracht 2) Random gekleurde invoer** + +Ga naar [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l6-opdracht-2). Neem het volgende array (lijst) op in je JavaScript bestand (en zet er extra kleuren in): + +`var kleuren = ["red", "blue", "yellow"]` + +Maak een aantal invoervelden waarin je woorden of een stuk tekst (naar eigen keuze) in kan vullen. + +Geef alle invoervelden dezelfde **class**. + +Maak dan een knop die elk ingevoerd element een andere kleur uit het kleurenarray geeft. + +Probeer dit zo kort mogelijk te doen (denk aan kiezen uit een lijst van kleuren etc). Je gebruikt uiteraard ook `document.getElementsByClassName()`. + +**Opdracht 3) Selecteer de tag** + +Ga naar [deze repl.](https://replit.com/@mevrHermans/pidk-k4-m2-l6-opdracht-3) + +Maak een HTML pagina met twee knoppen en wat _cursieve (=schuingedrukte)_ en gewone text. Cursieve tekst maak je met de ``-tag + +Met knop 1 selecteer je alle cursieve woorden, en verander je de kleur. + +Met knop 2 selecteer je alle cursieve woorden, en verander je de kleur terug. + +Er staan wat hints voor de in de code om af te maken. diff --git a/module-4.2-javascript/les-7/README.md b/module-4.2-javascript/les-7/README.md new file mode 100644 index 0000000..9e61dd1 --- /dev/null +++ b/module-4.2-javascript/les-7/README.md @@ -0,0 +1,20 @@ +# Les 7 + +## Slides + +[JavaScript Les 7](https://slides.com/felienne/pidk-k4-m2-l7/) + +### Lesbrief + +[Metis les 7](https://metiscoderclass.github.io/javascript-voor-web-0/Les-7-Invoer-gebruiker-meer-events.html) + +## Leerdoelen + +* Andere soorten gebruikersinteractief naast knoppen: interactieve tekstelementen en plaatjes en mouseover. + +## Instructies voor de leerkracht + +In deze les leren leerlingen hoe ze met JavaScript andersoortige invoer van een gebruiker kunnen verwerken. + + + diff --git a/module-4.2-javascript/les-7/les-7b.md b/module-4.2-javascript/les-7/les-7b.md new file mode 100644 index 0000000..a1a6722 --- /dev/null +++ b/module-4.2-javascript/les-7/les-7b.md @@ -0,0 +1,19 @@ +# Les 7b + +**Opdracht 1) Een passend plaatje** + +Ga naar [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l7-opdracht-1) en maak een HTML pagina met een plaatje waarvan de grootte ook verandert als je je tabblad/browser window groter en kleiner maakt. Zorg dat het plaatje in de hoogte **en** de breedte op je pagina past maar niet te klein is. + +Je kunt het plaatje ook direct laten veranderen met CSS. Doe het in deze opgave met JavaScript. Zorg dat het plaatje ook niet rechts of onder uit je pagina steekt! + +**Opdracht 2) Veranderen zonder knop** + +Ga naar [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l7-opdracht-2). Maak een webpagina met een plaatje erop. + +Voeg aan het plaatje eventListeners toe zodat het plaatje verandert als je er met je muis over beweegt. + +Zorg er ook voor dat het plaatje weer terug verandert als je er met je muis weer af gaat. + +Zorg er ook voor dat het plaatje wel steeds even groot is. + +Natuurlijk mag je ook andere mooie elementen toevoegen aan de website! diff --git a/module-4.2-javascript/les-8/README.md b/module-4.2-javascript/les-8/README.md new file mode 100644 index 0000000..6768290 --- /dev/null +++ b/module-4.2-javascript/les-8/README.md @@ -0,0 +1,18 @@ +# Les 8 + +## Slides + +[JavaScript, les 8](https://slides.com/felienne/pidk-k4-m2-l8) (nog niet af, moet iets worden met wisbordjes "wat weet je nog over") + +## Lesbrief + +Er is lesbrief bij deze les, alleen afsluitende opdrachten + +## Leerdoelen + +* Kennis consolideren en oefenen voor de memory-opdracht + +## Instructies voor de leerkracht + +\--- + diff --git a/module-4.2-javascript/les-8/les-8b.md b/module-4.2-javascript/les-8/les-8b.md new file mode 100644 index 0000000..88851af --- /dev/null +++ b/module-4.2-javascript/les-8/les-8b.md @@ -0,0 +1,34 @@ +# Les 8b + +**Opdracht 1) Schakelaar** + +Schrijf [in deze replit](https://replit.com/@mevrHermans/pidk-k4-m2-l8-opdracht-1) de JavaScriptcode waarmee je het plaatje zichtbaar en onzichtbaar kunt maken. + +Dus als je klikt, dan wordt de computer onzichtbaar. En als je nog een keer klikt dan wordt hij zichtbaar enzovoorts. + +Denk erom dat je de tekst van de button ook aanpast. Die kan "Maak onzichtbaar" zijn en "Maak zichtbaar". + +{% hint style="info" %} +Gebruik het [display attribuut](https://www.w3schools.com/cssref/pr\_class\_display.asp) +{% endhint %} + +**Opdracht 2) Akkoord met de voorwaarden** + +Op [deze pagina](https://replit.com/@mevrHermans/pidk-k4-m2-l8-opdracht-2) staan een checkbox en een button. De button is uitgeschakeld (disabled = true). Als je de voorwaarden accepteert, dan wordt de button ingeschakeld. En als je erop klikt, dan laat je een plaatje zien van je favoriete (huis)dier. + +{% hint style="info" %} +Lees hier meer over [het aan- en uitzetten van een knop](https://www.w3schools.com/jsref/prop\_pushbutton\_disabled.asp). +{% endhint %} + +**Opdracht 3) Raad het getal** + +Als [dit script](https://replit.com/@mevrHermans/pidk-k4-m2-l8-opdracht-4) geladen wordt, wordt een willekeurig getal tussen 1 en 10 gekozen. De gebruiker mag nu raden naar het getal. Na elke poging krijgt hij/zij te zien of het geheime getal hoger of lager is. Dat gebeurt in de paragraaf met id `feedback`. Zodra het getal geraden is, geef je ook mee hoe vaak de speler heeft moeten raden. Ook dit geef je aan in deze paragraaf. + +**Opdracht 4) Verplaats het plaatje** + +In [deze repl](https://replit.com/@mevrHermans/pidk-k4-m2-l8-opdracht-3#index.html) zie je een plaatje en vier knoppen. Het is de bedoeling dat je met de buttons het plaatje naar links, rechts, boven en beneden gaat bewegen. + +Hiervoor moet je de eigenschappen `top` en `left` veranderen. Zie [de documentatie](https://www.w3schools.com/jsref/prop\_style\_top.asp). + + + diff --git a/module-4.3-eu-app-todo.md b/module-4.3-eu-app-todo.md new file mode 100644 index 0000000..2f5a59a --- /dev/null +++ b/module-4.3-eu-app-todo.md @@ -0,0 +1,2 @@ +# Module 4.3 - EU app (TODO) + diff --git a/module-5.1-tekstanalyse-1/README.md b/module-5.1-tekstanalyse-1/README.md new file mode 100644 index 0000000..ef9efd9 --- /dev/null +++ b/module-5.1-tekstanalyse-1/README.md @@ -0,0 +1,23 @@ +# Module 5.2 - Generatieve AI + +## Instructie voor de leerkracht + +In deze lessenserie maken leerlingen kennis met (een simpele vorm van) generatieve AI. + +## Doelen van deze module + +Meer oefenen met bekende concepten: + +* Files inlezen +* Dictionaries +* Grotere programma's en de bijbehorende organisatie zoals functies + +Leren over: + +* Formele grammatica's (FH, note to self: we zouden moeten beginnen met een heel klein part of speech trainertje met een grammatica en dan daaruit genereren maar dat is voor volgend jaar) +* Neurale netwerken + +## Slides + +Er zijn (nog) geen slides voor deze module + diff --git a/module-5.1-tekstanalyse-1/les-1/README.md b/module-5.1-tekstanalyse-1/les-1/README.md new file mode 100644 index 0000000..4911a81 --- /dev/null +++ b/module-5.1-tekstanalyse-1/les-1/README.md @@ -0,0 +1,14 @@ +# Les 1 + +## Slides + +[Module 2, les 1](https://slides.com/felienne/pidk-k5-m2-l1/) + +## Leerdoelen + +* Basisbegrip van hoe GPT werkt +* Eerste stapjes met een simpel turfalgoritme + +## Instructies voor de leerkracht + +In deze les gaan leerlingen zelf naar informatie zoeken over hoe gpt werkt. Ik doe dat een beetje gericht (zie slides). Daarna maken ze zelf de simpelste vorm van een gpt: ze turven hoe vaak een woord volgt op een ander woord. diff --git a/module-5.1-tekstanalyse-1/les-1/les-1a.md b/module-5.1-tekstanalyse-1/les-1/les-1a.md new file mode 100644 index 0000000..4beea4a --- /dev/null +++ b/module-5.1-tekstanalyse-1/les-1/les-1a.md @@ -0,0 +1,14 @@ +# Les 1a + +### **Generatieve code** + +Misschien weet je al dat GPT staat voor Generative Pre-trained Transformer. Wat dat precies betekent, leren we later in deze lessenserie, maar we beginnen met _generatief_. Dat betekent dat je iets gaat genereren, oftewel maken. In het geval van GPT is wat er gegenereerd wordt, een stukje tekst. + +Eigenlijk kun je dat al! Want heel lang geleden in de brugklas, maakte we ook al een generatief programma, toen we een interactief en willekeurig verhaal hebben gemaakt. Dat was ongeveer zo iets: [https://replit.com/@mevrHermans/Verhaal-Demonstratie](https://replit.com/@mevrHermans/Verhaal-Demonstratie) + + + + + + + diff --git a/module-5.1-tekstanalyse-1/les-1/les-1b.md b/module-5.1-tekstanalyse-1/les-1/les-1b.md new file mode 100644 index 0000000..4d9f03e --- /dev/null +++ b/module-5.1-tekstanalyse-1/les-1/les-1b.md @@ -0,0 +1,81 @@ +# Les 1b + +**File inlezen en opruimen** + +File inlezen en opruimen We gaan beginnen met het inlezen van een tekstfile. We lezen iedere regel van het bestand in, en hakken het op in losse woorden met `.split()` + +Daarna filteren we alle interpunctie eruit, want we gaan alleen naar woorden kijken. + +```python +lines = [] + +overslaan = [', ', '.', ',', ''] + +for regel in open("alice-combined.txt").readlines(): + regel = regel.replace("\n", " ") + + regel_als_lijst = regel.split(' ') + + regel_als_lijst_gefilterd = [x for x in regel_als_lijst if not x in overslaan] + if regel_als_lijst_gefilterd != []: + lines.append(regel_als_lijst_gefilterd) +``` + +**Opdracht 1: Verder opruimen** + +Print de variabele lijn uit en kijk eens wat er in zit. Zie je nog meer interpunctie? Voeg die toe aan de lijst `overslaan` zodat die niet meer meetelt. + +**Opdracht 2: Turven met een lijst** + +We gaan een begin maken met turven. Stap 1 is het maken van een lijst voor ieder woord, met daarin de woorden die erna kunnen komen. We bekijken even een stukje van de invoer: + +``` +Alice was beginning to get very tired of sitting by her sister on the +bank , and of having nothing to do : once or twice she had peeped into +the book her sister was reading , but it had no pictures or +conversations in it , and what is the use of a book , thought Alice +without pictures or conversations ? +``` + +Kijk naar het woord **Alice**. Daarna kan of **was** komen of **without**. Dus, dit is wat we willen als uitvoer, in een dictionary komt bij de key Alice een lijst met was en without erin, zo: + +`{'Alice' : ['was', 'without']}` + +Dat doen we zo voor ieder woord. Na **was** komt **beginning** of **reading**, dan wordt de hele dictionary:\ +\ +`{'Alice' : ['was', 'without'],`\ +`'was' : ['beginning', 'reading']}` + +Na beginning komt maar een woord (namelijk **to**), maar zet ook dat woord in een lijst! + +`{'Alice' : ['was', 'without'],`\ +`'was' : ['beginning', 'reading'],`\ +`'beginning': ['to']}` + +Schrijf code dit deze lijsten maakt voor het hele bestand. + +**Opdracht 3: Jullie eigen data** + +We willen natuurlijk geen Alice in Wonderland uitspugen maar iets dat klinkt zoals jezelf. Ga op zoek naar de data die je kan vinden en zorg dat je die in een tekstformaat (.txt) zet. Denk aan: + +* Email +* Verslagen op Google Drive +* Opdrachten op Magister +* Social media met tekst (Instagram, Twitter) + +Kopieer natuurlijk niet met de hand, maar zoek naar export-opties. Veel systemen hebben zo'n optie. Laat het in losse bestanden staan, dan kan je later nog verschil maken.\ +\ +**Opdracht 4: Vertaal de lijst naar een dictionary (voor tijd over)**\ +\ +Heb je tijd over? Dan kun je je data al een beetje gaan aanpassen. + +Als je je code runt op het hele bestand, krijg je voor sommige woorden lijsten met veel dezelfde dingen erin, bijv voor Lion: + +`'Lion': ['and', 'and', 'and', 'and', 'beat', 'and', 'and', 'had', 'looked', 'said', 'replied', 'growled', 'she', 'as', 'twice', 'Do', 'and', 'and']` + + \ +Dat maakt het lastig om het volgende woord te vinden. Wat makkelijk is, is een dictionary met kansen, bijv **and** komt in 8 keer voor uit 18, dus dat is 44 procent. **Do** komt een keer uit de 18 voor dus dat is 5.5 procent. Dus, we willen een uitvoer zoals deze:\ +\ +`'Lion': [('and', 0.44), ('Do', 5.5), ...]`\ +\ +Bedenk zelf een plan voor hoe je de data omzet. Lukt dat niet dan doen we het volgende week samen! diff --git a/module-5.1-tekstanalyse-1/les-2/README.md b/module-5.1-tekstanalyse-1/les-2/README.md new file mode 100644 index 0000000..9843d52 --- /dev/null +++ b/module-5.1-tekstanalyse-1/les-2/README.md @@ -0,0 +1,13 @@ +# Les 2 + +## Slides + +TBA + +## Leerdoelen + +* Op basis van turven woorden voorspellen + +## Instructies voor de leerkracht + +In deze les gaan leerlingen verder met de code van les 1, ze maken een dictionary met kansen en gaan dan voorspellingen maken op basis van de dictionary. diff --git a/module-5.1-tekstanalyse-1/les-2/les-2a.md b/module-5.1-tekstanalyse-1/les-2/les-2a.md new file mode 100644 index 0000000..0f600c6 --- /dev/null +++ b/module-5.1-tekstanalyse-1/les-2/les-2a.md @@ -0,0 +1,5 @@ +# Les 2a + +### **Voorspellen!** + +In de vorige les hebben we alleen maar een lijstje gemaakt van voorspellingen, dus we weten nu voor ieder woord in de dataset welke woord het meest waarschijnlijke volgende woord is. Dat gaan we nu voorspellen. diff --git a/module-5.1-tekstanalyse-1/les-2/les-2b.md b/module-5.1-tekstanalyse-1/les-2/les-2b.md new file mode 100644 index 0000000..9225b2c --- /dev/null +++ b/module-5.1-tekstanalyse-1/les-2/les-2b.md @@ -0,0 +1,58 @@ +# Les 2b + +**Opdracht 1: Vertaal de lijst naar een dictionary**\ +\ +Vorige les ben je geëindigd met een lijst, bijv deze voor Lion: + +`'Lion': ['and', 'and', 'and', 'and', 'beat', 'and', 'and', 'had', 'looked', 'said', 'replied', 'growled', 'she', 'as', 'twice', 'Do', 'and', 'and'],` + +Dat maakt het lastig om het volgende woord te vinden. Je moet dan alle woorden steeds tellen en kijken welke het vaakste voor komt, en die voorspellen. + +Wat makkelijk is, is een dictionary met aantallen, bijv **and** komt in 8 keer. **Do** komt één keer voor. Dus, we willen een uitvoer zoals deze:\ +\ +`'Lion': [('and', 8), ('Do', 1), ...]`\ +\ +Dan kunnen we makkelijk tellen welk woord het meest waarschijnlijk is. Zet je code om zodat er een dictionary van dictionaries uitkomt ipv een dictionary van lijsten. + +Volg deze stappen (de code staat hier onder) + +* Begin met een woord uit je lijst. Ik neem `Lion` als voorbeeld maar jij kan ook een ander voorbeeld kiezen. +* Verander de lijst in een dictionary met `count` +* Sorteer de lijst + +```python +volgende_woord_opzoeker[woord] = {x: volgende_woorden.count(x) for x in volgende_woorden} +volgende_woord_opzoeker[woord] = sorted(volgende_woord_opzoeker[woord].items(), key=lambda x: -x[1]) +``` + + + +**Opdracht 2: Voorspellen maar!** + +We kunnen nu voor het woord Lion een voorspelling doen, zo: + +```python +eerste_woord = 'Lion' +volgende_woord = volgende_woord_opzoeker[eerste_woord][0][0] +``` + +Volgende woord wordt nu **and**! + +\ +**Opdracht 3: En dan nu voor alle woorden** + +We hebben nu alleen voor een woord voorspeld, maar we gaan nu de hele lijst van dictionaries doorlopen en dan kunnen we voor ieder woord voorspellen. + +* Lees nu de hele lijst van dictionaries door, dat kan met\ + `woord, volgende_woorden in volgende_woord_opzoeker.items():` + +Probeer nu eens wat teksten te voorspellen. + +**Opdracht 4: delen** + +We hebben nu alle geteld. Maar de tekst die nu uit het algoritme komt klinkt nog niet zo mooi. Dat komt omdat het helemaal niet random is! Daar gaan we nu aan werken. + +Maar we willen straks kansen, dus een dictionary met kansen, bijv **and** komt in 8 keer voor uit 18, dus dat is 55 procent. **Do** komt één keer uit de 18 voor dus dat is ongeveer 6 procent. Dus, we willen een uitvoer zoals deze:\ +\ +`'Lion': [('and', 0.47), ('Do', 0.06), ...]`\ +\ diff --git a/module-5.1-tekstanalyse-1/les-3/README.md b/module-5.1-tekstanalyse-1/les-3/README.md new file mode 100644 index 0000000..83f9044 --- /dev/null +++ b/module-5.1-tekstanalyse-1/les-3/README.md @@ -0,0 +1,14 @@ +# Les 3 + +## Slides + +TBA + +## Leerdoelen + +* Werken met de temperature van de voorspellingen +* De dataset opsplitsen en meten hoe goed de training is + +## Instructies voor de leerkracht + +In deze les gaan leerlingen verder met de code van les 2, ze gaan dan voorspellingen verbeteren en meten hoe goed ze voorspellen. diff --git a/module-5.1-tekstanalyse-1/les-3/les-3a.md b/module-5.1-tekstanalyse-1/les-3/les-3a.md new file mode 100644 index 0000000..df4aaf5 --- /dev/null +++ b/module-5.1-tekstanalyse-1/les-3/les-3a.md @@ -0,0 +1,19 @@ +# Les 3a + +### Te veel h**erhaling** + +Als je de vorige les hebt afgemaakt dan heb je gemerkt dat de voorspellingen niet zo goed zijn, je krijgt op een gegeven moment altijd deze loop: + +``` +said +the +queen +said +the +queen +said +the +queen +said +``` + diff --git a/module-5.1-tekstanalyse-1/les-3/les-3b.md b/module-5.1-tekstanalyse-1/les-3/les-3b.md new file mode 100644 index 0000000..68c9097 --- /dev/null +++ b/module-5.1-tekstanalyse-1/les-3/les-3b.md @@ -0,0 +1,107 @@ +# Les 3b + +**Opdracht 1: Kies af een toe eens een ander woord**\ +\ +Vorige les heb je voorspeld maar die voorspelling werkte niet zo heel goed. Je moet niet altijd het eerste woord kiezen, maar af en toe een ander woord. Kies bijvoorbeeld in 80% van de gevallen het eerste woord, maar in 20% van de gevallen een willekeurig woord uit de lijst. Programmeer dat zelf. + +We noemen dit de temperatuur van de voorspelling, in GPT is het ook ongeveer 80%. + +**(extra)** Je kan ook sommige woorden overslaan, bijv woorden die maar 1x voorkomen, of woorden met minder dan 5% kans. + +**Opdracht 2: Een functie voor voorspellen**\ +\ +We gaan nu met de computer tellen of de voorspellingen wel kloppen. Volg deze stappen om je code in orde te krijgen: + +1. Maak een functie, en noem die `voorspel_woord(woord)` +2. Zet de code die je gebruikt om een volgende woord te voorspellen in deze functie. Dat is dus code die op basis van één woord een volgende woord kiest.\ + Die functie heeft als parameter een woord, en return ook een woord. \ + Vergeet dus niet `return woord` in je code te gebruiken! +3. Test de code met de hand een paar keer, bijv weer op het woordje **Lion**. Komt er het goede woord uit? Probeer nog meer willekeurige woorden! + +**Opdracht 3: Soms vindt de functie... niks?** + +Soms krijg je een foutje, een `KeyError`bijvoorbeeld bij het woord **brainless** kan dat gebeuren. Probeer maar eens! Denk eens na hoe dat zou kunnen komen? + +Het komt omdat het woord wel als tweede woord voorkomt maar niet als eerste woord. We moeten het dus een klein beetje anders programmeren. In plaats van: + +`opties = volgende_woord_opzoeker[woord]` + + moeten we een nieuwe code gebruiken, `get`. + +Dat doen we zo: + +```python +opties = volgende_woord_opzoeker.get(woord, None) +if opties is None: + return None #er zijn geen opties, we hebben geen suggestie +``` + +`get(woord)` is precies hetzelfde als `[woord]`, maar je kan als tweede argument aan Python vertellen wat er terug gegeven moet worden als er niks gevonden is. Doe je dat zoals hierboven, dan krijg je `None` terug als er niks gevonden is, in plaats van een fout. + +**Opdracht 4: Splitsen maar** + +Nu gaan we de data splitsen: + +* Maak een variabele aan die `verdeling` heet, en zet die op 0.9. +* Maak een tweede variabele die aangeeft to waar we inlezen, rond de waarde af, anders wordt het geen integer en krijg je een fout:\ + `grens = round(len(lines)*verdeling)` +* Met de variabele grens gaan we de data splitsen. +* In de lus die je al hebt, ga je nu niet alle dat inlezen, maar maar een stuk: het wordt nu `lines[0:grens]`, van 0 tot grens + + + +Nu gaan we een tweede lus toevoegen waarin je over de data loopt. Die lus gaat van grens tot het einde, zo: `lines[grens:]` In de lus gaan we nu de rest van de lijst lines inlezen. + +We kijken dan steeds bij een woord of het volgende woord goed voorspeld wordt. Maak de code af op de streepjes. Zet er eerst in woorden bij wat er moet gebeuren, en dan pas code. \ +\ +Tip: Je hebt 3 nieuwe variabele nodig om goed, fout en niks voorspeld te tellen. + +```python +for line in lines[grens:]: + for i in range(0, len(line)-1): + # line is a list of words + woord = line[i] + ingelezen_woord = line[i+1] + + voorspelde_woord = voorspel_volgende_woord(woord) + + if voorspelde_woord == None: + ___ + elif voorspelde_woord == ingelezen_woord: + ___ + else: + ___ +``` + +Print op het einde van je code de waardes uit. Het wordt ongeveer dit: + +``` +Goed voorspeld 957 +Fout voorspeld 6631 +Niks voorspeld 357 +``` + +Het kan zijn dat jouw getallen een beetje anders zijn, maar het zou wel ongeveer hetzelfde moeten zijn met temperatuur 80 en splitsing 90. + +**Opdracht 5: Delen (extra)** + +Als je deze uitvoer hebt, maak het dan wat mooier door door het totaal aantal voorspellingen te delen (goed plus fout plus niks), dan krijg je het aantal keer dat het goed of fout is in percentages uitgedrukt. Dat geeft straks een handiger overzicht. Je krijgt dan ongeveer dit: + +``` +Percentage goed 12.05 +Percentage fout 83.46 +Percentage niks 4.49 +``` + + + + + + + + + + + + + diff --git a/module-5.1-tekstanalyse-1/les-4/README.md b/module-5.1-tekstanalyse-1/les-4/README.md new file mode 100644 index 0000000..c062e13 --- /dev/null +++ b/module-5.1-tekstanalyse-1/les-4/README.md @@ -0,0 +1,13 @@ +# Les 4 + +## Slides + +TBA + +## Leerdoelen + +* Een grotere dataset inlezen en de code optimaliseren + +## Instructies voor de leerkracht + +In deze les gaan leerlingen verder met de code van les 3, ze gaan nu de voorspellingen verbeteren. diff --git a/module-5.1-tekstanalyse-1/les-4/les-4a.md b/module-5.1-tekstanalyse-1/les-4/les-4a.md new file mode 100644 index 0000000..8c4f6c8 --- /dev/null +++ b/module-5.1-tekstanalyse-1/les-4/les-4a.md @@ -0,0 +1,6 @@ +# Les 4a + +### + + + diff --git a/module-5.1-tekstanalyse-1/les-4/les-4b.md b/module-5.1-tekstanalyse-1/les-4/les-4b.md new file mode 100644 index 0000000..5ccad94 --- /dev/null +++ b/module-5.1-tekstanalyse-1/les-4/les-4b.md @@ -0,0 +1,50 @@ +# Les 4b + +**Opdracht 1: Haal je parameters naar boven** + +We hebben nu al een paar "knopjes" gemaakt waar je aan kan draaien: + +* temperatuur +* hoeveel je gaat splitsen +* (optioneel) hoeveel random opties je kiest + +We gaan de code wat opruimen, zo: + +* Zet je parameters bovenaan de code, zodat je makkelijker kan spelen met de instellingen +* Print je parameters uit, zodat je bij je uitvoer goed kan zien welke instelling je gebruikt hebt + +**Opdracht 2: Jullie eigen data zoeken** + +We willen natuurlijk geen Alice in Wonderland uitspugen maar iets dat klinkt zoals jezelf. Het is nu echt tijd om naar jouw eigen data te gaan kijken!\ +\ +Ga op zoek naar de data die je kan vinden en zorg dat je die in een tekstformaat (.txt) zet. Denk aan: + +* Email +* Verslagen op Google Drive +* Opdrachten op Magister +* Social media met tekst (Instagram, Twitter) + +Kopieer natuurlijk niet met de hand, maar zoek naar export-opties. Veel systemen hebben zo'n optie. + +**Opdracht 3: Jullie eigen data inlezen** + +Je hebt nu waarschijnlijk niet een bestand maar een aantal bestanden. Pas je code aan zodat `lines`niet alleen uit een bestand bestaat maar uit de regels van meerdere bestanden. Zo gaat ongeveer zo: + +```python +directory = 'mijn-data' + +for filename in os.listdir(directory): + f = os.path.join(directory, filename) + for regel in open(f).readlines(): + ___ # hier de code die je al had +``` + +**Opdracht 4: Kijk twee woorden vooruit** + +Als we betere zinnen willen maken, moeten we verder vooruit kijken. Niet een woordje, maar twee. Dat doe je door steeds twee woordjes aan elkaar te plakken. Dat wordt samen de key in je dictionary. + +Bekijk nu de uitvoer goed! Worden de zinnen beter? En hoe zien de statistieken eruit? + +**Opdracht 5: Vooruitkijken met een parameter (extra!)** + +Je kan nu niet makkelijk terug naar één woordje vooruit. Voeg ook een parameter toe voor het vooruit kijken zodat je makkelijk kan kiezen tussen een of twee woordjes vooruit. diff --git a/module-5.1-tekstanalyse/README.md b/module-5.1-tekstanalyse/README.md new file mode 100644 index 0000000..17ed290 --- /dev/null +++ b/module-5.1-tekstanalyse/README.md @@ -0,0 +1,17 @@ +# Module 5.1 - Eigen project + +## Instructie voor de leerkracht + +In deze lessenserie ontwerpen en ontwikkelen leerlingen een eigen project. + +## Doelen van deze module + +Meer oefenen met bekende concepten: + +* Plannen maken en herzien +* Verdieping in de programmeertaal naar keuze + +## Slides + +Er zijn (nog) geen slides voor deze module + diff --git a/module-6.1-boekenproject/README.md b/module-6.1-boekenproject/README.md new file mode 100644 index 0000000..e10e39d --- /dev/null +++ b/module-6.1-boekenproject/README.md @@ -0,0 +1,22 @@ +# Module 6.1 - Boekenproject + +## Instructie voor de leerkracht + +In deze lessenserie lezen leerlingen een populair-wetenschappelijk boek over algoritmes. Ze mogen de boeken zelf kiezen (wij hebben op school een ruime selectie, maar zelf inbrengen mag ook). + +## Doelen van deze module + +* Non-fictie leren lezen +* Verdieping in een subonderwerp + +## Boekenlijst + +Deze boeken hebben wij door de jaren heen gelezen: + +

+ +
+ +### Slides + +Er zijn (nog) geen slides voor deze module diff --git a/module-6.1-boekenproject/les-1-leeswijzer-basis.md b/module-6.1-boekenproject/les-1-leeswijzer-basis.md new file mode 100644 index 0000000..75e5b5e --- /dev/null +++ b/module-6.1-boekenproject/les-1-leeswijzer-basis.md @@ -0,0 +1,62 @@ +# Les 1 - Leeswijzer - Basis + +## Algemene leestips + +Misschien heb je nog niet zo vaak een non-fictie boek gelezen. Hierbij een paar algemene tips die altijd handig zijn.\ + + +* Sla het inleidende hoofdstuk over, en begin meteen met het eerste inhoudelijke hoofdstuk. \ + \ + Het is heel gek maar een inleiding is vaak helemaal geen inleiding! Het is vaak een reflectie van de schrijver\ + +* Snap je iets nog niet? Sla het even over! Pak een post-it om jezelf eraan te herinneren dat je nog wat moet bekijken.\ + +* Ben je een eindje in het boek en vind je het toch maar niks? Wissel je boek in! (Denk aan de 10 rechten van de lezer) Overleg even met mevr. Hermans over de afronding van je huidige boek.\ + ![](<../.gitbook/assets/image (18).png>) + +## Leesaantekeningen in de les + +Aan het einde van de les moet je aantekeningen hebben gemaakt over wat je hebt gelezen. + +* Maak aantekeningen tijdens het lezen, maar niet bij iedere zin. Lees een stukje (een paragraaf of een bladzijde) en schrijf dan wat op.\ + +* Schrijf op: + * Wat belangrijke concepten zijn die je hebt geleerd. + * Welke vragen je nog hebt over de rest van het boek + * Het hoeven niet alleen feiten te zijn! Schrijf ook op wat je zelf van het onderwerp vindt! + +## Leesaantekeningen aan het eind van de les + +Op het einde van de les schrijf je weer in je schrift. Dit zodat je alles goed onthoudt maar ook ter voorbereiding op de volgende keer lezen. + +Schrijf op: + +* Een korte samenvatting van wat je vandaag hebt gelezen. Dat mag in tekst, maar je ook tekenen, bijv een mindmap! +* Wat je leuk en wat je minder leuk vindt aan het boek. +* Wat je de volgende keer verwacht te gaan lezen. +* GPT, doe er je voordeel mee! Tussen lessen in mag je GPT gebruiken zoveel als je maar wilt. Dus denk ook na welke dingen je aan GPT gaat vragen over het boek tot nu toe? \ + \ + Vraag bijvoorbeeld een samenvatting op, of laat GPT vragen beantwoorden die je nog hebt. Hoe beter je over je vragen nadenkt, hoe nuttiger GPT is! + +## Veelgestelde vragen + +* Mag het mondeling in het Engels als ik Engelse boeken lees? + * Dat mag! +* Mag ik een eigen non-fictie boek meenemen? + * Ja, in overleg, en het moet natuurlijk duidelijk over algoritmes gaan +* Mag ik ook fictie lezen? Dat mag als: + * Het boek een duidelijk AI component heeft + * Het boek is goedgekeurd voor mevr. Hermans + * Als je één non-fictie hebt afgerond. + +## Tips om buiten de les verder te lezen + +Lees je thuis of ergens anders verder? Denk dan aan deze tips: + +* Ga op een rustige plek zitten, op je kamer, in het OLC, in de bieb of in een rustig koffietentje. Het liefst op een plek waar andere mensen ook aan het werk zijn. + * Heb je de kans om buiten te lezen? Doen! Frisse lucht is goed voor je. +* Samen werkt beter! Spreek met een klasgenoot af om samen even te lezen. +* Maak een afspraak met jezelf (of met je leesmaatje) hoe lang je gaat lezen, bijv: 10 minuten en dan even pauze. Concentratievermogen is net als een spier, train tot je het steeds langer volhoudt! +* Gebruik een app gebruiken om je telefoon te blokkeren zodat je echt niet afgeleid raakt (bijv Forest of App Block) +* Bewegen helpt! Loop na een half uur lezen even een rondje! Dat is beter voor je hersenen. + diff --git a/module-6.1-boekenproject/les-2-leeswijzer-verdieping.md b/module-6.1-boekenproject/les-2-leeswijzer-verdieping.md new file mode 100644 index 0000000..6fdda65 --- /dev/null +++ b/module-6.1-boekenproject/les-2-leeswijzer-verdieping.md @@ -0,0 +1,23 @@ +# Leeswijzer les 2 + +## Algemene leestips + +Nog een paar reminder die belangrijk zijn bij het _verder_ lezen van een boek. + +* Snap je iets nog niet? Sla het even over! Pak een post-it om jezelf eraan te herinneren dat je nog wat moet bekijken. +* Denk je dat iets heel belangrijk is? Schrijf het ook op!\ + Dingen die belangrijk zijn, kunnen zijn: + * Dingen waar in de tekst bij staat "dit is belangrijk" Laat de schrijver jou helpen + * Dingen, namen, concepten die vaak voorkomen + * Hoofdstuk of paragraafnamen + +## Verderleestips + +* Het duurt altijd even voor je weer "in" je boek zit. + * Geef jezelf even tijd voor de opstart + * Blader eventueel één of twee bladzijdes terug + * Scan nog een keer de inhoudsopgave om te kijken wat je tot nu toe hebt gelezen + * Lees je aantekeningen door +* Denk goed na over welke informatie je nodig hebt om weer in het boek te komen. Kan je dat soort informatie voor de volgende keer noteren? +* Kijk naar je openstaande vragen in de post-its. Is er iets dat je nu misschien al weet? + diff --git a/module-6.1-boekenproject/les-3-opdrachten.md b/module-6.1-boekenproject/les-3-opdrachten.md new file mode 100644 index 0000000..fa5280d --- /dev/null +++ b/module-6.1-boekenproject/les-3-opdrachten.md @@ -0,0 +1,19 @@ +# Les 3 - Opdrachten + +Vandaag gaan we met twee kleine opdrachten aan de slag, voor het lezen begint. + +**Opdracht 1** + +Kies één ding uit dat je geleerd hebt uit je boek, het hoeft niet meer dan een zinnetje te zijn! Als je wilt mag je je aantekeningen doorbladeren om iets te kiezen. Probeer het zo te formuleren dat iemand die jouw boek niet heeft gelezen het ook snapt, en kies iets waarvan je denkt dat je klasgenoten het ook interessant vinden. + +**Opdracht 2** + +Maak een schema van je geleerde kennis tot nu toe. Als je kennis vaak probeert te herinneren, blijft die beter plakken. Probeer dus, zonder je aantekeningen verder te raadplegen, een schematische weergave te maken van kennis tot nu toe.\ +\ +Je kan bijvoorbeeld dit schema gebruiken. De eerste rij is een voorbeeld. + +
ConceptDefinitieWeetjeHangt samen met
AlgoritmeEen stappenplan dat een computer kan uitvoerenGenoemd naar de Perziër Al-Chwarizmi.Programmeren
+ +Je kan ook een mindmap maken, waarin je samenhangende concepten visueel verbindt. Voorbeeld: + +
diff --git a/module-6.1-boekenproject/les-4-opdrachten.md b/module-6.1-boekenproject/les-4-opdrachten.md new file mode 100644 index 0000000..2756251 --- /dev/null +++ b/module-6.1-boekenproject/les-4-opdrachten.md @@ -0,0 +1,14 @@ +# Les 4 - Opdrachten + +Weer wat kleine opdrachten, voor het lezen begint. + +**Opdracht 1: Zoek antwoord op je vragen!** + +Pak al je openstaande vragen erbij, en schrijf de vragen die je nog hebt op een postit. + +We hangen alle postits op de muur. Als je je briefjes hebt opgehangen, kijk dan eens of jij het antwoord op vragen van andere leerlingen weet. We lopen ze straks een voor een na. + +**Opdracht 2: Vul je schema aan** + +Vorige week heb je een schematisch overzicht gemaakt van wat je tot nu toe gelezen hebt. Pak het overzicht erbij en vul het (uit je hoofd!) zo goed mogelijk aan met alles wat er in de post-it ronde geleerd is. + diff --git a/module-6.2-algoritmiek.md b/module-6.2-algoritmiek.md new file mode 100644 index 0000000..22909e4 --- /dev/null +++ b/module-6.2-algoritmiek.md @@ -0,0 +1,19 @@ +# Module 6.2 - Algoritmiek + +## Instructie voor de leerkracht + +In deze lessenserie maken leerlingen kennis met algoritme in de theoretische betekenis. We volgen [materiaal](https://timjs.notion.site/Kwaliteit-van-algoritmen-be645e7fd6ea42aca882b5b77a09b5d0) horende bij keuzemodule G. + +## Doelen van deze module + +Leren over: + +* Verschillende betekenissen van algoritme +* Redeneren over efficientie van algoritmes + +## Slides + +De slides vind je hier: [Slides](https://slides.com/felienne/klas-6-module-2-les-1) + + + diff --git a/module-kunst-1/README.md b/module-kunst-1/README.md deleted file mode 100644 index 7c87c54..0000000 --- a/module-kunst-1/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# Module Kunst - -### Instructie voor de leerkracht - -Het idee van deze module is dat leerlingen een interactief kunstwerk maken met Python. Leerlingen - -### Doelen van deze module - -In deze lessenserie komen de volgende programmeerconcepten aan bod: - -* tekenen met turtle -* graden en hoeken -* willekeurige waardes uit de 'random' library -* for-loops -* RGB kleurenwaardes - -Materiaal uit module 1 wordt gebruikt, maar niet expliciet herhaald, daar moeten leerlingen wel bekend mee zijn: lijsten, variabelen, printen. - -### Voorbeeld - -Het idee van deze lessenserie is dat leerlingen een soort spirograafkunstwerk maken, waarin ze ook gebruik maken van 'random' waardes. Er kan dus steeds een ander kunstwerk verschijnen binnen de gegeven waardes. Op deze link staat een voorbeeld: [https://repl.it/@Felienne/Spirograaf-Demo](https://repl.it/@Felienne/Spirograaf-Demo) - -De code en een bijbehorende uitvoer zie je hier. Probeer dit zelf voor de les al even uit. Je ziet dat er steeds een sliert van figuren getekend wordt, en dat de tekening steeds verandert als je de code opnieuw uitvoert! - -Run de code een paar keer, zodat leerlingen ook echt zien dat er steeds een ander figuur verschijnt, maar dat de figuren wel op elkaar lijken. Er zal altijd een soort 'sliert' ontstaan naar beneden, maar de vormen en kleuren zijn steeds anders. - -### Opzet van de lessen - -Iedere module bestaat steeds uit drie delen: a, b en c. - -a\) klassikale les b\) werkbladen zodat lln zelf aan de slag kunnen achter de computer c\) klassikale afsluiting - -### Overzicht van de lessen in deze module: - -1. figuren tekenen met de hand -2. figuren tekenen met de turtle -3. random getallen en figuren -4. herhaling -5. kleuren RGB -6. invoer voor de figuren - -### Tips - -Nog een aantal tips: - -* Lees de codes hardop voor: - * pen punt forward ronde haak openen 10 ronde haak sluiten - * pen punt left ronde haak openen 90 ronde haak sluiten -* Stip ook even de betekenissen \(en uitspraak\) can Turtlecommando's aan: - * forward betekent "ga vooruit" - * left betekent links, maar in deze code betekent het "draai linksom", dus niet "ga naar links" - diff --git a/module-kunst-1/les-1/README.md b/module-kunst-1/les-1/README.md deleted file mode 100644 index baf4707..0000000 --- a/module-kunst-1/les-1/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# Les 1 - diff --git a/module-kunst-1/les-2/README.md b/module-kunst-1/les-2/README.md deleted file mode 100644 index dd16177..0000000 --- a/module-kunst-1/les-2/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# Les 2 - diff --git a/module-kunst-1/les-2/les-2a.md b/module-kunst-1/les-2/les-2a.md deleted file mode 100644 index ed06473..0000000 --- a/module-kunst-1/les-2/les-2a.md +++ /dev/null @@ -1,161 +0,0 @@ -# Les 2a - -**Herhalen met Turtle** - -**Even opfrissen** - -1\) Maak een vierkant - -Vorige week deden we deze opdracht ook, dat was best een lastige opdracht! We gaan het daarom nog een keer oefenen. Teken dit figuur in je schrift. - -![](../../.gitbook/assets/image-20190322135329083.png) - -Nu gaan we Pythoncodes koppelen aan de stukjes van de tekening. Welke code hoort bij welk stukje? -Je moet beide opdrachten vier keer gebruiken. Schrijf de codes op volgorde op in je schrift. - -1. pen.forward\(100\) -2. pen.left\(90\) -3. ... -4. ... -5. ... -6. ... -7. ... -8. ... - -​​2\) Teken nu een driehoek - -![](../../.gitbook/assets/image-20190322135525607.png) - -1. Welke som reken je uit om een driehoek te maken? Weet je de som nog? Schrijf deze in je schrift. -2. Welke Pythoncode gebruik jij voor de hoek van een driehoek? Vul het in op de puntjes. - -pen.left\(……..\) - -1. Een driehoek maak je met: - -* pen.left\(……..\) <— dit is het commando voor draaien. Hier komt het getal dat je bij opdracht 1 hebt berekend -* pen.forward\(100\) - -Zet nu deze opdrachten bij de juiste plekken in de tekening. Je moet allebei de Python opdrachten drie keer gebruiken. Schrijf het in je schrift: - -1. ... -2. ... -3. ... -4. ... -5. ... -6. ... - -​​ - -3\) Nog wat sommen met hoeken - -Reken uit in je schrift: - -* Als je steeds 60 graden draait krijg je een ….hoek? -* Hoeveel moet je draaien voor een vijfhoek? -* Als je steeds 45 graden draait krijg je een ….hoek? -* Hoeveel moet je draaien voor een honderdhoek? - -4\) Weet jij met welke code je deze figuren tekent? Schijf de codes in je schrift. - -1. - -![](../../.gitbook/assets/image%20%281%29.png) - -2. - -![](../../.gitbook/assets/image.png) - -3. - -![](../../.gitbook/assets/image%20%282%29.png) - - - -Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel.​​ - -**Herhalen met lussen** - -1\) Wat tekenen deze codes? - -```text -1. -for i in range(3): - pen.forward(100) - pen.left(120) -``` - -```text -2. -for i in range(6): - pen.forward(100) - pen.left(60) -``` - -```text -3. -for i in range(3): - pen.forward(100) - pen.left(90) -``` - -```text -4. -for i in range(4): - pen.forward(100) - pen.left(90) -``` - -```text -5. -for i in range(4): - pen.forward(100) -pen.left(90) -``` - -2\) Hoe teken je deze figuren met een lus? - -1. - -![](../../.gitbook/assets/image-20190322150806389%20%281%29.png) - -2. - -![](../../.gitbook/assets/image-20190322150743162.png) - -3. - -![](../../.gitbook/assets/image-20190322151013930%20%281%29.png) - - - -**Extraatjes!** - -Welke codes horen bij deze tekeningen? Gebruik natuurlijk wel een lus \(of meerdere lussen\). - -1. - -![](../../.gitbook/assets/image-20190322150946880%20%281%29.png) - -2. - -![](../../.gitbook/assets/image-20190322151224232.png) - -3. - -![](../../.gitbook/assets/image-20190318125810948%20%282%29.png) - -4. - -![](../../.gitbook/assets/image-20190318130606702%20%281%29.png) - -5. - -![](../../.gitbook/assets/image-20190322151500039.png) - - - - - - - diff --git a/module-kunst-1/les-2/les-2b.md b/module-kunst-1/les-2/les-2b.md deleted file mode 100644 index 52935af..0000000 --- a/module-kunst-1/les-2/les-2b.md +++ /dev/null @@ -1,4 +0,0 @@ -# Les 2b - -L - diff --git a/module-kunst-1/les-3/README.md b/module-kunst-1/les-3/README.md deleted file mode 100644 index d380f3e..0000000 --- a/module-kunst-1/les-3/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# Les 3 - diff --git a/module-kunst-1/les-5/README.md b/module-kunst-1/les-5/README.md deleted file mode 100644 index ec7a762..0000000 --- a/module-kunst-1/les-5/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# Les 5 - diff --git a/module-kunst-1/les-6-eindopdracht/les-6b.md b/module-kunst-1/les-6-eindopdracht/les-6b.md deleted file mode 100644 index 0b9495a..0000000 --- a/module-kunst-1/les-6-eindopdracht/les-6b.md +++ /dev/null @@ -1,63 +0,0 @@ -# Les 6b - -#### Opdracht 6b-1\) Maak je tekening! - -Je hebt de afgelopen weken een hoop geleerd. Nu is het tijd om een mooie tekening te maken. - -**Je krijgt hiervoor een cijfer.** - -**Lever een link naar je programma in voor vrijdag 13:00 via Magister.** - -Deze dingen moeten in je programma zitten voor een voldoende: - -* Minstens 5 _**losse**_ **figuren.** -* **Minstens 3 variabele die je definieert én gebruikt.** -* **Minstens 3 kleuren.** -* **Netjes commentaar bovenaan.** -* **Bij moeilijke stukjes code ook commentaar achter de codes.** - -**Je kunt extra punten verdienen door:** - -* **Het gebruiken van rgb-codes voor kleuren.** -* **`begin_fill()` en `end_fill` om vlakken in te kleuren.** -* **figuren met meerdere kleuren \(zie onderaan dit werkblad\)** -* **Andere coole dingen die je kunt verzinnen!** - -#### **Opdracht 6b-2\) Wat vond je ervan?** - -**We willen graag weten wat jij van de lessen tot nu toe vond.** - -**Schrijf in je schrift de drie dingen** die je het leukst vond. Schrijf ook op wat je het minst leuk vond. - -**\#\#\#Meerdere kleuren \(extra\)** - -**Je kunt ook figuren tekenen met 1 kleur, en invullen met een andere kleur!** - -**Dat doe je door twee kleuren in te voeren in `pen.color()`. Zo dus:** - -```text -pen.color('orange', 'blue') -pen.begin_fill() -​ -for i in range(50): - pen.forward(100) - pen.left(110) -​ -pen.end_fill() -``` - -```text -pen.color((248,24,148), (64,224,208)) -pen.begin_fill() -​ -for i in range(60): - pen.forward(100) - pen.left(93) -​ -pen.end_fill() -``` - -**Dat maakt dit figuur:** - -**Je mag ook twee rgb-codes gebruiken in `pen.color()` maar let op! Dan moeten ze wel allebei tussen haakjes staan:** - diff --git a/module-kunst/untitled.md b/module-kunst/untitled.md deleted file mode 100644 index 22c1667..0000000 --- a/module-kunst/untitled.md +++ /dev/null @@ -1,54 +0,0 @@ -# Handleiding Kunst - -## Module 2: Kunst - -### Instructie voor de leerkracht - -Het idee van deze module is dat leerlingen een interactief kunstwerk maken met Python. Leerlingen - -### Doelen van deze module - -In deze lessenserie komen de volgende programmeerconcepten aan bod: - -* tekenen met turtle -* graden en hoeken -* willekeurige waardes uit de 'random' library -* for-loops -* RGB kleurenwaardes - -Materiaal uit module 1 wordt gebruikt, maar niet expliciet herhaald, daar moeten leerlingen wel bekend mee zijn: lijsten, variabelen, printen. - -### Voorbeeld - -Het idee van deze lessenserie is dat leerlingen een soort spirograafkunstwerk maken, waarin ze ook gebruik maken van 'random' waardes. Er kan dus steeds een ander kunstwerk verschijnen binnen de gegeven waardes. Op deze link staat een voorbeeld: [https://repl.it/@Felienne/Spirograaf-Demo](https://repl.it/@Felienne/Spirograaf-Demo) - -De code en een bijbehorende uitvoer zie je hier. Probeer dit zelf voor de les al even uit. Je ziet dat er steeds een sliert van figuren getekend wordt, en dat de tekening steeds verandert als je de code opnieuw uitvoert! - -Run de code een paar keer, zodat leerlingen ook echt zien dat er steeds een ander figuur verschijnt, maar dat de figuren wel op elkaar lijken. Er zal altijd een soort 'sliert' ontstaan naar beneden, maar de vormen en kleuren zijn steeds anders. - -### Opzet van de lessen - -Iedere module bestaat steeds uit drie delen: a, b en c. - -a\) klassikale les b\) werkbladen zodat lln zelf aan de slag kunnen achter de computer c\) klassikale afsluiting - -### Overzicht van de lessen in deze module: - -1. figuren tekenen met de hand -2. figuren tekenen met de turtle -3. random getallen en figuren -4. herhaling -5. kleuren RGB -6. invoer voor de figuren - -### Tips - -Nog een aantal tips: - -* Lees de codes hardop voor: - * pen punt forward ronde haak openen 10 ronde haak sluiten - * pen punt left ronde haak openen 90 ronde haak sluiten -* Stip ook even de betekenissen \(en uitspraak\) can Turtlecommando's aan: - * forward betekent "ga vooruit" - * left betekent links, maar in deze code betekent het "draai linksom", dus niet "ga naar links" - diff --git a/module-nl/README.md b/module-nl/README.md deleted file mode 100644 index 7e9d75d..0000000 --- a/module-nl/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# Module Nederlands - -## Instructie voor de leerkracht - -Het idee van deze module is dat leerlingen een interactief verhaal maken met Python. Leerlingen kiezen zelf een hoofdfiguur en een aantal gebeurtenissen die plaats kunnen vinden. Op aangewezen moment kan de lezer van het verhaal keuzes maken over de afloop. Leerlingen die snel door het materiaal gaat, maken ook gebruik van willekeurige keuzes in het verhaal. - -## Doelen van deze module - -In deze lessenserie komen de volgende leerdoelen aan bod: - -1. printen, ook meerdere regels -2. meerdere woorden printen met komma's -3. woorden opslaan in een variabele -4. opslaan in een lijst -5. aanwijzen in een lijst -6. een random getal kiezen \(en evt. ook ophalen uit de lijst\) -7. een random woord uit een lijst halen -8. invoer -9. condities \(evt. als extra voor snelle lln\) - -## Voorbeeld - -Op deze link staat een voorbeeld: [https://repl.it/@mevrHermans/Verhaal-Demonstratie](https://repl.it/@mevrHermans/Verhaal-Demonstratie) - -![Voorbeeldcode \(links\) en de uitvoer van deze code \(rechts\)](../.gitbook/assets/screen-shot-2019-12-01-at-2.23.57-pm.png) - -Probeer dit zelf voor de les al even uit. Je ziet dat de lezer van het verhaal naar hun naam gevraagd wordt, en dat er dan steeds een ander zinnetje in beeld komt. - -## Opzet van de lessen - -Iedere module bestaat steeds uit twee delen: a en b - -a\) Klassikale les met slides, en werkbladen deel a om in de klassikale les te maken -b\) Werkbladen zodat lln zelf aan de slag kunnen achter de computer - -## Slides - -[Je vindt alle slides bij elkaar op deze pagina.](https://slides.com/felienne/decks/pidk-m1) - -## Nakijkmodellen en proefwerken - -We hebben ook nakijkmodellen en proefwerken voor de werkbladen a maar die zetten we liever niet openbaar op internet, wie weet dat een leerling ze vindt. Heb je ze nodig, neem even contact met ons op: f.f.j.hermans@liacs.leidenuniv.nl - - - diff --git a/module-nl/handleiding-nederlands.md b/module-nl/handleiding-nederlands.md deleted file mode 100644 index 3b16c65..0000000 --- a/module-nl/handleiding-nederlands.md +++ /dev/null @@ -1,45 +0,0 @@ -# Handleiding Nederlands - -## Instructie voor de leerkracht - -Het idee van deze module is dat leerlingen een interactief verhaal maken met Python. Leerlingen kiezen zelf een hoofdfiguur en een aantal gebeurtenissen die plaats kunnen vinden. Op aangewezen moment kan de lezer van het verhaal keuzes maken over de afloop. Leerlingen die snel door het materiaal gaat, maken ook gebruik van willekeurige keuzes in het verhaal. - -## Doelen van deze module - -In deze lessenserie komen de volgende leerdoelen aan bod: - -1. printen, ook meerdere regels -2. meerdere woorden printen met komma's -3. woorden opslaan in een variabele -4. opslaan in een lijst -5. aanwijzen in een lijst -6. een random getal kiezen \(en evt. ook ophalen uit de lijst\) -7. een random woord uit een lijst halen -8. invoer -9. condities \(evt. als extra voor snelle lln\) - -## Voorbeeld - -Op deze link staat een voorbeeld: [https://repl.it/@mevrHermans/Verhaal-Demonstratie](https://repl.it/@mevrHermans/Verhaal-Demonstratie) - -![Voorbeeldcode \(links\) en de uitvoer van deze code \(rechts\)](../.gitbook/assets/screen-shot-2019-12-01-at-2.23.57-pm.png) - -Probeer dit zelf voor de les al even uit. Je ziet dat de lezer van het verhaal naar hun naam gevraagd wordt, en dat er dan steeds een ander zinnetje in beeld komt. - -## Opzet van de lessen - -Iedere module bestaat steeds uit twee delen: a en b - -a\) Klassikale les met slides, en werkbladen deel a om in de klassikale les te maken -b\) Werkbladen zodat lln zelf aan de slag kunnen achter de computer - -## Slides - -[Je vindt alle slides bij elkaar op deze pagina.](https://slides.com/felienne/decks/pidk-m1) - -## Nakijkmodellen en proefwerken - -We hebben ook nakijkmodellen en proefwerken voor de werkbladen a maar die zetten we liever niet openbaar op internet, wie weet dat een leerling ze vindt. Heb je ze nodig, neem even contact met ons op: f.f.j.hermans@liacs.leidenuniv.nl - - - diff --git a/module-nl/les-1/README.md b/module-nl/les-1/README.md deleted file mode 100644 index 4bd6a14..0000000 --- a/module-nl/les-1/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Les 1 - -## Slides [Module Nederlands, les 1](https://slides.com/felienne/pidk-m1-l1a) - -## Leerdoelen - -* Python-code schrijven in repl.it -* print\(\) gebruiken om woorden te laten zien -* aanhalingstekens gebruiken -* goede en foute print-codes vinden -* weten wat je moet doen als je een foutmelding van Python krijgt - diff --git a/module-nl/les-1/les-1b.md b/module-nl/les-1/les-1b.md deleted file mode 100644 index 29c4a58..0000000 --- a/module-nl/les-1/les-1b.md +++ /dev/null @@ -1,52 +0,0 @@ -# Les 1b - -## Opdracht 1b-1\) Maak een repl.it account - -Deze les wordt afgetekend als: - -* Je een account hebt gemaakt op repl.it -* Gebruik als username je leerlingnummer - * 123456 <--- maar dan met jouw leerlingnummer natuurlijk -* Gebruik als emailadres je school-email: - * 123456@leerlingmail.nl <--- maar dan met jouw leerlingnummer en leerlingmail natuurlijk -* Gebruik als wachtwoord je wachtwoord van school - * Pass1234 <--- maar dan jouw wachtwoord! -* Je in onze classroom zit: - * Ga naar de link die de leraar je geeft. - -## Opdracht 1b-2\) Schrijf een woord - -Deze les wordt afgetekend als: - -* Je de code in Python in je schrift kan schrijven om je naam te printen -* Je dezlelfde code ook kan uitprinten in rep.lt - -**Opdracht.** - -Je gaat proberen je naam uit te printen met Python-code. - -Volg deze stappen: - -1. Schrijf de code om een zinnetje te printen in je schrift op. -2. Typ de code dan over uit je schrift. - -Gefeliciteerd! Jij hebt nu je allereerste Pythonprogramma gemaakt! - -## Opdracht 1b-3\) Schrijf een zin - -Deze les wordt afgetekend als: - -* Je de code in Python in je schrift kan schrijven om een zinnetje te printen -* Je dezlelfde code ook kan uitprinten in rep.lt - -**Opdracht.** - -Nu is het tijd voor een hele zin. Je gaat de dag van de week in een zin zetten. Bijvoorbeeld als het maandag is, het zinnetje: **Het is vandaag maandag** - -Volg deze stappen: - -1. Schrijf de code om een zinnetje te printen in je schrift op. -2. Typ de code dan over uit je schrift. - -Gefeliciteerd! Jij hebt nu je tweede Pythonprogramma gemaakt! - diff --git a/module-nl/les-2/README.md b/module-nl/les-2/README.md deleted file mode 100644 index b56639b..0000000 --- a/module-nl/les-2/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Les 2 - -## Slides - -[Module Nederlands, les 2](https://slides.com/felienne/pidk-m1-l2a#/) - -## Leerdoelen - -* meerdere regels laten zien -* 'commentaar' schrijven en herkennen -* goede en foute print-codes vinden - diff --git a/module-nl/les-2/les-2a.md b/module-nl/les-2/les-2a.md deleted file mode 100644 index 398ffae..0000000 --- a/module-nl/les-2/les-2a.md +++ /dev/null @@ -1,209 +0,0 @@ -# Les 2a - -## Printen - -Aan het einde van de les kun jij: - -* meerdere regels laten zien -* 'commentaar' schrijven en herkennen -* goede en foute print-codes vinden - -### **Even opfrissen!** - -Vorige week hebben we de print\(\) opdracht gezien. - -Een print\(\) opdracht print een woord uit, als het tussen aanhalingstekens staat. Bijvoorbeeld zo: - -```python -print('Goedemorgen') -``` - -Je kunt ook meerdere woorden printen, bijvoorbeeld: - -```python -print('Goedemorgen', 'leerlingen', 'uit', '1c') -``` - -1\) Welke van deze print\(\) opdrachten print **Goedemorgen** uit? - -Schrijf de goede code over in je schrift! - -Tip: **Let goed op de aanhalingstekens!** - -```python -- print Goedemorgen - -- print('Goedemorgen") - -- print(Goedemorgen) - -- print("Goedemorgen') - -- print('Goedemorgen') -``` - -2\) Welke van deze print\(\) opdrachten print **Python is een programmeertaal** uit? - -Schrijf de goede code over in je schrift. - -Tip: Let goed op, de goede code heeft: - -* Ronde haakjes -* Een aanhalingsteken voor en na ieder woord -* Komma's tussen alle woorden - -Weet jij welke code goed is? - -```python -- print('Python', 'is', 'een', 'programmeertaal') - -- print('Python', is, een, 'programmeertaal') - -- print('Python', 'is', 'een' 'programmeertaal') - -- print Python is een programmeertaal - -- print(Python is een programmeertaal) -``` - -4\) Kies nu zelf een kort zinnetje om te printen. Bijvoorbeeld: 'Is het al pauze?'. - -Schrijf de code voor het zinnetje in je schrift. - -Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel - -**Onder elkaar** - -1\) Wat printen deze codes uit? Schrijf het antwoord op in je schrift! Wees _heel_ precies. - -Let op: **Er zitten ook foute codes tussen!** Als een code fout is, schrijf dan op: **FOUT.** - -```python -1.print('Hallo', 'allemaal') -``` - -```python -2.print('Hallo) - print('Allemaal') -``` - -```python -3.print('Hallo' , allemaal') -``` - -```python -4.print('Hallo') - print('allemaal') -``` - -```python -5.print('Hallo Allemaal') -``` - -```python -6.prit('Hallo') - prit('Allemaal') -``` - -2\) Hier staan drie codes en drie resultaten: de woorden die in beeld komen. - -Welke code hoort bij welk resultaat? - -Schrijf de codes over in je schrift, met het resultaat erachter. - -Bijvoorbeeld: - -```python -print('test') > test -``` - -**Let op:** een van de drie codes geeft een fout. - -Codes: Resultaten: - -```python -print(goedemorgen) # >goedemorgen -``` - -```python -print('Goedemorgen') # >Goedemorgen -``` - -```python -print('goedemorgen') # >FOUT -``` - -Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel - -### **Commentaar** - -Je kunt Python ook codes laten overslaan met een hekje. Een hekje ziet er zo uit: \# Het hekje staat boven de 3 op je toetsenbord. Iedere regel die achter een hekje staat, wordt overgeslagen. - -1\) Er zijn drie redenen waarom je commentaar gebruikt in een programma. Schrijf die redenen in je schrift. - -2\) Hier staan drie codes en drie resultaten: de woorden die in beeld komen. - -Welke code hoort bij welk resultaat? - -Schrijf de codes over in je schrift, met het resultaat erachter. Bijvoorbeeld: print\('test'\) > test - -**Let op:** een van de drie codes geeft een fout. - -Codes: - -```python -print('Hallo') -#print('Hallo') -print('Hallo') -``` - -```python -#Hallo -print('Hallo') -``` - -```python -print(#Hallo) -``` - -Resultaten: - -* Hallo -* Hallo - - Hallo - -* Deze code geeft een fout. - -3\) Hieronder staan vijf codes met commentaar erin. Wat printen deze codes uit? - -Schrijf de uitvoer in je schrift. - -```python -print('Goedemorgen') -#print('klas 1c') -``` - -```python -#goedemorgen, dit is een Pythonprogramma - -print('Hallo', 'kinderen!') -``` - -```python -print('Hallo', 'kinderen!') #je kunt twee woorden printen -print('Dit', 'is', 'Python!') #maar ook drie -``` - -```python -print('Goedemorgen') #een woord -#print('klas 1c') #twee woorden met een spatie ertussen -``` - -```python -print('Hallo') -print('klas', '1c') -``` - - \pagebreak <- enter2 Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel - diff --git a/module-nl/les-2/les-2b.md b/module-nl/les-2/les-2b.md deleted file mode 100644 index eed607c..0000000 --- a/module-nl/les-2/les-2b.md +++ /dev/null @@ -1,55 +0,0 @@ -# Les 2b - -### **Opdracht 2b-1\) Log in en maak een nieuw programma** - -Deze les wordt afgetekend als: - -* Je ingelogd bent -* Je een nieuw programma hebt gemaakt en het 'les-2b' hebt genoemd. - -Voor als je het vergeten bent: - -* Als emailadres heb je je school-email gebruikt -* Je wachtwoord is je wachtwoord van school - -### Opdracht 2b-2\) Schrijf een zin - -Deze les wordt afgetekend als: - -* Je de zin 'Welkom in de programmeerles' kan uitprinten -* Je de code hiervoor ook in je schrift hebt geschreven - -**Opdracht.** - -Jij gaat een zin uitprinten in Python: _Welkom in de programmeerles._ -Denk aan de punt! - -#### Opdracht 2b-3\) Voeg commentaar toe - -Deze les wordt afgetekend als: - -* Je bovenaan je programma netjes commentaar hebt geschreven -* Je drie dingen opschrijft die je nog weet over print\(\) -* Die drie dingen moet je opschrijven: -* In je commentaar, en in je schrift! - -**Opdracht.** - -Zet deze regels in commentaar bovenaan je programma: -1. Dit programma is gemaakt door ……. -2. Wat ik nog weet over print\(\) is: - -### Opdracht 2b-5\) Schijf een verhaal over een dier. - -Begin nu een nieuw programma! Weet je nog hoe dat moet? Noem het programma: 'les2-b-deel-2' - -Deze les wordt afgetekend als: - -* Je bovenaan je programma netjes commentaar hebt geschreven -* Je een samenhangend verhaal van minstens drie zinnen print met print\(\), compleet met hoofdletters en een punt op het einde! -* Het verhaal als hoofdrolspeler een dier heeft. Je mag zelf kiezen welk dier. - -**Opdracht.** - -Print nu een verhaal over een dier. Je mag zelf bedenken waar het verhaal over gaat. - diff --git a/module-nl/les-3/les-3a.md b/module-nl/les-3/les-3a.md deleted file mode 100644 index 4ffa0ae..0000000 --- a/module-nl/les-3/les-3a.md +++ /dev/null @@ -1,209 +0,0 @@ -# Les 3a - -## Variabelen - -Aan het einde van de les kun jij: - -* tekst opslaan in een variabele -* een variabele gebruiken om een tekst meerdere keren te printen -* voorspellen wat een code doet met een variabele erin -* goede en foute print\(\)-codes vinden met een variabele erin - -### **Even opfrissen!** - -**Begin op een nieuwe pagina en zet erboven: Les 3a** - -1\) Hieronder staan vijf codes met commentaar erin. Wat printen deze codes uit? - -Schrijf de uitvoer in je schrift. - -```python -1. #print('Goedemorgen') - print('Klas', '1c') -``` - -```python -2. #goedemorgen, dit is een Pythonprogramma - - #print('Hallo', 'kinderen!') -``` - -```python -3. print('Hallo', 'allemaal') #je kunt twee woorden printen - print('Ik', 'ben', 'Python!') #maar ook drie -``` - -```python -4. print('Goedemorgen') #een woord - #print('klas 1c') #twee woorden met een spatie ertussen -``` - -```python -5. print('Hallo') - print('klas', '1c') - #print('hebben', 'jullie', 'er', 'zin', 'in?') -``` - -2\) Wat is de fout? - -Al deze codes zijn fout. Wat is er mis? - -Schrijf in je schrift wat de fout is. - -```python -1. prnt('Hallo', 'allemaal') -``` - -```python -2. print('Hallo') print('Allemaal') -``` - -```python -3. print('Hallo' , allemaal') -``` - -```python -4. print('Hallo' 'allemaal') -``` - -```python -5. print 'Hallo Allemaal' -``` - -```python -6. prit('Hallo') - prit('Allemaal') -``` - -Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. - -### **Waardes zoeken** - -1\) In Python kun je woorden zonder aanhalingstekens gebruiken. Dat zijn variabeles. Als Python een variabele tegenkomt gaat hij omhoog zoeken in het programma naar de _definitie_ van de variabele. Dat betekent waar de variabele wordt ingesteld met een is-teken: - -```python -naam = 'Felienne' -``` - -Schrijf deze codes over. Zet een pijltje tussen het gebruik van een variabele en zijn definitie. - -![De variabele klas en een pijltje naar de definitie ervan](../../.gitbook/assets/image-20190206124246541.png) - -```python -1. les = 'Coderen' - print('Welkom', 'bij', les) -``` - -```python -2. klas = '1c' - print('Hallo', klas) -``` - -```python -3. les = 'Coderen' - klas = '1c' - print('Hallo' , klas, 'dit', 'is', les) -``` - -2\) Hieronder staan codes met een variabele erin. Wat print Python uit als we deze codes uitvoeren? - -Schrijf de uitvoer in je schrift. - -**Let op!** Een van de codes is fout. Schijf daarbij op: FOUT. - -```python -1. print('Hallo', 'allemaal') -``` - -```python -2. klas = '1c' - print('Hallo', klas) -``` - -```python -3. achternaam = 'Hermans' - print('Hallo', 'mevrouw', achternaam) -``` - -```python -4. print('Hallo', ) -``` - -```python -5. klas = 'klas 1c' - print('Hallo' 'leerlingen', 'van', klas) -``` - -Einde werkblad! Ben je klaar, leg dan je schrift bovenaan op je tafel. - -### **Naam niet gedefinieerd** - -Is de code goed of fout? Kijk goed of de variabele die gebruikt wordt wel gedefinieerd is. - -* Als de code fout is, schijf je Fout -* Als de code goed is, schrijf je op wat er geprint wordt. - -Voorbeeld 1\) - -```python -naam = 'Felienne' -print(voornaam) -``` - -Deze code is fout, want `voornaam` bestaat niet. Dan schrijf je: - -Fout - -Voorbeeld 2\) - -```python -klas = '1c' -print('Hallo', klas) -``` - -Deze code is goed, klas is nu '1c'. Dan schrijf je: - -Hallo 1c - -Nu jij! - -```python -1. klas = '1c' - print('Hallo', naam) -``` - -```python -2. klas = '1c' - print('Hallo', '1c') -``` - -```python -3. achternaam = 'Hermans' - print('Hallo', 'mevrouw', Hermans) -``` - -```python -4. tijd_op_klok = 'half 9' - print('Het', 'is', tijd_op_klok) -``` - -```python -5. klas = 'klas 1c' - print('Hallo', 'leerlingen', 'van', klas) -``` - -```python -6. print(Goedemorgen) - -``` - -```python -7. tijd = 'half 9' - print('Het', 'is', 'tijd') -``` - -```python -8. print('Goedemorgen') - -``` - diff --git a/module-nl/les-5/les-5b.md b/module-nl/les-5/les-5b.md deleted file mode 100644 index d2e740b..0000000 --- a/module-nl/les-5/les-5b.md +++ /dev/null @@ -1,52 +0,0 @@ -# Les 5b - -#### Opdracht 5b-1\) Voeg een input toe - -Deze opdracht wordt afgetekend als: - -* Je een nieuw programma hebt gemaakt \('les-5b'\) -* Je in dat programma minstens één invoer verwerkt. - -**Opdracht.** - -Open een nieuw programma. - -Zorg er nu voor de de lezer van je verhaal minstens één keer iets in kan voeren. Bijvoorbeeld kiezen voor een dier. - -```text -print('Over', 'welk', 'dier', 'gaat', 'het?') -dier = input() -print('Dit', 'verhaal', 'gaat', 'over', dier) -``` - -* Denk aan de ronde haakjes achter input! - -#### Opdracht 5b-2\) Printen zonder komma's - -Deze opdracht wordt afgetekend als: - -* Je je programma zo hebt veranderd dat je hele stukjes zin print zonder een komma tussen de woorden. - -**Opdracht.** - -Je typt nu erg veel en het kan iets makkelijker. Loop door je code en verwijder de aanhalingstekens en komma's die niet nodig zijn. Bijvoorbeeld, de code van de vorige opdracht wordt dan: - -```text -print('Over welk dier gaat het?') -dier = input() -print('Dit verhaal gaat over', dier) -``` - -#### Opdracht 5b-3\) Maak een verhaal van 5 zinnen. - -Deze opdracht wordt afgetekend als: - -* Je 5 zinnen print. - -**Opdracht.** - -Breid nu je verhaal uit tot 5 zinnen. Het mag over alles gaan wat je maar wilt. -**** - - - diff --git a/module-nl/les-7/README.md b/module-nl/les-7/README.md deleted file mode 100644 index 9b5da46..0000000 --- a/module-nl/les-7/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Les 7 \(Eindopdracht\) - -Les 7 is een herhaling met wisbordjes ipv een opdrachtenvel deel a. Er zijn dus geen nieuwe leerdoelen. Indien gewenst kun je deze les ook als so gebruiken, laat leerlingen dan de antwoorden op een vel opschrijven ipv op een wisbordje. - -Deel b is de eindopdracht. - -## Slides - -[Module Nederlands, les 7](https://slides.com/felienne/pidk-m1-l7a#/) - - - diff --git a/module-quiz-in-ontwikkeling/README.md b/module-quiz-in-ontwikkeling/README.md deleted file mode 100644 index c2b6971..0000000 --- a/module-quiz-in-ontwikkeling/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# Module Quiz \(in ontwikkeling\) - diff --git a/module-quiz-in-ontwikkeling/les-1.md b/module-quiz-in-ontwikkeling/les-1.md deleted file mode 100644 index 0f28115..0000000 --- a/module-quiz-in-ontwikkeling/les-1.md +++ /dev/null @@ -1,44 +0,0 @@ -# Les 1 - -#### Opdracht 1b-1\) Kies eigen plaatjes - -Deze opdracht wordt afgetekend als: - -* Je 3 nieuwe plaatjes heb ingevoegd in je programma - -**Opdracht.** -Ga naar: [https://repl.it/@mevrHermans/pidk-m5-l1-2](https://repl.it/@mevrHermans/pidk-m5-l1-2). Verander de plaatjes in jouw eigen plaatjes. Dit mogen plaatjes uit je simulatie zijn of andere, nieuwe plaatjes. - -#### Opdracht 2b-1\) Print de naam van een plaatje bij aanraken muis - -Deze opdracht wordt afgetekend als: - -* Je de naam van alle drie jouw plaatjes print als ze aangeraakt worden met de muis - -**Opdracht.** -In het programma dat je heb gekregen wordt maar voor 1 plaatje gekeken of de muis het aanraakt. Jij moet dit nu voor alledrie de plaatjes programmeren. Je hoeft voor nu alleen de naam van het plaatje te printen, zoals in het voorbeeld ook gedaan is. - -#### Opdracht 3b-1\) Programmeer een actie - -Deze opdracht wordt afgetekend als: - -* Er iets gebeurt als je een plaatje aanraakt met de muis - -**Opdracht.** -Kies nu een actie die gebeurt als je een plaatje aanraakt. Je mag die actie zelf kiezen, bijv. het plaatje groter maken, bewegen, knipperen of wat je maar kan verzinnen. - -#### Opdracht 4b-1\) Eigen stempeldoel - -Deze opdracht wordt afgetekend als: - -* Je zelf een doel hebt bedacht, en dat hebt uitgevoerd - -**Uitleg.** Verzin zelf iets wat er nog bij kan in je programma. Een achtergrond? Een extra dier? Een kangaroe met een bokshandschoen? Bedenk iets en schrijf dat op. -Voer het vervolgens netjes uit. Vraag wel eerst of mevr. Hermans of meneer van Ooijen je doel goed vindt. - - - - - - - diff --git a/module-quiz-in-ontwikkeling/les-2.md b/module-quiz-in-ontwikkeling/les-2.md deleted file mode 100644 index 9351a40..0000000 --- a/module-quiz-in-ontwikkeling/les-2.md +++ /dev/null @@ -1,58 +0,0 @@ -# Les 2 - -#### Noot: bij deze les horen nog geen slides, want deze les is alleen in het computerlokaal gedaan vanwege een extra toets op 15 januari 2020. - -#### Opdracht 1b-1\) Nu ook met klikken voor 1 dier - -Deze opdracht wordt afgetekend als: - -* Je pas tekst in beeld krijg als je op een plaatje klikt - -**Opdracht.** - -Er komt nu tekst in beeld meteen als je een plaatje raakt. In het spel dat we voor het bedrijf gaan maken willen we ook dat er geklikt moet worden. Dat kan natuurlijk ook. Voeg deze code toe in je while True lus: - -```text -knoppen = pygame.mouse.get_pressed() -``` - -Knoppen is nu een lijstje met knoppen die ingedrukt zijn. De eerste knop is de linkermuisknop. Nu kun je met knoppen\[0\] == 1 kijken of de muis is ingedrukt. Verander de if die je had in deze regel: - -```text - if knoppen[0] == 1 and zebra_rechthoek.collidepoint(locatie_muis): - print('zebra') -``` - -#### Opdracht 2b-1\) Nu ook met klikken voor alle dieren of plaatjes - -Deze opdracht wordt afgetekend als: - -* Je de naam van alle drie jouw plaatjes print als erop geklikt wordt met de muis - -**Opdracht.** -In het programma tot nu toe heb je maar voor 1 plaatje gekeken of de muis erop klikt. Jij moet dit nu voor alledrie de plaatjes programmeren. Je hoeft voor nu alleen de naam van het plaatje te printen, zoals in het voorbeeld ook gedaan is. - -#### - -#### Opdracht 3b-1\) Programmeer een actie - -Deze opdracht wordt afgetekend als: - -* Er iets gebeurt als je een plaatje aanklikt met de muis - -**Opdracht.** -Kies nu een actie die gebeurt als je een plaatje aanraakt. Je mag die actie zelf kiezen, bijv. het plaatje groter maken, bewegen, knipperen of wat je maar kan verzinnen. - -#### Opdracht 4b-1\) Eigen stempeldoel - -Deze opdracht wordt afgetekend als: - -* Je zelf een doel hebt bedacht, en dat hebt uitgevoerd - -**Uitleg.** Verzin zelf iets wat er nog bij kan in je programma. Een achtergrond? Een extra dier? Een kangaroe met een bokshandschoen? Bedenk iets en schrijf dat op. -Voer het vervolgens netjes uit. Vraag wel eerst of mevr. Hermans of meneer van Ooijen je doel goed vindt. - - - - - diff --git a/moduleoverzicht.md b/moduleoverzicht.md new file mode 100644 index 0000000..e38fdfd --- /dev/null +++ b/moduleoverzicht.md @@ -0,0 +1,9 @@ +# Moduleoverzicht + +We hebben op dit moment materiaal klaar voor 4 schooljaren, jaar 5 en 6 zijn op dit moment ontwikkeling. + + + +## Overzicht van modules per leerjaar + +
JaarModuleProgrammeertaalOnderwerp
11.1Hedy
1.2Hedy -> PythonKunst of Verhaal omzetten van Hedy naar Python
22.1PythonGeschiedenis zonder UI
2.2Python/PyGameGeschiedenis - Quiz
2.3Python/PyGameBiologie - Simulatie
2.4RekenmachineRekenmachine
2.5Micro:bitEigen opdracht
2.6 BedrijfsopdrachtTBA
33.1Excel
3.2SQL
3.3Python
3.4Arduino
44.1PythonEigen website opdracht
4.2JavaScriptEigen website opdracht
4.3Vrije keuzeEU app
55.1JavaScript of C#
5.2PythonGeneratieve AI
66.1-Boekenproject
6.2Vrije keuzeAlgoritmiek
diff --git a/untitled.md b/untitled.md deleted file mode 100644 index e406ee7..0000000 --- a/untitled.md +++ /dev/null @@ -1,14 +0,0 @@ -# Module Aardrijkskunde - -## Instructie voor de leerkracht - -Het idee van deze module is dat leerlingen data van aardbevingen op een wereldkaart plotten. - -## Doelen van deze module - -* TODO - -## Slides - -[Je vindt alle slides bij elkaar op deze pagina.](%20https://slides.com/felienne/decks/pidk-m3) -