質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

意見交換

クローズ

44回答

4285閲覧

初心者のプログラミング上達への方法を知りたい。

kirio

総合スコア13

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

2クリップ

投稿2023/07/18 14:14

編集2023/07/19 01:38

0

2

テーマ、知りたいこと

PaizaのCランクがプログラミング上達の為の効率的な学習方法を知りたい。

背景、状況

大學では、教育学部でC言語を主として、少しscratchとpythonも学習しました。今現在はpythonでコードを書いています。paizaの入門編が終わり、Cランクまでは到達出来ました。他のCランクの問題を解きたいと考えましたが、考えても分からないものが多く、また答えもない為、現在は「競技プログラミングの鉄則」という本を用いて学習していますが、自分には少し早かったように感じています。自分としましては、沢山コードを書くのが上達への近道なのではないかと考えていますが、本や通信講座を調べてもなかなかそういったものが見つかりません。おすすめの学習方法や書籍、通信講座などを教えて頂きたいです。
目的としましては、大学院にまた通いたいため研究に役立てるためのスキルを身につけたいのと、最初に就職してお金を貯めたいため、ある程度のスキルを持っていることを証明したい為です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答44

#1

TakaiY

総合スコア13792

投稿2023/07/18 15:07

単にプログラミングが上手くなりたいというだけでは、漠然としていてアドバイスしにくいですね。
プログラムは道具ですので、プログラミングをする動機というのがるのではないでしょうか?

プログラミング競技に出ることですか?
であれば、「自分には少し早かった」の原因となっているものを克服するための勉強をするべきでしょう。それはプログラミングではないかもしれませんが、プログラミングは目的ではないので。

何か作りたいものがありますか?
あるのであれば、それを提示すると、的確なアドバイスが得やすいと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

winterboum

総合スコア23567

投稿2023/07/18 23:17

問題を解くには3つの能力が必要かと思ってます。

  1. 問題を理解する力
  2. それをどの様に解くのか(アルゴリズム)考える力。特にPaizaや競技プログラムでは。
  3. その解き方をプログラムに落とす力

Cまで来ているということは、3は順調に伸びているということでしょう。
「考えても分からない」ということは、2が不足しているのでしょう(1は大丈夫?)
ですので、「Paizaや競技プログラムで良い成績を出す」のが目的ならアルゴリズムの勉強が必要でしょう。

私は情報の出身ではなく、またこの??年アルゴリズムが勝負な仕事はしてこなかったので、2は弱くなってます。困ったもんです。。。。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

meg_

総合スコア10760

投稿2023/07/18 23:57

「初心者のプログラミング上達への方法を知りたい。」とのことですが、目的は何でしょうか?
コンテストで良い成績を取りたいのであれば、アルゴリズムの勉強は必要です。ですが、仕事に使いたいのであれば必須ではないことが多く、寧ろライブラリの使い方に精通していることが役に立ちます。
いずれにしても、近い目標(達成可能な目標)を立てて学習を進めるのが効果的だと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#4

fana

総合スコア11996

投稿2023/07/19 02:30

プログラミング上達

という言葉はかなり漠然としているように思えます.
一体何ができるようになったら「上達した」と言えるのか? …というところをもうちょっと具体的にしてみると良いのではないでしょうか.
→そうすれば取り組みの道筋も少しは明確になるのではないかな,と.

例えばそれが「競技プログラミング系の問題を解けるようになること」なのであれば,今取り組んでいる方向は正しいのでしょうから,まずは「早かった」と思う要因を明確にして~ということになるのでしょう.
(あと,それ系でも答えがある場所もどうやら存在するっぽいので,paiza にこだわらずにいろいろ見てみても良いのでは)


個人的に「プログラミング上達」という言葉から感じるのは,「将来を見据えてコードを書く力」みたいな…?
修正とか再利用とかそういうのを見据えてコードはどう書いとくのが良いのか的な話(これが自分もなかなかどうして全然できないところなんですけどね).
で,この力を養う方法の1つとしては,「そういう話に関連する失敗を重ねること」が挙げられるのではないかと.
(要は「身に染みる」というか,「こんなことをしたら,後でこんだけ悪夢のようなことになり得るのだぞ」という経験をすると相応に注意するようになるよね.)

…っていう失敗を重ねてみるためには,「問題を解いたら終わり」という書き捨てのコードではなくて,ある程度長いこと付き合うプログラムを作ってみるのが良いのではないかな.
具体的に良い題材は思いつかないけども,少しずつ機能を 追加/拡張 していくようなことを.

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#5

Zuishin

総合スコア28669

投稿2023/07/19 04:57

Paiza スキルチェックでは、D 問題が Hello World レベルで C 問題が FizzBuzz レベルです。
つまり読み書きできれば D 問題が解け、ループや条件分岐がわかれば C 問題が解けます。
C 問題が解けない場合、学習が進んでいないということではなく、たとえ十分な知識があったとしても、プログラミングに必要な大事な物が欠如している可能性が濃厚です。

