0

How do you learn?

hello. I am learning C++ and C# right now, and I want to know how I can test my skill and knowledge? And what is the best way, to test my level of coding skills? Because I am not sure, that good marks in tests is = good coder, who is able to write an app with minimum (or without) assistance. some said that practice makes perfect - what is the best way how to get practice experience? maybe you could mention your personal experience.

15th Nov 2016, 9:55 PM
Rihards Sisojevs
Rihards Sisojevs - avatar
4 Answers
+ 2
C++ is the only language I learned in college; everything else I know was self-taught. In my personal experience, I find myself practically looking for an excuse to write in whatever languages I know/am learning. Any opportunity to do so gets the wheels spinning... Keep it simple with Batch Scripting? How about an HTML5+CSS+AngularJS interfaced approach? Maybe a background service.. Or an exe for on-demand use... By approaching it beginning with the end in mind, you can then choose your language most appropriate to meet the criteria. Once you have written your code that meets those base goals, go back and refactor the code. Optimize everywhere possible, add comments you'd missed, fix bugs, add enhancements, etc. This approach (many may identify as the Agile approach) allows you first to meet the requirements, unconcerned with perfection, focusing on solving the problem and the code needed to do so. Then you review your code completely and make changes to improve its speed, memory efficiency, legibility and reliability all the while improving not only your code but also your coding skills. The next time around, your initial product (or enhancement) will be of higher quality as you employ the improvements you'd learned on previous refactoring runs. Bit by bit (pun intended) you will get better. New issues arise with new requirements, thus new code, new approaches and yet more skills learned. One thing I personally did when learning C++ was try to create a game similar to MateriaMagica, with the same navigation methods, combat, inventory, character info, etc. Great way to learn and practice and always has room to enhance. TL;DR - 1) Find a problem you don't know how to solve, but have a VERY rough idea of its process. 2) Solve it. 3) Improve it more and more til a new idea comes. 4) return to Step 1. Above all else, enjoy it. Enjoy the challenge, frustrations and success. Without them, it wouldn't be worth it.
24th Nov 2016, 6:23 AM
Matthew Shephard
Matthew Shephard - avatar
+ 1
Write a lot of code, dude. Try to take a look to the namespaces and try get projects where you can use namespaces which are unknown to you. I had a C#/WPF project 4 year ago and 2 weeks ago I have redesign it and build it from scratch. Codemetrics: half count of files and nearly half of codelines. Stricter and more advanced MVVM than before and more stable persistence layer. I saw what was wrong, complicated or just to much work and do it better and more efficient. That's the way how I'm learning c sharp, since 7 years. peace
15th Nov 2016, 10:39 PM
Newsman Tom
Newsman Tom - avatar
+ 1
Nathan tom has a point. looking at it is not going to help. I mastered polymorphism and if elseif else statements that way. Just because you read something doesnt mean you learned it. I dont know if this is what nathan meant but this is my perspective
24th Nov 2016, 2:23 AM
julio
0
sorry Newsman not nathan woops😅
24th Nov 2016, 2:23 AM
julio