C# book for 16 yo?

  • Thread starter Thread starter Jon Shemitz
  • Start date Start date
J

Jon Shemitz

My 16 yo son is ready to move beyond level editing and "Multimedia
Fusion." He's going to ignore his Mom's suggestion of Visual Basic,
and take my suggestion of starting with C#. Now, I actually have
an Intro To C# section in my ongoing .NET 2.0 book, but I assumed
that my audience does not want e.g. yet another discussion of
inheritance and polymorphism - it's all "same but different" and "this
is new." In short, not suitable for a programming novice.

Were I even the slightest bit Stakovian, I'd seize this opportunity to
write a programming primer for my son. But, at the rate I work, I'd
deliver the chapters much too slowly to be much use to my student. I
wonder if anyone could recommend a book that explains the fundamentals
of variables, statements, methods, objects, &c, using C#?

Failing that, I guess I can generate a couple pages of notes for each
tutoring session and go without a proper text, but a good book would
probably be easier for both of us.
 
Hi Jon!

I wonder if anyone could recommend a book that explains the fundamentals
of variables, statements, methods, objects, &c, using C#?

I think this one is perfect for your son:

Programming in the Key of C#
by Charles Petzold
Paperback: 300 pages ; Dimensions (in inches): 1.29 x 9.14 x 7.38
Publisher: Microsoft Press; 1 edition (July 30, 2003)
ISBN: 0735618003

http://www.charlespetzold.com/key/index.html

Cheers

Arne Janning
 
My 16 yo son is ready to move beyond level editing and "Multimedia
Fusion." He's going to ignore his Mom's suggestion of Visual Basic,
and take my suggestion of starting with C#. Now, I actually have
an Intro To C# section in my ongoing .NET 2.0 book, but I assumed
that my audience does not want e.g. yet another discussion of
inheritance and polymorphism - it's all "same but different" and "this
is new." In short, not suitable for a programming novice.

Were I even the slightest bit Stakovian, I'd seize this opportunity to
write a programming primer for my son. But, at the rate I work, I'd
deliver the chapters much too slowly to be much use to my student. I
wonder if anyone could recommend a book that explains the fundamentals
of variables, statements, methods, objects, &c, using C#?

Failing that, I guess I can generate a couple pages of notes for each
tutoring session and go without a proper text, but a good book would
probably be easier for both of us.

Applied Microsoft .NET Framework Programming by Jeffrey Richter(
http://www.amazon.com/exec/obidos/ASIN/0735614229/ ). There really
isn't a better detailed, all-around .NET book out there.

Austin
 
Jon,

First I would suggest first learning Visual Studio.NET. It will make
learning C# easier if you understand VS.NET. Microsoft has a book called
"Effective Visual Studio .NET". which is excellent for a beginner.

Then I suggest 2 books to actually learn C# - Microsoft has a book called
"OOP with Microsoft Visual Basic.NET and Microsoft Visual C#.NET Step By
Step" to begin to understand Object Oriented concepts, which is very
important to quality programming. And Murach has a book called "Murach's C#"
which is awesome and I think it is the easiest / best way to learn C#.

Also, if he is a visual person and does not really enjoy books, then visit
http://www.learnvisualstudio.com which has videos. (please tell them I sent
you so they add extra time to my membership) But I would suggest using this
after doing the books unless he doesn't do books well. This will show you
specific things, but a book takes you through from start to finish.

Once he knows some C# then he'll have fun with these:

Websites-
like The Terrarium game at
http://www.windowsforms.net/Applications/application.aspx?PageID=30&tabindex=8

http://www.gotdotnet.com/default.aspx
http://msdn.microsoft.com/vcsharp/
http://www.c-sharpcorner.com/
http://www.developersdex.com/csharp/

and many more can be found at:
http://directory.google.com/Top/Computers/Programming/Languages/C-sharp/

Or learn more from the webcasts at
http://www.microsoft.com/seminar/events/developer.mspx

He may want to search for the words "Best Practices" once he understands C#
so he can learn the best way to program.

C# is a GREAT language. Enjoy!

But if he has a tough time with C# then move him back to VB.NET. In my
opinion, (sadly) Microsoft seems to be trying to segregate their languages
and not give them all equal features. VB.NET is aimed at previous VB
programmers and has some features that I think are aimed at beginners. Plus
it is not case sensitive and does not require a ";" after statements.

However, in my opinion and hotly debated by others, C# is the better
language that combines all the best features of previous languages and is
fully object oriented. So I think he made the best choice in deciding to
learn C#. Also when he's older, my guess would be that he can make more
money programming in C# than in VB.NET.

