😽

AIと学ぶ C# 値型と参照型

に公開

今回は、忘我LMSでC#の学習カリキュラムを作成し、AIと一緒に学んでいく過程をご紹介します。自分の学習環境は、macOS Sonomaなので、みなさんのAIと学習方法やセットアップ方法が異なる場合もあります。c#を学ぶにあたって必要な知識や学習環境の構築などをAIと一緒にやっていきましょう!

ウェブサイトでカリキュラム設計

  1. まず、忘我LMSの探索モードで「C#」と記入します。
    以下のリンクをクリックしてください。

https://lms.bouga.jp/explore?q=C%23

  1. 青い「学習する」ボタンを選択してください。
    ※まだログインしていない場合、「ログインして、学習する」ボタンが表示されます。ログイン、またはアカウントを新規作成してください。

  2. 「値型と参照型」のVS Codeで学習するボタンを選択してください。
    ※何も開始されない場合、VS CodeのダウンロードやAIの拡張機能が設定されていない可能性があります。こちらのページからセットアップ方法をご確認ください。

  1. VS Codeでポップアップが表示されます。「開く」ボタンを押してください。

VS Codeで学習

  1. AIが学習ガイドをまず考えます。学習ガイドでわからない点があれば、質問してください。また何も問題ない場合、「次に進む」ボタンを押してください。

  1. 学習ガイドに沿って学んでいくために必要なフォルダをAIがコマンドを使って作成しようとしています。問題なければ、「コマンドを実行」ボタンを押してください。

  1. 次にmarkdown形式(または直接C#のファイル)で学習ガイドが生成されます。よくわからない場合、テキスト入力欄で「よくわかりません」と書いてください。また、問題なく読めた場合、「読んで理解したので次に進む」ボタンを押してください。

  1. 最初の教材が作成されます。内容を読んで理解できない箇所はとことん相談しましょう!

自分の方で出力された教材は以下になります。

ある程度内容はわかりものの、「スタック」が何かわからないので、「スタックが何かわかりません」とAIに伝えます。

AIが新しい教材を作成してくれたので、見てみましょう。

アドレスなどの技術的な単語も住所として置き換えられて、教材が理解しやすくなりました!
とても理解できたので、「読んで理解したので次に進む」ボタンを押します。

  1. AIから「値型と参照型の違いについて」の知識問題が出されました。選択式の問題なので、正しいものを選びたいと思います。

問題なく正解を当てられました!

  1. 次は実践にコードを書いて学ぶらしいです。内容を読んでみましょう。

exercise.cs
/*
演習1:値型の動作確認

下のコードを完成させて、値型の動作を確認してください。

TODO: 
1. 変数aに10を代入
2. 変数bにaの値を代入  
3. bの値を20に変更
4. aとbの値を出力して結果を確認

予想:aとbの値はそれぞれ何になるでしょうか?
理由も考えてみてください。
*/

using System;

class Program
{
    static void Main()
    {
        int a;  // TODO: ここに10を代入してください
        
        Console.WriteLine($"最初のaの値: {a}");
        
        int b;  // TODO: ここにaの値を代入してください
        
        Console.WriteLine($"代入後のbの値: {b}");
        
        // TODO: bの値を20に変更してください
        
        Console.WriteLine($"bを20に変更後:");
        Console.WriteLine($"aの値: {a}");
        Console.WriteLine($"bの値: {b}");
        
        Console.WriteLine("\n結果を確認してください!");
        Console.ReadLine();
    }
}

なんとなくは理解できたので、次に進みたいと思います。

AIの指示通り、自分自身でコードを記載していきたいと思います。

exercise.cs
/*
演習1:値型の動作確認

下のコードを完成させて、値型の動作を確認してください。

TODO: 
1. 変数aに10を代入
2. 変数bにaの値を代入  
3. bの値を20に変更
4. aとbの値を出力して結果を確認

予想:aとbの値はそれぞれ何になるでしょうか?
理由も考えてみてください。
*/

using System;

class Program
{
    static void Main()
    {
        int a;  // TODO: ここに10を代入してください
+       a = 10;
   
        Console.WriteLine($"最初のaの値: {a}");
        
        int b;  // TODO: ここにaの値を代入してください
+       b = a;

        Console.WriteLine($"代入後のbの値: {b}");
        
        // TODO: bの値を20に変更してください
+       b = 20;

        Console.WriteLine($"bを20に変更後:");
        Console.WriteLine($"aの値: {a}");
        Console.WriteLine($"bの値: {b}");
        
        Console.WriteLine("\n結果を確認してください!");
        Console.ReadLine();
    }
}

できたと思うので、完了しました。と伝えてみます。

AIがファイルを読み込んで、問題ないとのこと。書いたコードを実際に動かして、確認するとのことです。

(AIがインストール用のコマンドを実行中....)

無事、実行できて確認できましたね!

次は参照方について学んでいきましょう!まずは知識問題を出されました。最初の教材を見直して、正しく回答してみます。


問題なくクリアできたのでまた演習問題が出てきました。

演習問題も先ほどのようにコードを書いていき、「完了しました」とAIに報告します。

演習も問題ないようですね。最後に知識問題らしいです。

こちらも、最初の教材を見ながら解きます。

正解のようです!

「値型と参照型」の学習が無事クリアしました!!

「学習を完了」にするボタンを押して、次の課題「変数の宣言と初期化」を学んでいきましょう!

Discussion