C# Workshop - Introduction

Started by
158 comments, last by Ambro 16 years, 1 month ago
I will gladly help out with some exercises here and there and answer questions. I have been programming in C# since the day it was released so I hope I am knowledgeable enough.
Advertisement
Hey Everyone!

Thanks for all the positive feedback. It's good to see so many express an interest. We'll see how many people are ACTUALLY interested when we post the signup sheet in another week or two. In the mean time, I wanted to respond to a general theme I'm seeing...

For those that are nervous about using the C# "Specification", you needn't be. There are varying degrees of technical writing with "specifications" usually being the most terse, difficult to read, yet informative. Below that there are more formal manuals, textbooks, guidelines, and tutorials. You'll be happy to know that save for chapter 2 of the C# "Specification," it doesn't really read like a traditional spec, and is instead laid out more like a textbook or guide to using the language.

However, it still provides the most relevant information in the fewest words. In other words, it's precise and concise. This is exactly what is needed for an intensive, 8 week course on the entire C# language. Although this workshop enables beginners to learn the language, it does so at an accelerated pace. This is simply to maintain people's interest, and so we're able to move on to more exciting things sooner. But I digress...

Because all other textbooks, guides, and tutorials are based upon this specification it's nearly impossible to find another resource that provides this level of signal-to-noise ratio. All other authors must add their own "fluff" or introduction to the various .NET Framework libraries in order to sell their textbook as a valuable resource. No other resource explains the language in such a precise fashion.

As an example, Deitel & Deitel publish my favorite serious of books...the "How To Program" series. And although I find their books valuable references, their "C# How to Program" book clocks in at 1568 pages!! Try reading that in 8 weeks, cover to cover, and still have time to read these forums. =)

In contrast, Spec 1.2, which covers the core syntax and features before C# 2.0 is just over 300 pages. It also provides plenty of code snippets, tables, and listings. Additionally, the spec does a good job of progressive disclosure. It starts with an introduction in chapter 1 to nearly the entire language. Topics range from the usual "Hello, World" to expressions, statements, classes, methods, arrays, interfaces, enums, etc....This quick, 30 page introduction gives you just enough information to make the rest of the spec readable.

After that, it spends a chapter looking under the hood at the C# grammar rules so you understand how the language is parsed and processed. This is, by far, the most technical part of the spec. However, once this is understood, you'll find you make far fewer syntax errors than most C# programmers.

After that, the book goes into each of the topics covered in the intro in significant detail. By the time we're done with Spec 1.2 you should have a really good grasp on the syntax and semantics of C#. You'll be able to read and understand 90% of all C# source code.

Also of interest, the spec does a good job for using Bold words to indicate what amounts to dictionary words of interest. These words will often show up again later in more depth, so if you're grasping everything easily and want a sneak peak, you can look up those words on Wikipedia or in later chapters of the book. If you're feeling overwhelmed, however, be confident to know that those terms will be covered in more depth later.

Anyways, the most important thing is that we've got a consistent resource from which to work off of. As people have problems grasping concepts feel free to raise those questions in the appropriate weekly thread here on GDNet, that's the whole point of the workshop, after all.

As well, I've seen a few people suggest alternate resources. Feel free to do so once the Workshop officially begins. Having secondary resources which may explain a topic in plain English can be invaluable, even if the resource is too wordy in general to be used as a text or stream of videos for an 8 week workshop.

As always, feel free to provide your own feedback and discussion.

Cheers!
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints
If the programmer has descent C++ experience or even middling java experience they'll be able to read and understand 90% of C#, so I'm not too terribly convinced by that argument. Sure, the C# spec is a ton better than others I've had to read, but it is still (imo) far too dry and professionally targeted for an introductory workshop.

*shrug* Just my gut instinct regarding beginners and verbiage.
Quote:Original post by Telastyn
If the programmer has descent C++ experience or even middling java experience they'll be able to read and understand 90% of C#, so I'm not too terribly convinced by that argument. Sure, the C# spec is a ton better than others I've had to read, but it is still (imo) far too dry and professionally targeted for an introductory workshop.

*shrug* Just my gut instinct regarding beginners and verbiage.


If worse comes to worst, we the mentors can just retranslate it into comprehensible.

Beginner in Game Development?  Read here. And read here.

 

I guess that is one of my fears, is that you guys will be fielding more questions with the Spec. then you would otherwise with a decent book. Although Jeromy has me almost there, I still feel as a beginner that maybe sometimes it would be better to have a little "fluff". I have started to read the 1.2 Spec. and on the first page I already have no less than 15 questions. Not sure that would be taken care of in the end with a book, but there you have it. I really want to do this, so whatever the Pro's decide will be the best I will follow along.

Thanks,

John
Quote:If the programmer has descent C++ experience or even middling java experience they'll be able to read and understand 90% of C#, so I'm not too terribly convinced by that argument. Sure, the C# spec is a ton better than others I've had to read, but it is still (imo) far too dry and professionally targeted for an introductory workshop.


If the programmer has descent C++ experience or even middling Java, they'll be able to follow the C# specification with little trouble. It truly reads like a condensed version of every language programming book I've ever read.

It is true that this is an introductory workshop. But, be careful of your interpretation of "introductory." With the C++ Workshop I tried to make it "introductory" in the sense that we didnt go too deep into most topics, were extremely careful not to talk about or discuss related issues until they were actually covered in the book, and we addressed more of the "how" than the "why" of C++ programming. But we also went EXTREMELY slow.

In many ways, that was a disaster. You see, there's an old saying which says, "Those who know, don't need to be told; and those who don't know, seldom listen."