But it really doesn't matter that much which language he chooses - they all
compile down to almost exactly the same thing, and once you know one language
it is relatively easy to learn the other ones since much of .NET programming
is really knowing the .NET Framework. The .NET Framework is the same for all
languages and what makes .NET so easy to program in. Essentially, each use
of the .NET Framework eliminates writing many lines of code - instead you use
the equivalent of one easy to code function call. This should be the last
step in learning any .NET language - try to learn as much of the .NET
Framework as you can.

Also, one caveat... I went into .NET thinking that once I learned C# that I
would "know" .NET programming. Wrong. Once he knows C# and a small amount
of the Framework, then he will want to decide what he wants to do with it.
At that point he can learn about other technologies that are tightly
integrated and required learning for specific projects. He may choose to
learn ASP.NET, Windows Forms, Web Services, XML, XSLT, ADO.NET, SQL, COM
integration, Office integration, Mobile device integration, etc. That's the
beauty (and steep learning curve) of .NET, it ties into so many other
technologies. But once you learn them... you really can do anything!

After you decide on what additional technologies you need to know, go to
http://support.microsoft.com and search for the technology plus the word
"Roadmap" for a suggested roadmap to learning. For example,
http://support.microsoft.com/default.aspx?scid=kb;en-us;308626 is "Roadmap
for debugging in the .NET Framework and Visual Studio .NET".

I just saw a study someplace on line that shows that people are coding
projects in many languages (C#, VB, Java, Cobol, etc). But the number 1 that
they wish they could be programming in is .NET, by a huge margin. Take
heart... it's a steep learning curve, but .NET ***IS*** the future, in my
opinion.

Pam Ammond
 
Jon said:
My 16 yo son is ready to move beyond level editing and "Multimedia
Fusion." He's going to ignore his Mom's suggestion of Visual Basic,
and take my suggestion of starting with C#. Now, I actually have
an Intro To C# section in my ongoing .NET 2.0 book, but I assumed
that my audience does not want e.g. yet another discussion of
inheritance and polymorphism - it's all "same but different" and "this
is new." In short, not suitable for a programming novice.

There's not really much difference in what you can do with Visual Basic
..NET or C#. Visual Basic however is easier for beginners to master.
See also boo, a python-like language for .NET with pretty much all the
features of C#: http://boo.codehaus.org/

Unless you aren't concerned with turning your son off from programming
for life, you might try some interesting ways to learn programming, such
as books on game programming for .NET. The NeHe site on OpenGL
programming is great and they have C# examples. You might also try
SharpDevelop instead of shelling out hundreds for VS.NET, and check
out running Linux and Mono too.
 
Jon,
I find Robin A. Reynolds-Haertle's book "OOP with Microsoft Visual Basic
..NET and Microsoft Visual C# .NET - Step by Step" from Microsoft Press does
a good job of covering the how of OOP, I'm not so certain it does a very
good job of covering the why.

Hope this helps
Jay
 
I recommend Deitel and Deitel [1], [2] as they develop structured
learning materials, i.e. textbooks, with examples and so on.
Very well done and on the shelves at bookstores such as
Barnes & Noble.

Charles Petzold is an excellent author but his works are generally
consider to be best for intermediate to advanced readers and
are not as elegantly structured as Deitel's works are.

LearnVisualStudio.NET is not a good idea for a 16 year old
as all that is offered are passive streaming videos with no
way to interact or conduct excercises. Try the samples but
know that paid customers get nothing more than what the
samples reveal: a chance to fall asleep while 'learning' about
some concept. Yawn.

If it is better 'samples' I would recommend Webcasts from
Microsoft [4], while they too are passive they do cover a
broader range of issues relevant to many subjects of interest
to developers.

I would at this time recommend the use of Visual C# 2005
Express [3] or Visual WebDev 2005 Express [3] which
were specifically developed by Microsoft for students and
others who will at some later time adopt the use of the more
costly and complex Visual Studio.NET.

Tell your wife I said you were right! :-)

--
<%= Clinton Gallagher, "Twice the Results -- Half the Cost"
Architectural & e-Business Consulting -- Software Development
NET (e-mail address removed)
URL http://www.metromilwaukee.com/clintongallagher/

[1] http://www.deitel.com/
[2] http://www.prenhall.com/deitel/
[3] http://lab.msdn.microsoft.com/express/default.aspx
[4]
http://support.microsoft.com/default.aspx?scid=fh;RID;webcst&style=type2&sd=gn
 
Back
Top