Upgrade to Pro — share decks privately, control downloads, hide ads and more …

授業に取り入れる先生のための はじめての iOS アプリ開発ハンズオン / The first iOS app development hands-on for teachers

授業に取り入れる先生のための はじめての iOS アプリ開発ハンズオン / The first iOS app development hands-on for teachers

このスライドは、 iOS コンソーシアム Tech WG 定例会 #44(https://iosc.connpass.com/event/160919/) での発表資料です。
----------
学校の教師の方々が iPhone/iPad アプリ開発授業に取り組むための基本を、ハンズオンを通したセミナーで体験します。
2020 年のプログラミング教育必修化が、目前に迫っています。

プログラミング教育にも様々なアプローチがありますが、その一つとして授業で iPhone/iPad アプリ(以下、 iOS アプリ)を開発する取り組みも既に行われています。
「何らかの課題を解決するアプリを開発し、手元にある iPhone や iPad 上で動かす」のは、生徒のモチベーション維持の観点でも有効です。
とは言え、アプリ開発の詳細を理解して指導するのは簡単ではありません。

iOS コンソーシアムでは、教師の方々が生徒にわかりやすく教えるためのお手伝いをするため、「iOS アプリ開発の授業に備えるための第一歩」にあたる「導入セミナー」のハンズオンを実施します。

本セミナーは、 Apple から認定を受けた「Apple プロフェッショナルラーニング基礎インストラクター(APL)」である株式会社カサレアルが提供するセミナーメニューの短縮版になります。

Hiroyuki Aoki

February 22, 2020
Tweet

More Decks by Hiroyuki Aoki

Other Decks in Technology

