places on the internet to find projects for learning to program in C
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
places on the internet to find projects for learning to program in C
Essentially, I am reading the book "Absolute Beginner's Guide to C (Second Edition)", but the biggest problem is that it doesn't have problems nor projects to practice programming. Unfortunately, I do not have the greatest of an imagination to create my own ideas for problems to solve. Does anyone know of any sites that have good problems/projects to work on when I learn throughout the book?
Thanks in advance
You know I had the same problem when I started learning C. I could never figure out what to program. What I did was build a simple database program that kept all the data in a linked list and saved that list to the drive and rebuild it. I even went as far as creating a set of libraires to interact with the database to make simple interfaces to it without having to reprogram the whole thing.
Some examples you could do would be a command line mp3 player
try and make a cat program. I did this one it was fun
What I would do is try and rewrite some of the basic command line programs. Ill admit I still probably couldn't make a decent get tho
So, once you have become a C master by reading the book, what will you do with your new-found skill? If you don't already have a vision for what you want to accomplish in programming, then you are wasting your time. If you do know what you intend to accomplish, then break off a piece of your objective, and write some code that tries to do some of it. Early into the learning process, you should be seeing that there are different elements to a project, which are standardized in some way: reading and writing files, manipulating strings, memory management, process management, IO of various sorts, user interface, etc. Try to break some larger project idea into smaller component parts, and start hacking at parts of that. Don't expect to write anything that will become a final part of any working project, but do think about the process. Re-write as soon as you realize you've identified a better way to do anything you've already done.
And for my standard reply to these kinds of questions, read these forums, and find all of the 'How do I do.... in C?' questions. Figure out how to do them, and see what others have come up with. There are often numerous hints and suggestions posted by experienced posters. Some of them are even correct and useful.
You learn to program in a debugger! So get a compiler with a grpahical user interface debugger with codeviews, variable views, breakpoints, single stepping, the lot.
Just make a lot of silly sources and see where you get stuck. Later, make the sources less and less silly. In a few weeks you're writing your own kernel. :O
The MIX Power C (for DOS) came with an excellent book with lots of examples. You might consider buying the compiler (USD 10) just for the book... They also published a video tape. http://www.mixsoftware.com/product/powerc.htm
So, once you have become a C master by reading the book, what will you do with your new-found skill? If you don't already have a vision for what you want to accomplish in programming, then you are wasting your time. rod.
Now, now, now.
Our friend is just interested in ICT and wants to develop his skills. That's normal for engineers. Engineers always come up with a solution, for which they still need to find a matching problem. Tex is just a good engineer. He wants to learn and later see what he can use huis skills for. That's how our societry (at least, the European one) evolved. If we all had done only smart things, we would still be hunting sable tooth tigers in bear skins.
I think I agree with fruttenboel. Not all learning involves a "useful" goal. Aimless writing of C code to see what comes out is a good learning framework. People write novels that way, too. Children, when they build sand castles or play in the mud or play an unorganized game of softball in a vacant lot, are learning more than they realize.
One of my favorite C tutorials is here, or maybe you want to go straight to here.
Essentially, I am reading the book "Absolute Beginner's Guide to C (Second Edition)", but the biggest problem is that it doesn't have problems nor projects to practice programming. Unfortunately, I do not have the greatest of an imagination to create my own ideas for problems to solve. Does anyone know of any sites that have good problems/projects to work on when I learn throughout the book?
Thanks in advance
While looking for somethin else I found the best webpage to visit for any coder, new, advanced or retired:
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.