ネットワークコンピューティング実習

1. URL
2. 担当教員
3. TA (ティーチングアシスタント)
4. ネットワークに関する疑問
5. 講義目的: 到達目標
6. 授業方法
7. 成績評価
8. スケジュール
9. 大崎が担当する科目に共通の連絡事項・アドバイス
10. Debian GNU/Linux のインストール
11. UNIX (UNIX とは、ユーザ権限、パッケージ管理)
12. Debian GNU/Linux セットアップ〜パッケージ管理
13. シェル (ファイル操作、リダイレクト、パイプ)
14. X ウィンドウシステム & ウィンドウマネージャ
15. エディタ (Emacs チュートリアル)
16. シミュレータ導入 (インストール、実行、可視化)
17. Python 言語 (1) (名前、変数、式)
18. Python 言語 (2) (文、スコープ、サブルーチン)
19. Python 言語 (3) (オブジェクト指向プログラミング)
20. 最終レポート課題 (実施報告書)
21. シミュレータ解説 (1) (概要、エージェント)
22. シミュレータ解説 (2) (モビリティ、可視化)
23. ソフトウェア設計・実装

エディタ (Emacs チュートリアル)

実習の流れ・チーム分けの方針・態度目標

2024/09/25 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/netcompx/2024/#10-1

内容目標

- Emacs の基本的な操作方法を習得し、ファイルを作成・編集できるようになる

テキスト

https://lsnl.jp/~ohsaki/lecture/netcompx/2024/priv/03.pdf

課題

課題 1

Emacs をインストールせよ。

課題 2

Emacs のチュートリアルを起動し、 「もし Emacs が反応しなくなったら」までを実行せよ。

課題 3

「Hello!」という文字列が書かれた ~/foo.txt というファイルを Emacs のみを用いて作成せよ。

課題 4

Emacs のキーバインド一覧を表示し、 どのようなコマンドがあるかを眺めてみよ。 また、 (1) M-d、 (2) C-SPC、 (3) C-w、 (4) C-y というキー操作によってどのような処理が実行できるかを調べよ。

略解

課題 1

> sudo apt install emacs

課題 2

> Alt + Ctrl + 2 (Alt と Ctrl を押しながら 2 を押す、「emacs &」で起動してもよい)
> C-x RET l Japanese RET (言語環境を日本語に変更、M-x set-language-environment RET でもよい)
> M-h t (M-x help-with-tutorial RET でもよい)
※ C-x は Ctrl キーを押しながら x キーを押す
※ M-x は Alt キーを押しながら x キーを押す
※ RET は Enter キー (もしくは C-m)

課題 3

> C-x C-f foo.txt RET (M-x find-file foo.txt RET でもよい)
> Hello!
> C-x C-s (M-x save-buffer RET でもよい)
※ ~ はホームディレクトリを表す。

課題4

> M-h b (M-x describe-bindings RET でもよい)
> M-d: kill-word (単語単位の削除 (キル → キルリングに入るタイプの削除))
> C-SPC: set-mark-command (現在のポイント(カーソル位置)をマークする)
> C-w: kill-region (リージョン (マークとポイントの間) をキルする)
> C-y: yank (キルしたテキストをペーストする)

より深く学びたい人へ

(Emacs に限りませんが) オンラインドキュメントではなく、 書籍で知識を吸収することをおすすめします。 Emacs に関する良書は多くありませんが、 読むなら以下の本をすすめます。 「GNU Emacs マニュアル」は原文が GPL で公開されているので、 翻訳版も GPL で公開されています。

Richard Stallman, ``GNU Emacs マニュアル,'' 共立出版, 1988.
https://lsnl.jp/~ohsaki/lecture/netcompx/2024/priv/GNU_Emacs_Manual.pdf

GNU Emacs マニュアル 28.1
https://ayatakesi.github.io/emacs/28.1/html/index.html

ただし、 翻訳の質は共立出版のもののほうがはるかに良いです。

Debra Cameron, James Elliott, Marc Loy, Eric Raymond, Bill
Rosenblatt, ``入門 GNU Emacs 第 3 版, '' オライリー・ジャパン, 2007.

参考資料

GNUとは?
https://www.gnu.org/home.ja.html

自由ソフトウェアとは?
https://www.gnu.org/philosophy/free-sw.ja.html

チャレンジ課題

- shell-command (M-!) を用いて Emacs 上からコマンド「ls -l」を実行せよ。

- shell-command (M-!) を用いて Emacs 上からコマンド「man ls」を実行せよ。

- C-u M-! を用いて Emacs 上からコマンド「man ls」を実行せよ。「man ls」の出力はカレントバッファに挿入される。

- query-replace (M-%) を用いて、カレントバッファ内の文字列 file を FILE に置換せよ。

- 適当な段落に対して fill-paragraph (M-q) を実行し、段落を整形せよ。

- shell によって Emacs のバッファ内で fish を起動せよ。

- shell によって起動した fish でコマンド「ls -l」を実行せよ。

- shell によって起動した fish でコマンド「man ls」を実行せよ。

- コマンド「man ls」の出力を ~/ls.txt というファイルに保存せよ。

- 現在起動している Emacs において C-t がどのコマンドに割り当てられているかを調べよ。

- 現在起動している Emacs において forward-word がどのキーに割り当てられているかを調べよ。

- ~/.emacs の 141〜154 行目を変更しフォント (Emacs における face) の色を好みのものに変更せよ。

- 簡単な C 言語のプログラムを作成せよ。Emacs における c-mode の便利な機能を調べて、それらを試してみよ。

- 簡単な Python 言語のプログラムを作成せよ。py-mode の便利な機能を調べて、それらを試してみよ。

- make-frame-command (C-x 5 2) を実行し、新規にフレームを作成せよ。

- delete-frame (C-x 5 0) を実行し、現在のフレームを削除せよ。

レポート課題 2024/10/30

「レポート課題 2024/09/25」と同じ。

https://lsnl.jp/~ohsaki/lecture/netcompx/2024/#10-7

質問

- 大崎先生の授業形式は、アクティブラーニング型学習を体現したものだと感じています。この授業形式の主目的は、生徒同士が相互に助け合い、主体性、協働性、Mastery for serviceの精神を育むことだと認識していますが、その際の大崎先生の役割としてはどんなものがありますか?授業の指針を示すことでしょうか?それとも、生徒が興味を伸ばす道の選択肢、可能性を示してあげることでしょうか?

  アクティブラーニングが効果的に行われるように促進する (ファシリテートする) こ
  とだと思います。


[<14. X ウィンドウシステム & ウィンドウマネージャ] [>16. シミュレータ導入 (インストール、実行、可視化)]