Not a tutorial, but I recommend you read this free chapter from "Getting Started with the Internet of Things" to understand all the moving pieces. I'm not sure what would be a tutorial for this, it's a topic not a specific thing to accomplish. I think your first step would be to find a "thing" (hardware) to work with.
And no, you don't need to know machine language. We've come a long way since developers have needed to program in machine language for user facing applications!
What you need to get started section says - i need to buy some devices (including Netduino). Netduino is .NET based framework, so i was just wondering would i be bound with .NET if i buy Netduino, or it will work with java also, any idea?
However Arduino is similar i found over internet, which i think will work with java and other languages also.
I am asking this because my plan was to learn the concepts from this book "Getting Started with Internet of Things" and then try to apply them with java.
As the link you posted says, Netduino is compatible with the Arduino architecture but uses the .Netmicro framework. This would probably be handy if you already had .Net experience. Native Arduino applications are usually written in C or C++.
I just bought a Raspberry Pi, a tiny, inexpensive, single-board computer, for experimenting. I think it would be easier to use than the Arduino because it actually has a GUI and one can interact directly with the hardware (I haven't worked with an Arduino). Both have active user communities and good industry support.
We happen to have a Arduino forum here at JavaRanch that will field questions these and other devices.