C# Programming

18 replies [Last post]
Posts: 1030

Does anyone know a site where they give you 'assignments' starting from easy programs and gradually becoming harder? I want to start making some easy programs to get some routine in C#coding but I'm out of inspiration of what the app should do >_>

Posts: 458

you read my mind...

but yeah, simple programming tasks, and in the end you could maybe compare your code

like that you get too see where you should hav used inheritance (vererbung n german, dunno english world xD), interfces etc

seeing as OOP is fresh meat to many of us xD

project euler is very nice, but not OOP ....
helps learn algorithm optimization

Posts: 1691
Posts: 458

http://uva.onlinejudge.org

seems to be the coolest from what I can see of those sites.

sadly you cant submit in C# -.-
but I suppose you learn stuff from it nonetheless

and the tasks are cool, like "code a minesweeper field"
or "files fragmented into pieces, all were identical, fix them!"

Posts: 1030

Well I'm starting OOP classes tomorrow and our handbook is the one with BlueJ (http://www.bluej.org/index.html), I've read through the first chapter and it's really designed for complete strangers to OOP (like me Tongue) and it has a ton of exercises which have an open ending so great for trying out coding. I know Java isn't exactly C# but the syntax is somewhat the same and as long as I get some decent knowledge of OOP it'll be great ^^

So anyways, give it a go (software is free, book is around 35 euros or free if you know where to look *wink wink*) if you're completely new to Object Oriented Programming Smile

Posts: 458

i am programming a vocabulary trainer based on SQLite

i defniteely recommend you look at SQLite once you understood OOP basics.
(take note that for tutorials etc: its just like using access, except for the class names: SQLite instead of OleDb)

Posts: 10

Been studing Java 1 year for my barchelor degree that was more than enough to find C# easy Tongue

If you are new to programming, i suggest you getting a Deitel & Deitel Book, if you have been object oriented programming before (java or C++) just get an introductory book for C# or read in Wikipedia the differences between C# and C++ or Java and C#

Imo C# is quite a JAVA rip off though..

Posts: 1030

The basics are pretty easy but Netgore is still a tad overwhelming for me though Tongue

Posts: 135

Yeah, that's where I'm at. C# is pretty intuitive, especially if you've had Java or C++, but an MMO engine like Netgore is quite the beast to tackle, even just in trying to wrap your head around the various classes and interactions. Sad

Posts: 11

I feel your pain... Tongue
I've been programming C# (although admittedly with varying seriousness) for a good while now, but the NetGore code is still... frankly, intimidating. I mean, there's 19 sub-projects and over 5000 files in total. "Beast" is a quite fitting term.

That aside, though, I think C# is awesome. I don't have much experience with Java, and I only know enough C++ to know that I don't really want to be within a 5 mile radius of it if I can avoid it, but it still beats just about anything I've ever tried.
(Although, for desktop applications, "anything I tried" encompasses mostly VB (6/.NET) and so I guess that doesn't say all that much. Smile)

Posts: 531

C++ is not something you should keep at a large distance from!! Tongue It's something you need to keep really close and learn as it will come up time and time again. particularly in game programming, well any programming for that matter Tongue PLUS the knowledge can be applied directly to C# especially as you can program unmanaged code in c#

There are 10 types of people in this world - Those who understand Binary and those who don't.

Posts: 465

IMO C++ is one of those languages that should be learned last, because it lets you do everything, it would be good to be able to naturally program in a clean way so you don't get stuck into bad habits.

We should be thankful though that a language so complicated, so difficult to learn, means that nobody would ever be able to swamp the market with programmers, and so we all get high salaries.

Posts: 458

Laughing out loud :D Laughing out loud :D

Posts: 1030

I just found a great book on C#from beginner to somewhat advanced:

Head First C Sharp 2nd edition
It's 850 pages or so, got a lot of example exercises and costs $50. Going to use this one :3

Posts: 13

Think 10 years old is too young to start?

Aeon Online
Recruiting Now!
Programmers and Pixel Artist's NEEDED!
Email dimethcone@live.com if you want to recruit
(I'm a horrible pixel artist. Preferrebally Breeze or something like LaTale or MapleStory character *Not chibi, would like them to be

Posts: 1030

You're never to young to start learning how to code Smile

Posts: 531

Lyneku wrote:
Think 10 years old is too young to start?

I was 11 with Visual Basic and i remeber being like "wt is a string :0?" when i was getting an error saying it needed to be in string format.

There are 10 types of people in this world - Those who understand Binary and those who don't.

Posts: 13

Visual Basic used to piss me off so much, but now it's one of my favorite languages. (wrong term I think) C# is more of my style.

Aeon Online
Recruiting Now!
Programmers and Pixel Artist's NEEDED!
Email dimethcone@live.com if you want to recruit
(I'm a horrible pixel artist. Preferrebally Breeze or something like LaTale or MapleStory character *Not chibi, would like them to be

Posts: 164

Really, OOP is not that big of a deal. Some people worry to much about design. Program to the interface, try to have some kind of framework or architecture and not just a big ball of mud. Just keep in mind important concepts like single responsibility per class (or close to it). Sometimes, hacking shiz together gets the job done, gets the game done, and makes your customers happy.

Also, inheritance (not the same thing as "OOP", just a part of the concept) kind of sucks for some things. Aggregative approaches are also helpful when it comes to some things. (like game entities and other behavior intensive classes)

I've been programming in C# for about 6 or 7 years now. I'm not a guru or anything, but frankly, NetGore is a beast. You don't get familiar with a code base over night, especially one that is somewhat lacking in documentation. It takes time and effort, something some people can't or won't give. Frankly, I'd rather make a game for Windows Phone 7 then mess with NetGore (no offense intended). It's just a smaller undertaking than making a huge mmorpg. Just remember, learning the basics of C# (or even being a friggen C# god) pales in comparison when becoming fully acquainted with a code base. Most 500 page books have around 20,000 lines. NetGore has 250,000 (most of those lines aren't as long or even have much in them, like a brace or empty line) Yeah, NetGore isn't the hugest code base in the world, but it's pretty unwieldy to think about learning everything there is to know about it.

Start small, try to learn how sub systems work, learn the big picture, and get something done. I don't know much about NetGore, but I would definitely invest time into the communication between the client and server and how to make changes on one side appear on the other. (not really the networking code per say, but the code that makes visible changes)

I feel like my tirade doesn't really have a strong concrete point to it. Just become familiar enough with C# (or learn it from scratch if your a non programmer) to learn and remember your way around a code base and add to it without murdering it.

Make some basic programs like an address book that saves data to xml or something. The main thing is to make these "learning" applications modularly. Don't start on one application that will teach you everything you need to know. Do something for regex, for reflection, or whatever the hell it is you want. Just iron out the stuff. I learned perl over the holidays in about 3 days to help a friend get an interview (now he needs to learn perl in two days) Yeah, I knew a language already (Python + C#), but I only made 4 scripts (you don't really make applications in perl, you can, but that's not really it's main use). I made hello world, a data processor script that utilized regex, a object oriented demo demonstrating inheritance (pretty simple), and another data processor that was a tad more complicated. Yeah, it's not really the same, but if I had decided to make a data processor that used abstracted classes to help learn OOP and if it also did a bunch or other stuff up the wazooh, it would've taken me 3 times longer. Yeah, I don't know the ins and outs of perl, but I could definitely get familiar with some perl code and add to it without murdering it. Yeah, people do that for a living.