Transcript

  1.  #VTJOFTTUP&EVDBUJPO γεςϜ։ൃ ΤϯδχΞ޲͚ τϨʔχϯά ৽ೖࣾһ޲͚ τϨʔχϯά ֶߍ޲͚ τϨʔχϯά ΧαϨΞϧͰ͸๛෋ͳγεςϜ։ൃͷܦݧΛ΋ͱʹɺ্ڃΤϯδχΞ͔Βॳֶऀ·Ͱ༷ʑͳ

    Ϩϕϧͷਓࡐʹରͯ͠τϨʔχϯάΛఏڙ͖ͯ͠·ͨ͠ɻ ͦͷϊ΢ϋ΢ΛΤσϡέʔγϣϯ෼໺ʹ΋ϑΟʔυόοΫ͢Δ͜ͱΛ໨తͱ͠ɺ "QQMF1SPGFTTJPOBM-FBSOJOH1SPWJEFSͱͯ͠ͷαʔϏεΛఏڙக͠·͢ɻ
  2. •J04 • J1IPOFΛಈ͔͢جຊιϑτ΢ΣΞ • J1BE༻͸όʔδϣϯ͔ΒɺJ1BE04ͱ͍͏໊લʹมߋ ʢόʔδϣϯ·Ͱ͸ɺJ1BE޲͚΋J04ʣ •J04ΞϓϦ • J04্Ͱಈ࡞͢ΔΞϓϦ •

    جຊతʹ͸ɺ"QQ4UPSF͔Β഑৴ • "QQMFʹΑΔ৹͕ࠪ͋ΔͷͰɺެ։͞ΕͨΞϓϦ͸ҰఆҎ্ͷ඼࣭ ͕อͨΕΔ  ·ͣ͸ɺجຊతͳ༻ޠͷ੔ཧ ˞͜͜Ͱ͸ศ্ٓɺJ1BE04༻ͷΞϓϦ΋J04ΞϓϦͱݺͼ·͢
  3. •"QQMF*% • "QQMFͷ֤छαʔϏεར༻ʹඞཁ • ར༻৔໘ͷྫ • .BD"QQ4UPSF͔Β9DPEFΛμ΢ϯϩʔυ • ։ൃͨ͠ΞϓϦΛखݩͷJ1IPOFJ1BEʹΠϯετʔϧͯ͠ಈ࡞֬ೝ •"QQMF%FWFMPQFS1SPHSBNܖ໿

    • "QQ4UPSF΁ͷΞϓϦެ։ʹඞཁ • तۀ಺ͰΞϓϦΛ࡞੒͢Δ͚ͩʢ"QQ4UPSFʹެ։͠ͳ͍ʣͳΒෆཁ • ೥ֹ= ʢ೥݄ݱࡏʣ  J04ΞϓϦ։ൃʹඞཁͳ΋ͷʢͦͷଞʣ ˞"QQMF*%͸ɺڭҭҕһձͳͲ͔Β഑෍͢Δ৔߹΍ֶߍଆͰऔಘͯ͠഑෍͢Δ৔߹΋͋Γ·͢
  4. •͓୊ • ʮ໊લΛೖྗͯ͠ϘλϯΛԡͨ͠ΒɺѫࡰͷϝοηʔδΛදࣔ͢Δʯ؆୯ͳػೳΛ࣋ͬ ͨΞϓϦΛ࡞੒ •໨త • J04ΞϓϦͷجຊతͳಈ࡞ͱɺ࡞੒ͷྲྀΕΛΠϝʔδͰ͖ΔΑ͏ʹͳΔ •ѻΘͳ͍͜ͱ • ΞϓϦͷاը

    • 4XJGUݴޠͷৄࡉͳจ๏ • ΧοίΠΠσβΠϯɺ༷ʑͳαΠζͷJ1IPOF΍J1BEʹରԠͨ͠σβΠϯ • ෳ਺ͷը໘Λ࡞੒͢Δ • ͳͲ  ϋϯζΦϯͷ֓ཁ ※࡞੒ͨ͠ΞϓϦΛJ1IPOFJ1BEʹసૹ͢ΔͨΊʹ͸͍͔ͭ͘ͷखॱ͕ඞཁͰ͢
  5.  ϓϩδΣΫτͷ࡞੒  Ϙλϯͷ഑ஔ  ϘλϯΛϓϩάϥϜͱ઀ଓ  ϘλϯΛλοϓͨ࣌͠ʹ࣮ߦ͢ΔॲཧΛهड़  ϥϕϧΛ഑ஔͯ͠ɺϓϩάϥϜͱ઀ଓ

     ϘλϯΛλοϓͨ࣌͠ͷॲཧΛมߋ • ϥϕϧʹʮ͜Μʹͪ͸ࢁా͞ΜʂʯΛදࣔ͢ΔΑ͏ʹมߋ  ςΩετϑΟʔϧυΛ഑ஔͯ͠ɺϓϩάϥϜͱ઀ଓ  ϘλϯΛλοϓͨ࣌͠ͷॲཧΛมߋ • ʮ͜Μʹͪ͸˓˓͞ΜʂʯΛදࣔ͢ΔΑ͏ʹมߋ  ࡞੒खॱ ͜͜Ͱ࣮ߦ֬ೝ ͜͜Ͱ࣮ߦ֬ೝ ͜͜Ͱ࣮ߦ֬ೝ ͜͜Ͱ࣮ߦ֬ೝ ˞˓˓ͷ෦෼͸ɺೖྗͨ͠จࣈྻ͕ೖΓ·͢
  6.  ׬੒൛7JFX$POUSPMMFSTXJGU import UIKit class ViewController: UIViewController { @IBOutlet weak

    var messageLabel: UILabel! @IBOutlet weak var nameTextField: UITextField! @IBAction func showButtonTapped(_ sender: UIButton) { print("Ϙλϯ͕λοϓ͞Εͨ") if nameTextField.text!.isEmpty { messageLabel.text = "໊લ͕ೖྗ͞Ε͍ͯ·ͤΜ" } else { messageLabel.text = "͜Μʹͪ͸\(nameTextField.text!)͞Μʂ" } nameTextField.text = "" } override func viewDidLoad() { super.viewDidLoad() } }
  7. •ετʔϦʔϘʔυ • ը໘ͷσβΠϯΛߦ͏ϑΝΠϧʢετʔϦʔϘʔυ಺ͷը໘͸ʮγʔϯʯʣ •઀ଓ • ը໘෦඼ʢϏϡʔʣͱϓϩάϥϜʢϏϡʔίϯτϩʔϥʣ Λؔ܎͚ͮΔ • ΞΫγϣϯ઀ଓʢ!*#"DUJPOʣ •

    ը໘্Ͱൃੜͨ͠ΠϕϯτʢϘλϯΛλοϓͳͲʣΛ΋ͱʹɺ ॲཧΛಈ࡞ͤ͞ΔλΠϓͷ઀ଓ • ϓϩάϥϜ্Ͱ͸ɺʮϝιουʯͱͯ͠઀ଓ͞ΕΔ • Ξ΢τϨοτ઀ଓʢ!*#0VUMFUʣ • ϓϩάϥϜ͔Βૢ࡞Ͱ͖ΔΑ͏ʹɺ ը໘෦඼ʹ໊લΛ෇͚͓ͯ࣋ͨͤͯ͘λΠϓͷ઀ଓ • ϓϩάϥϜ্Ͱ͸ɺʮϓϩύςΟʯͱͯ͠઀ଓ͞ΕΔ  Ωʔϫʔυ
  8. •Ϗϡʔίϯτϩʔϥ • ʮϏϡʔʢը໘෦඼ʣΛίϯτϩʔϧ͢ΔʯϓϩάϥϜ • ௨ৗɺγʔϯʢը໘ʣʹରͯͭ͠ͷϏϡʔίϯτϩʔϥ • γʔϯ಺ͷ֤Ϗϡʔ͸ɺϏϡʔίϯτϩʔϥ಺ʹ઀ଓͯ͠ ར༻  Ωʔϫʔυ

    class ViewController: UIViewController { @IBOutlet weak var messageLabel: UILabel! @IBOutlet weak var nameTextField: UITextField! @IBAction func showButtonTapped(_ sender: UIButton) { } }
  9. •σόοά • ϓϩάϥϜͷෆ۩߹Λ୳ͯ͠ɺमਖ਼͢Δ͜ͱ • ϙΠϯτ • දࣔ͞ΕͨΤϥʔϝοηʔδʢӳޠʣΛಡΉ • ೉ͯ͘͠΋ɺ୯ޠΛर͍ͬͯ͘ͱώϯτ͕͋Δ͔΋ •

    ͜ͷ࣌఺Ͱग़΍͍࣮͢ߦ࣌Τϥʔ • ઀ଓޙɺ໊લΛมߋͨ͠ʢϓϩάϥϜͱը໘Ͱ໊લ͕߹Θͳ͍ʣ  Ωʔϫʔυ ※࣮ߦ࣌ΤϥʔʜϓϩάϥϜ͕ಈ࡞͍ͯ͠Δ్தͰɺτϥϒϧʹΑͬͯڧ੍ऴྃ͢ΔछྨͷΤϥʔ ɹɹɹɹɹɹɹɹʢϢʔβ͕ૢ࡞தɺϗʔϜը໘ʹಥવ໭Δʣ
  10. •"QQMFͷڭҭؔ࿈αΠτ • "QQMF1SPGFTTJPOBM-FBSOJOH"QQMFʢ೔ຊʣ • "QQMF1SPGFTTJPOBM-FBSOJOHʹؔ͢Δ৘ใ • IUUQTXXXBQQMFDPNKQFEVDBUJPOBQQMFQSPGFTTJPOBMMFBSOJOH • "QQMF5FBDIFS"QQMFʢ೔ຊʣ •

    ओʹڭ৬һͷํʑͷͨΊͷɺΦϯϥΠϯֶशαΠτʢແྉʣ • IUUQTXXXBQQMFDPNKQFEVDBUJPOBQQMFUFBDIFS • ίʔυΛڭ͑Δ"QQMFʢ೔ຊʣ • ϓϩάϥϛϯάतۀ༻ͷڭࡐ΍ֶश৘ใͳͲ • IUUQTXXXBQQMFDPNKQFEVDBUJPOUFBDIJOHDPEF    ࢀߟ৘ใ
  11. •J04ΞϓϦ։ൃؔ࿈αΠτ • "QQMF%FWFMPQFS • ΞϓϦ։ൃऀ޲͚৘ใͷެࣜαΠτ • IUUQTEFWFMPQFSBQQMFDPNKQ • 5IF4XJGU1SPHSBNNJOH-BOHVBHF •

    4XJGUݴޠͷެࣜαΠτɻʮ"4XJGU5PVSʯ͕͓͢͢Ί • IUUQTTXJGUPSHEPDVNFOUBUJPOUIFTXJGUQSPHSBNNJOHMBOHVBHF • ϢʔβΠϯλʔϑΣΠεͷσβΠϯͷώϯτ"QQMF%FWFMPQFS • ը໘σβΠϯͷجຊʢൈਮɺ೔ຊޠʣ • IUUQTEFWFMPQFSBQQMFDPNKQEFTJHOUJQT • )VNBO*OUFSGBDF(VJEFMJOFT%FTJHO"QQMF%FWFMPQFS • ը໘σβΠϯʹؔ͢ΔΨΠυϥΠϯʢৄࡉɺӳޠʣ • IUUQTEFWFMPQFSBQQMFDPNEFTJHOIVNBOJOUFSGBDFHVJEFMJOFT  ࢀߟ৘ใ
  12. •ೝఆࢼݧ • "QQ%FWFMPQNFOUXJUI4XJGUެࣜαΠτʢೝఆࢼݧʣ • "QQMFೝఆࢿ֨ʮ"QQ%FWFMPQNFOUXJUI4XJGU-FWFMʯࢼݧͷެࣜαΠτ • ೔ຊͰ͸ΦσοηΠίϛϡχέʔγϣϯζ͕഑৴ • IUUQTXXXPEZTTFZDPNDPKQBQQEFWXJUITXJGU •

    "QQMFͷJ044XJGUೝఆࢿ֨Λडݧͯ͠Έͨʢ੨໦ͷϒϩά಺ͷهࣄʣ • ্هೝఆࢼݧͷडݧه • ֶश༻ڭࡐʢ"QQMFͷ&WFSZPOF$BO$PEFγϦʔζͷిࢠॻ੶"QQ%FWFMPQNFOUXJUI4XJGUʣ ΁ͷϦϯΫ΋͋Γ • IUUQTZBHBNPTUZMFDPNQPTUTTXJGUFYBNJNQSFTTJPO     ࢀߟ৘ใ