プログラミング未経験者はどこから始めるのがいいのでしょうか?
2年前、iPad Proを購入してプログラミングの勉強方法を模索していました。
なぜiPad Proを購入したからといってそれがプログラミングの勉強方法に結びつくのかというと、
iPadって結構な値段がするのです。
そしてわたしは、IPadをまったく使いこなせていなかった。
Netflixを観たり、YouTubeを観たり、Kindleを読んだりと最初のうちは満足していたものの、値段相応の”使いこなし”ができてなかったんです。
YouTubeで「iPad活用方法」を探すと絵を書いたり、動画を編集したり、授業のノートとして活用したりと、様々な”使いこなし”をしています。
そして、わたしはiPadを最大限有効活用するべく勉強を始めてみることにしました。
iPadで勉強はオーソドックスな使い道です。
勉強内容はなんでもよかったのですが、自然とプログラミングを選びました。
小学校中学校でのプログラミング必修化やITに興味がありました。
ITパスポート、基本情報技術者試験を受けたが
体系化された知識を吸収するには資格は有効だと思っていて、パソコンの資格を調べました。
ネットで検索したら「基本情報技術者試験」がプログラミングの唯一の国家資格であり、初心者にもおすすめという情報を得たのでチャレンジすることにしました。
これが大失敗でした。
結論からいうと8月に勉強を開始して2週間でITパスに合格して10月にあった基本情報技術者試験にも合格できたんです。
そしてプログラミングに挫折しました。
2か月の間、必死になって勉強しました。
でも、基本情報技術者試験のプログラミングの問題がさっぱりわからない。
問題が解けないどころか問題文にでてくる言葉の意味すらまともに理解できない。
つかった教材は、キタミ式、出るとこだけ、うかる!午後問対策のアルゴリズム対策本、プログラミングの教本(アセンブラを選択)、Kindle本一問一答、スッキリわかるSQL、過去問道場と手当たり次第です。
これって数学や物理の世界なのか?と思っていました。
プログラミング挫折
苦しみながらアルゴリズムを勉強してると、プログラミングってなんなのかよくわからなくなりました。
勉強する前のイメージだとプログラミングで事務作業の自動化や、ゲームが作れたり、ロボットの操作とかできると思ってやってたけど、
でてくる問題は文字列の入れ替えや画像の圧縮、自動販売機のアルゴリズムなどとマニアックな部分が多く実用的な内容が一切でてこなかった。
しかも手当たり次第に買った教材に「関数」「引数」というプログラミングで当たり前の言葉が出てこないため、関数は数学の言葉として理解していたし、引数に至っては引き算の略語だと思っていたのです。
プログラミングまーじでわからん。
なぜ挫折してしまったのか?
目的が無かった
途中から基本情報技術者試験に受かるために勉強をしていた。
基本情報技術者試験に受かるためには教科書と過去問をひたすら繰り返すことが有効で、パソコンは使いません。
そもそもプログラミングで興味がある言語は「Python」だけだった。(Pythonは当時基本情報技術者試験に採用されてなかった)
「関数」「引数」の意味すら知らずにプログラミングを勉強し続けている状態になった。
教材選びに失敗
プログラミングで最も重要なのは教材選びです。
基本情報技術者試験で手当たり次第に手を出したのですがコレっていう教材はありませんでした。
悪い教材だと必ず挫折します。
簡単なことを難しくいったり、前提知識が必要とされているものだったり、基本構文ばかり記載されていたりする本が市場に多く存在します。
そもそも基本情報技術者試験の本は基本情報技術者試験に合格するために書かれているのでプログラミングを習得するためには圧倒的に向いてません。
未経験者、初心者は基本情報技術者試験を受けないほうがいいです。
半年後『Python2年生 スクレイピングのしくみ』という神本に出合う
プログラミングが嫌になって半年ぐらいプログラミングから離れて過ごしていました。
コロナ化であったので、外出するわけにもいかず、家でずっと任天堂スイッチでゲームしておりました。
たまたま、何かのきっかけで見出しの 『Python2年生 スクレイピングのしくみ』を買いました。
この本は初心者向けにPythonでスクレイピングを目的として書かれている本です。
そこでわたしは衝撃を受けました。
たったの数行でスクレイピングプログラムが実現できていたのです。
1 2 3 4 5 6 |
import requests from bs4 import BeautifulSoup response = requests.get('https://web-lukes.info/') soup = BeautifulSoup(response.text, 'html.parser') title = soup.find('title').get_text() print(title) |
コードはPythonのプログラミングでブログタイトルをプログラミングで取得しています。
プログラミング独学には目的が必要不可欠
プログラミングを独学するには目的が必要です。
目的というのは自分が作りたいものがあるから作るという話ではなく。作る目的、完成させるものが必要です。
料理を決めずに料理をするのは不可能なのに、プログラミングでは完成物を決めずにプログラミングを始めることがおおいです。
プログラミングは完成物を作れば作るほどスキルが上達します。
クイズアプリを作ったことがある人はクイズアプリを作れますし、ブログを作ったことがある人はブログを作れます。
おすすめ教材はこれだ!
初心者でもわかりやすい完成物がある教材を紹介します。
書籍
プログラム人生を変えた本。初心者向けに解説されているので、プログラミング初心者でもわかりやすい。
未経験者のプログラミングの入り口に良いと思います。
Youtube動画
クイズアプリをJavaScriptで作成
エンジニアセイトさんのYoutube動画。これぞ実践的内容。HTMLの操作、イベントリスナー入門に最高です。
電卓をJavaScriptで作成
もっと評価されるべきと思っている動画。
公式の学習教材
- MDN初心者向けチュートリアルでウェブの基礎を学び、HTML、CSS、JavaScripを極める
HTML、CSS、JavaScriptが不安ならここからスタートがおすすめ。MDNはエンドユーザーも使います。
- Reactチュートリアルで五目並べを作成
JavaScriptフレームワークReactチュートリアルは初心者でもわかりやすいです。
Udemy
WordPressのプログラミング。
これをみるとたったの10時間でWordPressのテーマが作れるようになります。
まとめ
プログラミングの独学には目的の成果物が必要。
作る完成物を決めてからとりかかると楽しく続けられるかなと思っています。
BybitがGoogleのIPアドレス規制をしているためです。国内のVPSなら使…
自分のbotで使ってるAPIキーを使用しているんですが、 You have br…
pybit 最新版にコードを変更しました。コードとrequirements.tx…
お返事ありがとうございます。はい。pybit==2.3.0になっております。
コードはあっていると思います。rewuirements.txtは「pybit==…