"Client-side" refers to what happens in the user's browser. This includes HTML, CSS, and JavaScript. These things are all handled and rendered in the user's browser and don't require a server to run. That's why you can actually open .html files right in your browser on your computer without any kind of web server. If you had a site that consisted entirely of HTML, CSS, and JavaScript, you could run it anywhere pretty much.
"Server-side" refers to what happens on the web server before being "served" (aka, sent) to the user's browser. These things include PHP, Python, Perl, the "code behind" in .NET websites, etc. Colloquially this can sometimes be referred to as what happens "behind the scenes" since you don't really see what the server is doing.
One thing that may be confusing to a newcomer is the server-side coding may produce client-side code. In other words, when a page loads and the server is doing its processing, in many instances it might send HTML content to the client, which then renders it in the browser. The client doesn't know that it was PHP doing it or .NET. It just gets HTML code back and renders what's given. Server-side code doesn't know about different browsers and which one you're using. The only way to "tell" is by some kind of data being sent at the time of the request, and the server-side code written to handle it.
A very broad rule of thumb to think about when it comes to server-side vs. client-side is: server-side happens first, client-side happens second.
If you have more specific questions feel free to ask!
EDIT: Just wanted to add that server-side programming usually requires some sort of set up to "process" the code. For example Apache is a very common web server that is used to process PHP files. IIS is a web server that's used to process ASP.NET websites. No server is required for client-side because everything happens in the browser.