I am a newbie in this field and I don't know much about how the program logics are build.I had learned some programming languages .I want to test my strengths but where don't know and wanted to improve logic building skills.
Best answer by ATP
Hi. Let your curiosity drive you in this field widely.
If I should throw some keywords, I'd anyway say: Computational Logics, Theory of Numbers, General Linguistics.
Programming is a cross-field discipline, means that you could be called to set up problems of Geology or Economics independently. This also means that Programmers are asked to quickly learn the basics of a new field. Therefore, Pre-Calculus skills are fundamental, and Linear Algebra appreciated (see Machine Learning).
PS - Not to mention Statistics
The best way to learn something is combining wisely Memory + Exercise. There's a lot of sites that allow you to practice on the fly, eg W3Resources or Codewars.
Nowadays Database management competencies are widely needed as well (see Query languages).
Personally I am interested also in Machine level programming, if you want to take a look in a course like "From Nand to Tetris".
Last but not least, you can consider Creative Coding as a way to master programming, then have a look to p5.js (p5js.org)