これは頭が悪いということではなく、向き不向きの問題です。
難しい数学の問題が解ける人でも地図が読めなかったり、一度見た地図をいつでも頭の中で再現できる人でも論文がまとめられなかったり、筋道立ったわかりやすい論文が書ける人でも仕事の手際が悪かったりします。

プログラミングができないことも、普通ならけして恥ずかしいことではありません。
しかし、プロなのにできないとなれば話は別です。
それを職業にしようとするなら、できないと恥をかく場面も多くなり、同じ仕事を割り振られても他人の何倍も時間がかかったり、報酬が少なかったりという実害もあります。
多大なストレスは健康や家庭生活にも影響を及ぼすでしょう。

なぜプログラミングがしたいのかをもう一度よく見つめなおし、他の手段で目的を果たすことができないか検討することをお勧めします。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#6

kirio

総合スコア13

投稿2023/07/19 06:32

回答ありがとうございます。
上達して、というところの意味は問題が存在して、それを自分が1人でコードに書き込めるレベルになれば良いのかなと思っていました。取り敢えずの目標は就職の時にある程度プログラミングができることをアピール出来るレベルになることです。
プログラミング学習の質問をしていているのですが、適性がないとか、そういう話はしておらず、学習方法についてアドバイスして頂ける方の回答を求めています
御理解の程宜しくお願いします

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#7

Zuishin

総合スコア28669

投稿2023/07/19 06:39

編集2023/07/19 06:40

A 問題でもアピールにならないのにアピールしたい人にアドバイスするのは大変難しいですが、C 問題はパターンが少ないのでたくさん解けば同じパターンのものは解けるようになるでしょう。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#8

can110

総合スコア38341

投稿2023/07/19 07:52

ChatGPTの回答

競技プログラミングを学習し、将来的に就職時にプログラミングスキルをアピールできるレベルになるための学習方法や書籍、通信講座についてアドバイスします。

競技プログラミングの練習サイトを利用する:

