# ゼロから始めるプログラミング

**広島大学 情報科学部 2026年度**<br>
**学校推薦型選抜合格者向け 入学前課題**

担当教員：相澤宏旭，古居彬

````{card} お知らせ
- 2026年入学用に内容を更新しました（2026/1/8）
- 2025年入学用に内容を更新しました（2025/1/8）
- 本ページを公開しました（2024/11/08）

````

## 本講義について

広島大学 情報科学部 学校推薦型選抜合格者向けの講義と入学前課題の説明となります．
本講義はオンデマンドで実施されます．資料と動画を参照し，自習形式で取り組んでください．
本講義のアナウンスは基本的にこのページで行います．こまめにチェックするようにしてください．

**2026年2月28日まで**に課題を提出してもらう必要があります．
課題の内容と提出方法は本ページ下部に記載してあるので，忘れずに確認しておいてください．

**質問対応**

本講義の技術的な質問は Slack というツールを使って対応します．質問だけでなくアナウンス等も併せて行うので， **別途ご案内している招待リンクからSlackに登録** してください．

**連絡先**

その他質問がある場合は，以下の連絡先にご連絡ください．

zeropro.hu@gmail.com


- 教材中の `【発展】 `で始まる項目は必修ではありません． 各自の興味に応じて学習してください．
- 各教材はGoogle Colaboratoryの環境で実行することを想定しています．
- 各ビデオは過去の大学生向け講義用に作成したものです．講義運営や試験に関する話も出てきますが，本入学課題とは関係ないので無視してもらって大丈夫です．

