Design Turing Machines

Prerequisites for learning Computational Complexity theory?
Syllabus
The Turing machine model: time and space as complexity measures.
Complexity classes and hierarchies.
Reductions between problems and completeness.
The classes P, NP, PSPACE, LOG, NLOG; examples of complete problems.
Circuits and non-uniform models of computation; the class NC; efficient parallel algorithms.
Randomised algorithms and randomised complexity classes.
Approximate solutions to hard optimisation problems; performance ratios; bounds on performance ratios using the notion of “probabilistically checkable proof.”
Provably intractable problems.
I am basically a holder in Electrical Engineering and have not studied the theory of computation and algorithm design and analysis. I am familiar with digital electronics, basic discrete maths, finite state automaton, and basic probability theory.
Can I learn these topics without difficulty
Theory Of Automata!
Turing Machine Opera – part 1/4