[High School Information Department Information I / Information II] Summary of teaching materials for teacher training by python

Introduction

In the common subject "Information" of the new high school curriculum guidelines, "Information I" is defined as a compulsory subject and "Information II" is defined as an elective subject. Along with this, the teaching materials for teacher training of "Information I" and "Information II" are available on the website of the Ministry of Education, Culture, Sports, Science and Technology. I think this teaching material for teacher training is excellent as an introductory text for learning information technology even if you are not a high school student, but there are many languages used to explain implementation examples, python and R, and it is one of "Information I". Other languages (JavaScript, VBA, Dolittle, swift) are listed only in the department area, and I got the impression that there is no sense of unity. It is a teaching material written for teaching teachers of various skills and for learning of high school students, so I think it is good to explain in various languages, but there was a point to be worried about.

――In the area of "Computer and programming" of "Information I", there is an explanation in the implementation example of python, JavaScript, VBA, Dolittle, swift, but in "Information II", it is mainly explained in python, R. .. --The standard number of credits for "Information I" and "Information II" in high school is 2 credits each. I'm not an education expert, so I don't know the details, but can I learn many programming languages in the class hours converted to this number of credits? (Problem of learning cost) ―― "Information II" As a development of the learning content of information systems and programming, when trying to create a proper application while actually learning the process of system development, python, JavaScript, VBA, It looks good around swift, but what about domain-specific languages such as R? ――When you take a bird's-eye view of "Information I" and "Information II" as a whole, it seems that they are biased toward the data science field. ――In the item of data science, we have gone into deep learning. Which is better, python or R, when explaining the contents up to deep learning? ――Are you increasing R in consideration of the connection between high school and university? Are many university professors using R for data science? I don't understand why I can't explain with python alone.

From the above, I came to the conclusion that "Isn't it better to implement and explain everything in python?", And I have mainly written articles that have been rewritten from R to python.

Although the introduction has become long, this article is a compilation of implementation examples and explanations in teacher training materials for reference when trying to learn based on python.

Please note that the materials written by other people and the articles written by yourself are mixed and summarized.

Teaching materials

High School Information Department (subject common to all departments): Ministry of Education, Culture, Sports, Science and Technology

environment

ipython Colaboratory - Google Colab

Information I

Teaching materials: [High school information department "Information I" teacher training materials (main part): Ministry of Education, Culture, Sports, Science and Technology](https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1416756.htm "High school Information Department "Information I" Teacher Training Materials (Main Volume): Ministry of Education, Culture, Sports, Science and Technology ")

Chapter 1 Problem Solving in the Information Society

No implementation example

Chapter 2 Communication and Information Design

Learning 6 Making it digital

(9) File compression Chart 13 Example of Huffman tree creation procedure

Explanation: [High School Information Department Information I] [High School Information Department Information I] Teacher training materials: python implementation of Huffman method --Qiita Source code: https://colab.research.google.com/gist/ereyester/6a37027afa322d1b76e72b774aa406e8/jouhou1_2_6_huffman.ipynb

Learning 7 to learning 10

No implementation example

Chapter 3 Computers and Programming

Many of the contents compliant with "Chapter 3 Computers and Programming" are quoted from the following sites.

Basic Programming (Introduction to Python) -IPSJ MOOC Information Processing Society of Japan Public Teaching Materials

Learning 11 Computer mechanism

(2) Experience errors in programming

