ということで、昨日から着手した、
プログラミング自体初学者である私が、
ChatGPTにサポートしてもらいながら
Pythonを学んでいくプログラミング学習企画(?)。
そもそもどういうスケジュールになっているのか、
をこの投稿で示しておきます。
これをベースに、遅れであったり、前倒し、
変更が発生することとなります。
スケジュールないと遅れないですからね! 大事!
ChatGPTに学習スケジュールを検討してもらうにあたり、
私が入力した主な内容は以下、です。
そのままではなく、
数回のChatGPTとのやりとりを整理してのもの、です。
以下の条件にそって週ごとの学習計画をたてて貰えますか?
・対象者:プログラミング初学者
・対象言語:Python
・最終的な目標とする成果物:予定管理アシスタント
・期間:5ヶ月(週末の土日、各2時間)
・各週の学習目標を設定する。
・各週の成果物を設定する。
・各週の学習ポイントを設定する。
※2023/04/20 7:57 以下のように修正。
修正前:学習の学習ポイントを設定する。
修正後:各週の学習ポイントを設定する。
ChatGPTの回答は以下でした。
出力結果に、
■の追加、や、改行の編集をおこなっています。
また、実際のChatGPTとのやりとりでは
応答が途中で途切れたので、
「続き」の指示をChatGPTにおこないましたが、
その辺りのやり取りは編集し、カットしています。
■週1-2:
学習目標: Pythonの基本文法を学ぶ
成果物: 簡単なPythonプログラム
学習ポイント: 変数、演算子、基本的なデータ型、入力と出力
■週3-4:
学習目標: データ型とデータ操作を学ぶ
成果物: 様々なデータ型を使ったプログラム
学習ポイント: 文字列操作、数値型、ブール型、型変換
■週5-6:
学習目標: データ構造(リスト、辞書など)を学ぶ
成果物: リストや辞書を使用したプログラム
学習ポイント: リスト、タプル、辞書、集合、データ構造の操作
■週7-8:
学習目標: 条件分岐と繰り返しを学ぶ
成果物: 条件分岐や繰り返しを用いたプログラム
学習ポイント: if文、for文、while文、リスト内包表記、エラー処理
■週9-10:
学習目標: ファイルの読み書きを学ぶ
成果物: テキストファイルやCSVファイルを操作するプログラム
学習ポイント: ファイルのオープン、読み込み、書き込み、ファイル操作を行う関数
■週11-12:
学習目標: クラスとオブジェクト指向プログラミングを学ぶ
成果物: 独自のクラスを定義し、オブジェクトを使ったプログラム
学習ポイント: クラスの定義、オブジェクト生成、メソッドとプロパティ、継承とポリモーフィズム
■週13-14:
学習目標: Webアプリケーションの基本を学ぶ
成果物: 簡単なWebアプリケーションの開発
学習ポイント: Webの仕組み、PythonでのHTTPリクエスト処理、CGIを使った動的なWebページ生成
■週15-16:
学習目標: データ解析の基本を学ぶ
成果物:データ解析に関するプログラム
学習ポイント: データベースの基本操作、データ解析ライブラリの利用、データ可視化
■週17-18:
学習目標: Microsoft365 APIを使った予定管理機能開発
成果物: Microsoft365 APIを使って予定情報を取得・更新するプログラム
学習ポイント: APIの仕組み、認証とアクセストークンの取得、Microsoft365 APIの利用、予定情報の取得・更新
■週19:
学習目標: 予定管理アシスタントの機能統合
成果物: これまで学んだ機能を組み合わせた予定管理アシスタントのプロトタイプ
学習ポイント: ソースコードの構造化、モジュール化、プログラムの統合
■週20:
学習目標: プログラムの改善と最適化、成果物の最終調整
成果物: 予定管理アシスタントの完成品
学習ポイント: パフォーマンスの改善、エラー処理の強化、コードのリファクタリング
この20週間の学習計画では、
各週の学習目標、成果物、学習のポイントがより余裕を持って設定されています。
これにより、理解を深めるための復習や練習問題に十分な時間を確保できますし、
予定が立て込んで休日の学習時間が確保できない週があっても、
全体のスケジュールに影響を与えず進められるでしょう。
最終成果物についての要件も出してもらいました。
以下、ChatGPTの最終成果物の要件についての答え。
予定管理アシスタントに求められる要件を以下に示します。
1.予定の追加、編集、削除機能
・新しい予定を追加できる。
・既存の予定を編集できる(例:タイトル、日時、場所、詳細)。
・予定を削除できる。
2.予定の表示・検索機能
・指定した期間の予定を一覧表示できる。
・キーワードで予定を検索できる。
3.通知機能
・予定の開始時間の数分前にリマインダーを送信できる。
・緊急の予定変更があった場合、通知を受け取ることができる。
4.Microsoft365との連携
・Microsoft365のカレンダーと同期して、予定の追加・編集・削除ができる。
・Microsoft365の認証情報を使用して、ユーザーがアシスタントを利用できる。
5.ユーザーインターフェース
・シンプルで使いやすいGUIまたはコマンドラインインターフェースを備える。
・予定の操作が直感的に行える。
6.エラー処理とセキュリティ
・入力エラーや通信エラーが発生した場合、適切なエラーメッセージを表示する。
・ユーザーの認証情報やプライベートデータを安全に取り扱う。
これらの要件を満たす予定管理アシスタントを開発することで、
ユーザーが予定の管理を効率的に行えるようになります。
ただし、これらの要件はあくまで一例であり、
実際の開発過程で要件を追加・削除・変更することもあります。
最終的な要件は、開発者やユーザーのニーズに応じて調整してください。
と、ChatGPTとのやりとりをしていく中で、
学習・スキルアップのスケジュール管理アシスタント、
を最終的な成果物に変えられないか?
と思ってきたので、その辺りを今宵はお酒飲みつつ、
詰めてみたいと思います。
予定管理アシスタント、よりは使い方が絞られるし。
なお、今日の学習成果は購入したPython参考本を
会社帰りに読み進めた、程度です。
基本は週末学習方針なので、
今日の分は余裕として、ですね。
明日は、本を読みつつ、
ThinkPadでもPythonの学習を進められるように
環境準備をしようと思います。
コメント