I understand that if words are in bold, Google will see these as more important.
Can anyone tell me how Google recognises the words are in bold? Is it by interpreting the css?

AFAIK, it is scanning the <b> and <strong> tags.

So would they know a word was in bold if I coded it like...

<p class="boldgreen">Some text in here</p>

... and with

.boldgreen{font-weight: bold; color: #090;}

No, they wouldn't. You would need to use <strong>Some text in here</strong> You can then code that strong tag however you want
You can even do strong { font-weight: normal; } so that it will have SEO weight but it won't look bold to the website visitor.

commented: i stand corrected :) Thanks! +1

Ah, that makes sense. Looks like that website I thought was finished isn't :)

Well you would use it within html code, not here ;)

make bold
<strong>Some text in here</strong>
also you can use the tag <B>
better use this attribute in inline element in HTML and dont use in css :-)