0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

教科「情報」でChromebookとPythonとVSCodeとJupyter Notebook

Posted at

0. はじめに

高校でChromebookを使って、プログラミング教育を行うための環境構築手順をシミュレーションしてみました。

1. Linuxを有効化

  1. 設定アプリで、次の手順で有効化する。
    「ChromeOSについて」→「Linux 開発環境」→[設定]→「Linux 開発環境をセットアップする」→[次へ]→ユーザー名を設定→[インストール]→ターミナルが開く
  2. 日本語入力のための設定は必要ない

2. フォントとモジュールのインストール

  1. 開いたターミナルで、まずは
    sudo apt update && sudo apt upgrade -y
    
  2. VSCodeを日本語化したとき、メニューがぼやけるので、きれいな日本語フォントをインストールする
    sudo apt install fonts-noto-cjk -y
    
  3. 仮想環境を作りパッケージをインストールしたいので、venvをインストールする
    sudo apt install python3-venv -y
    
  4. matplotlibのグラフを表示するためにtkinterをインストールする
    sudo apt install python3-tk -y
    
    VSCodeでJupyter Notebookを利用する場合は不要。

3. VSCodeのインストール

  1. 公式サイトからDebian用の.debファイルをダウンロードする
  2. .debファイルをダブルクリックしてLinuxにインストールする

4. VSCodeにPython開発環境を設定

  1. ランチャーからVSCodeを起動する
  2. 日本語化のための拡張機能をインストールする
  3. Pythonの拡張機能をインストールする
  4. Jupyterの拡張機能をインストールする(以前はPythoの拡張機能とともにインストールされていたが、別になった。)
  5. 「MyProjects」というフォルダを作成し開く
  6. [Ctrl]+[Shift]+[@]キーを押し、ターミナルを開く
  7. 仮想環境を作成する
    python3 -m venv venv
    
  8. 仮想環境をアクティブ化する
    source venv/bin/activate
    
    アクティブ化すると、ターミナルの先頭に (venv) と表示される。
  9. 仮想環境のpipをアップデートする
    python3 -m pip install --upgrade pip
    
  10. 仮想環境にjupyterをインストールする
    python3 -m pip install jupyter
    
  11. 必要なパッケージがわかっていればインストールしておく(今回は、次の起動確認のために matplotlib をインストールする)
    python3 -m pip install matplotlib
    

5. 起動確認

  1. VSCodeのメニューの「ファイル」→「新しいファイル」→「Jupyter Notebook」から新しいnotebookを作成する
  2. 4-7で作成した仮想環境のカーネルを選択する
  3. 次のコードを入力して実行する
    parabolic_motion.ipynb
    import math as math
    import matplotlib.pyplot as plt
    plt.rcParams['font.family'] = 'Noto Sans CJK JP'  # matplotlibで日本語を表示するための設定
    
    dt = 0.01
    v0 = 30
    g = 9.8
    x = [0]
    y = [0]
    angle = 45.0 * math.pi / 180.0
    vx = [v0 * math.cos(angle)]
    vy = [v0 * math.sin(angle)]
    for i in range(1000):
        vx.append(vx[i])
        vy.append(vy[i] - g * dt)
        x.append(x[i] + vx[i] * dt)
        y.append(y[i] + (vy[i] + vy[i + 1]) / 2.0 * dt)
        if y[i] < 0:
            break
    plt.plot(x, y)
    plt.title("物体の放物運動")
    plt.xlabel("水平距離")
    plt.ylabel("高さ")
    plt.show()
    
    image.png
  4. 成功!
    実際はネットワークの通信速度の問題から、こんなにうまくいかないと思いますが。
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?