The GDNet community is much the same. Those who already know C++ come here for game development purposes, and as such, found the C++ Workshop too slow, and not in-depth enough. Those who are here on GDNet and didn't know C++ at the time of the workshop, largely didnt know C++ for one reason or another, usually, but always, associated with their own ambition and motivation.

As a result, although we went "slow" enough for them to grasp the information, the workshop in general just took to long. As a result, many people started to lose interest and our target audience slowly disappeared. I dont plan to make the same mistake again. [grin]

With the C# Workshop we will again assume little or no programming experience. This means we'll dive more into the how than the way. We will also limit the amount of discussion about related topics until it has been discussed in the book (this is largely solved due to the iterative approach the spec takes). And finally, we wont go too deep into the libraries and technologies which use C#, yet. That will be reserved for workshops on the .NET Framework, WinForms, W*, XNA, etc...all of which enter the realm of possibility once there's a community of people following along who all know C# with relatively similar aptitude.

What we will do different with the C# workshop from the C++ workshop is go FAST! [totally]

This means 50 pages a week, with tons of questions and answers being handled here on the forums. I will post quiz questions and exercises at the BEGINNING of week, rather than the middle or the end like I did last time. This allows people to be mulling over the questions as they read over the text. Finally, I'll post the first project at the BEGINNING of the Workshop. This means you can start filling in the gaps right away as you learn the language.

All in all, the purpose of a guided workshop such as this is to be a support group for learning a difficult subject. Many questions will be asked, and nearly all of them will be answered. That wont change depending on the book we use, so we might as well use one we know to be complete.

Quote:I guess that is one of my fears, is that you guys will be fielding more questions with the Spec. then you would otherwise with a decent book. Although Jeromy has me almost there, I still feel as a beginner that maybe sometimes it would be better to have a little "fluff". I have started to read the 1.2 Spec. and on the first page I already have no less than 15 questions. Not sure that would be taken care of in the end with a book, but there you have it. I really want to do this, so whatever the Pro's decide will be the best I will follow along.


If a person knows C++ or Java, they're unlikely to have a lot of questions, regardless of which book they use, because the languages are so similar to C#.

If the person has no previous programming experience with this kind of language, they're going to have TONS of questions, regardless of which textbook they use. I remember when I first began programming. Every question that got answered only created 10 more questions. I wish there had been a community such as this when I was learning. [wow]

My point is, the information is the same, regardless of which textbook it comes from. The only difference is the language and verbosity level at which the information is presented. The specs are relatively good on language and excellent at their lack of verbosity. Something which, as I said before, is essential for learning a complete language in 2 months.

As for your 15 questions from page 1, that's GREAT! Curious minds tend to do better than those who dont ask questions. This workshop is the place to ask your questions. Keep in mind that if you've got those questions, someone else might as well, so once the workshop begins, make sure to speak up! [smile]

It's a simple process which I think people will find easier once the workshop begins and they get familiar.

Step 1: Read over the indicated text, making notes of anything you dont understand.

Step 2: Come on to the forums and ask the questions you have from the text. Keep poking and prodding until you feel your questions have been answered.

Step 3: Take a look at the questions and exercises presented. Make sure you can answer them and do them acceptably. Post your answers for others to discuss if you dont already see your answer posted.

Step 4: Work on completing the current project with the information you've recently obtained. Make sure you know how it's relevant, how it might be applied intelligently, etc..

Step 5: See step #1.

If we gather a steady, collective group of minds all doing steps 1 through 5 above, it'll be a quick, productive, ( and hopefully [lol] ) enjoyable 2 months.

Cheers!
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints
So? Uhh..... when is that forum getting created?

Beginner in Game Development?  Read here. And read here.

 

While I am in no real position to judge the C# standard or any other C# references (since I haven't read anything beyond a couple tutorials online), I would like to say that JWalsh has convinced me not only that the C# standard is the right choice, but that I should actually partake in this workshop. Before, I had been dubious as to how useful this workshop could be, seeing as how I was able to pick up 'enough' C# easily anyhow. But now, I'm highly interested in this workshop because I know that it will be entirely complete and fast paced. (Fast paced is important; look at the SICP workshop! I've learned a lot from it, but if it was going faster, I'd certainly have stayed more interested longer)

In case you couldn't tell, I'd like to join this workshop.
Quote:Original post by Ezbez
While I am in no real position to judge the C# standard or any other C# references (since I haven't read anything beyond a couple tutorials online), I would like to say that JWalsh has convinced me not only that the C# standard is the right choice, but that I should actually partake in this workshop. Before, I had been dubious as to how useful this workshop could be, seeing as how I was able to pick up 'enough' C# easily anyhow. But now, I'm highly interested in this workshop because I know that it will be entirely complete and fast paced. (Fast paced is important; look at the SICP workshop! I've learned a lot from it, but if it was going faster, I'd certainly have stayed more interested longer)

In case you couldn't tell, I'd like to join this workshop.


[headshake] yeah..., and that's another reason why I shouldn't teach the workshop....

Beginner in Game Development?  Read here. And read here.

 

I've done alot of C# programming, but would be interested in following along to see what i've missed. The spec looks like a pretty good way to go to me. Would be hard if you've never seen any languages at all, but if you're prepared to put some effort in I don't see why you couldn't pick it up quickly using that document.

Oh, and Jeromy, I hope this doesn't slow down your Man vs the MMORPG articles!! Im looking forward to that one pick up speed.
Blake's 7 RPG - a new project

This topic is closed to new replies.

Advertisement