前提・実現したいこと
プログラミングの効率の良い勉強の仕方
発生している問題・エラーメッセージ
非効率な勉強の仕方をしているのかもしれないという疑問による私の悩み
該当のソースコード
試したこと
効率よく学習を進めるなら手を動かして学習すると良いときくので、よくある入門サイトのような教科書系?のものではなく、Progateなどのような実際に課題に沿って(図解もありますし)学習サイトで勉強していました。
しかしクレジットカードを持っていないので有料部分は使えず、他の学習サイトも今後学ぶレベルの部分が有料でした。そこで有料部分のチャプターのタイトルだけは見えるので、そのタイトルを検索して出てくる入門サイトを目で読んで勉強しています。
しかし、こちら初心者でやはり、学習サイトのように図解がなかったり解説には多くの知らない単語があったりしてその度にその単語を検索してと、素人目線ながら非効率だと思っております。
また、サンプルプログラムの点でも非効率だと思える所があります。
Progateの有料部分でオーバーロードという項目があったのでオーバーロードの項目がある入門サイトを検索してきて調べたりもしていました。しかし、これまで扱ってこなかったprivateという修飾子?などが載っていて一つ一つ調べる形になってしまいます。
このようにたとえ1日ずっと勉強していても、その中で手を動かしてコードを書くなんていう作業は稀な形になってしまっています。
効率よく改善する方法などありましたらご教授お願い致します。
補足情報(FW/ツールのバージョンなど)
先日勉強の仕方やProgate以外の学習サイトについてあれこれ調べていたところ、ここをおすすめしているサイトを見て、学習サイトではないけれどもQ&Aサイト、例えば知恵袋のような質問回答のサイトだと知り、さっそく登録して今回初めて利用させて頂いております。
ですのでこの度の質問でおかしな点、例えば勉強の仕方を聞く所ではなく、質問はエラーを探して欲しいというルールに限るなどであればご指摘ください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答7件
0
ベストアンサー
身もふたもないことを言ってしまえば、無料で済ませようとすれば非効率になるのは至極当然です。
まずは効率よく一通りやりきりたいというのであればお金を払いましょう。
また、プログラミングをしていると調べるという作業は必須です。
資料に沿ってプログラムを書いて動かすのは簡単です。
わからなくても動いたら楽しいですよね。
でもプログラミングってどこかしらでエラーは出ますし、
日に日に新しい技術だって出てきます。
エラーの解決も新しい技術を知るのも調べる力がないと手が止まってしまいます。
今のうちにその調べる力を身につけるのも学習の一つだと思います。
「コードを書いていない=手が止まっている」ではありません。
コードを書いていなくてもプログラミングに必要な知識を蓄えているので、
そこでやる気が腐らないように気をつけてください。
投稿2019/04/25 03:06
編集2019/04/25 03:07総合スコア5158
0
プログラミングを学ぶなら、まずはその言語の基本文法を憶えて、リファレンスの調べ方を学びます。実際に手を動かすのはその先です。
英語の読み書きの学習で言えば、
・アルファベットを全部暗記する
(プログラミングで言えば if とか + とかの意味は暗記)
・名詞とは何か、動詞とは何か、等を理解する。憶えきれない部分は、分からない時に文法をどう調べればいいかだけ理解する
・英和辞書の調べ方を理解する
これらをやらずに、いきなり英文を読もうとすると、非常に非効率です。
投稿2019/04/25 02:36
総合スコア84538
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/25 03:16
2019/04/25 03:33
2019/04/25 04:49
0
初学者が躓くポイントは決まっていて
・公式サイトが読めない
・開発環境が作れない
の 2 点です。
一般的には、上記ができるようになるため書籍で体系的な学習をします。
書籍であれば入手できるのではないですか?
公式サイトが読める程度になれば、書籍は卒業です。
で、次に躓くのが
・なんかアプリを一人で作ってみる
です。
これは、初学者向けに経験者がよく言う学習方法ですが間違っています。
初学者はまず間違いなくアプリを作れません。
アプリの作成には
・(企画)
・設計
・実装
・テスト
・リリース
の手順を踏みますが、実装の学習中に設計なんてできるわけないからです。
公式のドキュメントが読めるようになったら、軽く設計を学んでみると良いです。
簡単なアプリの設計は、フローチャートがかけるレベルの理解で作成できるので、学習もその程度で良いかと。
頑張ってください。
投稿2019/04/25 03:48
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/25 03:52 編集
退会済みユーザー
2019/04/25 03:53
退会済みユーザー
2019/04/25 03:54 編集
2019/04/25 03:55
2019/04/25 04:32
2019/04/25 04:38
2019/04/25 04:38
退会済みユーザー
2019/04/25 04:56
2019/04/25 07:07
退会済みユーザー
2019/04/25 07:52
2019/04/25 07:54
0
teratailの基本的な使い方はヘルプを読んでもらうとして。
(特に「質問するときのヒント」「推奨していない質問」は必読です)
王道は、ないです。
学習サイトのように図解がなかったり解説には多くの知らない単語があったりしてその度にその単語を検索してと、素人目線ながら非効率だと思っております。
基本的に「調べて出てきた情報のなかに見覚えのない・知らない情報がでてきたらそれを更に調べる」というのは日常的に行われる行為です。
というか、それしかないです。
私も今でもよくやっています。
ただし、「100%概念や歴史・経緯まで全てを把握」する必要はありません。
例えばPHPはC言語で作られたプログラミング言語ですが、わざわざC言語の元ソース(オープンソースなので誰でも観れます)を確認しないとプログラムが組めない、ということはありません。
PHPマニュアルという公式のマニュアルサイトがあり、ほとんどがそこで事足ります。
私もC言語の元ソースを読み込んだことはほとんどありません。PHPマニュアルで用事は済むからです。
それはどの言語にも言えることです。
用語については「分かった気になる」くらいで良い場面も多いです。
- よくすすめる用語解説サイト:「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
「確かこんなのあったよな」「マニュアル・リファレンスにあったよな」程度の記憶でもじゅうぶんやっていけます。
というか、マニュアル・リファレンスの内容を全て暗記している人って、そうそういません。
辞書と同じように、必要な時に必要なだけ調べる、そして、最小構成のコード(ミニマムコード)で実行して確かめる、ができればそれだけで理解度や成長度は上がります。
そしてエラーメッセージがでたときの対処法や手順を把握、確立しておくことですね。
どの言語でも「デバッグ能力」が高い人はそのまま「問題解決能力」の高さにつながります。
プログラミングの本質は「問題解決」なので。
もし、具体的な目標や、作りたいものなどがしっかりあるのでしたら、お金払って学習サイトで学ぶ必要はないと思います。
現に私はPHPを主業務として扱っていますが、スクールに通ったことはありません。大学は文系学部でしたが、社会人になってから出会いました。
必要な時に必要な技術を必要なだけ身に着ける、というところが開始だと思います。もちろん体系的に学ぶために一通り網羅した書籍を購入する必要はあると思います。
(※じゃあオススメ書籍はなんじゃい、って聞きたいのでしたら過去質問を探ってみると良いです。結構この手の質問あがってます)
ひとまず、自身が何を目標・目的としているかからをまとめてみて、それに合ったやり方を模索していってはどうでしょうか。
投稿2019/04/25 02:35
編集2019/04/25 02:38総合スコア80850
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/25 02:49
2019/04/25 02:56
2019/04/25 03:03 編集
2019/04/25 03:39
2019/04/25 07:00
2019/04/25 07:04
0
できるだけ親切に説明していそうな教科書(書籍です)を何冊か入手して、辛抱して読んで理解してください。手を動かしたいのであれば、読みながらサンプルコードを書き写して実行してみてもいいし、気になることがあったらコードを適当に書き換えて動作を検証してみるとか、いろいろやってください。
独学で、一番お金がかからなくて効率のいいやり方はこれです。基礎を体系的に勉強したければ、入門書が一番いいのです。
ただし、一人で入門書を読んでいくのは、やればできますが、やる気と努力が要ります。これで挫折するという人が、お金を払ってメンター(skypeとかで教えてくれる教師みたいなもの)をつけたり、オンラインスクールで勉強したりする訳です。
オンライン学習はお金を落としてくれないユーザにまで親切に教えてくれるようにはできていません。支払えないなら、期待しない方が良いでしょう。
インターネット検索は、ある程度見通しのついている人間が部分的にわからないことを調べるにはいいのですが、右も左もわかっていない人間が勉強するには不向きです。むしろ、初心者向けの記事ほど(大きい市場なので)いろいろなところ(企業も個人も)が金銭的利益のためにいい加減な記事を書き散らしていて、鬼門になっています。ゴミサイトばっかり見ても勉強になりません。
本の買い方について。
まず、買う本を決めます。これは新しいもの(過去2年くらい、自分が使う言語等のバージョンと一致している必要がある)の方が良いのと、ネットのレビュー(amazon,書評サイトや個人のブログなど)が高評価で自分の学習目的に合っていそうなものを選びます。初心者なら親切に解説してある本がいいので、そういうところをウリにしている本を探しましょう。
そのまま通販で注文しても良いですが、もし自由に通販を使えない身分なら、近所の本屋さんに行ってみましょう。棚に並んでいないことの方が多いですが、その場合はカウンターで言えば取り寄せできます(取り寄せたい本を特定できるだけの情報をメモって持っていくこと。それか、出版社のページでもスマホ画面に出して店員さんに見せる)。
投稿2019/04/26 16:59
編集2019/04/27 01:07総合スコア30933
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
しかしクレジットカードを持っていないので有料部分は使えず
Progate の有料プランでは、デビットカード・プリペイドカードも使えるようです。
Progate>よくある質問
https://prog-8.com/plans/for_users
また、無料で利用できるプログラミング学習サイトとして、ドットインストールもおすすめです。
投稿2019/04/25 02:43
総合スコア6500
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/25 02:58
2019/04/25 03:58 編集
2019/04/25 04:07
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/25 04:13
2019/04/25 04:22