Clueless Beginner First Project and Contributing to Open Source
The best advice I can give to starting your first C# project with your current knowledge of the C# and programming in general. Is to create a project that can incorporate what you already know and solving a problem that you may have while build the app can help with staying motivated. If you only know the bare basics of a programming language say the if and else statements, for loops, and methods. Create a simple program that will use those concepts. Cement those concepts into your mind, and slowly add new concepts into your projects as you learn. Using each concept you learn into your project will help cement the concepts of programming into your mind, while giving you the experience to actually create programs from scracth. When you do start your projects, remember to use Google and the reference books for any concepts that are required on your projects so you don't get demotivated becuase you don't know which concepts or paradigms to add into your projects. Computer programming has more to do with the ability to research and find information then it is to memorize all the concepts available. In my opinion computer science is so large and vast that no one man can understand each and every language and concept there is, that is why so many software companys work in large teams with a large amount of engineers for each project.
i.e For example my teacher gave us our first assignment for our 2nd quarter first year back at school. It was to use windows form to create a program that will calculate the cost of 5 different skills workshop training program and the cost of lodging at the 6 different locations. The program created ended up being the Windows form, with 2 added list boxes, 2 buttons 1 to calculate total and 1 to exit the program. The question that I googled to figure out how to make a program that will take 1 item from 1 list box and add it with the item in the 2nd list box. Once I typed in "How to add 2 different listbox together" I found a plethora of help and different ways of solving the same problem that I needed. I finally chose the one that I seem to understand best and use that in the program. As I slowly understand how to look up concepts and find useful references to the required skills needed to accomplish my goals, Computer programming starts to get clearer for me everyday.
Remember I am a complete computer programming newbie as of (January 7, 2018) I was always wondering what my first project should be, how to contribute to an open source project, or how to know when I am ready to start my first project or open source project. The real answer to this is, if you understand the foundation of programming and you can create very simple problems with out looking it up. You should understand what classes, generics, and what "reading a frameworks library mean" that is when you know you are ready to contribute to opensource or start a more complex project then previously. I am currently realizing all this now as I am learning computer science. When I did my research I would wonder if I am ready to contribute but felt clueless as to where to start, to me that just meant I was not ready at all. So as I continue to learn programming, all the difference concepts and paradigms started to unfold and fall into place. I slowly started to understand how someone would understand when they are ready to contribute to open source or starting their own first project with out copying and pasting from tutorials but create a program with the knowledge they have about programming. If you understand how classes and inheritance, polymorphism, and encapsulation work. Than you should be able to understand how complex projects are made using these more advance programming concepts, so I don't know why you are reading this really haha you probably know your stuff well enough to start a project from scratch if you understand those concepts. Even now while writing this I am starting to slowly understand how programming works, I am still a beginner remember. This website and blog is to help keep track, keep me focus and motivated to keep learning and doing. I am hoping one of the future post will be about me contributing to my first project and how that goes. so we will see how long it takes from learning to being able to contribute to an open source project with coding. One recommendation I read online was that if you are good at writing you can start contributing to open source by helping write documentations for their programs.
Best place to find your next open source project check out https://github.com