|
||||||||||||||||||
Add Forum to Favorites | Send Topic To a Friend | View Forum FAQ | Track this topic Page: 1 2 3 4 5 6 7 »» |
Last Thread Next Thread ![]() |
| C# Workshop - Introduction |
|
![]() JWalsh Moderator Member since: 2/4/2002 From: Issaquah, WA, United States |
||||
|
|
||||
| Greetings All! Here we are in June once again. You know what that means?! It means it's once again time for GDNet's annual Language Workshop. Due to previous interest, this time I will be running an introductory workshop on C#! Although the workshop requires no previous programming experience, this workshop will run at a more accelerated rate than previous workshops. Familiarity with C++, Java, or similar languages will help you understand the syntax and concepts more quickly. C# Workshop Proposal (Start date: July 1, 2007) Overview: This workshop is designed to aid people in their journey to learn beginning C#. This workshop is targeted at highly motivated individuals who are interested in learning C# or who have attempted to learn C# in the past, but found that without sufficient support and mentoring they were unable to connect all the pieces of this highly complex but powerful programming language. This is a 'guided' self-teaching C# workshop. Each student is responsible for taking the time to read the material and learn the information. The community and tutors that arise out of this workshop are here for making the learning process run more smoothly, but are not obligated to baby-sit a person's progress. Because everyone will be working from the same materials, students may find it easier to get answers to the specific questions they might have. There is no minimum age requirement, and there is no previous programming experience required. Additionally, this workshop does not attempt to defend C# as a language, nor does it attempt to demonstrate that C# is either more or less useful then other programming languages for any particular purpose. People who intend to start a discussion about the differences between C# and ANY other languages (except as are relevant to a particular discussion), are encouraged to do so elsewhere. This workshop is for educational, not philosophical discussions. "C# Workshop" Summary:
The workshop will begin July 1st, and is estimated to run between 9 and 12 weeks, depending on any setbacks due to my own schedule, delays due to people needing more time to complete projects, etc... C# Workshop Text: .NET Book Zero This is a free, downloadable book by the well known author Charles Petzold. It is intended for experienced C++ programmers, but does a reasonable enough job presenting the material contained within the C# Specifications for beginning programmers. C# Language Specification 1.2 This document describes the C# language in detail and is intended to be correct for the 7.1 version of the C# compiler. C# Language Specification 2.0 This document describes the new features of the C# language for 2.0, including Generics, Anonymous Methods, and Partial Types. Based on my experience with the C++ Workshop I've come to believe that it is essential that the learning materials for an online workshop such as this are ...wait for it...online, and freely available. This guarantees the widest audience possible will be able to participate. There will likely be supplemental materials such as links, tutorials, etc...provided, however .NET Book Zero will be the core reading material for this Workshop. Signup Threads: Unlike previous workshops, this one will require you to Sign Up on a provided thread by providing your name and your interest in participating. You can also optionally post an email address and AIM/MSN name, or you can Private Message (PM) that information to me, JWalsh, here on GDNet. The information will not be sold, transferred, or otherwise leave my possession. This information will be used strictly to contact you regarding workshop issues should I feel the need to check up on your understanding of the material individually. Chapter Threads: The C# Workshop Forum has been created for our purposes and each week a forum will be created that covers the current chapters within the assigned text. People can then post their questions and answers for the current chapters in that forum. People who come late to the workshop can read over the previous threads and continue to post their new questions. The weekly chapter forums will have an introduction thread which will be mirrored (and stickied) in "For Beginners." The first post of each weekly thread will be structured with a brief introduction to the workshop, and provide links back to the C# Workshop Forum so that people can easily navigate to us from 'For Beginners', and follow the conversation of the current week. Project Threads: Forums will be created for each of the Bi-Weekly Projects where the first post outlines the details and requirements of the project. People can then use those forums to discuss the project, get design ideas, ask questions, and post their links to completed projects. About IDE's: For numerous reasons, Visual C# 2005 Express Edition is the recommended IDE for this workshop. Participants who are already familiar with another IDE, however, are encouraged to use whatever they feel will help them learn most effectively. To keep the workshop moving along, no assistance will be given for installing or configuring any other IDE then Visual C# EE. Other members of the workshop wishing to submit installation and configuration guides for additional IDE's are welcome to do so. [Edited by - JWalsh on July 21, 2007 10:28:06 PM] Jeromy Walsh Lead Programmer Level-Grind Online Authored Books: [The Complete XNA 3.1] [Programming an MMORPG in C# with XNA] GDNet Tutoring: [C# Workshop] [C++ Workshop] "The question isn't how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" -Boondock Saints |
||||
|
||||
![]() Alpha_ProgDes Member since: 7/5/2002 From: Silver Spring, MD, United States |
||||
|
|
||||
| Will this mirror the C++ Workshop, as far as Chapter and subject go? |
||||
|
||||
![]() JWalsh Moderator Member since: 2/4/2002 From: Issaquah, WA, United States |
||||
|
|
||||
| Not precisely. But the level of complexity will be the same. We'll be reading approximately 50 pages per week, in the order in which they are provided in the C# specification. I'm trying to get through this workshop much more quickly than the previous workshop. Depending on how well this goes, and people's interest, more advanced C# workshops may follow. Specifically, WinForms and/or WPF, the XNA Framework, etc... I'm doing C# development almost entirely these days. So I'm looking forward to moving on to the fun stuff. Weeks for this workshop will likely break down as follows: Week 1 (48 pages) Introduction Lexical Structure Week 2 (48 pages) Basic Concepts Types Variables Conversions Week 3 (56 pages) Expressions Week 4 (36 pages) Statements Namespaces Structs Week 5 (60 pages) Classes Week 6 (50 pages) Arrays Interfaces Enums Delegates Exceptions Attributes Unsafe Code Week 7 (52 pages) Introduction to C# 2.0 Generics Week 8 (38 pages) Anonymous Methods Iterators Partial Types Nullable Types Other Features Jeromy Walsh Lead Programmer Level-Grind Online Authored Books: [The Complete XNA 3.1] [Programming an MMORPG in C# with XNA] GDNet Tutoring: [C# Workshop] [C++ Workshop] "The question isn't how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" -Boondock Saints |
||||
|
||||
![]() shawnre Member since: 7/28/2001 From: Elizabethtown, KY, United States |
||||
|
|
||||
| Sweet, but, got a question for ya jwalsh. I am currently trying to follow along with the old C++ workshop. I am at odds with classes and stuff and been posting questions mostly in the General Programming forum. Anyhow, I am getting ready to start my second year in college, main programming class has been VB using VS .net 2003. Taking VB2 next semester, as well as starting a C++ class, which is why I am trying to get a jump on it this summer by following along with your old C++ workshop. In your opinion, would I be trying to bite off too much to follow along with this workshop at this point? Are the programming practices pretty much the same, with just language specific syntax being the main differences? Thanks, Shawn |
||||
|
||||
![]() Coragi Member since: 6/1/2007 From: Belo Horizonte, Brazil |
||||
|
|
||||
| Nice timing! I just posted a topic saying that I bought a C# and a XNA books so I can write games using them! Your course will be great for me! I am ready to start! :-D |
||||
|
||||
![]() JWalsh Moderator Member since: 2/4/2002 From: Issaquah, WA, United States |
||||
|
|
||||
Quote: Shawn, I'm glad to hear you're making progress on the C++ Workshop. C++ is a very powerful language, and understanding it will give you a powerful tool in your problem-solving toolbox. As for your main question... As you know, C++ is very different from VB, both in syntax, and also in semantics. This is both a blessing and a curse, however, as the differences make it more difficult to learn the two languages at the same time, while making it easier to keep the two of them separate in your mind. In contrast, C# is VERY similar to C++ in semantics, and even closer in Syntax. There are maybe a dozen key syntax changes, and the rest are all semantics. There's the introduction of some new keywords, a more java-like class system, reflection, and the existence of managed memory. Aside from that, C#'s access to the .NET Framework Library gives you a whole slew of capabilities which are not present in native C++ (though is present in C++/CLR). This is the primary reason people say C# is easier to learn than C++ (also the lack of pointers). At any rate, whether or not you've got the time to learn C++ and C# simultaneously only you can answer. As to whether it's possible, yes, it's possible. The similarities in semantics will make it easier to pick up the C# concepts you've already covered in C++, however without a solid C++ foundation you may frequently try using C# syntax or keywords when writing C++. This can be not only problematic but also frustrating. If you feel you can keep the similar syntax separate in your mind, than having an understanding of both languages will help you appreciate the uniqueness of each of the individually. As well, a familiarity with C++ makes C# very easy to pickup. If you're concerned you can't keep the syntax separate however(there really is only about a dozen key differences), then you might want to wait until you're more familiar with C++ Syntax - say at least until you've completed the C++ Workshop and done the exercises in the book. I hope this answers your question. Cheers! Jeromy Walsh Lead Programmer Level-Grind Online Authored Books: [The Complete XNA 3.1] [Programming an MMORPG in C# with XNA] GDNet Tutoring: [C# Workshop] [C++ Workshop] "The question isn't how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" -Boondock Saints |
||||
|
||||
![]() JWalsh Moderator Member since: 2/4/2002 From: Issaquah, WA, United States |
||||
|
|
||||
| Anyone else interested in the workshop? Jeromy Walsh Lead Programmer Level-Grind Online Authored Books: [The Complete XNA 3.1] [Programming an MMORPG in C# with XNA] GDNet Tutoring: [C# Workshop] [C++ Workshop] "The question isn't how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" -Boondock Saints |
||||
|
||||
![]() JBS103 Member since: 3/9/2007 |
||||
|
|
||||
| I certainly am. Did I misread or will there be another thread for sign up? (Or is this it?) |
||||
|
||||
![]() Del Snd of Thndr Member since: 11/4/2002 From: Huntsville, AL, United States |
||||
|
|
||||
| I'd be interested in following along. ~del |
||||
|
||||
![]() Dwiff Member since: 12/9/2006 From: Eugene, OR, United States |
||||
|
|
||||
| Good timing, just bought a C# book myself and I'm about halfway through it now. I caught onto the C++ workshop after it kinda died down so this will be fun. |
||||
|
||||
![]() DrEvil Member since: 7/13/2003 From: Los Angeles, CA, United States |
||||
|
|
||||
| Count me in. |
||||
|
||||
![]() Telastyn GDNet+ Member since: 10/13/2003 From: minneapolis, MN, United States |
||||
|
|
||||
| I am skeptical of using the specs as a learning source, especially for beginners. And I'm skeptical of the ordering (I'm of the opinion that generic containers should be taught before arrays in languages that have them). I doubt I'll have the time to contribute substantially, but will likely browse the workshop forum and answer some questions. |
||||
|
||||
![]() jbadams Moderator - Help Wanted Member since: 9/26/2002 From: Seaford, Australia |
||||
|
|
||||
| I'm interested in participating (as a student). If it so happens that you're still unable to get the desired level of support from the forum software in time I'm also happy to help out with moving threads around and whatnot. |
||||
|
||||
![]() dannay Member since: 4/7/2005 |
||||
|
|
||||
| I am very much interested in joining :) |
||||
|
||||
![]() greencrayon Member since: 1/15/2007 From: Welwyn Garden City, United Kingdom |
||||
|
|
||||
| Sweet, does this mean I can hang up my pointers for good? Cout me in. I have been playing around with XNA for the last month and I like C# a lot. Looking forward to getting started. |
||||
|
||||
![]() Rebooted Member since: 4/3/2003 From: York, United Kingdom |
||||
|
|
||||
Quote:Don't Visual Basic and C# have almost identical semantics? I'm sure I've seen people say VB.Net is effectively just a different syntax for C#. |
||||
|
||||
![]() thallish Member since: 10/28/2004 From: Aalborg, Denmark |
||||
|
|
||||
| I am also interested. |
||||
|
||||
![]() TheUnbeliever Member since: 3/19/2005 From: Falkirk, United Kingdom |
||||
|
|
||||
| I think I'm sufficiently capable to give this workshop a miss, but I would like to indicate an interest in any future, more advanced, C# workshop were there to be such a thing. |
||||
|
||||
![]() Squid4D Member since: 6/2/2007 From: Consett, United Kingdom |
||||
|
|
||||
| Sounds fun, count me in. |
||||
|
||||
![]() M-E GDNet+ Member since: 3/27/2007 From: Haarlem, Netherlands |
||||
|
|
||||
| I'm interested too. |
||||
|
||||
![]() shawnre Member since: 7/28/2001 From: Elizabethtown, KY, United States |
||||
|
|
||||
| Thanks for the explanation jwalsh, definitely interested, as a student of course. BTW, be prepared for bunches of questions from me, if/when I don't understand something, I post all kinds of r-tard questions, lol. |
||||
|
||||
![]() BEngKohn Member since: 1/23/2007 From: Poughkeepsie, NY, United States |
||||
|
|
||||
| I am interested in joining, please count me in! |
||||
|
||||
![]() Mike.Popoloski GDNet+ Member since: 6/28/2004 From: West Milford, NJ, United States |
||||
|
|
||||
Quote: I think he may be referring to the old Visual Basic, which was indeed very different from most other languages. VB.Net, however, is just another way of utilizing the .NET framework with a different syntax. They aren't exactly the same; there are some small differences between the two (C# and VB.Net, that is), but all-in-all they are functionally the same. @JWalsh: There are some other things that you might want to think about as you are going through the course. These are more .NET things than anything else, and although they aren't "pure C#", sometimes you need something practical when learning something like this. Best Practices - Such as naming conventions, boxing/unboxing, overriding ToString/GetHashCode/Equals, exception handling, garbage collection, and FxCop usage. Collections - The built in collections, their pros and cons, how to make your own collections / enumerators. Reflection MultiThreading PInvoke Console Input/Output File reading and writing XML These topics aren't all that difficult or advanced, and while they aren't technically C# concepts, they are extremely useful and wouldn't take all that much effort to weave into the course material. Getting impressionable beginners on the right track from the start will make things much easier for both them and you as this workshop and others that may spring from it continue to progress. |
||||
|
||||
![]() Chad Smith Member since: 6/26/2005 From: Rockwall, TX, United States |
||||
|
|
||||
| I'm in! I am pretty good in C++ and I have been wanting to move into C# to see what all the commotion is about. I know a little C# already but I never did begin to like C# all that much so I stayed with programming all my stuff in C++. So, I am hoping that this will help me use C# more and more and not use C++ for stuff that I not want to use it for...or heck...just use C# period until I get in college. I can't wait for this thing to get started! Chad You tried your best and you failed miserably. The lesson is 'never try'. -Homer Simpson C++ Game Programming tutorials are still coming...trust me.... |
||||
|
||||
![]() JWalsh Moderator Member since: 2/4/2002 From: Issaquah, WA, United States |
||||
|
|
||||
Quote: Aye, He's correct, I was referring to the old VB. With the advent of .NET and the Common Language Infrastructure (CLI), any language wishing to be .NET Compliant must expose a common set of functionality which is described in the Common Language Specification (CLS). This is why many .NET languages expand upon the keywords, syntax, and semantics of their non-.NET counterparts. As a result, C++/CLR, C#, VB.NET, J#, JScript.NET, and a whole slew of other Non-Microsoft proprietary languages all share a common set of functionality. If your goal is to develop using the .NET Framework any .NET compliant language will do. However, unlike C++/CLR, VB.NET, JScript.NET, etc...C# has one distinct advantage. It was designed to be the language which the CLS was based upon. There was no "stretching" or "expanding" of the C# language in order to get it to be compliant with the CLS. <OPINION> As a result, the syntax and semantics of C# often feel more natural than VB.NET and especially C++/CLR, which (to me) feels like .NET is forcing the languages to do things they weren't especially capable of doing. </OPINION> Hope that answers your question. Cheers! Jeromy Walsh Lead Programmer Level-Grind Online Authored Books: [The Complete XNA 3.1] [Programming an MMORPG in C# with XNA] GDNet Tutoring: [C# Workshop] [C++ Workshop] "The question isn't how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" -Boondock Saints |
||||
|
||||
|
Page: 1 2 3 4 5 6 7 »» All times are ET (US) ![]() |
Last Thread Next Thread ![]() |
|