<?xml version="1.0" encoding="windows-1252"?>
<node id="949839" title="Re: General Computer Science: For Beginners" created="2012-01-25 02:13:46" updated="2012-01-25 02:13:46">
<type id="11">
note</type>
<author id="596967">
gnosti</author>
<data>
<field name="doctext">
My approach to learning CS has been to start projects. I come up to a wall, bang my head, and eventually find how OO, grammars, graphs or exception handling can help me. It's all CS, but in relation to a real project. Any sufficiently advanced project will pull in quite a bit of CS. As someone else suggested, reading perlmonks is a great way to learn.
&lt;p&gt;
For books, &lt;i&gt;Higher Order Perl&lt;/i&gt; is outstanding (although I've barely scratched the surface.) &lt;i&gt;Mastering Algorithms in Perl&lt;/i&gt; is a good reference in theory; in practice, I haven't needed what it offers, although knowledge of algorithms appears to be foundation for many CS courses.
&lt;p&gt;
Finally, learning version control (principally git) has dramatically changed how I work. If you do a project of 50 lines or more, you &lt;b&gt;need&lt;/b&gt; this!</field>
<field name="root_node">
915053</field>
<field name="parent_node">
915053</field>
</data>
</node>
