こんにちは!ビーバー@ゲーム業界歴約20年python勉強中 です。
maya python初心者の方のために、カンタン・わかりやすい解説サイトを作っています。
webで検索しながらpythonの勉強をしているんだけど、
つまずきまくりなんだよ~(泣)
pythonに興味をお持ちの皆さん、プログラミングは独習が難しいと感じていませんか?
- 作りたいものがあっても、どういった知識が足りなくてできないのかわからない
- コマンドを調べても、リファレンスの意味がよくわからない
理解や応用がむずかしいのが悩みの種ですよね。
そんなあなたに!オンライン学習サービス「Recursion」をおすすめします。
この記事では、実際にRecursionを使ってみた私の体験をもとに、
Recursionのおすすめ学習コースやメリット・デメリットを紹介します。
今回は特に、python学習に悩むデザイナーに役立つポイントをまとめていこうと思います。
- Recursionで学習すると、足りなかった知識が補完されて
自分で問題解決ができるようになる - 用語の意味と背景を正しく理解できるので、リファレンスが読めるようになる
こういったことを知りたい人は、ぜひ、最後まで読んでみてください!
デザイナーにとっては目からうろこの情報満載です。それではGO☆
※当サイトで紹介する商品は、アフィリエイトプログラムを利用しています。
Recursionの特徴
Recursionとは、アメリカの大学で教えられている、
「コンピュータサイエンス」というカリキュラムの流れをくんだ、オンライン学習サービスです。
コンピュータサイエンスを学べる
コンピュータサイエンスとは、プログラミングやアルゴリズム、ハード&ソフトウェア開発、
データ処理などの計算の理論や情報の処理に関する学問で、
プログラミングを習得するために前提となる知識です。
コンピュータサイエンスを学ぶと、特定の言語に依存しない基礎力を養うことができます。
Recursion公式ページより引用。「CS」とは、コンピュータサイエンス の略です。
3Dデザイナーに関連のある点だと、
3Dデータ処理を行うバックエンドとなる知識、というイメージです。
3Dソフトがどのようにデータを保持・処理し、pythonへ受け渡しをしているのか、
コンピュータサイエンスを学習すると、
データ処理レベルで3Dソフトの挙動を理解することができるようになります。
日本ではあまりなじみのない言葉ですが、アメリカでエンジニアになりたい人は、
プログラミングだけでなく、コンピュータサイエンスを学習することが主流なのだそうです。
カリキュラム作成は、Meta現役エンジニア
Recursionは、「Meta(旧Facebook)現役エンジニアが作成したカリキュラム」を提供するという、
他の学習サービスと一線を画した特徴を持っています。
現役のエンジニアがカリキュラムを作成しているという点は、
実際の現場で必要とされるスキルを直接学べるという大きなメリットがあります。
実際に使ってみた感触として、今まで出会ったことのない情報の質と量に驚きました。
デザイナー畑で生きてきたので、初めて触れる知識が多くびっくりしました!
Recursionのカリキュラムを学習すると、
正しい理解をもとに、実践的なスクリプトが書けるようになると感じました。
python基礎文法をおぼえ、次のステップに行きたいときなど、
実務で使うスクリプトを作ろうとするなら、
コンピュータサイエンスの知識は必須と言えるのでないかと思います。
料金は、無料プランか月額$61のプレミアムプラン
料金は、無料のライトプランか、月額$61のプレミアムプランを選ぶことができます。
年払いとすることで、ひと月当たりのコストを下げることも可能です。
有料プランでは、チーム開発やコミュニティへの参加もできます。
ライトプラン | プレミアムプラン | |
月額費用 | 無料 | $61/月 もしくは年額$588($49/月) |
総ページ数 | 150 | 1320 |
コーディング問題数 | 25 | 550 |
チーム開発 | なし | ○ |
エンジニアへの質問 | なし | ○(制限なし) |
コミュニティ | なし | ○ |
イベント参加 | なし | ○ |
学習目安時間 | 60時間 | 1100時間 |
環境構築は不要
教材の中にコードを実行する環境が埋め込まれており、説明を読みながら実行することができます。
プログラムの動作を確認しながら進めるられるので、理解を定着させることができます。
Recursion公式ページより引用。説明のすぐ下に、コードを実行するエリアがあります。
Recursionの学習コース
Recursionでは、プログラム初級から上級の知識まで、幅広い学習コースが用意されています。
すべての基礎となる「コンピュータサイエンスの基礎」コースでは、
どの言語でも、どの開発でも使える基礎力を身につけることができます。
カテゴリ | コース名 | 学習できること | 使用言語 | 学習時間 (h) | 料金プラン |
コンピュータサイエンスの基礎 | 初級 | データ・プリミティブ型・変数・関数 | C++ Java JavaScript PHP Python | 30 | 無料 |
〃 | 中級 | 抽象化・再帰・スコープ・制御フロー・オブジェクト・リスト | 〃 | 80 | 有料 |
〃 | 上級 | データ構造入門・木構造・ラムダ関数・ソフトウェアテスト | 〃 | 80 | 有料 |
プログラミングパラダイム | OOP | オブジェクト指向設計・関連と継承 抽象クラス、インターフェース、ジェネリクス | C++ Java PHP | 50 | 有料 |
アルゴリズム&データ構造 | データベース | データベースシステム・関係モデル・DDL・DML・SQL上級 | ー | 50 | 有料 |
〃 | アルゴリズム&データ構造 | ※このコースはアルゴリズムを修了すると学習することができます。 | ? | ? | ? |
数学 | 離散数学Ⅰ | 集合・論理・ブール代数・証明 | Python | 40 | 有料 |
〃 | 離散数学Ⅱ | 漸化式・関数 | Python | 25 | 有料 |
ソフトウェア開発 | デザインパターン | 再利用性の高い設計について | C++ Java PHP | 40 | 有料 |
〃 | オペレーションシステム | OSの概要・メモリ管理 | ー | 20 | 有料 |
〃 | ソフトウェア開発 | ソフトウェア開発工程・ソフトウェア設計 | ー | 20 | 有料 |
クイックスタート&ツール | HTMLとCSS | HTML・CSS・Bootstrap | HTML CSS | 30 | 無料 |
〃 | Git | Git の基本的な仕組み | ー | 10 | 有料 |
〃 | Laravel | 静的なウェブサイトと簡単なウェブアプリの作成 | PHP | 10 | 有料 |
〃 | Vue.js | クイックスタート・イベントハンドリング・コンポーネント・ルーティング | JavaScript | 40 | 有料 |
〃 | Django | クイックスタート・データベースとモデル・フォームとミドルウェア・キュートワーカー | ー | 50 | 有料 |
〃 | Unity | クイックスタート・Collider2D,Material2D・アニメーション・Spider Solitaire | C# | 55 | 有料 |
〃 | Ruby on Rails | クイックスタート・ルーティングパラメータ・ORM・機能とライブラリ | Ruby | 55 | 有料 |
〃 | Angular | クイックスタート・サービスとルーティング・非同期プログラミング | TypeScript | 40 | 有料 |
〃 | SwiftUI | クイックスタート・DataBinding+ViewsⅠ・DataBinding+ViewsⅡ・Mobile Features | Swift | 30 | 有料 |
〃 | React | クイックスタート・StateとProps・SPA・アプリケーション作成 | JavaScript | 40 | 有料 |
〃 | UIKit(iOS) | クイックスタート・デザインパターン・データの永続化・デバイス機能 | Swift | 30 | 有料 |
コンピュータサイエンスプロジェクト | User Card App | この Project では、JavaScript の DOM ライブラリの扱い方や GUI(Graphical User Interface)を作成する方法を学びます。 | JavaScript | 20 | 有料 |
〃 | Sliders | このコースでは、GUI を作成する方法と DOM について Project1 よりもさらに詳しく学習していきます。 | JavaScript | 25 | 有料 |
〃 | Banking App | このコースでは、Project1, 2 で学習した知識を応用して、お金の入金や引き出しなどができる銀行口座のアプリケーションを作成します。 | JavaScript | 40 | 有料 |
〃 | Library App | この Project では API、サーバについてその仕組みを理解し、fetch 関数、プロミスオブジェクト、JSON を使って情報を取得する方法を学習します。本の情報を提供する API を利用し、タイトルや ISBN(International Standard Book Number: 国際規格コード)で本を検索できる、本検索アプリを作成します。 | JavaScript | 20 | 有料 |
〃 | Black Jack | コードのリファクタリング、拡張、設計が容易になる MVC アーキテクチャについて学習し、ブラックジャックをスクラッチから開発します。 | JavaScript | 50 | 有料 |
〃 | File Directory | この Project では、今まで学習したことを応用し、コマンドラインにおけるファイルディレクトリシステムを作成します。 | JavaScript | 40 | 有料 |
〃 | File Manipulator Program | コンピュータシステムにおけるアプリケーションプログラムについて詳しく学習し、3 つのプロジェクトを作成します。 | Python | 25 | 有料 |
〃 | Video Compressor | このコースでは、コンピュータネットワークの世界に飛び込みながら、クライアントサーバ分散型アプリケーションを作成します。 | Python | 40 | 有料 |
詳しくは Recursion(リカージョン) の「コース」一覧を確認してください。
おすすめコースは、無料の「コンピュータサイエンスの基礎」
学習コースのなかでも、pythonを使いたいデザイナーに特におすすめするのは、
コンピュータサイエンスの基礎・初級 です!
初級では、プログラムでデータを処理するために必要な基本的な概念を学習します。
recursion コンピュータサイエンスの基礎 初級 序文
具体的にはデータ、プリミティブ型、変数、関数を学習し、
文字列の真ん中を返す のようなコーディング問題を解くことを目標にします。
無料のこのコースを学習するだけでも、今までよりぐんと基礎力がつきます。
学習コースは、説明とクイズ(5問程度の選択問題)、
あと、実際にコードを書いて解く例題で構成されています。
コースの内容をまとめましたので参考にしてください。
↓クリックして展開
- データ
- データとデータ型
- ブーリアン型
- Quiz 1
- 整数型
- 整数型の値の範囲
- Quiz 2
- 16進数
- データ型と識別子
- Quiz 3
- 文字型と文字コード
- 文字列型
- Quiz 4
- 固定小数点型
- 10進数と浮動小数点型
- 2進数と浮動小数点型
- Quiz 5
- null
- void
- Quiz 6
- プリミティブ型
- 整数型と浮動小数点型
- 演算子とオペランド(1)
- 演算子とオペランド(2)
- Quiz 7
- 複雑な計算
- 優先順位と結合法則(1)
- 優先順位と結合法則(2)
- 特有の演算子
- Quiz 8
- 文字
- 文字列(1)
- 文字列(2)
- Quiz 9
- 変数
- メモリとメモリアドレス
- コンパイラ
- Quiz 10
- 変数の宣言
- 変数の代入(静的言語)
- 変数の代入(動的言語)
- 変数と式
- Quiz 11
- 関数
- 関数の練習
- 関数名と関数内の変数
- Quiz 12
- 例題:引き算
- 例題:掛け算
- 例題:3乗
- 例題:立方体の表面積
- 例題:円周を求める
- 例題:メートルをマイルに変換する
- 例題:最初の文字を返す
- 例題:最後の文字を返す
- 例題:名のイニシャル
- 例題:新幹線のチケットの値段
- クラスと名前空間
- Quiz 13
- 述語
- if文(1)
- if文(2)
- 論理演算子
- Quiz 14
- 例題:XOR
- 例題:ポートレートモード
- 例題:閏年
- 例題:レスポンシブデザイン(Bootstrap)
- 例題:学校の祝日
- 例題:機内食オーダー
- ライブラリ
- 文字列操作
- Quiz 15
- 例題:民泊の値段
- 例題:借金返済
- 例題:平方根の判定
- 例題:小文字
- 例題:部分文字列
- 例題:アンダースコア
- 例題:ヒント表示
- 例題:メールアドレス認証
- 例題:文字列の真ん中を返す
関数の説明以降は、例題の嵐でした(笑)
例題を解くことを通して、学習した内容がしっかり身につくようにできていると感じました!
コンピュータサイエンスの基礎を体験してよかったこと
分からなかった用語を正しく理解でき、応用できる力がついた
Recursionの学習を通して、用語をとその背景を正しく理解できたのは大きかったです。
ひとつの用語がわからないだけで、ドキュメント全体の意味が???だったのが、
知識がついたので、自力でドキュメントを理解できるようになってきました。
- 浮動小数点やfloat型やdouble型ってなんだ?
- 指数表記(「3.4e+38 」などの数字)ってなんだ?
- nullってなんだ?どう使うんだ?
- 「オペランド」「リテラル」ってなんのこと?
- 「式」や「述語」、「評価方法」ってなんだ?
こういった疑問が解消し、今まで解決方法がわからないために適当にやりすごしていたことが、
知識をもとに対処方法を判断できるようになりました!
Recursionで基礎知識を得たことで、判断力がついたのはとてもうれしかったです。
プログラミングでも、基礎が大切なんだなあと感じました。
豊富な例題を解くことで、実践的な書き方を習得できた
Recursionの学習では、目の前の問題解決をどのようにコードに落とし込むかを
例題を通して体験することができました。
Recursionの例題は、「いかにも出会いそう」な現実的な問題を出題しているのが良いです。
たとえば if文。
今まで学習に使っていたコンテンツは、もし○○なら、の説明まででしたが、
○○かつ○○の場合、や、○○または○○の場合、も説明してくれています。
「学生、もしくは 60 歳以上のシニアの料金は、20 %割引にする関数を考えてください」
なんていう例題がありましたよ。リアル~~!(笑)
私が参考にしていた先輩エンジニアが作ったコードでは、
○○かつ〇〇や、〇〇または〇〇、のような条件分岐が頻繁に出てきていました。
いままで概念を理解できていなかったのでつまずいていたのですが、
Recursionの説明と例題で、意味もわかったし、使い方もつかむことができました!
Recursionのデメリットは「難しい」こと
基本文法の説明はない
Recursionは、コンピュータサイエンスという切り口で説明がされており、
プログラミング言語個別の文法の説明はありません。
各言語共通の前提知識の解説の後は、いきなりコード例に進みます。
そのため、文法をまったく知らない人にはちょっと難しく感じると思います。
知識ゼロから始めるよりは、基本文法を一通りおぼえてからの利用をおすすめします。
解説を理解し、例題を解くには数学的知識が必要
解説文は極めて専門的、かつ詳細です。
また、例題を解くために、数学の知識が必要になります。
数学に苦手意識のある人には、よけいに難しく感じるかもしれません。
ただ、コンピュータサイエンス初級の内容で必要な数学知識は、簡単なものでOKなので、
調べながらでも対応は可能だと思います。
「台形の面積を求めてください」という例題がでてきて、「!?」となっちゃいました。。
webで調べたら、遠~い記憶から思い出せましたよ(笑)
Recursionのメリットは、質の高い学習ができること
プログラムの前提知識が学習できる
Recursionの学習では、プログラミングの前提となる概念をしっかり理解できるので、
自分で考えてコードを書くための基礎ができます。
指数表記はどうしてこのような書き方をするの?とか
コンピュータはどのように小数点を表現しているの?など
単純に用語をおぼえるだけでなく、その背景も含めて知ることができます。
内容的には、大学で学習するレベルのものだと思うのですが、
コンピュータサイエンスの初級は、無料で提供されているという点も驚きです。
ほかの無料学習サイトと比較すると、圧倒的に質が高いです。
学習範囲が広く、深い
基本概念だけではなく、プログラム上級の知識まで、広く、深く網羅されています。
現役エンジニアでも、非情報系の人でも、
自分が学習したい内容に合わせて、コースを選ぶことができます。
また、教材の内容は、実務を想定した内容になっており、超実践的です。
ほかの学習サービスと比較しても、Recursionで学習するとダントツで理解が深いと思います。
豊富な例題で、学習がしっかり身につく
例題がたくさん用意されている点も魅力です。
解説でおぼえた内容が体験としてしっかり身につくように設計されています。
実務で取り組むような現実の問題が多く取り上げられているので、
例題を解くことで、コードでどのように問題解決をするか、
実践を通して学ぶことができます。
※無料プランは例題数25で、月額$61の有料プランなら、550の例題が解放されます。
Recursionをおすすめする人
用語の意味が分からなくて困っている人
「データ型」や「戻り値」など、様々な用語の意味を正確にとらえることができるようになります。
単一のプログラム言語の解説ではなく、
どの言語でも通用する共通の基本知識を解説してくれているので、応用のきく基礎力がつきます。
また、単なる用語の解説でなく、用語の指し示す意味や背景を知ることができるので、
正しい理解のうえで、ドキュメントを読むことができるようになります。
学習した基礎知識は、実務でずっと活かしていくことができます!
プログラムを独学しているが、つまずいている人
つまずきの原因は、基礎知識が足りないからかもしれません。
Recursionでは、ほかの学習サービスでは解説しない、
プログラミングの考え方の基礎となる部分を詳しく解説してくれます。
- 各データの原理
- どういった前提をもとに文法が成り立っているか
一歩踏み込んだ解説で、仕組みのレベルからプログラムを理解をすることができます。
コンピュータサイエンスを学ぶと、問題解決方法を考えるための基礎知識がつくので、
知識不足を感じている方には、Recursionの学習をおすすめします!
ちなみに有料プランに入ると、エンジニアへの質問がし放題(!)になります。
Recursionをおすすめしない人
プログラムがまったくの初めてという人
プログラム文法の説明はないので、文法をおぼえる目的には適していません。
いきなり例として出てくるコードに戸惑ってしまうと思います。
また、ある程度コードを書いて動かした経験がないと、
教材の説明が何を指しているのか、わかりづらいところがあるかもしれません。
細かい話が苦手、という人
コンピュータの情報処理について、正確な挙動を伝えるために
ごくごく小さい値の誤差の話など、とっても細かい話が出てきます。
「誤差の影響でやりたいことができなかった」という経験のある人にはうれしい説明な一方、
緻密に値を管理する必要がなかった方にはつらい内容かもしれません。
内容的にも、興味のあるなしで向き不向きがあると思います。
ただ、Recursionの説明はスマートで読みやすく、教材の完成度はとても高いです。
技術書などに苦手意識のある方でも、理解できるようにまとまっています。
Recursionの登録方法
登録方法はシンプルです。
①Recursion(リカージョン)のトップページから「無料会員登録」をクリック。
②入力フォームが出てくるので必要情報を入力し、「新規登録」をクリックで完了です。
まとめ
今回は、Recursionの魅力について解説しました!
Recursionは、「コンピュータサイエンス」を学習できる、日本でも数少ないサービスで、
プログラミングの前提から上級の知識まで、広く、深く学習をすることができます。
ほかの無料サービスと比較しても、明らかに理解が深いのはRecursionです。
- Recursionで学習すると、足りなかった知識が補完されて
自分で問題解決をしていけるようになる - 用語の意味と背景を正しく理解できるので、リファレンスが読めるようになる
3Dデザイナーの皆さんに特におすすめするのは、
「コンピュータサイエンスの基礎・初級」という学習コースです。
登録は無料なので、興味を持たれた方はぜひ利用してみてください!
コンピュータサイエンスを学んで、
- プログラミングのドキュメントが読める
- 自分で問題解決法を考えて効率的なコードを書ける
こんなステキなデザイナーになっちゃいましょう!
最後まで読んでいただき、ありがとうございました~!
Recursion(リカージョン) 公式サイトはこちらから
コメント