views:

208

answers:

8

Hi

So far I was familiar with c and c++ only, and I have programmed in these languages only. I have some experience working on some projects in c or c++.

Some good projects or applications I've made till now:

Duplicate file finder and remover

Process monitor on Linux

Basic http proxy server

I have made one small flex application also.

I have to work on some Project. So I am thinking of what to do or what application to work on?

Now I want to do a project in C# or Python languages so that I can learn these languages also along with my Project.

I have a lot of time(approx. 10 months) to work on anything and learn things.

I thought maybe some nice people out there can give me some nice ideas or suggestions. (By the way some c c++ idea can also work for me).

--

Thanks

Alok.Kr.


Ok I forgot to mention that this project I need to develop as My B.Tech final year Project, Thats why I am looking for some good and different idea, else I could have tried with anything out there. I am helping myself with making doing some simpler things for now to learn python, not yet started with C# but really want to do that too.

Thanks

A: 

Nothing more enjoyable (and educational) than trying to program a game. I recommend starting with something simple like Doom.

Ben Hoffstein
@Ben Hoffstein Doom is much to complicated for 1 person and 10 month (Graphic Engine, Sound Engine, Ki...Content!?), if you have no experiance with games at all. Simple is...tetris, breakout and so on.
InsertNickHere
@InsertNickHere - John Carmack did it in like 6 months. I was only joking though. You are right - Tetris, Breakout, even Pong would be a good learning experience.
Ben Hoffstein
@Ben Hoffstein Diden't see a ":)" so I thought you mean it. I saw so many ppl fail on such "simple" game, you cant imagine. John Carmack is awsome. :D
InsertNickHere
+1  A: 

You could make a program to play a game such as chess or checkers against a user, or you could create a program to solve a Rubik's Cube (I finished that one much faster than I expected)

murgatroid99
+4  A: 

Have you tried porting your existing apps over to C# or Python?

Terrance
+1 for Lateral thinking!!
Praveen S
+1  A: 

I've got a friend that whenever he starts to learn an new language he recreates notepad. It covers alot of ground, which should give a good starting point.

Alex Larzelere
Aren't different languages suited better for different things ? Doing the same thing in different languages kind of defeats the point of learning the language.
Surya
True, but there's alot of basic functionality that is relatively universal. Also by doing a simple project you learn alot about the language's code structure, nameing conventions and so on. This is also only a starting point. Everybody at somepoint writes a "Hello World" program, think of notepad as a more advanced version.
Alex Larzelere
A: 

I would always write a backtracking Sudoku-puzzle-solver whenever I learned a new language (or new skill in said language). Implementing it would require knowledge of user IO, file IO, arrays, memory allocation, optimizaion, etc.

I don't know what the requirements for your "B.Tech final year Project" are but I would suggest this if you wanted to do a fun/small/cool project.

Best of luck.

sigint
A: 

Writing games can be very enjoyable on XNA with C#. There are great educational resources here and many tutorials.

SiN
A: 

Write this:

Build a website in ASP.NET MVC and Razor that exposes a todo list. Add a web service to the website using WCF Data Services (odata) to CRUD your list. Use a Sql Server Compact Edition 4.0 database and EF 4 POCO for database access.

Next, create a simple HTML chunk that can be dropped on any web page that uses jQuery to access the data service and display your current list.

Now create a WPF application that allows you to interact with the website using the data service. Use nRoute as your MVVM framework.

Once you have your WPF app, port it to Windows 7 Phone (nRoute should help in this).

Now you've got a todo list that you can update from the web, desktop and phone, with the ability to access this data and display it on any webpage. You'll be using both the latest and greatest and you'll be on the razor's edge for some of the new stuff coming out.

Will