I'm not particularly well-versed in syntax so my answer will be less than complete, but I can hopefully define some terms and give you a bit of background to make your reading a bit easier.
First, syntax relies heavily on trees. I see you have over 1K reputation on SO, so I am going to assume you have a solid grasp on basic graph theory (specifically binary trees). A very basic syntax example is that a root S, for sentence, would have two children: NP, for noun phrase, and VP for verb phrase. Trees are a pain to draw in books and on computers, so we use [ ] brackets to help show the structure of the syntax tree where everything inside of a set of [ ] brackets denotes one node, like so:
S > [NP VP]
NP > [N]
VP > [V NP]
"Mary eats cake"
[[Mary] [V NP]]
[[Mary] [eats NP]]
[[Mary] [eats [N]]]
[[Mary] [eats [cake]]]
See how the [ ] brackets trace out the rough structure of the tree? For increased readability the brackets normally also have a subscript explaining what type of node they represent. You can also see that ">" is not the mathematical "greater than", but rather something akin to an arrow or "=". The use of ">" in this manner is not actually standardized and will vary from author to author.
This was a very simple example. Unfortunately, the modern understanding of syntax is not this simple and there is a lot of detail I left out. Modern syntax attempts to exclusively use binary branching to simplify the structure of each node. This is hard to do with some sentences, such as sentences with double object (aka "ditransative") verbs like "give" in "John gave Mary the book". Such a sentence is impossible to explain using the
S = [NP VP] structure I used above. How can we separate "Mary" from "the book" but keep them both inside the VP while keeping a binary structure? (Incidentally, Larson writes a very good paper on this subject although some of the vocabulary he uses is out-of-date).
Basically, to account for these structure most non-leaf nodes in modern syntax trees are in the following form:
xP > [x yP]
xP > [yP x]
x refers to some literal (a real word or element of speech. Something that affects how the sentence is actually produced). The "P" simply means "Phrase". This is related to X-bar theory, but we'll discuss that a bit later.
As you should know from basic graph theory, trees have no "left leaf" and "right leaf", simply links. As such, these two trees are functionally equivalent, although their surface structure differs. As you should also be able to see, these cause lopsided trees. When the author talks about left branching/right branching, they are simply referring to which side the nested phrase is on.
Syntax assumes that all languages have the same basic structure with some minor differences such which side the tree grows (branches) on changing the surface structure of the language. Other things responsible for differing word orders across languages are object raising and checking theory and a whole host of other things, but let's start small.
So for SVO languages like English, we're right branching; literals that farther from the root appear later in the sentence. Conversely, a theoretical OVS language (I don't believe there are any known OVS languages) would probably be left branching. Given a specific sentence, the syntax trees for English and the OVS language should be functionally the exact same structure; in both cases the object would be the farthest leaf from the root. However, because we branch left in OVS, it's the first object in the sentence.
Now that we have the background out of the way, we can define terms.
C means "commplimentizer". This is a bit difficult to explain but an example of a C literal in English would be "that". These are most noticeable when you embed sentences. Again, an oversimplification but compare "I bought [the food] at the store." with "I ate the food that I bought at the store." We need to use "that" to allow us to embed the sentence "I bought [the food] at the store." It is important to note that "I bought [the food] at the store." still has a C, it is just that this particular C does not happen to affect the surface structure of the sentence (we call this a "null complementizer").
C' is pronounced as "C bar". To understand this, you need to know X-bar theory. Here is where scanning an introductory text book would be helpful (I give suggestions below).
I unfortunately do not know what C0 refers to (again, I am not particularly knowledgeable about syntax). [EDIT - According to jlovegren's answer, what this author calls C0, I simply call C. I.e. a literal complementizer, such as the word "that"]
IP stands for "Inflectional Phrase". Typically it is more useful to split IP into two parts: TP (Tense Phrase) and NegP (Negation Phrase). However, IP is a useful shorthand. Basically, "I" will refer to any set of features that change the verb from its lexical form (think "dictionary form" in French) to it's fully conjugated, fully inflected form. For example:
"to do" + "past neg" = "didn't"
In this example, "past neg" is the inflection ("I"). As you can probably guess, IPs have the following structure:
IP > [I vP]
vP (pronounced "little v P") is a type of phrase needed because of the double object verbs I talked about above. For your purposes, just think of it as a VP.
Finally, I would strongly suggest you first skim an introductory syntax textbook or try to find some introductory lecture slides online because syntax, especially minimalism, has a tendency to build on itself. Without a strong foundation it is hard to understand the more advanced topics. Unfortunately, the book you are reading sounds at least moderately advanced. My school uses Syntax: A Generative Introduction by Andrew Carnie and also Core Syntax: A Minimalist Approach by David Adger in its syntax courses. Both books are good, but I think that Carnie's writing style is a bit more engaging. I think a quick look at one of these books would be quite helpful.