| 教材 | ビデオ | 課題の解答 |
| ---- | :----: | :----: | 
| [第1回：イントロダクションと<br>Google Colaboratoryの導入](docs/01/introduction_and_setup.ipynb) | [Play](https://youtu.be/glnqTywph_o) | - |
| [第2回：変数とデータ型（講義）](docs/02/variables_and_data_types.ipynb) | [Play](https://youtu.be/2_AAvgfWeOM) | - | 
| [第3回：変数とデータ型（演習）](docs/03/exercise_variables_and_data_types.ipynb)  | - | [Open](docs/03_ans/answer_variables_and_data_types.ipynb) |
| [第4回：条件分岐（講義）](docs/04/conditional_branch.ipynb) | [Play](https://youtu.be/lCBqvETrbHI) | - |
| [第5回：条件分岐（演習）](docs/05/exercise_conditional_branch.ipynb) | - | [Open](docs/05_ans/answer_conditional_branch.ipynb) |
| [第6回：繰り返し処理（講義）](docs/06/loops.ipynb) | [Play](https://youtu.be/msyS1w1p1Kc) | - |
| [第7回：繰り返し処理（演習）](docs/07/exercise_loops.ipynb)  | - | [Open](docs/07_ans/answer_loops.ipynb) | 
| [第8回：関数とスコープ（講義）](docs/08/functions_and_scope.ipynb) | [Play](https://youtu.be/LIg_xSdXM6U) | - | 
| [第9回：関数とスコープ（演習）](docs/09/exercise_functions_and_scope.ipynb) | - | [Open](docs/09_ans/answer_functions_and_scope.ipynb) | 
| [第10回：クラス（講義）](docs/10/class.ipynb) | [Play](https://youtu.be/v5iuj0GzAE0) | - | 
| [第11回：クラス（演習）](docs/11/exercise_class.ipynb)  | - | [Open](docs/11_ans/answer_class.ipynb) | 
| [第12回：データ分析入門（講義）](docs/12/introduction_to_data_analysis.ipynb) | [Play](https://youtu.be/INzjqed_lCw) | - | 
| [第13回：データ分析入門（演習）](docs/13/exercise_introduction_to_data_analysis.ipynb)  | - | [Open](docs/13_ans/answer_introduction_to_data_analysis.ipynb) | 
| [第14回：機械学習入門（講義）](docs/14/introduction_to_machine_learning.ipynb) | [Play](https://youtu.be/DSf0xKEnh6o) | - |
| [第15回：機械学習入門（演習）](docs/15/exercise_introduction_to_machine_learning.ipynb)  | - | [Open](docs/15_ans/answer_introduction_to_machine_learning.ipynb) |

## 講義の取り組み方

以下は一例です．

1. 講義の導入から機械学習入門までの資料を読んで，コードを実行してみましょう．
    - 最初は【発展】以外の基礎項目に取り組みましょう．余裕があれば発展内容に取り組んでください．
    - Google Colabで実行するだけでなく，コードを変更してみたりすると理解が深まると思います．
    - ビデオでは発展以外の基礎内容の簡単な解説を提供しています．視聴は必須ではありません．補助資料としてご利用ください．
2. 各トピックの演習問題に取り組んでみましょう．
    - 演習問題の実施は必須ではありません．自身の理解度を知るためにも取り組んでみることをおすすめします．どうしてもわからない場合は，インターネットで利用方法を調べてみたり，事前に公開している解答を写径しても良いので自身の手で実行してみてください. 
3. 入学前課題に取り組み，締め切りまでに提出しましょう．

## 入学前課題の内容

資料を読み，Pythonの基礎文法を身につけた上で，以下の課題に取り組んでください．

**課題内容：**

- Pythonを使ってアプリケーションを作成してください．
- 作成したアプリケーションの概要をGoogle Slideにまとめて提出してください．

作成するアプリケーションは **任意** です．あなたが今作りたいものをPythonで実現してください．Pythonを利用していれば，どのようなライブラリやパッケージを利用しても良いです．

**アプリケーションの例：**

- ユーザーから入力された数値同士の演算を計算する電卓アプリ
- ユーザーから入力された文字列からテキスト検索するアプリ
- フォルダ内のファイルの名前を自動で修正するアプリ
- スケジュールや時間割を管理するアプリ
- 与えられた関数の微分を計算する微積分アプリ
- Youtubeから動画をダウンロードするアプリ
- 与えられたキーワードに従ってGoogleの画像検索から画像をダウンロードするアプリ
- 画像分類や画像生成を行うAIモデルの作成
- チャットbotの作成

以上，アプリケーション例です．一部，本講義範囲外の内容を含んでいますが，Pythonを駆使して，自身で調べて，試行錯誤した経験が本事前学習課題から学べることを皆さんに期待しています．

**概要の例：**
概要はGoogle Slideで作成してください．Google Slideのテンプレートは提出フォームの `[サンプル]広大太郎` に入っています．フォルダをコピーしてもらえれば大丈夫です．スライドには
- アプリケーションの実行に必要なライブラリと実行方法
- アプリケーションの機能説明（図やイラストを使ってもOKです）
- アプリケーションの利用場面
- 感想・今後の展望
- 参考資料

の項目が含まれています．詳細はスライドを確認ください．ファイル名は変更してもOKです．

**実行環境について：**

作成するアプリケーションの実行環境は特に指定しません．Google Colaboratory上で動作するものでも構いませんし，Pythonファイルから直接実行するものでもOKです．GUIかCUIかも特に指定しません．

- 自分のPCにPythonの環境を構築したい人向けに，[AnacondaによるPythonファイルの実行](docs/anaconda_python/anaconda_python.md) のページを公開しています．

## 課題の提出方法

詳細は [入学前課題の提出方法](docs/submission/submission.md) を参照してください．
  - 必ず注意点等にも目を通してから，提出してください．

**提出ファイル：**

- 作成したPythonアプリケーションのコード（`.ipynb`ファイル または `.py`ファイル）
- 作成したアプリケーションの概要

**提出場所：**

提出先のGoogle Driveのアドレスは，Slackにて通知しますので，そちらを確認してください．

※必ず自分の氏名のフォルダを作成し，その中に提出ファイルを入れること

**提出期限：**

2026年2月28日

**課題の返却：**
課題の返却はおこないません．成績はつけませんが，必ず提出するようにお願いします．