Explanation & Source Code: [Program Structure, Sequential Processing, Calculation-IPSJ MOOC Information Processing Society of Japan Public Teaching Materials](https://colab.research.google.com/drive/1p9pSDwnozHR7tYctQuNFsuCTo0fLcDch?usp=sharing Program Structure, Sequential Processing, Calculation-IPSJ MOOC Information Processing Society of Japan Public Teaching Materials) → See "Overflow and error"

Learning 12 Connection with external device

(5) A program that controls the LED based on the sensor value

Can be browser-based https://python.microbit.org/v/2.0 Is recommended. Execute the source code of the teaching materials by copying.

Learning 13 Basic program

Sequential example --Chart 7 Code

Explanation & Source Code: [Program Structure, Sequential Processing, Calculation-IPSJ MOOC Information Processing Society of Japan Public Teaching Materials](https://colab.research.google.com/drive/1p9pSDwnozHR7tYctQuNFsuCTo0fLcDch?usp=sharing Program Structure, Sequential Processing, Calculation-IPSJ MOOC Information Processing Society of Japan Public Teaching Materials) → See "Sequential processing"

Example of branching --Chart 10 Code

Explanation & Source Code: Branch Processing --IPSJ MOOC IPSJ Public Teaching Materials → See "Branch processing (2 branches)"

Example of repetition --Chart 13 Code

Explanation & Source Code: Iterative Processing-IPSJ MOOC Information Processing Society of Japan Public Teaching Materials → See "Iterative processing (for)"

Example of combining branching and repetition

Explanation & Source Code: Iterative Processing-IPSJ MOOC Information Processing Society of Japan Public Teaching Materials → See "Combination of Iterative Processing and Branch Processing"

Learning 14 Applied program

(1) List-Chart 2 Example of a program using a list 1

Explanation & Source Code: Applied Programming 1 --IPSJ MOOC Information Processing Society of Japan Public Teaching Materials → See "List"

(1) List-Chart 3 Example of a program using a list 2

Explanation & Source Code: Applied Programming 1 --IPSJ MOOC Information Processing Society of Japan Public Teaching Materials → See "List"

(2) Random numbers-Chart 4 Example of a program using random numbers 1

Explanation & Source Code: Applied Programming 1 --IPSJ MOOC Information Processing Society of Japan Public Teaching Materials → See "Random numbers"

(3) Function-Chart 9 Example of a program divided by a function

Explanation & Source Code: [Applied Programming 2-IPSJ MOOC IPSJ Public Teaching Materials](https://colab.research.google.com/drive/11C6Z_4cX9OW8heGiyGGQJuaqelss_UWs?usp=sharing "Applied Programming 2-IPSJ MOOC IPSJ" Public teaching materials ") → See "Function"

(4) WebAPI --Chart 11 Example of a program using WebAPI

Explanation & Source Code: [Applied Programming 2-IPSJ MOOC IPSJ Public Teaching Materials](https://colab.research.google.com/drive/11C6Z_4cX9OW8heGiyGGQJuaqelss_UWs?usp=sharing "Applied Programming 2-IPSJ MOOC IPSJ" Public teaching materials ") → See "Web API"

Learning 15 Algorithm comparison

Explanation & Source Code: List and Built-in Functions-IPSJ MOOC Information Processing Society of Japan Public Teaching Materials → See "Lists and built-in functions"

(1) Search algorithm Linear search and binary search --Chart 3 Code

Explanation & Source Code: [Basic Search-Linear Search-IPSJ MOOC Information Processing Society of Japan Public Teaching Materials](https://colab.research.google.com/drive/1OnJiQZ0Wh0iklECTZcajv4c2D5zLheAK?usp=sharing "Basic Search-Linear Search" --IPSJ MOOC Information Processing Society of Japan Public Teaching Materials ") → See "Linear search"

(1) Search algorithm Linear search and binary search --Chart 6 Code

Explanation & Source Code: [Basic Search-Binary Search-IPSJ MOOC Information Processing Society of Japan Public Teaching Materials](https://colab.research.google.com/drive/1gjH_OxYZh_M3g03OWq6zIZIotBxVFrzW?usp=sharing "Basic Search-Binary Search" --IPSJ MOOC Information Processing Society of Japan Public Teaching Materials ") → See "Binary Search"

(1) Search algorithm Linear search and binary search --Chart 7 Comparison of maximum number of searches between linear search and binary search

Explanation & Source Code: Basic Search-Comparison of Linear Search and Binary Search-IPSJ MOOC Information Processing Society of Japan Public Teaching Materials → See "Comparison of linear search and binary search"

(2) Sort algorithm Selection sort and quick sort --Selection sort --Chart 9 Code

Explanation & Source Code: [Basic Sort-Selective Sort-IPSJ MOOC Information Processing Society of Japan Public Teaching Materials](https://colab.research.google.com/drive/1ICcRAzGXZOpjzBJkOMZ2K7IibCtbJMva?usp=sharing "Basic Sort-Selective Sort" --IPSJ MOOC Information Processing Society of Japan Public Teaching Materials ") → See "Selection sort"

(2) Sort algorithm Selection sort and quick sort --Quick sort --Chart 11 Code

Explanation & Source Code: [Basic Sort-Quicksort-IPSJ MOOC Information Processing Society of Japan Public Teaching Materials](https://colab.research.google.com/drive/12WQ2a8LwU8V_L_05Y9AVt8iGMRAPI8xE?usp=sharing "Basic Sort-Quicksort" --IPSJ MOOC Information Processing Society of Japan Public Teaching Materials ") → See "Quicksort implementation example"

(3) Comparison of selection sort and quick sort

Explanation & Source Code: Basic Sort-Comparison of Selection Sort and Quicksort-IPSJ MOOC Information Processing Society of Japan Public Teaching Materials → See "4-2. Basic Sort-Comparison of Selection Sort and Quicksort"

Learning 16 Definite model and probabilistic model

Refer to the implementation example (python) described in the teaching material (TBD)

Learning 17 Modeling and simulation of natural phenomena

Refer to the implementation example (python) described in the teaching material (TBD)

Chapter 4 Utilization of Information and Communication Networks and Data

Learning 18 Mechanism of information and communication network

No implementation example

Learning 19 Construction of information and communication network

No implementation example

Learning 20 Services provided by information systems

No implementation example

Learning 21 Data in various formats and their expression formats

Refer to the implementation example (python) described in the teaching material (TBD)

Learning 22 Analysis of quantitative data

Refer to the implementation example (Excel) described in the teaching materials (TBD)

Learning 23 Analysis of qualitative data

Explanation: [High School Information Department Information I] Teaching materials for teacher training: Morphological analysis by MeCab and how to make WordCloud (python) --Qiita Source code: https://colab.research.google.com/gist/ereyester/5f1a93311f434b08f1e57fda4fb5398f/jouhou1_4_23.ipynb

Learning 24 Data format and visualization

Explanation: [High School Information Department Information I] Teacher Training Materials: Data Format and Visualization (python) --Qiita Source code: https://colab.research.google.com/gist/ereyester/68b781bd6668005c157b300c5bf22905/jouhou1_4_24.ipynb

Information II

Teaching materials: [High school information department "Information II" teacher training teaching materials (main part): Ministry of Education, Culture, Sports, Science and Technology](https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/mext_00742.html "High school Information Department "Information II" Teacher Training Materials (Main Volume): Ministry of Education, Culture, Sports, Science and Technology ")

Chapter 1 Development of Information Society and Information Technology

No implementation example

Chapter 2 Communication and Content

No implementation example

Chapter 3 Information and Data Science

Learning 11 Data and relational database

Refer to the implementation example (python) described in the teaching material.

Learning 12 Collecting, organizing and shaping a large amount of data

Refer to the implementation example (python) described in the teaching material.

Learning 13 Multiple regression analysis and model determination

Explanation: [High School Information Department Information II] Teaching materials for teacher training: Multiple regression analysis and model determination (python) --Qiita Source code: https://colab.research.google.com/gist/ereyester/5c6e5a9b8aa55ba826c7c96a4daf7814/jouhou2_3_13_python.ipynb

Learning 14 Dimensionality reduction by principal component analysis

Explanation: Main component analysis with python (Scikit-learn version, pandas & numpy version) ([High school information department information II] teaching materials for teacher training) --Qiita Source code: https://colab.research.google.com/gist/ereyester/3c2173eb61cbcd64b61f23b3d4d6480c/jouhou2_3_14.ipynb

Learning 15 Prediction by classification

2 Binary classification by decision tree

Explanation: [Binary classification by decision tree by python ([High school information department information II] teaching materials for teacher training) --Qiita](https://qiita.com/ereyester/items/6db7065d72d0f5f551e0 "Binary classification by decision tree by python" Classification ([High School Information Department Information II] Teaching materials for teacher training) --Qiita ") Source code: https://colab.research.google.com/gist/ereyester/dfb4fd6fb3e58c5d0539866f7e2622b4/jouhou2_3_15.ipynb

3 k-Classification by neighbor method

Explanation: [classification by k-nearest neighbor method (kNN) by python ([High school information department information II] teaching materials for teacher training) --Qiita](https://qiita.com/ereyester/items/7b3c42bc6051482de96e "k- by python" Classification by the neighborhood method (kNN) ([High school information department information II] teaching materials for teacher training) --Qiita ") Source code: https://colab.research.google.com/gist/ereyester/01237a69f6b8ae73c55ccca33c931ade/jouhou2_3_15_2.ipynb

Learning 16 Classification by clustering

Refer to the implementation example (python) described in the teaching material.

Learning 17 Neural networks and how they work

Refer to the implementation example (python) described in the teaching material.

Learning 18 Text mining and image recognition

2 Text mining using MeCab

Explanation: [Text mining by word2vec etc. by python ([High school information department information II] teaching materials for teacher training) --Qiita](https://qiita.com/ereyester/items/2b87d7aa191e2c5a923d "Text mining by word2vec etc. by python (https://qiita.com/ereyester/items/2b87d7aa191e2c5a923d" [High School Information Department Information II] Teaching materials for teacher training) --Qiita ") Source code: https://colab.research.google.com/gist/ereyester/101ae0da17e747b701b67fe9fe137b84/jouhou2_3_18.ipynb

3 Object detection using Tiny YOLO

Explanation: [Object detection using YOLO (python) ([High school information department information II] teaching materials for teacher training) --Qiita](https://qiita.com/ereyester/items/4cd0dc3a449369e7f1f4 "Object detection using YOLO" (Python) ([High School Information Department Information II] Teaching materials for teacher training) --Qiita ") Source code: https://colab.research.google.com/gist/ereyester/46a25e70c866c581320a66a77153aa2d/jouhou2_3_18_2.ipynb

Chapter 4 Information Systems and Programming

Learning 19-Learning 22

No implementation example

Learning 23 Creating and testing a split system

Explanation & Source Code: [Information II Teacher Training Material Chapter 4 .ipynb](https://colab.research.google.com/drive/1r26wcPi3jcVfe0BhzbyTj0-oGhi8AgBC Information II Teacher Training Material Chapter 4.ipynb ") → See "Learning 23: Creation and testing of divided systems"

Learning 24 Coupling and testing of split systems

Explanation & Source Code: [Information II Teacher Training Material Chapter 4 .ipynb](https://colab.research.google.com/drive/1r26wcPi3jcVfe0BhzbyTj0-oGhi8AgBC Information II Teacher Training Material Chapter 4.ipynb ") → See "Learning 24: Coupling and testing of divided systems"

Learning 25 Evaluation and improvement of information systems

Explanation & Source Code: [Information II Teacher Training Material Chapter 4 .ipynb](https://colab.research.google.com/drive/1r26wcPi3jcVfe0BhzbyTj0-oGhi8AgBC Information II Teacher Training Material Chapter 4.ipynb ") → See "Learning 25 Information System Evaluation / Improvement"

Chapter 5 Searching for Problem Discovery and Solutions Utilizing Information and Information Technology

Activity example 1 Information society and information technology

No implementation example

Activity example 2 Utilization of information technology for communication

No implementation example

Activity example 3 Utilization of information technology to utilize data

Explanation: [Data analysis by clustering using k-means method (python) ([High school information department information II] teaching materials for teacher training) --Qiita](https://qiita.com/ereyester/items/bc251ea3c329a38b5b82 "k" -Data analysis by clustering using the means method (python) ([High school information department information II] teaching materials for teacher training) --Qiita ") Source code: https://colab.research.google.com/gist/ereyester/ce9370e3022f05f4d7548a8ccaed33cc/jouhou2_5_3.ipynb

Activity example 4 Basic mechanism and utilization of computers and information systems

No implementation example

comment

The (TBD) section is likely to be updated by the IPSJ MOOC Information Processing Society of Japan.

Recommended Posts

[High School Information Department Information I / Information II] Summary of teaching materials for teacher training by python
Text mining by word2vec etc. by python ([High school information department information II] teaching materials for teacher training)
Binary classification by decision tree by python ([High school information department information II] teaching materials for teacher training)
Classification by k-nearest neighbor method (kNN) by python ([High school information department information II] teaching materials for teacher training)
[High School Information Department Information I] Teaching materials for teacher training: Data format and visualization (python)
Data analysis by clustering using k-means method (python) ([High school information department information II] teaching materials for teacher training)
[High School Curriculum Guidelines Information I] Teaching materials for teacher training: Implementation of Huffman method in python
Principal component analysis with python (Scikit-learn version, pandas & numpy version) ([High school information department information II] teaching materials for teacher training)
Object detection using YOLO (python) ([High School Information Department Information II] Teacher training materials)
[High School Information Department] Information I / Information II Reiwa 3rd year supplementary teaching materials Exercise examples
Web teaching materials for learning Python
Summary of various for statements in Python
Pandas of the beginner, by the beginner, for the beginner [Python]
Summary of useful techniques for Python Scrapy
I tried to refactor the code of Python beginner (junior high school student)
Beginning of machine learning (recommended teaching materials / information)
Summary of frequently used Python arrays (for myself)
I / O related summary of python and fortran
I tried to extract various information of remote PC from Python by WMI Library