JP7176806B1 - プログラム学習装置 - Google Patents

プログラム学習装置 Download PDF

Info

Publication number
JP7176806B1
JP7176806B1 JP2022068761A JP2022068761A JP7176806B1 JP 7176806 B1 JP7176806 B1 JP 7176806B1 JP 2022068761 A JP2022068761 A JP 2022068761A JP 2022068761 A JP2022068761 A JP 2022068761A JP 7176806 B1 JP7176806 B1 JP 7176806B1
Authority
JP
Japan
Prior art keywords
program
source code
information
execution
screenshot image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022068761A
Other languages
English (en)
Other versions
JP2023158779A (ja
Inventor
輝幸 佐久間
Original Assignee
株式会社アポローン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社アポローン filed Critical 株式会社アポローン
Priority to JP2022068761A priority Critical patent/JP7176806B1/ja
Application granted granted Critical
Publication of JP7176806B1 publication Critical patent/JP7176806B1/ja
Publication of JP2023158779A publication Critical patent/JP2023158779A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrically Operated Instructional Devices (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】実在し実行可能なゲームプログラムの製作過程を体験することでプログラムを学習するプログラム学習装置を提供する。【解決手段】ゲームプログラムのソースコードを示すスクリーンショット画像を保持するソースコードスクリーンショット画像保持部と、実行ステップの説明をするための説明情報を保持する説明情報保持部と、学習をしたい実行場面を選択するための実行場面選択部と、選択された実行場面に対応するソースコードスクリーンショット画像を出力するソースコードスクリーンショット画像出力部と、学習をしたい実行ステップの選択を受付ける実行ステップ選択受付部と、選択が受付けられた場合に、説明情報を取得する説明情報取得部と、取得した説明情報を出力する説明情報出力部と、を有するプログラム学習装置。。【選択図】図13

Description

特許法第30条第2項適用 App Storeでのアプリの公開、令和4年3月29日、アドレス[https://apps.apple.com/us/app/ワンコインエンジニアfc上/id1609247064]
特許法第30条第2項適用 App Storeでのアプリの公開、令和4年3月29日、アドレス[https://apps.apple.com/us/app/ワンコインエンジニアfc下/id1608899433]
特許法第30条第2項適用 Google Playでのアプリの公開、令和4年3月29日、アドレス[https://play.google.com/store/apps/details?id=com.APOLLONE.INC.LTD.FCA]
特許法第30条第2項適用 Google Playでのアプリの公開、令和4年3月29日、アドレス[https://play.google.com/store/apps/details?id=com.APOLLONINC.LTD.OnecoinFCB]
特許法第30条第2項適用 Youtubeでのアプリの公開、令和4年4月5日、アドレス[https://youtu.be/zgB83lw8lJA]
特許法第30条第2項適用 ウェブサイトでのアプリの公開、令和4年4月4日、アドレス[https://m-mori28.wixsite.com/apollon/onecoinengineer-fc]
本発明は、プログラミングを学習するためのプログラミング学習装置、プログラミング学習プログラム、プログラミング学習方法に関する。
従来、プログラミングの学習は、本やWebサイトで文章を読んで理解することが中心に行われていた。
しかしながら、近年は、Z世代と呼ばれる世代がプログラミング学習の中心的な世代となってきている。
Z世代は、1990年後半から2015年の間に生まれた世代である。
代表的な特徴として、インターネットやスマートフォンが当たり前の環境で育ち、あらゆる行動をネットで行う傾向が強い。
従って、プログラミングを、本で学習しようという行動に繋がらない。
また、Webページを用いて勉強する場合でも、命令を読み解いて、プログラムを理解しながら学習を進める必要がある。しかしながら、理解がなかなか進まず、学習半ばにおいて、挫折してしまう場合も少なくない。
こうしたことから、特許文献1に開示されているように、流れ図記号と流れ線とを含む各種の情報を選択的に表示する表示手段と、各種の指示を入力する指示入力手段と、表示手段に表示されている流れ図記号と流れ線とから指示入力手段から入力される指示に応じて所望の流れ図を 作成する作成手段と、作成手段により作成された流れ図により表現されるアル ゴリズムを検証し、かつその検証結果を表示手段に表示する検証手段と、作成手段により作成された流れ図を所望のプログラミング言語によるプログラムに変換し、かつそのプログラムを表示手段に表示させる変換手段とを備えてなり、検証手段が、変換手段により変換したプログラムと作成手段により作成された流れ図とを表示手段に同時に表示 して、流れ図を1流れ図記号毎に実行することによりプログラムの対応部分の実行状況が把握できるように表示することで、視覚的に分かり易く表示されアルゴリズムの理解を容易にし、プログラム学習の効率が高まるようにしている。
特許第2660163号
特許文献1に開示されているアルゴリズム教育支援システムでは、フローチャートで視覚的に分かり易くし、プログラムの理解を容易にしている。しかしながら、プログラムを学習したことにより具体的に何ができるようになるかがイメージしづらく、プログラムを学習しようという動機付けには繋がりにくい。
本発明は、斯かる実情に鑑み、実際にリリースされているゲームを作る過程を体験することで、プログラミング学習への動機付けを可能とするとともに、手軽にプログラミングの学習が可能なプログラム学習装置を提供しようとするものである。
本発明は、実際に販売されているゲームを題材として、その製作過程をスマートフォンやタブレット端末などの情報端末で、体験するとともに、手軽に学習できるプログラム学習装置を提案する。
具体的には、第一の発明として、実在し実行可能なゲームプログラムのソースコードを示すスクリーンショット画像を実行ステップごとにこれを識別する実行ステップ識別情報と関連付けて保持するソースコードスクリーンショット画像保持部と、前記実行ステップ識別情報と関連付けてその実行ステップの説明をするための説明情報を保持する説明情報保持部と、ゲームプログラムが実行されたとした場合に学習をしたい実行場面を選択するための実行場面選択部と、選択された実行場面に対応するソースコードスクリーンショット画像を出力するソースコードスクリーンショット画像出力部と、出力されているソースコードスクリーンショット画像を用いて学習をしたい実行ステップのスクリーンショット画像の選択を受付ける実行ステップ選択受付部と、選択が受付けられた場合に、その実行ステップのソースコードスクリーンショット画像の実行ステップ識別情報と関連付けられている説明情報を取得する説明情報取得部と、取得した説明情報を出力する説明情報出力部と、を有するプログラム学習装置である。
第二の発明として、前記構成に加えて、学習したプログラムを記述するための端末環境の準備についての説明である端末環境準備説明を保持する端末環境準備説明保持部と、保持されている端末環境準備説明を出力する端末環境準備説明出力部と、をさらに有するプログラム学習装置である。
第三の発明として、前記構成に加えて、前記ゲームプログラムのソースコードを学習するための辞書情報を保持する辞書情報保持部と、保持されている辞書情報を出力する辞書情報出力部と、を有するプログラム学習装置である。
第四の発明として、前記構成に加えて、前記ゲームプログラムのソースコードを学習するためのクイズ情報を保持するクイズ情報保持部と、保持されているクイズ情報を出力するクイズ情報出力部と、を有するプログラム学習装置である。
第五の発明として、前記構成に加えて、実在し実行可能なゲームプログラムのソースコードを示すスクリーンショット画像を実行ステップごとにこれを識別する実行ステップ識別情報と関連付けて保持するソースコードスクリーンショット画像保持ステップと、前記実行ステップ識別情報と関連付けてその実行ステップの説明をするための説明情報を保持する説明情報保持ステップと、ゲームプログラムが実行されたとした場合に学習をしたい実行場面を選択するための実行場面選択ステップと、選択された実行場面に対応するソースコードスクリーンショット画像を出力するソースコードスクリーンショット画像出力ステップと、出力されているソースコードスクリーンショット画像を用いて学習をしたい実行ステップのスクリーンショット画像の選択を受付ける実行ステップ選択受付ステップと、選択が受付けられた場合に、その実行ステップのソースコードスクリーンショット画像の実行ステップ識別情報と関連付けられている説明情報を取得する説明情報取得ステップと、取得した説明情報を出力する説明情報出力ステップと、を有するプログラム学習提供方法である。
第六の発明として、前記構成に加えて、実在し実行可能なゲームプログラムのソースコードを示すスクリーンショット画像を実行ステップごとにこれを識別する実行ステップ識別情報と関連付けて保持するソースコードスクリーンショット画像保持プログラムと、前記実行ステップ識別情報と関連付けてその実行ステップの説明をするための説明情報を保持する説明情報保持プログラムと、ゲームプログラムが実行されたとした場合に学習をしたい実行場面を選択するための実行場面選択プログラムと、選択された実行場面に対応するソースコードスクリーンショット画像を出力するソースコードスクリーンショット画像出力プログラムと、出力されているソースコードスクリーンショット画像を用いて学習をしたい実行ステップのスクリーンショット画像の選択を受付ける実行ステップ選択受付プログラムと、選択が受付けられた場合に、その実行ステップのソースコードスクリーンショット画像の実行ステップ識別情報と関連付けられている説明情報を取得する説明情報取得プログラムと、取得した説明情報を出力する説明情報出力プログラムと、を有するプログラム学習プログラムである。
本発明のプログラム学習装置は、ゲームをプレイしているユーザが、プレイしているゲームの制作過程を体験できるということで、プログラム学習の動機付けとなるという優れた効果を奏し得る。
本発明のプログラム学習装置を用いた学習の様子の一例を示す図 本発明のプログラム学習装置のハードウェアの基本構成図 本発明の実施例であるプログラム学習アプリの操作の流れを示すフローチャート 本発明の実施例であるプログラム学習アプリのプログラム学習処理の流れを示すフローチャート 本発明の実施例であるプログラム学習アプリの辞書処理の流れを示すフローチャート 本発明の実施例であるプログラム学習アプリのクイズ処理の流れを示すフローチャート 本発明の実施例であるプログラム学習アプリの学習内容選択画面の一例を示す図 本発明の実施例であるプログラム学習アプリの実行場面確認画面の一例を示す図 本発明の実施例であるプログラム学習アプリの学習開始画面の一例を示す図 本発明の実施例であるプログラム学習アプリの学習画面の一例を示す図 本発明の実施例であるプログラム学習アプリの辞書画面の一例を示す図 本発明の実施例であるプログラム学習アプリの辞書説明画面の一例を示す図 本発明の実施例であるプログラム学習アプリのクイズ画面の一例を示す図 本発明の実施例であるプログラム学習アプリの解答画面の一例を示す図 本発明の実施例であるプログラム学習アプリの成績画面の一例を示す図 実施形態1のプログラム学習装置の機能の構成を示すブロック図 実施形態1のプログラム学習装置のハードウェア構成を示すブロック図 実施形態1のプログラム学習方法の処理の流れを示すフローチャート 実施形態2のプログラム学習装置の機能の構成を示すブロック図 実施形態2のプログラム学習装置のハードウェア構成を示すブロック図 実施形態2のプログラム学習方法の処理の流れを示すフローチャート 実施形態3のプログラム学習装置の機能の構成を示すブロック図 実施形態3のプログラム学習装置のハードウェア構成を示すブロック図 実施形態3のプログラム学習方法の処理の流れを示すフローチャート 実施形態4のプログラム学習装置の機能の構成を示すブロック図 実施形態4のプログラム学習装置のハードウェア構成を示すブロック図 実施形態4のプログラム学習方法の処理の流れを示すフローチャート
<本発明を構成し得るハードウェアについて>
本件発明は、原則的に電子計算機を利用する発明であるが、ソフトウェアによって実現され、ハードウェアによっても実現され、ソフトウェアとハードウェアの協働によっても実現される。本件発明の各構成要件の全部又は一部を実現するハードウェアでは、コンピュータの基本的構成であるCPU、メモリ、バス、入出力装置、各種周辺機器、ユーザーインタフェースなどによって構成される。各種周辺機器には、記憶装置、インターネット等インタフェース、インターネット等機器、ディスプレイ、キーボード、マウス、スピーカー、カメラ、ビデオ、テレビ、実験室又は工場などでの生産状態を把握するための各種センサ(流量センサ、温度センサ、重量センサ、液量センサ、赤外線センサ、出荷個数計数機、梱包個数計数機、異物検査装置、不良品計数機、放射線検査装置、表面状態検査装置、回路検査装置、人感センサー、作業者作業状況把握装置(映像、ID、PC作業量などで)等)、CD装置、DVD装置、ブルーレイ装置、USBメモリ、USBメモリインタフェース、着脱可能タイプのハードディスク、一般的なハードディスク、プロジェクタ装置、SSD、電話、ファックス、コピー機、印刷装置、ムービー編集装置、各種センサー装置などが含まれる。 また、本システムは、必ずしも一つの筐体によって構成されている必要はなく、複数の筐体を通信で結合して構成されるものであってもよい。また、通信は、LANであってもWAN、Wifi、ブルートゥース(登録商標)、赤外線通信、超音波通信であってもよく、さらに、一部が国境を跨いで設置されていてもよい。さらに、複数の筐体のそれぞれが異なる主体によって運営されていてもよく、一の主体によって運営されていてもよい。本件発明のシステムの運用主体は、単数であるか複数であるかは問わない。また、本システムの他に第三者の利用する端末、さらに他の第三者の利用する端末を含むシステムとしても発明を構成することができる。また、これらの端末は国境を越えて設置されていてもよい。さらに、本システムや前記端末の他に第三者の関連情報や、関連人物の登録のために利用される装置、登録の内容を記録するためのデータベースに利用される装置などが用意されてもよい。これらは、本システムに備えてもよいし、本システム外に備えてこれらの情報を利用可能に本システムを構成してもよい。(図2)
図2にあるように、計算機は、マザーボード上に構成される、チップセット、CPU、不揮発性メモリ、メインメモリ、各種バス、BIOS、USBやHDMI(登録商標)やLANなどの各種インタフェース、リアルタイムクロック等からなる。これらはオペレーティングシステムやデバイスドライバ(USB、HDMI(登録商標)などの各種インタフェース、カメラ、マイク、スピーカ又はヘッドホン、ディスプレイなどの各種機器組込み用)、各種プログラムなどと協働して動作する。本発明を構成する各種プログラムや各種データはこれらのハードウェア資源を効率的に利用して各種の処理を実行するように構成されている。
≪チップセット≫
「チップセット」は、計算機のマザーボードに実装され、CPUの外部バスと、メモリや周辺機器を接続する標準バスとの連絡機能、つまりブリッジ機能を集積した大規模集積回路(LSI)のセットである。2チップセット構成を採用する場合と、1チップセット構成を採用する場合とがある。CPUやメインメモリに近い側をノースブリッジ、遠い側で比較的低速な外部I/Oとのインタフェースの側にサウスブリッジが設けられる。
(ノースブリッジ)
ノースブリッジには、CPUインタフェース、メモリコントローラ、グラフィックインタフェースが含まれる。従来のノースブリッジの機能のほとんどをCPUに担わせてもよい。ノースブリッジは、メインメモリのメモリスロットとはメモリバスを介して接続し、グラフィックカードのグラフィックカードスロットとは、ハイスピードグラフィックバス(AGP、PCI Express)で接続される。
(サウスブリッジ)
サウスブリッジには、PCIインタフェース(PCIスロット)とはPCIバスを介して接続し、ATA(SATA)インタフェース、USBインタフェース、EthernetインタフェースなどとのI/O機能やサウンド機能を担う。高速な動作が必要でない、あるいは不可能であるようなPS/2ポート、フロッピーディスクドライブ、シリアルポート、パラレルポート、ISAバスをサポートする回路を組み込むことは、チップセット自体の高速化の足かせとなるためサウスブリッジのチップから分離させ、スーパーI/Oチップと呼ばれる別のLSIに担当させることとしてもよい。CPU(MPU)と、周辺機器や各種制御部を繋ぐためにバスが用いられる。バスはチップセットによって連結される。メインメモリとの接続に利用されるメモリバスは、高速化を図るために、これに代えてチャネル構造を採用してもよい。バスとしてはシリアルバスかパラレルバスを採用できる。パラレルバスは、シリアルバスが1ビットずつデータを転送するのに対して、元データそのものや元データから切り出した複数ビットをひとかたまりにして、同時に複数本の通信路で伝送する。クロック信号の専用線がデータ線と平行して設け、受信側でのデータ復調の同期を行う。CPU(チップセット)と外部デバイスをつなぐバスとしても用いられ、GPIB、IDE/(パラレル)ATA、SCSI、PCIなどがある。高速化に限界があるため、PCIの改良版PCI ExpressやパラレルATAの改良版シリアルATAでは、データラインはシリアルバスでもよい。
≪CPU≫
CPUはメインメモリ上にあるプログラムと呼ばれる命令列を順に読み込んで解釈・実行することで信号からなる情報を同じくメインメモリ上に出力する。CPUは計算機内での演算を行なう中心として機能する。なお、CPUは演算の中心となるCPUコア部分と、その周辺部分とから構成され、CPU内部にレジスタ、キャッシュメモリや、キャッシュメモリとCPUコアとを接続する内部バス、DMAコントローラ、タイマー、ノースブリッジとの接続バスとのインタフェースなどが含まれる。なお、CPUコアは一つのCPU(チップ)に複数備えられていてもよい。また、CPUに加えて、グラフィックインタフェース(GPU)若しくはFPUによって、処理を行っても良い。なお、実施形態での説明は2コアタイプのものであるが、これに限定されない。またCPU内にプログラムを内蔵することもできる。
≪不揮発性メモリ≫
(HDD)
ハードディスクドライブの基本構造は、磁気ディスク、磁気ヘッド、および磁気ヘッドを搭載するアームから構成される。外部インタフェースは、SATA(過去ではATA)を採用することができる。高機能なコントローラ、例えばSCSIを用いて、ハードディスクドライブ間の通信をサポートする。例えば、ファイルを別のハードディスクドライブにコピーする時、コントローラがセクタを読み取って別のハードディスクドライブに転送して書き込むといったことができる。この時ホストCPUのメモリにはアクセスしない。したがってCPUの負荷を増やさないで済む。
≪メインメモリ≫
CPUが直接アクセスしてメインメモリ上の各種プログラムを実行する。メインメモリは揮発性のメモリでDRAMが用いられる。メインメモリ上のプログラムはプログラムの起動命令を受けて不揮発性メモリからメインメモリ上に展開される。その後もプログラム内で各種実行命令や、実行手順に従ってCPUがプログラムを実行する。
≪オペレーティングシステム(OS)≫
オペレーティングシステムは計算機上の資源をアプリケーションに利用させるための管理をしたり、各種デバイスドライバを管理したり、ハードウェアである計算機自身を管理するために用いられる。小型の計算機ではオペレーティングシステムとしてファームウェアを用いることもある。
≪BIOS≫
BIOSは、計算機のハードウェアを立ち上げてオペレーティングシステムを稼働させるための手順をCPUに実行させるもので、最も典型的には計算機の起動命令を受けるとCPUが最初に読取りに行くハードウェアである。ここには、ディスク(不揮発性メモリ)に格納されているオペレーティングシステムのアドレスが記載されており、CPUに展開されたBIOSによってオペレーティングシステムが順次メインメモリに展開されて稼働状態となる。なお、BIOSは、バスに接続されている各種デバイスの有無をチェックするチェック機能をも有している。チェックの結果はメインメモリ上に保存され、適宜オペレーティングシステムによって利用可能な状態となる。なお、外部装置などをチェックするようにBIOSを構成してもよい。以上については、すべての実施形態でも同様である。
図に示すように、本発明は基本的に汎用計算機プログラム、各種デバイスで構成することが可能である。計算機の動作は基本的に不揮発性メモリに記録されているプログラムを主メモリにロードして、主メモリとCPUと各種デバイスとで処理を実行していく形態をとる。デバイスとの通信はバス線と繋がったインタフェースを介して行われる。インタフェースには、ディスプレイインタフェース、キーボード、通信バッファ等が考えられる。以下、本発明の実施の形態を図示例と共に説明する。
<本発明の自然法則の利用性の充足>
本発明は、コンピュータと通信設備とソフトウェアとの協働で機能するものである。従来、ライフイベントを目的として資産運用するには、運用者自身がライフイベントの目標金額、期間、未達許容度など様々な要素を考慮する必要があった。これをICTを介して支援したりするなど、ICTならではの処理が含まれているのでいわゆるビジネスモデル特許として成立するものである。本願発明はコンピュータなどのリソースを請求項や明細書に記載された事項と、それらの事項に関係する技術常識に基づいて判断すれば、本願発明は自然法則を利用したものであることとなる。
<特許法で求められる自然法則の利用の意義>
特許法で求められる自然法則の利用とは、法目的に基づいて、発明が産業上利用性を有し、産業の発達に寄与するものでなければならないとの観点から、産業上有用に利用することができる発明であることを担保するために求められるものである。つまり、産業上有用であること、すなわち出願に際して宣言した発明の効果がその発明の実施によってある一定の確実性の下再現できることを求めるものである。この観点から自然法則利用性とは、発明の効果を発揮するための発明の構成である発明特定事項(発明構成要件)のそれぞれが発揮する機能が自然法則を利用して発揮されるものであればよい、と解釈される。さらに言えば、発明の効果とはその発明を利用する顧客に所定の有用性を提供できる可能性があればよいのであって、その有用性を顧客がどのように感じたり、考えたりするかという観点で見るべきではない。したがって、顧客が本システムによって得る効果が心理的な効果であったとしても、その効果自体は求められる自然法則の利用性の対象外の事象である。
以下、本発明の実施の形態を添付図面を参照して説明する。
<実施形態1:(主に請求項1に対応)>
<実施形態1: 概要>
実施形態1のプログラム学習装置は、実際にアプリストアにリリースされているゲームアプリのソースコードを利用してプログラミングの学習をするプログラム学習装置である。特徴点は、学習するソースコードを学習者に選択さる際に、ゲームを実行した場合の実行画面を選択させて、これを起点として学習したいソースコードを選択するというその選択プロセスにある。
<実施形態1: 構成>
図13は、実施形態1のプログラム学習装置の機能の構成を示すブロック図である。
実施形態1のプログラム学習装置は、ソースコードスクリーンショット画像保持部1301と、説明情報保持部1302と、実行場面選択部1303と、ソースコードスクリーンショット画像出力部1304と、実行ステップ選択受付部1305と、説明情報取得部1306と、説明情報出力部1307と、を有する。
<実施形態1: 各部の関係>
ソースコードスクリーンショット画像保持部は、ゲームプログラムのソースコードのスクリーンショット画像を保持している。
実行場面選択部は、学習者からの実行場面の選択を受付て選択された実行場面を、ソースコードスクリーンショット画像出力部に通知する。
ソースコードスクリーンショット画像出力部は、通知された実行場面に対応するソースコードスクリーンショット画像を取得し、画面にソースコードスクリーンショット画像をソースコードとして表示する。
説明情報保持部は、説明情報を保持している。
実行ステップ選択受付部は、学習者により選択された実行ステップを認識し、説明情報取得部に、選択された実行ステップを通知する。
説明情報取得部は、表示されている複数のソースコードのスクリーンショットの内から選択された実行ステップに該当する説明情報を、説明情報保持部から取得し、説明情報出力部に出力する。
説明情報出力部は、取得した説明情報を画面に表示する。これによって学習者は、ゲーム実行場面で興味がある場面の学習をピンポイントですることができる。
<実施形態1:構成の説明 ソースコードスクリーンショット画像保持部>
「ソースコードスクリーンショット画像保持部」は、実在し実行可能なゲームプログラムのソースコードを示すスクリーンショット画像を実行ステップごとにこれを識別する実行ステップ識別情報と関連付けて保持する。
実在し実施可能なゲームプログラムとは、例えば、App Store(登録商標)や、Google Play(登録商標)などで提供されているゲームに分類されるアプリのプログラムである。
ソースコードスクリーンショット画像保持部は、前述したプログラムのスクリーンショット画像を実行ステップごとに保持し、そのスクリーンショット画像と実行ステップ識別情報を関連付けて不揮発性メモリに保持する。
これにより、表示されたプログラムの所望の実行ステップを、学習者が選択した場合に、選択されたスクリーンショット画像に関連付けられた実行ステップ識別情報により、選択した実行ステップを識別できるようになっている。
また、ソースコードスクリーンショット画像は、プログラムのソースコードとして正しく表示されるように、表示の順番が決まっている。このため、実行ステップ識別情報は、表示順に基づいてナンバリングされるようにしても良い。
<実施形態1:構成の説明 説明情報保持部>
「説明情報保持部」は、前記実行ステップ識別情報と関連付けてその実行ステップの説明をするための説明情報を保持する。
「説明情報」とは、実行ステップの説明であって、実際にゲーム内でどのような作用を奏しているかの説明で構成された情報である。従って、その実行ステップに記載されている命令の解説、引数がある場合はどのような値が設定されるか、戻り値がある場合は、どの様な値かなどを、実際のゲームプログラムでの状態を説明している。
説明情報は、テキストデータが考えられるが、バイナリーデータとして構成されても構わない。また、一般的なCSVファイルとして、1ファイル内に複数の説明情報を保持するようにしても良い。
以上の様な説明情報を、実行ステップ識別情報に対応して持っており、その説明情報を不揮発性メモリに保持している。
<実施形態1:構成の説明 実行場面選択部>
「実行場面選択部」は、ゲームプログラムが実行されたとした場合に学習をしたい実行場面を選択するための機能を有する。
「実行場面」とは、オープニング画面、タイトル画面、ゲーム実行中、スコア表示、ショップ画面など、ゲームの中で表示される場面ごとに分けられている。
これを製作順に従って、並べておくことが考えられる。また、学習者は、製作順に学んでいく必要は無く、学びたいところから学んでいくことができる。
通常はトップダウンで開発されるため、上位階層のプログラムから順に選択されるように構成することが考えられる。
実行場面は、静止画で保存されていてもよいし、動画で保存されていてもよい。この保存は、プログラム学習装置の内外に保存可能である。外部に保存されている場合にはインターネット等を介して本装置に取得するように構成することができる。また、実際にゲームプログラムの実行ファイルがプログラム学習装置内外に保持されていてその実行ファイルが実行されるように構成されてもよい。プログラム学習装置がインターネットを介してサーバと連携して実行されるような場合にはインターネットに接続されたサーバ上にゲームの実行ファイルが置かれており、これを視聴し、実行場面が選択可能に構成されていてもよい。静止画や動画で保存されている場合には、インデックスから大まかな実行場面を選択し、徐々に細かい実行場面の選択ができるように構成されていてもよい。また、動画である場合には画面の早送りが可能となっていてもよい。なお、静止画の場合、動画の場合、実行ファイルでの実行の場合いずれについても、ゲームのストーリー分岐に応じて選択できる実行場面が異なるように構成することもできる。実行ファイルを利用する場合には実際にゲームを利用者が行いながら実行場面を選択できるように構成することができる。実行場面選択部は、例えば実行場面をダブルクリックしたり、実行場面を選択するためのアイコンをクリックしたりするなどで選択できるように構成することができる。また、一瞬で切り替わる場面などを選択するために、場面の巻き戻しインタフェースが備えられていてもよい。場面の巻き戻しは、秒単位や0.1秒単位などでプルダウンメニューから選択できるように構成されていてもよい。
<実施形態1:構成の説明 ソースコードスクリーンショット画像出力部>
「ソースコードスクリーンショット画像出力部」は、選択された実行場面に対応するソースコードスクリーンショット画像を出力する。
ソースコードスクリーンショット画像は、プログラム学習アプリの画面に表示される。
プログラム学習装置の画面は、ソースコードスクリーンショット画像のみを表示するソースコード表示画面が実行場面を選択するための実行画面選択ウインドウ画面や、ソースコード表示画面上に又は隣接ウインドウ内に表示されているソースコードの説明のためのウインドウ画面である説明表示画面などと複数同時にディスプレイ上に表示されるように構成することもできる。ソースコード表示画面は、ソースコードスクリーンショット画像を表示する場合にのみ現れ、必要ないときは表示されないか、極小化されることが望ましい。
また、説明表示画面と並列に表示され、説明表示画面が選択された場合は、説明表示画面を大きくし、その分、ソースコード表示画面は、小さくなるように構成しても良い。ソースコードスクリーンショット画像出力部は、ソースコードスクリーンショット画像保持部に保持されている実行ステップごとのスクリーンショット画像から構成されていてもよいし、これとは別に複数の実行ステップ分のソースコードのスクリーンショットで構成されていてもよい。複数の実行ステップ分のスクリーンショットである場合にはカーソルやマウスなどの選択の際に、選択された実行ステップのスクリーンショット部分を識別できるように情報が埋めこまれるように構成する。複数の実行ステップ分のスクリーンショットである場合には、ゲームの全体の実行ステップが含まれるスクリーンショットであってもよい。
<実施形態1:構成の説明 実行ステップ選択受付部>
「実行ステップ選択受付部」は、出力されているソースコードスクリーンショット画像を用いて学習をしたい実行ステップのスクリーンショット画像の選択を受付ける。
実行ステップ選択受付部は、ソースコート表示画面と、ソースコード表示画面上の位置が指定できるように、例えばタッチパネルで構成することが考えられる。この他、マウスのポインタのようなものであっても良いし、視線や音声などを用いても良い。画面上の位置が指定できる手段であればすべて含まれる。
ソースコード表示画面に表示されたソースコードスクリーンショット画像を、例えば、ユーザが指でクリックすると、クリックされた位置に対応する実行ステップの実行ステップ識別情報を取得する。
具体的には、学習者が選択したソースコード表示画面上の座標を取得し、その座標に表示されているソースコードスクリーンショット画像に関連付けられている実行ステップ識別情報を取得する。
また、一の実行ステップを指定して、それに関連する実行ステップの表示を目立たせたり、関連する実行ステップの番号を表示したりするように構成し、クリック等の操作によって関連する実行ステップに表示をジャンプさせるように構成することもできる。また、このようにして関連する一連の実行ステップの全体を選択することが出来るように構成することもできるし、一連の実行ステップの一部であるが複数の実行ステップを同時に選択できるように構成することもできる。また、関連する実行ステップが、選択された実行場面と異なる、あるいは一部異なる(例えば背景は同じであるが、キャラクターの一部や、アイコン(例えば武器や食料、金銭、被服、家屋など)が異なるような場合。)場合には、その場面を選択された実行ステップから逆に表示させるように構成することもできる。
<実施形態1:構成の説明 説明情報取得部>
「説明情報取得部」は、実行ステップの選択が受付けられた場合に、その実行ステップのソースコードスクリーンショット画像の実行ステップ識別情報と関連付けられている説明情報を取得する。
説明情報取得部は、実行ステップ選択受付部で取得された実行ステップ識別情報に関連付けられた、説明情報を説明情報保持部から取得する。
説明情報ごとにデータが分かれている場合は、実行ステップ識別情報とデータ名称および所在を対応付けたリストファイルなどを保持し、そのリストファイルから、取得した実行ステップ識別情報に基づいて検索し、データ名および所在を取得する。
また、CSVファイルなど一つのファイルに、実行ステップ識別情報に対応付けて、すべての説明情報が格納されている場合、実行ステップ識別情報でファイルを検索し、対応する説明情報を取得するようにする。
<実施形態1:構成の説明 説明情報出力部>
「説明情報出力部」は、取得した説明情報を出力する。
説明情報出力部は、説明情報取得部で取得した説明情報を説明表示画面に表示する構成である。
説明表示画面は、ソースコード表示画面と並列に、例えば近接する別ウインドウで表示されることが望ましい。
例えば次の実行ステップの選択のためにソースコード表示画面が選択(マウスポインタで画面がクリックされて画面がアクティブになった状態)された場合には、説明表示画面は、極小化するかまたは消去しても良い。説明情報の出力はテキスト、画像、音声、動画など各種の形式で出力することができる。利用者に出力の形式を選択させるように構成することもできる。また出力は、プログラム学習装置のマンマシンインタフェースのみでの出力でなく、ファイル形式として外部に出力可能に構成することもできる。例えば所定の編集アプリケーションのファイル形式に変換して出力するように構成することもできる。所定の編集アプリケーションとは、ワードプロセッサアプリケーションや、表計算アプリケーション、動画編集アプリケーション、図形編集アプリケーションなどである。出力インタフェースは、無線でも有線でもよく、インターネット経由でも近距離無線でも、USBなどへの出力でもよい。また外部出力する際には、関連する実行ステップのソースコードスクリーンショット画像や、起因となったゲームの実行場面が同時に出力されるように構成してもよい。このような形式で出力させることによって利用者は自分に適した学習素材を保持することができ、特に学習したい部分には自身で追加の情報などを追記することでより学習を促進する効果が得られる。
<実施形態1:その他の構成>
実施形態1のプログラム学習装置は、ソースコードのスクリーンショット保持部の他にこのスクリーンショットに対応する実際のソースコードを保持するソースコード保持部を有していてもよい。そして、本装置にてそのソースコートを実行できるための実行環境を保有するように構成してもよい。従ってこの場合には実際にゲームを本装置内にて実行可能であり、このゲームプログラムの実際の実行に応じて実行場面の選択が可能なように構成することもできる。これを実行中実行場面選択部に担わせてもよい。さらに、このソースコードは、編集可能なように構成してもよく、編集後のソースコードを実際に実行ファイルに変換する変換部を備えて編集後のソースコードに係るゲームプログラムを実行可能なように構成することもできる。なお、著作権等の問題に対処するために編集後のソースコードは外部出力ができないように構成することが好ましい。
編集後ソースコード保持部を備えて、ここに外部出力ができないような機能を持たせることが好ましい。
<実施形態1:ハードウェア構成>
以上が実施形態1の構成であるが、これをプログラムもしくは制御方法として実現する場合も本発明の範囲内である。
図14は、実施形態1のプログラム学習装置のハードウェア構成を示すブロック図である。実施形態1のプログラム学習装置は、CPU1410と、メインメモリ1420と、不揮発性メモリ1430と、ブリッジ1440と、ブートプログラム1450と、GPU(Graphics Processing Unit)とで構成されている。
CPUは、メインメモリからプログラムを読み出し、実行することで各種機能を実現する。メインメモリは、CPUから高速アクセス可能な揮発性メモリであり、不揮発性メモリからプログラムやデータをロードし、CPUにより読み出される。また、CPUのワーキングメモリとしても利用される。不揮発性メモリは、例えば、フラッシュメモリでありプログラムや、電源を切っても保持しておくべきデータを記録する。ブートプログラムは、ハードウェアが電源起動時に実行されるプログラムである。GPUは、画面の表示を制御する。
さらに、不揮発名メモリに、ソースコードスクリーンショット画像保持プログラム14311と、説明情報保持プログラム14312と、実行場面選択プログラム14313と、ソースコードスクリーンショット画像出力プログラム14314と、実行ステップ選択受付プログラム14315と、説明情報取得プログラム14316と、説明情報出力プログラム14317と、を有する。
<実施形態1:方法>
図15は、実施形態1のプログラム学習方法の処理の流れを示すフローチャートである。実施形態1のプログラム学習方法は、ソースコードスクリーンショット画像保持ステップS1501と、説明情報保持ステップ1502と、実行場面選択ステップS1503と、ソースコードスクリーンショット画像出力ステップS1504と、実行ステップ選択受付ステップS1505と、説明情報取得ステップ1506と、説明情報出力ステップS1507と、S1510とを有する。
<実施形態1:処理の流れ>
ソースコードスクリーンショット画像保持ステップは、ソースコードを示すスクリーンショット画像に、画像の位置から実行ステップを識別する実行ステップ識別情報を関連付けて、不揮発性メモリに保持する。本処理は、一度行われればよく、二度目以降の本ステップは実行しなくても良い。
説明情報保持ステップは、実行ステップ識別情報と説明情報を関連付けて不揮発性メモリに保持する。本処理も同様に一度行われればよく、二度目以降の本ステップは実行しなくても良い。
実行場面保持ステップは、実行場面選択ステップで実行場面の選択の際に、実行場面を判別し易いように表示するためのゲームの実行場面画像を不揮発性メモリに保持する。本処理も同様に一度行われればよく、二度目以降の本ステップは実行しなくても良い。
次に、実行場面選択ステップは、学習者に学習したい実行場面を選択させる。
ソースコートスクリーンショット画像出力部は、学習者により選択された実行場面に該当するソースコードスクリーンショット画像を出力して画面に表示する。
次に、実行ステップ選択受付ステップは、学習者により選択された実行ステップ実行ステップ識別番号を取得する。
次に、説明情報取得ステップは、実行ステップ選択受付ステップにより取得された実行ステップ識別情報に関連付けられた説明情報を取得する。
次に、説明情報出力ステップは、説明情報取得ステップにより取得された説明情報を出力し画面に表示する。
次の判定S1508で、学習者により次の実行ステップが選択された場合は(S1508で「Y」を選択)実行ステップ選択受付ステップに戻って再度処理する。
次の実行ステップが選択されなかった場合は(S1508で「N」を選択)、終了かを判定する。S1509
終了でない場合は(S1509で「N」を選択)の場合は、実行場面選択ステップに戻って再度処理する。
終了の場合は(S1509で「Y」を選択)、プログラム学習処理を終了する。
以上が、実施形態1のプログラム学習方法の処理の流れである。
<実施形態1:効果>
実施形態1のプログラム学習装置によれば、実際にリリースされてプレイ可能なゲームのプログラム製作過程を疑似的に体験でき、プログラムの内容の説明を確認できるので、プログラムを学習したいという動機付けになる。
さらに、プログラムの実行ステップごとの説明を簡単に確認できるようにすることで、プログラムの学習が効率的にできるといった優れた効果を奏する。
<実施形態2:(請求項2に対応)>
<実施形態2: 概要>
実施形態2のプログラム学習装置は、プログラム学習の前提となる、ゲームプログラム開発環境の準備に係る情報を表示する。準備とはここでは、ゲームプログラム開発ソフトウェアのダウンロード、インストール、使用するための環境設定等が該当する。
<実施形態2: 構成>
図16は、実施形態2のプログラム学習装置の機能の構成を示すブロック図である。
実施形態2のプログラム学習装置は、実施形態1の構成に加えて、端末環境準備説明保持部1607と、端末環境準備説明出力部1608と、をさらに有する。
以降、各部の構成を説明するが、実施形態1と重複構成の説明は省略し、異なる構成に関してのみ説明する。
<実施形態2: 各部の関係>
端末環境準備説明保持部は、端末環境準備説明を保持する。端末環境準備説明出力部は、端末環境準備説明出を、端末環境準備説明保持部から取得し端末環境準備説明を出力する。
<実施形態2:構成の説明 端末環境準備説明保持部>
「端末環境準備説明保持部」は、学習したプログラムを記述するための端末環境の準備についての説明である端末環境準備説明を保持する。
端末環境の準備とは、ゲームプログラムの開発をするための端末(ここでは、PCが該当する)に、ゲームプログラム開発ソフト(例えば、「Unity」:登録商標)をダウンロードして、インストールし、使用可能な状態に環境設定することである。
環境設定とは、例えば、ゲームプログラムの開発に使用するライブラリを入手し使用できる状態に設定することなどが該当する。
「端末環境準備説明」は、以上を行うための説明であるテキスト情報およびスクリーンショット画像などである。
以上のデータを不揮発性メモリに保持する。
<実施形態2:構成の説明 端末環境準備説明出力部>
「端末環境準備説明出力部」は、保持されている端末環境準備説明を出力する。
端末環境準備説明出力部は、端末環境準備説明保持部に保持された端末準備説明を、スマートフォンの画面に表示する。表示は、あらかじめ指定された順で行い、例えば、学習者により「次へボタン」が押された場合に次の情報に切り替える。
また、「戻るボタン」を構成して、「戻るボタン」が押された場合には、前の情報に切り替えるようにすることが望ましい。
端末環境準備説明出力部は、その構成として、拡大表示手段を有しても良い。
「拡大表示手段」は、学習者により指定された位置を拡大表示する。
これにより、端末環境準備説明のスクリーンショット画像に小さくて見づらい部分がある場合に、学習者は確認したい位置を指定して、拡大画像で確認することができる。
<実施形態2:ハードウェア構成>
以上が実施形態2の構成であるが、これをプログラムもしくは制御方法として実現する場合も本発明の範囲内である。
図17は、実施形態2のプログラム学習装置のハードウェア構成を示すブロック図である。
実施形態2のプログラム学習装置は、実施形態1の構成に加えて、不揮発性メモリ内に、端末環境準備説明保持プログラム17318と、端末環境準備説明出力プログラム17319と、をさらに有する。
<実施形態2:方法>
図18は、実施形態2のプログラム学習方法の処理の流れを示すフローチャートである。実施形態2のプログラム学習方法は、実施形態1の構成に加えて、端末環境準備説明保持ステップS1810と、端末環境準備説明出力ステップS1811と、をさらに有する。
実施形態1と重複するステップの説明は省略し、異なるステップに関してのみ説明する。
端末環境準備説明保持ステップは、端末環境準備説明を不揮発性メモリに保持する。
実行場面選択ステップで、端末環境準備説明が選択されたかを確認しS1812、端末環境準備説明が選択された場合は(S1812で「Y」を選択)、端末環境準備説明出力ステップに移行する。
実行場面選択ステップで、端末環境準備説明が選択されなかった場合は(S1812で「N」を選択)、ソースコードスクリーンショット画像出力ステップに移行し、その後の処理を継続する。
<実施形態2:効果>
実施形態2のプログラム学習装置によれば、ゲームプログラム開発のための環境の準備を効率的に行うことができる。
<実施形態3:(請求項3に対応)>
<実施形態3: 概要>
実施形態3のプログラム学習装置は、辞書機能を有して、プログラミングに関わり憶えておくべき用語等の説明を確認することができる。
<実施形態3: 構成>
図19は、実施形態3のプログラム学習装置の機能の構成を示すブロック図である。
実施形態3のプログラム学習装置は、実施形態1または実施形態2の構成に加えて、辞書情報保持部1907と、辞書情報出力部1908と、をさらに有する。
以降、各部の構成を説明するが、実施形態1または実施形態と重複構成の説明は省略し、異なる構成に関してのみ説明する。
辞書情報保持部に保持された辞書情報から、学習者が選択したプログラムに係る用語に対応する辞書情報を取得し画面に出力する。
<実施形態3:構成の説明 辞書情報保持部>
「辞書情報保持部」は、さらに前記ゲームプログラムのソースコードを学習するための辞書情報を保持する。
「辞書情報」は、プログラムに係る用語と、その用語に対する説明である。
辞書情報保持部は、プログラムに係る用語と、その用語に対する説明を関連付けて、不揮発性メモリに保持する。
プログラムに係る用語とは、例えば、命令、変数、クラス、オブジェクト、関数、分岐、ループ、比較演算子、算出演算子、論理演算子など、その他にも多数ある。
以上の用語に識別変数を付与し、それに関連付けて説明のテキスト情報で保持するように構成することが考えられる。
また、一つのファイルとして構成することも考えられる。
例えば、CSVファイルのような形式で、用語を検索キーとして、説明情報を保持するようにしても良い。
<実施形態3:構成の説明 辞書情報出力部>
「辞書情報出力部」は、保持されている辞書情報を出力する。
辞書情報をアプリの画面に表示する。
例えば、プログラムに係る用語を付したボタンを画面上に配置して表示することが考えられる。ボタンが押された場合は、説明表示画面を開き、ボタンに表示された用語に対応した説明を、説明表示画面に表示するようにする。
また、ソースコードスクリーンショット画像出力部にて画像出力されているソースコードスクリーンショットで用いられている命令、変数、クラス、オブジェクト、関数、分岐、ループ、比較演算子、算出演算子、論理演算子など、のうち、辞書情報を持っている部分については、辞書情報が存在する旨の形態で表示するように構成してもよい。そして、その辞書情報を持っている部分を選択することで辞書情報が取得され出力されるように構成することができる。出力の形式に関しては、実施形態1の説明情報出力部の説明にて示したものと同様に構成することができる。また辞書情報は相互に関連しあう項目についてリンクさせて、関連情報として選択可能に表示し、これが利用者に選択されることによってその選択された辞書情報が出力されるように構成することができる。
<実施形態3:ハードウェア構成>
以上が実施形態3の構成であるが、これをプログラムもしくは制御方法として実現する場合も本発明の範囲内である。
図20は、実施形態3のプログラム学習装置のハードウェア構成を示すブロック図である。実施形態3のプログラム学習装置は、実施形態1または実施形態2の構成に加えて、辞書情報保持プログラムと、辞書情報出力プログラムと、をさらに有する。
<実施形態3:方法>
図21は、実施形態3のプログラム学習方法の処理の流れを示すフローチャートである。実施形態3のプログラム学習方法は、実施形態1または実施形態2の構成に加えて、辞書情報保持ステップS2110と、辞書情報出力ステップS2111と、辞書選択判定S2112と、をさらに有する。
実施形態1または実施形態2と重複するステップの説明は省略し、異なるステップに関してのみ説明する。
辞書情報保持ステップでは、プログラムに係る用語の説明である辞書情報を不揮発性メモリに保持する。本処理は、最初に1回行われれば良く、二回目以降は実行しない。
実行場面選択ステップで辞書が選択された場合(S2112で「Y」を選択)、辞書情報出力ステップに移行する。辞書が選択されなかった場合S2112で「N」を選択)は、ソースコードスクリーンショット画像出力ステップに移行し処理を行う。
辞書情報出力ステップは、学習者が選択した用語の説明である辞書情報を取得し画面に表示する。
<実施形態3:効果>
以上説明したように、実施形態3のプログラム学習装置では、プログラムの学習を行うとともに、必要に応じてプログラム用語の説明を読むことができるので、効率的にプログラムの学習が行える。
<実施形態4:(請求項4に対応)>
<実施形態4: 概要>
実施形態4のプログラム学習装置は、クイズ機能を有し、プログラムに係るクイズを行うことができる。
<実施形態4: 構成>
実施形態4のプログラム学習装置は、実施形態1から実施形態3のいずれか一の構成に加えて、クイズ情報保持部2207と、クイズ情報出力部2208と、をさらに有する。
以降、各部の構成を説明するが、実施形態1から実施形態3と重複構成の説明は省略し、異なる構成に関してのみ説明する。
クイズ情報保持部は、クイズ情報を保持し、クイズ情報出力部は、クイズ情報保持部に保持されたクイズ情報のうち任意の一つを選択し、画面に出力する。
<実施形態4:構成の説明 クイズ情報保持部>
「クイズ情報保持部」は、さらに前記ゲームプログラムのソースコードを学習するためのクイズ情報を保持する。
「クイズ情報」は、問題と、解答と、を有する情報であり、解説を含んでいても良い。
問題は、選択式の場合、選択枠すべてを含む情報であることが考えられる。
クイズ情報保持部は、問題と、解答とを関連付けて不揮発性メモリに保持する。
解説を含む場合は、解説も関連付けて保持する。
<実施形態4:構成の説明 クイズ情報出力部>
「クイズ情報出力部」は、保持されているクイズ情報を出力する。
クイズ情報出力部は、クイズ情報保持部に保持されているクイズ情報のうち、任意の一つのクイズ情報を選択し、アプリの画面に表示する。
クイズ情報の選択は、例えば、ランダムに選択することが考えられる。
この他、直前に学習した内容に関連するクイズを選択するように構成することも考えられる。また、過去の解答結果を保持しておき、過去に直近の出題で間違えたクイズを優先的に出力するようにしても良い。毎回同じクイズが選択されることが無いように構成されていれば良い。
クイズ出力部は、出力するクイズの数をあらかじめ決めておいて、学習者が解答するごとに、次の問題を出題し、すべて出題されたら終了することが考えられる。
また、解答結果を保持し、クイズの最後に正解率などの結果を表示するが望ましい。
<実施形態4:ハードウェア構成>
以上が実施形態4の構成であるが、これをプログラムもしくは制御方法として実現する場合も本発明の範囲内である。
図23は、実施形態4のプログラム学習装置のハードウェア構成を示すブロック図である。実施形態4のプログラム学習装置は、実施形態1から実施形態3のいずれか一の構成に加えて、クイズ情報保持プログラム23318と、クイズ情報出力プログラム23319と、をさらに有する。
<実施形態4:方法>
実施形態4のプログラム学習方法は、実施形態1から実施形態3のいずれか一の構成に加えて、クイズ情報保持ステップ23318と、クイズ情報出力ステップ23319と、をさらに有する。
図23は、実施形態4のプログラム学習方法の処理の流れを示すフローチャートである。実施形態1から実施形態3と重複するステップの説明は省略し、異なるステップに関してのみ説明する。
クイズ情報保持ステップは、プログラムに係る問題と、その解答を関連付けたクイズ情報を、不揮発性メモリに保持する。本処理は、最初に一度行えばよく、二回目以降は実行しなくても良い。ただし、クイズ情報は定期的に更新しても良い。この場合、更新時にクイズ情報保持ステップを行う。
実行場面選択ステップで、クイズが選択された場合(S2412で「Y」を選択)、クイズ情報出力ステップに移行する。実行場面選択ステップで、クイズが選択されなかった場合(S2412で「N」を選択)、ソースコードスクリーンショット画像出力ステップに移行し処理する。
クイズ情報出力ステップは、クイズ情報保持ステップで保持されたクイズ情報のうち任意の一つを取得し画面に出力する。学習者が解答した場合は、解答を表示する。
クイズを所定回数行ったら、結果を画面に表示し、次の処理に移行する。
<実施形態4:効果>
以上説明したように、実施形態4のプログラム学習装置によれば、クイズによりプログラム学習した内容が習得されているかを確認することができる。
<実施例:プログラム学習装置 概要>
図1は、本発明のプログラム学習装置を使用して学習を行っている様子を示している。
タブレット端末0101は、本発明のプログラム学習装置となる情報端末で、プログラム学習アプリとして提供されるアプリをダウンロードしインストールされている。
PC(Personal Computer)0102は、学習する対象となるプログラムの開発環境がインストールされている。ここでのプログラム開発とは、例えば、ゲームプログラムを作成に特化した開発環境であるUnity(登録商標)などが考えられる。
学習者は、タブレット端末などで構成されるプログラム学習装置の表示を見ながら、学習し、PCでゲームプログラムの製作過程を疑似体験するものである。
<実施例:操作の流れ>
次に、本発明のプログラム学習装置の具体的な実施例を説明する。
図3Aから図3Dは、本発明のプログラム学習装置の操作の流れを示すフローチャートである。
図4から図12は、本発明のプログラム学習装置を、アプリとして構成した場合の画面を示している。
適宜、図を引用して説明する。
図3Aは、プログラム学習アプリ全体の制御フローを示す図である。
先ずアプリを起動すると、選択画面表示S0310が実行され、学習内容を選択する画面を表示する。
<実施例:操作の流れ 学習内容選択画面>
図4は、学習内容を選択する画面として表示される選択画面の一例である。
ここでは、魔導書選択0401と、学習内容選択0402と、があり、学習選択は、ゲームプログラムの製作工程を以下5つのステップに分けている。
STEP0:ゲーム開発エンジンUnity(登録商標)の準備をしよう!
STEP1:RootSceneのプログラムの作成と構築をしよう!
STEP2:便利なプログラムを作成しよう!
STEP3:TitleSceneのプログラムを作成しよう!
STEP4:GameSceneのプログラム作成と構築をしよう!
<実施例:学習内容 STEP0>
今回学習に使用する実在し実行可能なプログラムは、ゲーム開発エンジンとして知られているUnityを使用している。従って、Unityが使用できる環境を整える必要があるが、その手順を示している。
学習者は、STEP0の学習内容で表示される指示に従って、プログラムのダウンロード、インストール、環境設定などを行う。
<実施例:学習内容 STEP1>
RootSceneとは、ゲームで最初に表示される基本となるシーンである。
ゲームプログラムは、このシーンと呼ばれる画面を切り替えることで進行して行くことになる。
ここでは、基本となるRootSceneのプログラミングを学習することになる。
<実施例:学習内容 STEP2>
STEP2は、便利なプログラムと称しているが、ここでは、ゲーム全体のシーンで共通して使用されるクラスを作成することになる。
例えば、ゲームプレイヤーの各種ステータスや、報酬データ、ランキングデータなど一括で管理できるクラスなどが考えられる。
<実施例:学習内容 STEP3>
TitleSceneとは、ゲームが始まる前に、ゲームのタイトルが表示されるシーンである。図5に表示されているシーン画面0501が該当する。
このTitleSceneのプログラムの内容を学習する。
<実施例:学習内容 STEP4>
GameSceneとは、ゲームプレイ中のシーンである。
ここでは、ゲームプレイ中のプログラムについて学習する。
以上のような学習内容から、学習者により、学習内容または魔導書のいずれかが選択された場合は、次の処理に行き、魔導書が選択されたかを判定する。S0310
魔導書が選択されていない場合(S0301で「N」を選択)は、プログラム学習処理S0330に移行する。魔導書が選択された場合(S0301で「Y」を選択)については後で説明する。
プログラム学習処理S330では、選択されたシーンに応じたプログラムの学習が行われる。
<実施例:操作の流れ プログラム学習処理>
以降は、学習内容選択0402でSTEP3の「TitleSceneのプログラム作成と構築をしよう!」を選択した場合を例に説明する。
図3Bは、プログラム学習アプリのプログラム学習処理の流れを示すフローチャートである。
学習内容が選択されると、実行場面確認S0331により実行場面確認画面が表示される。
<実施例:操作の流れ プログラム学習処理 実行場面確認画面>
図5は、実行場面確認画面の一例である。
実行場面確認画面は、シーン画面0501と、学習内容表示0502と、戻るボタン0503で構成されている。
STEP3が選択されたので、シーン画面にはタイトル画面が表示されている。
学習内容表示には、「TitleSceneに使うプログラムを作ろう」という具合に、学習内容が表示されている。
戻るボタンを押すと、図4の学習内容選択画面に戻る。
<実施例:操作の流れ プログラム学習処理 学習開始画面>
図5の、実行場面確認画面で、シーン画面に触れると、表示が図6に変化する。
図6は、学習開始画面で、図5の実行場面確認画面の学習内容表示が、学習開始ボタン0602に切り替わっている。「見る」を押すと学習が開始されるが、「見ない」を押すと、学習内容選択画面に戻る。「完了」を押すと学習したことがアプリ内に記録される。
<実施例:操作の流れ プログラム学習処理 学習画面>
学習が開始されると、ソースコードスクリーンショット画像選択S0332により、学習内容に対応した、ソースコードスクリーンショット画像が選択され学習画面になる。
図7は、学習画面の一例である。
学習画面は、ソースコード表示画面0701と、解説表示画面0702と、戻るボタン0703で構成されている。
ソースコード表示画面には、TitleSceneの実際のソースコードのキャプチャ画像が表示される。
そして、実行ステップ選択取得S0333により、ソースコード画面の任意の行をクリックするなどの方法で選択すると、選択された行が認識され、文字が明転し選択したことが視認できるようにする。
そして、説明表示S0334により、選択された行で何が行われているかの解説が、解説表示画面に表示する。
学習者は、このようにして、各行のソースコードを、別のUnityをセットアップしたパソコンに入力して行くとともに、不明な行に対しては解説を読むようにすることで、ゲームプログラム内でどのような処理が行われているのかを確認することができる。
<実施例:操作の流れ 学習内容選択画面 魔導書>
次に、図4の学習内容選択画面で、魔導書ボタン0401が押された場合の処理について説明する。
「魔導書」は本アプリでは辞書を意味している。プログラムを魔法として、プログラムの各要素について説明しているため、親しみやすいように魔導書としている。
魔導書が選択されると、辞書画面表示S0320により辞書画面が表示される。
<実施例:操作の流れ 辞書処理 辞書画面>
図8は、辞書画面の一例を示す図である。
辞書画面0801は、用語ボタン0802と、戻るボタン0803と、スクロールボタン0804と、クイズボタン0805で構成されている。
用語ボタンを押すと、ボタン上に記された内容の説明画面が開く。
スクロールボタンは、「前へ」と「次へ」の二つがあり、押すと押されたボタンが配置された方向に辞書画面がスクロールし、別の用語ボタンが現れる。
クイズボタンを押すとクイズ画面に移行する。クイズ画面の詳細は後で説明する。
辞書画面のいずれかボタンが押されると、クイズ選択の判定を行いS0302、クイズが選択されなかった場合は(S0302で「N」を選択)、辞書処理S0340に移行する。クイズが選択された場合は(S0302で「Y」を選択)、クイズ処理S0350に移行する。
<実施例:操作の流れ 辞書処理 辞書説明画面>
図3Cは辞書処理の流れを示すフローチャートである。
先ず、説明表示で選択された用語の説明を表示する。
図9は、辞書説明画面の一例を示す図である。
辞書説明画面は、説明画面0901と、スクロールボタン0902と、戻るボタン0903と、閉じるボタン0904で構成されている。
図の例は、図8の辞書画面で、用語ボタンの「クラス」が押された場合に表示される画面である。
1画面に説明が収まらない場合は、スクロールボタンを押して画面をスクロールさせる。スクロールボタンは、「前へ」と「次へ」で構成され「次へ」が押されると、説明が進むようにスクロールし、「前へ」が押されると、説明が戻るようにスクロールする。
閉じるボタンは、辞書説明画面を終了させる。
辞書説明表示画面が閉じられると、終了かを判定する。S0342
ここで、終了とは、辞書画面において、戻るボタンが押されることを意味する。
終了が選択された場合(S0342で「Y」を選択)辞書画面から学習選択画面に移行する。終了が選択されなかった場合(S0342で「N」を選択)、用語選択S0343により押された用語ボタンに該当する用語を選択し、説明表示S0341に戻る。
<実施例:操作の流れ クイズ処理>
図8の辞書画面のクイズボタン0805が押された場合、クイズ処理S0350に移行する。
図3Dは、クイズ処理の流れを示すフローチャートである。
クイズ処理では、先ず、クイズ表示S0351でクイズを表示する。この時、クイズは、多数保持されているクイズ問題情報の中からランダムに一つのクイズを選択し表示する。
<実施例:操作の流れ クイズ処理 クイズ画面>
図10は、クイズ表示により表示されるクイズ画面の一例を示す図である。
クイズ画面は、問題表示部1001と、解答選択1002で構成されている。
学習者は、問題表示部に表示された問題の答えを、解答選択から正解と思われる解答の位置をクリックするなどして選択する。
<実施例:操作の流れ クイズ処理 解答画面>
学習者が解答選択から解答を選択すると、解答取得S0352で解答内容を取得する。
これは、学習者が選択した画面上の位置から、解答選択のうちのどの解答が選択されたかを判断し取得する。
解答を取得したら、解答結果表示で解答画面を表示する。
図11は、解答画面の一例を示す図である。解答画面は、解答表示1101と、次へボタン1102で構成されている。
解答表示には、学習者からの解答と正解を表示し、併せて解説を表示するようにしても良い。次へボタンを押すと終了するかを判定する。S0354
次の問題がある場合には(S0354で「N」を選択)、クイズ表示に戻って再度クイズを行うが、最終問題だった場合には(S0354で「N」を選択)、成績表示S0355に移行する。
<実施例:操作の流れ クイズ処理 成績画面>
成績表示S0355では、すべての問題の解答結果である成績画面を表示する。
図12は、成績画面の一例を示す図である。
成績画面は、正解数表示1201と、もう一度ボタン1201と、戻るボタン1203で構成される。
正解数表示は、出題数と正解数を表示する。もう一度ボタンを押すと再度クイズが行われ、戻るボタンを押すとクイズを終了する。
終了判断S0356では、もう一度ボタンが押された場合は、「N」が選択され、クイズ表示に戻って再度クイズ処理を行う。
戻るボタンが押された場合は、終了判断S0356で「Y」が選択され、クイズ処理を終了する。
以上が、本発明のプログラム学習装置をスマートフォンのアプリとして構成した場合の実施例となる。これにより、学習者は、スマートフォンで手軽にかつ、どこででもプログラムの学習を行うことができる。
0101 プログラム学習装置
0102 PC
0210 CPU
0220 メインメモリ
0230 不揮発性メモリ
0240 ブリッジ
0250 ブートプログラム
0206 GPU
1301 ソースコードスクリーンショット画像保持部
1302 説明情報保持部
1303 実行場面選択部
1304 ソースコードスクリーンショット画像出力部
1305 実行ステップ選択受付部
1306 説明情報取得部
1307 説明情報出力部

Claims (6)

  1. 実在し実行可能なゲームプログラムのソースコードを示すスクリーンショット画像を実行ステップごとにこれを識別する実行ステップ識別情報と関連付けて保持するソースコードスクリーンショット画像保持部と、
    前記実行ステップ識別情報と関連付けてその実行ステップの説明をするための説明情報を保持する説明情報保持部と、
    ゲームプログラムが実行されたとした場合に学習をしたい実行場面を選択するための実行場面選択部と、
    選択された実行場面に対応するソースコードスクリーンショット画像を出力するソースコードスクリーンショット画像出力部と、
    出力されているソースコードスクリーンショット画像を用いて学習をしたい実行ステップのスクリーンショット画像の選択を受付ける実行ステップ選択受付部と、
    選択が受付けられた場合に、その実行ステップのソースコードスクリーンショット画像の実行ステップ識別情報と関連付けられている説明情報を取得する説明情報取得部と、
    取得した説明情報を出力する説明情報出力部と、
    を有するプログラム学習装置。
  2. さらに、学習したプログラムを記述するための端末環境の準備についての説明である端末環境準備説明を保持する端末環境準備説明保持部と、
    保持されている端末環境準備説明を出力する端末環境準備説明出力部と、
    をさらに有する請求項1に記載のプログラム学習装置。
  3. さらに前記ゲームプログラムのソースコードを学習するための辞書情報を保持する辞書情報保持部と、
    保持されている辞書情報を出力する辞書情報出力部と、を有する請求項1又は請求項2に記載のプログラム学習装置。
  4. さらに前記ゲームプログラムのソースコードを学習するためのクイズ情報を保持するクイズ情報保持部と、
    保持されているクイズ情報を出力するクイズ情報出力部と、を有する請求項1または請求項2のいずれか一に記載のプログラム学習装置。
  5. 実在し実行可能なゲームプログラムのソースコードを示すスクリーンショット画像を実行ステップごとにこれを識別する実行ステップ識別情報と関連付けて保持するソースコードスクリーンショット画像保持ステップと、
    前記実行ステップ識別情報と関連付けてその実行ステップの説明をするための説明情報を保持する説明情報保持ステップと、
    ゲームプログラムが実行されたとした場合に学習をしたい実行場面を選択するための実行場面選択ステップと、
    選択された実行場面に対応するソースコードスクリーンショット画像を出力するソースコードスクリーンショット画像出力ステップと、
    出力されているソースコードスクリーンショット画像を用いて学習をしたい実行ステップのスクリーンショット画像の選択を受付ける実行ステップ選択受付ステップと、
    選択が受付けられた場合に、その実行ステップのソースコードスクリーンショット画像の実行ステップ識別情報と関連付けられている説明情報を取得する説明情報取得ステップと、
    取得した説明情報を出力する説明情報出力ステップと、
    を有する計算機であるプログラム学習装置の制御方法


  6. 実在し実行可能なゲームプログラムのソースコードを示すスクリーンショット画像を実行ステップごとにこれを識別する実行ステップ識別情報と関連付けて保持するソースコードスクリーンショット画像保持プログラムと、
    前記実行ステップ識別情報と関連付けてその実行ステップの説明をするための説明情報を保持する説明情報保持プログラムと、
    ゲームプログラムが実行されたとした場合に学習をしたい実行場面を選択するための実行場面選択プログラムと、
    選択された実行場面に対応するソースコードスクリーンショット画像を出力するソースコードスクリーンショット画像出力プログラムと、
    出力されているソースコードスクリーンショット画像を用いて学習をしたい実行ステップのスクリーンショット画像の選択を受付ける実行ステップ選択受付プログラムと、
    選択が受付けられた場合に、その実行ステップのソースコードスクリーンショット画像の実行ステップ識別情報と関連付けられている説明情報を取得する説明情報取得プログラムと、
    取得した説明情報を出力する説明情報出力プログラムと、
    を有するプログラム学習プログラム。
JP2022068761A 2022-04-19 2022-04-19 プログラム学習装置 Active JP7176806B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022068761A JP7176806B1 (ja) 2022-04-19 2022-04-19 プログラム学習装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022068761A JP7176806B1 (ja) 2022-04-19 2022-04-19 プログラム学習装置

Publications (2)

Publication Number Publication Date
JP7176806B1 true JP7176806B1 (ja) 2022-11-22
JP2023158779A JP2023158779A (ja) 2023-10-31

Family

ID=84144793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022068761A Active JP7176806B1 (ja) 2022-04-19 2022-04-19 プログラム学習装置

Country Status (1)

Country Link
JP (1) JP7176806B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7426146B1 (ja) 2022-12-07 2024-02-01 株式会社Yashio 情報処理装置及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140287397A1 (en) 2013-03-21 2014-09-25 Neuron Fuel, Inc. Systems and methods for customized lesson creation and application
JP2017219718A (ja) 2016-06-08 2017-12-14 大日本印刷株式会社 プログラミング学習装置及びプログラム
JP2019003480A (ja) 2017-06-16 2019-01-10 株式会社Nttドコモ コード動画連携装置及びコード動画連携プログラム
JP2020140151A (ja) 2019-03-01 2020-09-03 ライフイズテック株式会社 プログラミング学習システム、プログラミング学習用プログラム、プログラミング学習方法。
JP2021056286A (ja) 2019-09-27 2021-04-08 株式会社ミクシィ プログラミング学習支援システム及びプログラミング学習支援方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102201619B1 (ko) * 2018-12-24 2021-01-12 주식회사 구름 게임형 온라인 코딩 교육 제공 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140287397A1 (en) 2013-03-21 2014-09-25 Neuron Fuel, Inc. Systems and methods for customized lesson creation and application
JP2017219718A (ja) 2016-06-08 2017-12-14 大日本印刷株式会社 プログラミング学習装置及びプログラム
JP2019003480A (ja) 2017-06-16 2019-01-10 株式会社Nttドコモ コード動画連携装置及びコード動画連携プログラム
JP2020140151A (ja) 2019-03-01 2020-09-03 ライフイズテック株式会社 プログラミング学習システム、プログラミング学習用プログラム、プログラミング学習方法。
JP2021056286A (ja) 2019-09-27 2021-04-08 株式会社ミクシィ プログラミング学習支援システム及びプログラミング学習支援方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7426146B1 (ja) 2022-12-07 2024-02-01 株式会社Yashio 情報処理装置及びプログラム

Also Published As

Publication number Publication date
JP2023158779A (ja) 2023-10-31

Similar Documents

Publication Publication Date Title
KR101890376B1 (ko) 전자책 확장 시스템 및 방법
Blum Linux command line and shell scripting bible
JP6066101B2 (ja) 構造化文書に基づいて動画を動的に作成する方法、並びに、その電子装置、電子システム、及び電子装置用プログラム
US20130055127A1 (en) Manipulating multiple objects in a graphic user interface
JP2014512611A (ja) モバイルアプリケーション開発及び展開プラットフォームにおけるシステムと方法
WO2013121301A2 (en) Systems and methods for a voice-and gesture-controlled mobile application development and deployment platform
Wang et al. Evertutor: Automatically creating interactive guided tutorials on smartphones by user demonstration
US20190034213A1 (en) Application reproduction in an application store environment
CN102981818A (zh) 基于情境的动画库
US20240189724A1 (en) Videogame telemetry data and game asset tracker for session recordings
JP7176806B1 (ja) プログラム学習装置
WO2007126664A2 (en) Application prototyping
JP7351877B2 (ja) グラフィカルユーザインターフェースプロトタイプの提供方法および装置
US10932012B2 (en) Video integration using video indexing
US9406340B2 (en) Talking paper authoring tools
US20070061802A1 (en) Automatic installation of PC game
EP2954437B1 (en) System to generate a mixed media experience
Barsotti et al. A web framework for cross-device gestures between personal devices and public displays
Clark et al. Sencha Touch Mobile JavaScript Framework
Franklin et al. Macromedia Flash MX 2004 ActionScript
Allen Android for Absolute Beginners
KR101853322B1 (ko) 학습 콘텐츠 편집 기능을 가진 학습 애플리케이션 제공 단말 및 그 학습 콘텐츠 편집 방법
Labriola et al. Adobe Flex 4.5 Fundamentals: Training from the Source
Phung et al. Professional Windows Embedded Compact 7
Hamilton Tech empowerment: android app Inventor

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20220422

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220517

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221102

R150 Certificate of patent or registration of utility model

Ref document number: 7176806

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150