競技プログラミングの問題を解くためのプラットフォームを利用することで、さまざまな難易度の問題に挑戦することができます。以下はおすすめのサイトです:
AtCoder(https://atcoder.jp/)
Codeforces(https://codeforces.com/)
LeetCode(https://leetcode.com/)

問題解決のアルゴリズムを学ぶ:

競技プログラミングでは、問題を解決するためのアルゴリズムやデータ構造の知識が重要です。アルゴリズムとデータ構造の書籍を参考にすることで、問題を解くための効率的なアプローチを学ぶことができます。

おすすめの書籍:

「プログラミングコンテストチャレンジブック」(第2版):秋葉拓哉・岩田陽一・北川宜稔著
「Pythonアルゴリズム実践入門」:佐藤直人著

オンライン講座や教育プラットフォームを活用する:

競技プログラミングのスキルを向上させるために、オンライン講座や教育プラットフォームを活用することもおすすめです。以下は一部の例です:
Coursera(https://www.coursera.org/):アルゴリズムやデータ構造に関するコースがあります。
Udemy(https://www.udemy.com/):Pythonを使ったアルゴリズム解説コースがあります。

コンテストに参加して実践する:

学習したアルゴリズムやデータ構造を実践するために、定期的に競技プログラミングのコンテストに参加してみると良いでしょう。コンテストはスキル向上に役立つだけでなく、他の参加者との交流も楽しめます。

プロジェクトに取り組む:

競技プログラミング以外にも、個人プロジェクトに取り組むことで実践的なスキルを磨くことができます。例えば、Webアプリケーションやデータ処理など、興味のある分野にチャレンジしてみてください。

最も重要なのは、定期的に問題を解くことと自主的な学習の習慣を身につけることです。地道な努力と継続的な学習がスキル向上につながります。自分のペースで学びながら、着実にスキルを高めていくことが大切です。頑張ってください!

ここはたんに意見やアドバイスを募ることもできますが、本来は意見交換の場です。
つまり、書籍、通信講座など具体的なおススメを挙げてほしいのであれば、まずは自分で調べて出てきたもの、を提示するべきと思います。
また、そもそもなのですが、アドバイスがほしいだけならChat-GPTや就職エージェントなどに相談したほうがよいかと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#9

kirio

総合スコア13

投稿2023/07/19 07:53

アピールというのは全くプログラミングできない訳では無い、ということと自分で学習する意欲がある、ということを面接官に示したいわけです。追記ですが、Aランクになるとpaiza会員の中の上位10パーセントに当たる訳で、応募出来る企業もかなり多いですし、なぜそれでアピール出来るわけでもないと考えているのか分かりませんが、paizaでスキルチェックすることの意味はあると考えています。今はpython3エンジニア認定基礎試験の勉強をして、企業へのアピールというのは、資格を取得することで考えています。とても優秀な方なようで、大手企業でエンジニアとして活躍されている素晴らしい方なのかもしれませんが、偏った知識などで回答しない方がよろしいかと思われます。paizaのランクの話も仲良くしてくださっているエンジニアの方にアピールになるよ、と教えて頂きましたので、私はそれを信じています。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#10

kirio

総合スコア13

投稿2023/07/19 07:55

Cランクではアピールにならない、というのは充分に理解していますが、Bランク程度であればある程度プログラムを組める、という認識でおり、企業にもそれは伝わるのではないかと考えています。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#11

kirio

総合スコア13

投稿2023/07/19 08:02

最初に書いていたと思いますし、プロフィールにも書いているのですがpaiza、Atcoder、競技プログラミングの鉄則という本で学習しています。オススメの学習方法という点では充分に議論として成り立っていると考えております。この学習方法が効率的だとか、この方法では良くないなど、議論する余地は沢山あると思うのです。自分で調べたのは、プログラミングスクールなどがありますが、予期していたことではありますが、なかなか金額が莫大なので諦めました。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#12

kirio

総合スコア13

投稿2023/07/19 08:08

chatGPTに相談することもひとつの良いアイデアであると考えますし、回答を頂けましたことは大変ありがたいのですが、私はエンジニアとして活躍したかった為、現在私の希望する職種の方に聞いた方が参考になるのではないか、と考えて質問させて頂きました。また、うつ病で現在療養中のため、今すぐに仕事をするのは難しく、就職エージェントなどを利用するのは、今すぐに働きたい訳では無いので、エージェントの方に失礼なのではないかと考えているため、利用は控えたいと考えています。働ける時期が来ましたら、その選択肢も取り入れようと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#13

kirio

総合スコア13

投稿2023/07/19 08:16

なかなか全部の回答に返信できなくて申し訳ございません。ランクCで考え方をプログラミングに落とし込むことは出来ているなどと言って頂き、とても嬉しく思っています。しかし、解答コードを見ると、まだまだ私の知らない書き方、モジュールなどが存在しており、基礎的なところが不足しているのも理解しています。数学的思考能力の欠陥も認めています。競技プログラミングを勉強するようになって、自分の力不足を痛感しています。fana 様に指摘頂きました通り、やりたいこと、目標が具体的では無かった為、追記させて頂きました。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#14

Zuishin

総合スコア28669

投稿2023/07/19 08:40

A ランクは AtCoder で言うと灰色(八つのランクのうち一番下)から出られるかどうかギリギリくらいの難易度だったと思います。
プログラマーを求めている会社には頼りなく、求めていない会社には不要な実績で、国家資格ですらありません。

ただ、一問も正解しなくてもスキルチェックにチャレンジするだけでスカウトメールが届くそうなので、他に行きたい職場ややりたい仕事がないのなら応募してみるのも良いかもしれません。

C ランクの勉強方法ですが、既に書いた通り過去問を解くことくらいしかありません。
なぜなら、プログラマーに向いている人ならここでつまずくことは無いからです。
参考書なども C ランクレベルの問題は何も説明しなくてもできることが前提として書かれていることが多いと思います。
逆にここでつまずいた「向いてない人」が断念しているため、D ランク以下が 50% という分布になっています。
分布のピラミッドを見て、数値がピラミッドになっていないことに違和感を覚えませんでしたでしょうか?

C ランクが解けるようになったら次は B ランクですが、このあたりから入門レベルと呼んでいい難易度になりますので、入門書を買って勉強しましょう。
B ランクは昨日今日勉強し始めた人のレベルなので、もちろん就職には全く影響しません。

A ランクになると、少しアルゴリズムを意識し始める必要がでてきます。
B ランクまでは基本的な文法さえ知っていれば他には何も必要ありませんでしたが、ここでは中学レベルの数学や有名なアルゴリズムをいくつか頭に入れておかなければ解けないこともあります。
バブルソートを何も見ず実装できるくらいの力は必要でしょう。
競技プログラミングの本が役に立ち始めるのはこの辺りからです。

S ランクでは動的計画法などの実践的なアルゴリズムが必要になってくるので、プログラマーを目指すならここが下限となります。

一般職ではプログラミングの技術は不要なので、S ランクだとしても、ゴミ資格よりも更に低い扱いです。
VBA のマクロをメンテする必要のある事務職があるなら喜ばれるかもしれませんが、その時は地獄の入り口だと思って覚悟して入社する必要があるでしょう。

仲良くしているエンジニアさんに実際のところを聞いてみてください。
もしかしたらもっといい資格を知っているんじゃないかと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#15

fana

総合スコア11996

投稿2023/07/19 08:45

編集2023/07/19 08:45

#9

「アピールがどの程度効果的か?」という点に関しては,それはアピールされる側に強く依存する事柄でしょう.
で,ここに意見を書くに際してのそこら辺の想定具合みたいなのも書き手によって異なり得るでしょうから,アピールになる/ならん という意見は双方共にあり得るのが自然かと.
多様な意見の中には自分とは異なる意見もあるのがあたりまえでしょうから,そこで変に戦う(?)必要は無く,「そういう意見もあるのか」と捉えておくのが良いのではないかと.
そもそもこの「意見交換」というやつは,何らかの統一的な見解を作り出す場でもないハズなのですし.

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#16

Zuishin

総合スコア28669

投稿2023/07/19 08:51

まあ英検三級がアピールできるかと言われたら、私はできないと答えるし、できると答える人もいるんでしょうね。
Paiza A ランクよりは英検準二級や基本情報技術者試験の方がアピールできるのではないかと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#17

kirio

総合スコア13

投稿2023/07/19 09:08

回答ありがとうございます。資格の件ですが、基本情報技術者試験や他の試験についてもお話して頂きました。しかし、仕事に就くとなると資格より実践的なスキルを身につけていた方が良いとご意見を頂きまして、その中の1つとしてpaizaで動画を見て学習して、スキルチェックを受けてみてはどうか、というアドバイスを頂きました。就活の際に、自己アピールとしてpaizaのランクなどを見せたりしてみても良いのでは?と教えて頂きましたので、それで勉強していました。元々大学ではC言語の講義を受けておりまして、Pythonは入門編の講義ひとつを受けただけですので、Pythonは最近始めたばかりの初心者となります。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#18

kirio

総合スコア13

投稿2023/07/19 09:15

#15
そうですね、fana様の言うことはごもっともだと感じます。このサイトは昨日一昨日に使い初めまして、プログラミングに関して質問していたのですが、記述してあることを質問してきたり、ただ低評価を付けられる、質問の意図と違ったことを回答してくる、などの事が続いており、少しイライラしていました。合わせて、最近学習を始めたばかりの初学者に「適性が無い」などと直接顔を合わせたことの無い人が記述されて、イライラしてしまいました。申し訳ありません。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#19

TakaiY

総合スコア13792

投稿2023/07/19 09:24

目的がPaizaのBランクを取りたいということであれば、Paizaにこだわってやってみるのはどうでしょう。
そういうスキルというのは、他ではなかなか付かないものなので。

ただ、他の方の回答にもあるように、Cランクあたりはまだ複雑なアルゴリズムを駆使するレベルではないので、競技プログラムの参考書ではレベルがちょっと高すぎるでしょう。かといって、こういうやつってなかなか情報が無さそうです。
やさしそうな問題から順にこつこつ取り組むしかないんじゃないですかね。

また、paizaには、問題集てのがありますが、やってますか?レベルごとに必要なスキルを習得できるようになってます。


以下雑談

Paizaのランクが就職でのアピールになるかどうかについてですが、「なる」というのも「ならない」というのもどちらも正しいです。受け入れ側がどのような人材を求めているかによるからです。Paizaのランクで図れるようなスキルが、実際の開発現場ではそれほど重要でないということもあるでしょう。
なので、多くの努力をしてランクを得たとして、それに過度の期待はしないほうがいいでしょう。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#20

kirio

総合スコア13

投稿2023/07/19 09:37

回答ありがとうございます。paizaにこだわってやってみる、というのも確かに一つの方法ですね。paizaの問題集については途中まで解いていたのですが、私は無料会員でして、チケットを切らしてしまいました。現在無職(肩書上はまだ学生)というのもあり、親にクレジットカードを取られてしまい、有料会員登録する際には親に頼まないと難しいかなと考えております。おっしゃる通りで、piazaによるスカウトを採用している所としていないところがあるように、地元の就職したい企業でどの程度有利に働くのか、全く分かりません。それと同様に今取得しようとしている資格もどの程度有利に働くのか、まるで分かりません。過度な期待はせず、勉強は続けていきたいと思っております。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#21

fana

総合スコア11996

投稿2023/07/19 09:52

基本情報技術者

私の頃は「二種」とかいう別の名前だったので,現在では通用しないような古い考えになるのかもしれませんが……
何はともあれとりあえずコレは取っておくに越したことはないのではないか,とか.

私の大昔の就職活動時期には「二種は取ってるのが当たり前」みたいな雰囲気があったような気がします.
(運転免許証みたいな.無いと逆に「なんで?」って面接で問われるみたいな)
人手不足がさけばれている(らしい)現代ではその辺どうなのかはわかりませんが,変なつまらない足切りみたいなのを避けるお守りくらいの効力は期待できるかも??

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#22

kirio

総合スコア13

投稿2023/07/19 10:08

#21

なるほど、資格は持っておいた方が確かに良さそうですね。以前は大学の簡単な講義のレベルしか解けず、途中で他の勉強に切り替えてしまいましたが、就職するにしても大学院を目指すにしても、取っておきたい様に感じました。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#23

meg_

総合スコア10760

投稿2023/07/19 10:56

編集2023/07/19 11:04

おすすめの学習方法や書籍、通信講座などを教えて頂きたいです。

アルゴ式も良いかと思います。

書籍なら問題解決力を鍛える!アルゴリズムとデータ構造が分かりやすいかと思います。

Pythonの教科書としては世界標準MIT教科書 Python言語によるプログラミングイントロダクション 第3版はどうでしょうか?(私が勉強したのは第2版ですが)

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#24

kirio

総合スコア13

投稿2023/07/19 11:07

#23
回答ありがとうございます。
書籍、ホームページ共に目を通させて頂きました。アルゴ式、とても面白そうで興味を惹きました。
書籍もとても良さそうでした。購入を検討したいと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#25

can110

総合スコア38341

投稿2023/07/19 11:24

#11

PaizaのCランクがプログラミング上達の為の効率的な学習方法を知りたい。

とりあえずアルゴリズム初心者におすすめの学習方法とは?手順や勉強するメリットも解説!が参考になるかと思います。
学習方法、Webサイト、書籍など具体的に挙げられていますし「paiza」の開発者が書いた記事なので役に立つと思います。
また、上記であげられている一週間で身につくアルゴリズムとデータ構造はCランクの学習にはちょうどよいかと思われます。

あと、この場に便乗して、数学科卒であるあなたに、以下についての意見を頂ければと思います。
プログラミングには多少なりとも数学的なスキルがあると有利です。
そこで、プログラミングおよびアルゴリズムのスキルアップに効果的に役立つ、勉強したほうがよいおススメの数学上の分野を教えてください。
また、数学的なスキルを上達させる最も効率的な具体的な方法を教えてください。

そのさいに、参考になる書籍があれば具体的におしえてください。
なお、わたしは加減乗除ができる程度の基礎ともいえないスキルしかないのですが、知人の数学科卒に尋ねたところ「基礎から勉強すれば?プルバキってやつが出してる本がおススメだよ」と半笑いでいわれましたが、本当でしょうか?

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#26

meg_

総合スコア10760

投稿2023/07/19 11:42

#24

書籍についてはまずは図書館で借りられるのが良いかと思います。読んでご自分に合っていると思われたら購入されると良いかと思います。翻訳本については訳が合う・合わないもありますので実際に手に取って確認されることをおすすめします。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#27

kirio

総合スコア13

投稿2023/07/19 12:02

編集2023/07/19 12:07

#25
回答ありがとうございます。回答者様の仰っていることはブルバキ数学原論のことでしょうか?数学原論はなかなかに難しいと思いますが、有名な本ですので一回読んでみても無駄にはならないのではないかと思います。回答者様がどの程度の数学の知識をお持ちになっているのか、定かでは無いのですが、数学科卒ということで私に質問されているのであれば大学数学程度の知能をお持ちになっていると仮定させて頂きます。私は教育学部数学専攻でして、回答者様のお友達とは少し専攻が違うのではないかと思います。数学について有益な知識を得たいのならば、理学部数学科を出た方にお話を聞いた方がよろしいのではないかと思われますが、おすすめのサイトや記事を教えてくださったので、私なりに回答させていただきたいと思います。
線形代数…プログラミングやベクトル解析などの分野で使われています。矢野健太郎著の「微分積分」という本を講義で使っていましたが、演習問題が多くてとても勉強になりました。同じ著者の「線形代数」という本があるようで、個人的に見やすかったので、ぜひご覧になってください。
私は偏差値50程度の大学を卒業していまして、勉強があまり得意では無いのですが、参考にして頂けましたら幸いです。回答者様のようなリンクに飛ぶやり方が分からず、申し訳ないです。
数学的なスキルの向上に関しましては、動画、講義、本などで基礎知識(例えば公式、定理など)を身に付けた上で演習問題を沢山解いていくのがよろしいのではないかと思います。演習問題を沢山解けるという意味でも上記の本はおススメです。ただ注意点がございまして、演習問題の解答がかなり略式的でした。私はテスト勉強の際に担当の教授のところへ行って教えて頂いていましたが、なかなか一人では手厳しいかもしれません。数学科卒のお友達がいるようですので、分からないところは聞いてみてもらえればと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#28

kirio

総合スコア13

投稿2023/07/19 12:25

思い出したことがありまして、皆様にご意見いただきたいです。通信研修期間:札幌情報技術学院というものがありまして、3万円でSE養成コースやプログラマ養成コースを受けられるみたいです。これについて、知り合いのエンジニアに聞いてみたところ、Progateやpaizaなどで学習してみたらよいのではないかという意見を頂きまして、Python3入門編を無料で受講してみました。3万円というのは他のプログラミングスクールより格安でなかなか魅力的ではあると思うのですが、こういったコースを受講することによりプログラマー、SEとして就職できるのか、今の自分からどれくらいプログラㇺを組めるようになるのか、分からないのでまだ受講申し込みをしていません。受講するべきか否かのご意見を頂きたいです。理由も踏まえてくださるとありがたいです。金額については問題ないです。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#29

kirio

総合スコア13

投稿2023/07/19 12:30

#26
承知いたしました。図書館に行く機会がありましたら、ぜひ借りてみたいと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#30

can110

総合スコア38341

投稿2023/07/19 12:31

編集2023/07/19 12:33

#27
まずは回答ありがとうございます。
すみません。こちらの#25 での意見の頂き方が理解しにくかった面があったかもしれません。

回答にあげていただいた「ブルバキ数学原論」だと思いますが難しいとのこと。
その書籍は一日30分程度、一週間程度で読了、理解できるものでしょうか?
もしそうでなければ「無駄にはならない」ものではなく効率的にスキルアップに役に立つものが知りたいので
そのあたりを考慮しておススメいただければ幸いです。
また、他にあげていただいた矢野健太郎著の「線形代数」についてアマゾンで書評を見たのですが「解答が数値のみ,あるいは略となっていることがあり,自学自習には向かない書籍である.」
とありました。これはとても効率的な学習には向かないと思うのですが、いかがお考えでしょうか?

なお、私の数学的なスキルは#25 で述べたとおり加減乗除レベル、いわば初心者でして、ナニナニ部の数学科といった違いはもちろん分かりかねますので、全体的にもう少し初心者に分かりやすい回答およびアドバイスを頂ければと思います。
引き続きよろしくお願いいたします。
また、数学科は知人であり友人ではありませんので気軽に聞くことはできません。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#31

kirio

総合スコア13

投稿2023/07/19 12:46

#30
ブルバキ数学原論はかなり厚いはずですので、その時間で読むのは不可能であると考えます。また、回答者様の友人であると勘違いしていたため、自分で解けるページは解いて分からないページを友人に聞けばよい、と考えておりました。私は、大学在学中に数学を勉強していたため、分からない問題を聞ける相手(友人、先生など)がたくさんおりましたので、あまり自主学習をした経験はございません。講義の為に本を買うのですが、どれも略解ばかりで独学に向いている本はありませんでした。加減乗除ができるレベルということは小学校で習うレベルということでしょうか?であれば、線形代数を理解するのは不可能に近いと考えます。線形数学は確かにプログラミング学習に役立ちますが、大学数学なのである程度高校数学まで理解した上で成り立つものだからです。加減乗除は出来るとのことでしたので、小学校4年生くらい(どの学年で加減乗除を学習するのか忘れたので定かではありません)までの参考書(小学生、中学生、高校生まででしたらほとんど丁寧な解説付きの参考書であると思います)を手に取って、読みながら演習問題を解いていただけたら、と思います。プログラミングと数学の相性はかなり良いので、小学生、中学生レベルであれば1日30分程度でも大丈夫だと思います。高校生レベルになるとだいぶ難しくなってきますが。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#32

kirio

総合スコア13

投稿2023/07/19 12:51

#30
例えば、AI開発、機械学習でも数学はついて回ります。しかし、私が見た限りではどれも高校レベル以上(だいたい大学数学レベル)で使用します。線形代数もそうですが、質問者様は一旦高校2年生までのレベル(数1A、数2B)までを理解することを目標にしてはいかがでしょうか。また、本を読むというのではなく、数学の場合は公式、定理を理解し使いこなすことが大事ですので沢山の問題に挑戦(1日30分でも)していただけたら、理解が早まり効率的な学習方法になるのではないかと考えます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#33

can110

総合スコア38341

投稿2023/07/19 12:57

編集2023/07/19 13:04

#31

ご丁寧に回答ありがとうございます。
わたしも地方の大学を卒業したのですが、いかんせん微分積分とかは社会に出てからはほぼ使わないので今は加減乗除レベルといったところです。

そのうえで追加でお尋ねなのですが、プログラミングおよびアルゴリズムのスキルアップに効果的に役立つ分野として線形代数をあげていただいたのですが、ふと素朴な疑問がわきまして具体的に線形代数のどのような知識がプログラミング、アルゴリズムに結び付くのだろう?と思いました。
これについて具体的に教えてください。
線形代数もいわば加減乗除レベルだと思うのですがいかがでしょうか?

また

動画、講義、本などで基礎知識(例えば公式、定理など)を身に付けた上で演習問題を沢山解いていくのがよろしいのではないかと思います。

これについて、具体的な動画、講義をおしえてください。
また公式、定理についても具体的にどの公式、定理がどのプログラミング上の知識、具体的なアルゴリズムの理解に役に立つかを教えてください。
(たとえばpaizaの~といった内容の問題には数学の~という公式、定理が役に立った、といった)

質問ばかりですみません。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#34

can110

総合スコア38341

投稿2023/07/19 13:11

#32
回答ありがとうございます。
ちょうどAIや機械学習にも興味があったのでたいへんありがたいです。

例えば、AI開発、機械学習でも数学はついて回ります。しかし、私が見た限りではどれも高校レベル以上(だいたい大学数学レベル)で使用します。

とのことですが、約一年後、来年の秋くらいまでにそのあたりのスキルをつけられたらと思うのですが、一日30分程度の学習でそのレベルの数学的なスキルは身につくでしょうか?
もし不可能であれば、より短期間で目的を達成できる、効率的な学習方法を教えていただけないでしょうか?

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#35

kirio

総合スコア13

投稿2023/07/19 13:34

#33
ご回答ありがとうございます。大学では、広く浅くたくさんのこと(これを言うと大学が何となくわかってしまいそうですが、理科、数学、情報(プログラミングのこと))を学びました。しかし、今思えばなぜ疑問がわかなかったのか不思議なのですが、線形代数はプログラミングに役立つよ、ということを講義で教えてもらいながらも、何がどのように役立つか全くわかりませんでした。AI学習で使われるようですが、これでは質問の答えになっていないので自分で調べてみました。pythonでは、リストから要素を取り出すことがありますよね。(split()など)その際に線形代数の行列式が使われているのです。ベクトル同士(これはpythonの要素のこと)足し算することで、リストのそれぞれの要素を取り出して学習することが出来ます。これは直接的な関わりといっても過言では無いと考えます。また、先ほどちらっと検索した際に出たのですが、回答者様が今は使わないと仰っていた微分積分なども機械学習で使用するようです。(申し訳ないですが、これについては自分でお調べになってください。)paizaでPython×AI・機械学習入門編というものがあります。これについては、有料でまだ私は受講していないのですが、数学とプログラミングを学べる内容のようです。また、「予備校のノリで学ぶ「大学の数学・物理」」(ヨビノリ)というYoutuberがいるのですが、大学数学(線形代数)というのが沢山出てきます。大学に入学しているということは、ある程度受験で数学を使用したのではないかと考えるので、忘れたと仰っていましたが、軽く高校数学など復習された後に、見ましたらだいぶ分かりやすいと思います。物理の講義を取った際に、先生の説明では、良く理解出来なくて、動画を拝見したのですが、かなり分かりやすかったのでおススメです。人気の動画として「中学数学からはじめるAI(人工知能)のための数学入門」というものがあり、こちらは長いのですが、少しずつ見て頂きましたら、プログラミング(AI)と数学の関連性がよく理解できるのではないかと考えます。理解した方が良い公式ですが、paizaの講座(上記でおススメした)に出てくるフーリエ変換、あとは行列式の計算の仕方など(本当は他にも沢山あると思いますが、私の知識ではこの程度)覚えて頂ければ、と思います。学習していく過程でこの公式を覚えたらいいんだ、というように学ぶ過程で学ぶべき数学公式が見えてくると思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#36

kirio

総合スコア13

投稿2023/07/19 13:43

#34
>線形代数もいわば加減乗除レベルだと思うのですがいかがでしょうか?
私もそう思いますが、それを言ってしまえばフェルマーの最終定理でさえも、加減乗除レベルだと思います。ほとんど全ての数学は四則演算から成り立つものですよね。私は回答者様が勝手に小学生レベルの四則演算のみ行えるものなのかと勘違いして回答してしまいました。申し訳ございませんでした。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#37

kirio

総合スコア13

投稿2023/07/19 14:03

>約一年後、来年の秋くらいまでにそのあたりのスキルをつけられたらと思うのですが、一日30分程度の学習でそのレベルの数学的なスキルは身につくでしょうか?
もし不可能であれば、より短期間で目的を達成できる、効率的な学習方法を教えていただけないでしょうか?

何か1年後に大学院試や資格試験の勉強など控えているのでしょうか?回答者様の数学のレベルが事細かにわかっていないとその質問に答えるのにはなかなか難しいように思います。AI学習、機械学習と一言で言っても範囲は広大で、例えば大学院の研究レベルで自分で線形代数をプログラムに落とし込み、医療開発や農業開発に役立てたいなどとなるとなかなか1日30分の学習では私の場合は厳しいです。(数学は得意不得意がありますので、私はそこまで得意ではないので)しかし、質問者様がとても数学が得意で効率よく勉強していけば可能かもしれません。私は数学はテスト前1週間で詰め込み学習をするタイプで、終わった後は記憶からすっぽり抜けてしまうタイプでしたが、覚えようと思ったこと(数学の場合、公式、定理など)は割と覚えられる方だったと思います。私は数学はそこそこ好きでプログラミング学習が好きな性格なので、数学の効率的な学習方法、というのは演習問題を沢山解いて、その問題を自分のものにすることだと思います。公式、定理を使いこなせるようになる、というのが数学が出来る人なのではないでしょうか。(センター試験などでもそうですよね、数学者レベルだと話は違うかもしれませんが)
余談ですが、私はずっと椅子に座って大学院試験に向けて勉強していた結果、急に涙が出る、過呼吸、息苦しい、常に眠気に襲われる、夜になると不安感が強くなる、勉強が頭に入ってこない、だるい、頭痛、咳が出る、微熱が続くなどの症状に襲われ、うつ病との診断を受け、大学院に入ったものの研究どころではなくなり実家療養しないと駄目な体になりました。回答者様は無理なく、勉強を頑張って頂きたいと思います。体を壊すと勉強どころではなくなります。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#38

can110

総合スコア38341

投稿2023/07/19 14:26

#35#36#37

いくつもの回答ありがとうございます。とくに具体的な期限のある目標はないのですが、なんとなく来年にはAIエンジニアって名乗れたらカッコイイな、程度での質問でした。
YouTube動画のおススメもありがとうございます。予備ノリは好きで観てます。
「好きこそ物の上手なれ」という諺もあったかと思いますが、とりあえず自分の興味がある問題があれば、それに取り組んで地道に勉強していきたいと思います。

あと、この職業はうつ病は職業病といわれるくらい当たり前なのですが、体を壊すと本当にシンドいですしお仕事どころではなくなって食い扶持なくなり悲惨なことになりますので(実際はマトモな会社なら対応に慣れてますしちゃんんと休業手当が出ますが)、お互い無理ない程度に目標に向かって進めればと思います。

回答ありがとうございました。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#39

kirio

総合スコア13

投稿2023/07/19 15:42

前正しくテストを通らなかったpaizaのCランクちょっと考えれば、テストケース通りました。競技プログラミングの勉強したら、少しマシになったかもしれません。他の問題にもトライしてみようと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#40

fana

総合スコア11996

投稿2023/07/20 02:05

編集2023/07/20 02:34

「効率」というワードの存在を考えると

  • 簡単な問題をN個こなす
  • 難しい問題を1個こなす

の両者で同じ時間がかかる場合,どちらに得る物が多いのか?(より多い側の方が「時間効率」は良いと言える)みたいな話も考えてしまいますね.

(私はpaizaの仕組みを知らないで,下の方のランクの問題をすっ飛ばすようなことが可能なのかどうかわかりませんが)
現状ではまずはCランクを相応にこなす必要があるとしても,それが終わったとき,次が別にBじゃなくても良いのならば,AとかSとかいうのにチャレンジしてみても良いのではないかな,みたいな.
(まぁもちろん「結局順番にやってく方が早い」みたいな話もあり得そうですが)


paizaをググってみたところ,

各問題とも1回ずつ挑戦できます
与えられた課題を解決するプログラムを時間内に書いてコードを提出してください

とかいう話みたいなので,ここでの成績みたいなのを対外的に見せることを考えている場合には,「ちょっと興味本位で上のランクの問題を覗いてみる」みたいなことはし難い感じですね(成績にキズがつくのかもしれない).
まぁ難しい問題にチャレンジしたくなった場合にはどこか他所でやれば良いのかな.

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#41

kirio

総合スコア13

投稿2023/07/20 02:12

#40

現状ではまずはCランクを相応にこなす必要があるとしても,それが終わったとき,次が別にBじゃなくても良いのならば,AとかSとかいうのにチャレンジしてみても良いのではないかな,みたいな.

確かに、その意見もごもっともです。今の段階では、Aランクはなかなか厳しい(多分Bランクもなかなか厳しい)ので、まだまだ実力不足ですが、Cランクの問題は120問程度あったと記憶していますので、それを解き終わるころにはスキルアップも目指せるのではないかと考えます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#42

Zuishin

総合スコア28669

投稿2023/07/20 02:20

ループと条件分岐だけ知っていればできる C ランクができないのは四則演算が理解できないのに数学に手を出すようなものなので、飛ばすわけにはいかないでしょうね。

時間がたっぷりあるうちにやっておくのが良いと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#43

kirio

総合スコア13

投稿2023/07/20 02:46

#40
回答の編集、ありがとうございます。わざわざ調べて頂きましてありがたい次第です。スキルチェックは確かに一度の受験に限りますが、問題にさっと目を通し、分からなそうであればページ移動を行えば、制限時間がストップされますので、そのあたりはあまり問題が無いかなと思います。似たような難易度(Bランクでも難しいのと簡単なのがある)の問題も存在しているので、駄目だったら同じような難易度の別の問題にチャレンジしてみたいと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#44

Zuishin

総合スコア28669

投稿2023/07/20 02:56

問題にさっと目を通し、分からなそうであればページ移動を行えば、制限時間がストップされますので、そのあたりはあまり問題が無いかなと思います。

不正行為です。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問