Codesonic will turn you into a faster, smarter, more knowledgeable programmer.(codesonic.com)
codesonic.com
Codesonic will turn you into a faster, smarter, more knowledgeable programmer.
http://www.codesonic.com/
26 comments
Also, Anki 2 is in beta right now and the UI on the desktop end of things is a real improvement.
The dev is super responsive. I've used a lot of flash card apps and have settled on Anki specifically because it's cross platform.
The Android app (third party) is still subpar in my opinion but that might change if it revs with Anki 2.
The dev is super responsive. I've used a lot of flash card apps and have settled on Anki specifically because it's cross platform.
The Android app (third party) is still subpar in my opinion but that might change if it revs with Anki 2.
Don't forget to also take a look at mnemosyne; http://mnemosyne-proj.org.
It's another free, well supported, SRS system that runs on a multitude of platforms.
I used it daily.
It's another free, well supported, SRS system that runs on a multitude of platforms.
I used it daily.
I find it fascinating how certain ideas are "in the air" and emerge simultaneously from different directions.
About 18 months ago I was preparing to do an honours project and it was necessary to prepare project proposals to circulate amongst professors at my university. I prepared four. One of them was to develop a system like this one and to test it on first year students.
My hypothesis was that, like natural language, artificial languages require a command of grammar (syntax) and vocabulary (reserved words, library methods) to create "fluency".
I proposed to test that hypothesis by dividing a first year class into two groups, one using a spaced-repetition tool and one learning on their own. Learning performance would be tested in two ways: looking at the scores of the two groups, and applying various size metrics (SLOCs, gzipped size, Halstead's etc) to their submitted code. The latter because presumably, a student who knew the standard library well wouldn't reinvent too many wheels.
I didn't pursue the project because it wouldn't have been feasible to do in a single year. There were also potential problems with contamination between groups, non-compliance of the tool-using group and of course it would need to go to the ethics board and the academic board. One professor suggested that it would make a workable Masters project.
edit: I'd be happy to forward the proposal to anyone who wanted a squiz.
edit 2: Or not. I pretty much just summarised it above. The other proposals were more interesting reads IMO.
About 18 months ago I was preparing to do an honours project and it was necessary to prepare project proposals to circulate amongst professors at my university. I prepared four. One of them was to develop a system like this one and to test it on first year students.
My hypothesis was that, like natural language, artificial languages require a command of grammar (syntax) and vocabulary (reserved words, library methods) to create "fluency".
I proposed to test that hypothesis by dividing a first year class into two groups, one using a spaced-repetition tool and one learning on their own. Learning performance would be tested in two ways: looking at the scores of the two groups, and applying various size metrics (SLOCs, gzipped size, Halstead's etc) to their submitted code. The latter because presumably, a student who knew the standard library well wouldn't reinvent too many wheels.
I didn't pursue the project because it wouldn't have been feasible to do in a single year. There were also potential problems with contamination between groups, non-compliance of the tool-using group and of course it would need to go to the ethics board and the academic board. One professor suggested that it would make a workable Masters project.
edit: I'd be happy to forward the proposal to anyone who wanted a squiz.
edit 2: Or not. I pretty much just summarised it above. The other proposals were more interesting reads IMO.
The free alternative is to get on StackOverflow, favorite tags relating to the language, frameworks and libraries you want to become more skilled in, then stalk the "interesting" tab for however much time you can devote a day. It becomes competitive quickly -- if you want accepted answers you need to be both fast and clear while either citing references or providing working example code.
Grab unanswered questions off the top of the page to work on breadth of recall, grab older questions with bounties to work on more depth in more complex topics. You work on real problems and write real code, which I doubt any repetition of planned exercises can match.
Grab unanswered questions off the top of the page to work on breadth of recall, grab older questions with bounties to work on more depth in more complex topics. You work on real problems and write real code, which I doubt any repetition of planned exercises can match.
It drills you on the syntax, classes and methods of your favorite languages and frameworks so you remember them forever.
I don't think this will make anyone an expert programmer.The title doesn't say export. It says 'more knowledgeable.' I think that we can agree that being more fluent in a language makes you more knowledgeable.
The headline for their front page is "the fastest way to become an expert programmer".
I'm sort of skeptical that this can make me a better programmer. Drilling syntax will make me memorize the language, but it won't make me code better in that language. For that, you need to work on a system/project, and make mistakes. It's like learning a new foreign language. Drilling vocabulary words may help me recognize bits and pieces in comics, and signs but won't help tremendously in understanding the bigger picture like a conversation.
However, an interactive class like CodeSonic might work to get the basics down.
However, an interactive class like CodeSonic might work to get the basics down.
I'd say the foreign language is a pretty good analogy, though to the benefit of CodeSonic.
For me, at least, when I learn a foreign language having the basic vocab, phrases, and syntactic structures down to automatic is the most important step. Sure, I won't compose great poetry or write the great $national novel in it. But once you can start automatically thinking or writing in the language, that's when you get to start building cool things with it.
Of course, it all depends on CodeSonic's implementation, which is everything. I give it a 3:1 chance of being a CodeAcademy you've got to pay for. But I signed up for emails anyway, on the off chance it actually is good, new, and worth paying for.
For me, at least, when I learn a foreign language having the basic vocab, phrases, and syntactic structures down to automatic is the most important step. Sure, I won't compose great poetry or write the great $national novel in it. But once you can start automatically thinking or writing in the language, that's when you get to start building cool things with it.
Of course, it all depends on CodeSonic's implementation, which is everything. I give it a 3:1 chance of being a CodeAcademy you've got to pay for. But I signed up for emails anyway, on the off chance it actually is good, new, and worth paying for.
Is it just me, or do the screenshots make it seem like a Codecademy clone that you have to pay for?
The feeling I got is if I pay 10 bucks a month, they will make content that is generally much more insightful to me.
Codecademy etc. are focused on increasing reach because of their business model and goals. I def think there is room for more specialized paid services(that run as profitable operations with a smaller goal than Codecademy).
Codecademy etc. are focused on increasing reach because of their business model and goals. I def think there is room for more specialized paid services(that run as profitable operations with a smaller goal than Codecademy).
If you need a website to help you memorize syntax and frameworks, you're probably not solving enough real problems.
“What are the parameters that redirect_to will accept?“
I've read numerous horror/funny stories about such questions actually being asked on a job interview. Luckily, I never had to go through this.
Solving the real problems, learning to dig for the relevant information and grokking new concepts (in this very order, I believe) is what turns you into a faster, smarter and more knowledgeable programmer. Of course I would love to stop confusing setInterval with setTimeout but I would still rather spend my time and money on learning something new.
I've always felt the same about learning foreign languages. Repeating words in a vocabulary gets me nowhere. I memorize some of them but this memory is short-lived. It actually takes you to “get” the language by actually using it (reading, writing, listening and talking). When you are ready, there is no conscious memorizing involved.
By the way, French isn't likely to change much in fifty years. Will the current redirect_to signature last a year?
I wonder.
“What are the parameters that redirect_to will accept?“
I've read numerous horror/funny stories about such questions actually being asked on a job interview. Luckily, I never had to go through this.
Solving the real problems, learning to dig for the relevant information and grokking new concepts (in this very order, I believe) is what turns you into a faster, smarter and more knowledgeable programmer. Of course I would love to stop confusing setInterval with setTimeout but I would still rather spend my time and money on learning something new.
I've always felt the same about learning foreign languages. Repeating words in a vocabulary gets me nowhere. I memorize some of them but this memory is short-lived. It actually takes you to “get” the language by actually using it (reading, writing, listening and talking). When you are ready, there is no conscious memorizing involved.
By the way, French isn't likely to change much in fifty years. Will the current redirect_to signature last a year?
I wonder.
I think the pricing may be off a bit, but this is an excellent idea for a couple of reasons.
First, the super-memo algorithm has been proven effective for more than 20 years, and can be very effective for building a wide base of programming knowledge.
Second, much of learning has to do with cognitive load. Having a wider knowledge of the capabilities of a language can reduce the cognitive load of solving individual problems. Compare the ease of solving fizzbuzz with modulo vs a home brewed solution. If the system can assist in building a base of concepts then it might make individual tasks easier.
First, the super-memo algorithm has been proven effective for more than 20 years, and can be very effective for building a wide base of programming knowledge.
Second, much of learning has to do with cognitive load. Having a wider knowledge of the capabilities of a language can reduce the cognitive load of solving individual problems. Compare the ease of solving fizzbuzz with modulo vs a home brewed solution. If the system can assist in building a base of concepts then it might make individual tasks easier.
Any idea which languages this will cover?
I had the same question. It's a shame that the site doesn't have any additional information or links.
I'm also hesitant about the price... for $10 a month this service should support a large variety of languages and offer a lot of in-depth questions for each language. I can get the same knowledge elsewhere for free, so if I'm going to pay for this, it should be worth it.
I'm also hesitant about the price... for $10 a month this service should support a large variety of languages and offer a lot of in-depth questions for each language. I can get the same knowledge elsewhere for free, so if I'm going to pay for this, it should be worth it.
Agreed, that's the first question as soon as I saw the concept.
I find it a little annoying when anyone promises something like this in the headline, and then provides no direct action to take on it.
I was basically ready to open my wallet and at least try it for a few days, but just throwing a signup form means I'm pretty much going to forget about and never look again having been let down once already.
I was basically ready to open my wallet and at least try it for a few days, but just throwing a signup form means I'm pretty much going to forget about and never look again having been let down once already.
This will make you fantastic at competing with and at the level of outsourced sweatshops. One of the huge differences I've found between US/European programmers and 'outsourced teams' is the former knows problem solving better than syntax while the latter knows syntax better than problem solving. Id rather be the former.
It's not either/or.
Fluency requires mastery of grammar and vocabulary. Sure you can look up everything you need on Google. You can also "speak" French with a translator's dictionary.
Having stuff at immediate recall is an enormously powerful enabler of creativity.
Fluency requires mastery of grammar and vocabulary. Sure you can look up everything you need on Google. You can also "speak" French with a translator's dictionary.
Having stuff at immediate recall is an enormously powerful enabler of creativity.
$120/year? For what?
The pricing/business model does not work with this especially when there are so many free alternatives.
The pricing/business model does not work with this especially when there are so many free alternatives.
Bit premature to be saying that isn't it?
Jon from Codesonic here. To clarify, we are going to be launching very soon with Ruby/Rails as the first language/framework combo we are supporting. Many more coming. Follow the twitter account @codesonic if you want to track our progress.
Anyone else catch this in the footer:
"Please note: Codesonic concedes inferiority only to the lingering sparkle of an eroding afternoon daydream."
+1 for funny, +1 for unexpected, and +1 for capturing my imagination
"Please note: Codesonic concedes inferiority only to the lingering sparkle of an eroding afternoon daydream."
+1 for funny, +1 for unexpected, and +1 for capturing my imagination
The sample question looks suboptimal for spaced repetition -- it's asking too much at once. Still, I'll give them my email.
Put my email in, always good to improve your knowledge.
For those of you who are unfamiliar with Anki, I highly recommend it as a free -- for web & desktop clients, though the iOS app is pricey -- alternative to the above. It also uses a spaced retention algorithm, and I've become accustomed to simply keeping it open at all times. Whenever I learn something new, I add it to the relevant Anki deck. This is the best way I've discovered to fight the erosion of my knowledge in the face of the growing proliferation of frameworks/languages.