プロジェクトではどのような内容を学習できますか?

Written by Recursion
11月 18, 2021

プロジェクトではWebアプリケーションの開発を中心に学習します。オブジェクト、データ構造、アルゴリズム等、コンテンツで学んだコンピュータサイエンスの知識をアプリケーションへ適用します。

例えば、一番最初のプロジェクトではJavaScriptのDOM(Document Object Model)というデータ構造を使って、プロフィールカードをJavaScript側から作成し、Webページに表示します。

DOMは Webページのそれぞれの要素(ノード)を木構造で表すことによって、プログラム側から管理、アクセス、操作、保存を容易にすることができます。

document.getElementById(id)
// Documentオブジェクトの中にある文字列idに一致するelementオブジェクトを返すメソッド
// Documentオブジェクトはページのブラウザ上に存在する全てのelementオブジェクトの根ノード
// document変数はグローバル変数なのでどこからでもアクセス可能

またプロフィールカードについては、firstname, lastname, job, skill, country, urlをメンバ変数とするEmployeeクラスを作成することで、それぞれの人物をインスタンスとして管理することができます。

class Employee {
    // コンストラクタ、初期値の設定
    constructor (firstName, lastName, job, skill, country, avatorUrl) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.job = job;
        this.skill = skill;
        this.country = country;
        this.avatorUrl = avatorUrl;
    }
    
    // フルネームを返すメソッド
    getFullName() {
        return this.firstName + " " + this.lastName;
    }
}

let employee1 = new Employee("Elizabeth", "Dunn", "Accountant", "Excel, Word, Quickbooks", "England", "https://randomuser.me/api/portraits/women/76.jpg");

最後にEmployeeオブジェクトを受け取り、プロフィールカードを子要素に含んだdiv要素を返すcreateEmployeeCard関数を作成します。複数のオブジェクトを配列に格納し、以下のようにmap関数を実行してそれぞれの要素に対してcreateEmployeeCard関数を実行して、複数のプロフィールカードをレンダーします。

employees.map(employee => profileDiv.append(createEmployeeCard(employee)));

このようにプロジェクトではコンテンツで学習したコンピュータサイエンスの知識をあらゆる場面で活用します。プロジェクト1だけでも以下の知識が必要になります。

  • 初級: データ、変数、関数
  • 中級: オブジェクト、リスト
  • 上級: ノード、木構造、ラムダ関数

コーディング問題を用いてコンテンツの知識をアウトプットで定着させ、プロジェクトでその定着させた知識を応用させます。各プロジェクトはコーディング問題と同様、アウトプット中心の構成になっています。

メソッドの使い方や、画像のレンダリング、JavaScriptを使ってHTMLを作り上げる方法など、詳しい解説とともにアウトプットで練習しながら徐々にステップアップしていくため、効率的で無理なくスキルをを定着させることができます。各コースの最後には、学んだ内容を用いてヒントなしでソフトウェアを開発する複数の最終課題があるので、是非チャレンジしてください。

プロジェクト課題例:

コマンドを受け取り、ファイル管理を行うファイルディレクトリシステムの作成

アウトプット学習でフレームワークの知識を身につけよう

またこの他にもRecursionではフレームワークのコースを複数用意しています。ほとんどのフレームワークのコースは、オブジェクト指向言語コースとデザインパターンコースの修了が条件になります。プロジェクトと同様、各コースには複数の課題が用意されており、アウトプットを通してソフトウェア開発力を身につけます。

Unity課題例:

Vue.js課題例:

ユーザーが作成した成果物を見てみよう

Recursionの最終課題では、自分で設計を行い、ソフトウェアを開発することになります。以下、ユーザーの作成したプロジェクト例を見てみましょう。

Black Jack

トランプゲームのブラックジャック。ディーラーとBotを含んだ複数プレーヤーのゲームを1から自力で設計し、開発します。

Click Empire Game

仕事や投資、不動産等でお金を稼ぐシミュレーションゲーム。ゲームの目的は、一攫千金を目指し、街に帝国を築くことになります。

Calculation App

電卓のアプリケーション。 四則演算(足し算、引き算、掛け算、割り算)および剰余の計算ができます。 計算は、優先度の高い演算子(×、÷)から行います。データ構造「スタック」を使ったアルゴリズムによって実装されています。

ユーザーの開発したプロジェクトはコミュニティのプロジェクトシェアチャンネルで閲覧することができます。

関連記事
  • Recursionで学んだ知識はデータサイエンスの領域で役に立ちますか?
  • 初級コースを飛ばして中級コースから始めることは可能ですか?
  • わからないところを質問したいです
  • 無料で使える範囲を教えてください
  • 学習期間はどれくらいですか?
  • 中学校の数学の知識しかありませんが、ついていけると思いますか?
Leave A Comment コメントをキャンセル

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

カテゴリー
  • コンテンツ 0
    • 一般 7
    • 機能 6
    • 学習方法 4
  • コーディング問題 0
    • 一般 5
    • 問題を解く 5
    • エディタ 8
    • テストケース 5
    • テスト & 提出 4
    • 解説 3
  • コミュニティ 0
    • 一般 2
    • 機能 1
  • アカウント設定 0
    • 一般 5
    • カスタマイズ 3
    • 退会 2
  • 請求書 0
    • 一般 2
    • お支払い 7
  • その他 3
よく読まれている記事
  • コードの貼り付け方がわかりません
  • コンソールにundefinedと表示されますが、これはバグでしょうか?
  • コミュニティはどうやって入ることができますか?
  • 学習期間はどれくらいですか?
  • 初級の2周目をJavaでするべきか、中級に進むべきでしょうか?
  • Javaのクラス内に存在するEは何を意味していますか?
  • プロモコードの使い方を教えてください
  • 問題の解答解説はどうやって見ることができますか?
  • 中学校の数学の知識しかありませんが、ついていけると思いますか?
  • コンテンツのエディタの使い方がよくわかりません
一般
  • プロジェクトではどのような内容を学習できますか?
  • Recursionで学んだ知識はデータサイエンスの領域で役に立ちますか?
  • 初級コースを飛ばして中級コースから始めることは可能ですか?
  • わからないところを質問したいです
  • 無料で使える範囲を教えてください
  • 学習期間はどれくらいですか?
View All 6  
  • Recursion
  • 公式ブログ
  • © 2022 Recursion, Inc All Rights Reserved.

よく検索されるワード:コミュニティ, 解答, プロジェクト