情報工学領域実習 B

1. URL
2. 担当教員
3. 授業目的
4. 到達目標
5. 授業方法
6. 成績評価
7. スケジュール
8. 大崎が担当する科目に共通の連絡事項・アドバイス
9. Debian GNU/Linux のインストールとセットアップ
10. CLI 環境のセットアップ
11. ウィンドウマネージャ導入
12. エディタ (Emacs チュートリアル)
13. タッチタイピング
14. 簡単なツールの設計・開発 (1)
15. 簡単なツールの設計・開発 (2)
16. ペアプログラミング

ペアプログラミング

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

2025-09-24 と同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#8-1

内容目標

- ペアプログラミングとは何かを他人に説明できるようになる。

- ペアプログラミングの「コツ」を理解し、実践できるようになる。

- 簡単なプログラムを他のメンバとペアプログラミングで開発できるようになる。

例題

ニュース記事の URL を引数に指定すると、 そのニュース記事をテキスト形式で標準出力に書き出す news2txt コマンドを作成せよ。

少なくともニュースの見出しと、 本文を出力すること。 出力の形式や、 見出しと本文以外のどの情報を出力するか等は自由に定めてよい。

 実行例
 ./news2txt 'https://www.itmedia.co.jp/aiplus/articles/2511/12/news075.html'
 * 「権利侵害はない」のに"声が酷似"? AI音声「にじボイス」、33キャラ取り下げ 詳細を開発元に聞いた (1/2 ペ ージ)

  「権利侵害はなかったが、関係者に懸念を生じさせるのは本意ではない」--DMMグループでAI関連サービスを
 開発するAlgomatic(東京都港区)は、AI音声サービス「にじボイス」で33件のキャラクターボイスを取り下げた
 理由を、ITmedia AI+の取材に対して明かした。日本俳優連合(日俳連)から「組合員の声に酷似している」との
 指摘を受け、今回の対応に至ったという。

  この問題を巡っては、俳優や声優の権利保護活動などを行う日本俳優連合が7日、「『にじボイス』に対し、
 33件のキャラクターボイスが組合員の声に酷似している件について問い合わせを行った。その結果、音声を取
 り下げるとの回答を得られた」と報告していた。

  一体何があったのか。Algomaticに詳細を聞いた。

  にじボイスは、Algomaticが2024年12月に正式にリリースしたAI音声サービス。「声の権利を守るためのプラ
 ットフォーム」をうたい、AIの学習には「適切に権利処理された音声データのみを使用している」としていた。

  今回取り下げたのは、にじボイスで提供していた全124キャラクターのうち、33キャラのボイス。Algomatic
 によると、9月29日に日俳連から、組合員の声に酷似しているとして、33キャラの削除を求める書類を受け取っ
 た。その後、社内で取り下げを決定し、10月3日に日俳連に報告。31日に33キャラの提供を終えたという。

  Algomaticは、33キャラの音声について「再度調査を行い、法的な権利侵害は確認されなかった」と述べる。
 一方、音声を取り下げた理由として「声の権利を尊重するプラットフォームとして、関係者に懸念を生じさせ
 ること自体が本意ではないと考えた」と説明。「権利侵害の有無に関する判断ではなく、あくまで関係各所へ
 の配慮の観点から当社が自主的に判断した」としている。

  権利侵害がなかったにもかかわらず、なぜ33件のボイスに対し、日俳連から「組合員の声に酷似している」
 と指摘される事態になったのか。Algomaticに聞いたところ、以下の返答が得られた。

課題

課題 1

ペアプログラミングの実施手順を理解せよ。

Pair Programming Tutorial
http://www.compsci.hunter.cuny.edu/~sweiss/course_materials/csci135/csci136tutorials/pair_programming_tutorial.pdf

課題 2

ペアプログラミングにふさわしい席配置、 ノート PC の配置を考え、 そのようにレイアウトせよ。

課題 3

Web ブラウザを起動し、 コマンド行に指定した英単語を OLD (Oxford Learner's Dictionary) で検索した結果を表示する old コマンドを作成せよ。

実行例
> ./old proxy
(Web ブラウザが起動し、https://www.oxfordlearnersdictionaries.com/definition/english/proxy が表示される)

課題 4

明日の天気予報を表示する weather コマンドを作成せよ。 天候、 最高/最低気温、 湿度、 降水確率等の何をどのように表示するかは自由に決めてよい。

実行例
> ./weather
晴
最高 17
最低 [-3]

略解

課題 1

省略

課題 2

省略

課題 3

省略

課題 4

サンプル (表示する情報の抽出・整形は未実装)
https://lsnl.jp/~ohsaki/lecture/training/2025/priv/weather

> chmod +x weather
> ./weather
  <section class="tomorrow-weather"><!-- 明日の天気 -->
  <h3 class="left-style">明日&nbsp;11月16日<span class="weekday">(水)</span><span class="roku-you">[友引]</span></h3>
  <div class="weather-wrap clearfix">
    <div class="weather-icon"><img src="https://static.tenki.jp/images/icon/forecast-days-weather/01.png" alt="晴" title="晴" width="94" height="60">
      <p class="weather-telop">晴</p>    </div>
    <div class="date-value-wrap">      <dl class="date-value">
        <dt class="high-temp sumarry">最高</dt>
        <dd class="high-temp temp"><span class="value">17</span><span class="unit">℃</span></dd>
        <dd class="high-temp tempdiff">[0]</dd>
        <dt class="low-temp sumarry">最低</dt>
        <dd class="low-temp temp"><span class="value">1</span><span class="unit">℃</span></dd>
        <dd class="low-temp tempdiff">[-3]</dd>
      </dl><!-- /.date_value -->
    </div><!-- /.date-value-wrap -->
  </div><!-- /.weather_wrap -->

  <div class="precip-table">
    <table>
      <tr>
        <th>時間</th>
        <th>00-06</th>
        <th>06-12</th>
        <th>12-18</th>
        <th>18-24</th>
      </tr>
      <tr class="rain-probability">
        <th>降水確率</th>
        <td>0<span class="unit">%</span></td>
        <td>0<span class="unit">%</span></td>
        <td>0<span class="unit">%</span></td>
        <td>0<span class="unit">%</span></td>
      </tr>
      <tr class="wind-wave">
        <th>風</th>
        <td colspan="4">南西の風日中西の風</td>
      </tr>    </table>
  </div><!-- /.precip_table -->
  </section><!-- /明日の天気 -->

</div><!-- /.contentsBox -->

レポート課題 2025-10-12

2025-09-24 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#9-6


Hiroyuki Ohsaki (ohsaki[atmark]lsnl.jp)
[<15. 簡単なツールの設計・開発 (2)]