What are the things that a server side programmer should be aware of that a client side programmer should not?
and what are the things that a client side programmer should be aware of that a server side programmer should not?

Server side means all the math and calculations will be done on the server, whereas client side will be on the user/client machine. For security and integrity of the data, server side is usually better since the end user will not be able to see or manipulate the data that gets sent back to the server.

Server side programming :
Where the code will be executed and maintained in the server side. We will use the server side programming when performing the business logics/complex calculations etc..

ex: C#, Vb.NET etc...

Client Side Programming :

We wil use the client side programming to perform the validation and show the message to the user in the client side. Code will be validated in the client machine

EX: JavaScript etc...

Hope this is clear for your