文法
プログラミング言語と呼ぶ以上、文法の理解が必要となります。
これをやるにはこう書く、こう書くとこうなるといったような決まりごとの知識です。
これは知っているかいないかだけなので特に考えることはありません。
調べれば出てくるので暗記もしなくていいでしょう。
詳しくはこちら。
アルゴリズム
文法を理解した上で、それを用いてどうやって問題を解決するかという論理がアルゴリズムです。
こちらは考え方を学ぶものです。
ソースコードを読むなりして、プログラマー的な考え方を身に着けましょう。
これらを混同しないように意識しておきましょう。
アルゴリズムに関する記事はこちらでまとめています。
ハードウェア
プログラムはコンピュータ上で動いているのでハードウェアの知識があると尚良いでしょう。
詳しくはハードウェアの知識にて解説しています。