views:

254

answers:

8

Do you have any idea for a complex exercise that touches and covers most important and major concepts of .NET? (so I can learn while coding and implementation)

The exercise should NOT be for beginners, but for someone who already familiar with .net, but enough complex to teach new features of .NET 2 for example.

Thanks!

A: 

This may sound silly, but try a subscription to asp.netPRO magazine. There's an offer for a CD that has all their back issues but subscribers can search and download all that stuff (code included) from their website (if you have the time and patience).

The reason I say this is that there are a lot of articles that are narrow in scope but are good examples of various features. They used to run these 3-part articles series that would demonstrate particular things - a survey application, a blog, a photo album and manager. The latest issue has a brief article on ASP.NET 2.0 reporting. Lots of good ideas in there. I got rescued by an article on how to use CSS with MasterPages (March '07 issue) - describing what happened step-by-step and I'm a LOT more comfortable with that now

I don't work for them in any way and I realize this sounds like commercial spam but it just struck me that the CD with their catalog of back issues on it might make for good readon.

David
+2  A: 

If you're looking for a broad-scoped project that will challenge you on design, architecture, and the nuts&bolts of database and other technology:

  1. ASP.NET-based CRM system. Reinvent Salesforce.com.
  2. Content Management system. Reinvent DotNetNuke.
  3. Social Networking System. Reinvent Facebook (don't go TOO crazy, they have their own API!)
  4. Blogging system. Reinvent Blogger.
  5. Knowledge base. Reinvent SO! (j/k ;)

These are some good choices that require a lot of thinking on many fronts.

Dave Swersky
These all seem like huge projects. Personally I would choose smaller exercises for quick gain.
John Nolan
+2  A: 

I always find it's easier to learn something when there is a personal benefit; so I'd suggest trying to write something that would be of use to you; whether that's a tool for tracking your cricket/golf/other sport you like to play in/etc. scores, or something for helping you file a tax return, or fill in a university application form, or even just to showcase your talents to use as a portfolio piece.

Something I've sat down to do (albeit with a bit of procrastination first) is to analyse assemblies for classes that look like they might implement an interface, but don't (so a class might have a method called Clone() but not implement ICloneable) -- you could do something like that -- maybe even get it as an fxCop rule, and integrate into the code analysis in VS2008

Alternatively, you could bid for work on a site like rentacoder.

Rowland Shaw
+1  A: 

Microsoft (and dedicated third parties) is unsurpassed in providing video tutorials that are perfect for following along:

Generics in .NET Framework 2.0

Whirlwind 1 - Generics

Whirlwind 2 - Iterators

Whirlwind 3 - Partial types, Anonymous methods

Whirlwind 4 - Accessors, Static Classes, Nullable Types

Brian Noyes on Databinding in .NET 2.0

Venkat Subramaniam .NET 2.0 Language Features Part A

Venkat Subramaniam .NET 2.0 Language Features Part B

The Venkat Subramaniam tutorials from Carl Franklin rock! That's almost two hours of exercising!

rasx
A: 

A technique I have used in the past is to find a well-reviewed "learning" book and do every single example in the book. What I mean by this is a book with plenty of examples that you can do on your own, not a nutshell or reference book. Even the trivial examples might shed light on the overall topic. Just go beginning to end. I recently did this during a trip with a Rails book, and it finally forced me to figure RoR out.

Jason Jackson
A: 

If your goal is to learn .Net in a way that is relevant to earning a living, I suggest going to Monster.com or Dice.com, searching for .Net Developer/Engineer/Programmer and finding common technologies companies are looking for experience in. Take that list and build real world examples. This way, you'll both learn .Net and keep the topics relevant to your career.

madcolor
+2  A: 

One great exercise can be studying some good-quality source.

As example, take a source of Log4Net, Paint.NET or xacc (1st one much reader-friendly), study, do some modifications, test it, play with it...

Jox
A: 

I know this is about exercises but there are some great books out there to help you improve.

I have started reading C# in depth and heard good things about Effective c# (free chapter pdf) and More Effective c# (free chapter requires registration).

After reading these perhaps take the stuff that inspires you and write small little programs to test out the theory.

John Nolan