As I am finishing up my second year of computer science, I want to get a start on expanding my portfolio to GitHub and making it worth while to look at in the future. I just have a few questions that I couldn't find clear-cut answers to, also willing to take any other suggestions :)
1. How do I expand my GitHub projects for others to see. Do I need to send the link out somewhere for people to contribute to, or do people just find it randomly?
2. Also, is there any key way to find beginner GitHub projects that someone can contribute to. Most projects I find are too in depth for me for now, but I know I can handle something smaller.
Lastly, if you guys have any other suggestions for building up a GitHub profile, I'll appreciate them!
1) You profile is public by default. All public repos are exactly that, public. Anybody can find them and view them. It's unlikely that some random person will begin contributing (unless you made some wicked sweet library), so if you want help then just ask around and I'm sure someone will join in with you. Typically how random contributions come in is because somebody is using your code and finds an issue and they are capable of fixing it.
2) Our community here has a Chess game written in C++ that people work on occasionally. You could begin by looking at that. https://github.com/cpluspluscom/ChessPlusPlus
Feel free to join the Gitter chat, or come into our IRC channel #cplusplus.com on Freenode to get help with the project or just to chat.
3) Just keep active. Put all your projects up there, try to work on something everyday, even if it's just a one line fix. If you don't have a resume, make one and put a link to your GitHub profile on it. Recruiters seem to enjoy that.
2. See if any software you use is open source on GitHub. Is there a typo in it or a bug you keep encountering? Maybe you can help out by submitting an issue or fixing the bug in a pull request. For example I recently fixed an issue for a website I frequent and the fix was trivial: https://github.com/tdwtf/WtfWebApp/pull/143
If you'd ever want to take a look at my Linux project, its a calculator/small computer algebra system. Includes a small multi-process multi-threaded Linux web server. I am currently extending it to a system for giving and checking my student's Calculus homework (just got my grading/submission system up and running in the last 24 hours). Here is a week old build (sorry no grading system running online yet):
Thanks for the info! Is there a quick way to migrate an svn repository to github?
Although I've already used git for other projects, I'd prefer to continue using svn (a student of mine is also working with me so better make changes one at a time).
I really appreciate all the helpful replies, although I don't believe I know enough to contribute to the Chess Game, after my next two classes (Software Engineering) it should give me a vast amount of knowledge in the area. Currently reading a book that goes over some c++ conventions and the dos-do nots so I can clean up my code better.
Only thing I have in my github repositories are some old labs that I did using some basic data stuctures (Queues, Stacks, BST) but I'll expand it once I learn more.
Try writing an emulator for an older system! Game systems are pretty simple pieces of hardware. They typically are less generalized and have less and simpler hardware than PCs (even the older ones). Try writing one for something like the NES or Game Boy! After that try writing one for the 8086/8088. You may even be able to get MS-DOS running on it!