course C# and Java in Depth