<story><title>A Site That Teaches You to Code Well Enough to Get a Job</title><url>http://www.wired.com/2014/09/exercism/</url></story><parent_chain><item><author>roywiggins</author><text>Flask. Flask Flask Flask. It&amp;#x27;s well-documented, in Python, and you can push it to Heroku easy as pie.&lt;p&gt;You can add things like templates (they&amp;#x27;re built in, and can be really simple) or just concatenate HTML the old-fashioned way. You can program very imperatively and work up to abstractions. It&amp;#x27;s very friendly.&lt;p&gt;I haven&amp;#x27;t seen it used as an introductory &amp;quot;language&amp;quot; but I feel like it would work well.</text></item><item><author>GuiA</author><text>And this is why I always use PHP as an introductory language if I have to teach web dev; the setup part is much more straightforward than it is for Rails&amp;#x2F;Django&amp;#x2F;etc., and you don&amp;#x27;t have to spend a ton of time teaching dozens of concepts (MVC, routes, templating, git, unit tests, ORMs, etc.) before the students can have mini web apps written.&lt;p&gt;Some programmers balk at the idea of teaching PHP with plain HTML&amp;#x2F;CSS instead of teaching using Rails + Angular + all the fancy crap they like, but I&amp;#x27;ve taught web dev to over 500+ students in the past 7+ years (and programming&amp;#x2F;CS to about twice that), and it&amp;#x27;s worked like a charm (and the people who get the most upset by that notion are often those who have taught 0 students).&lt;p&gt;My girlfriend is an art teacher, and when they teach new students they don&amp;#x27;t start right away with watercolor or oil paints; rather, they start with materials that are easier to handle for beginners (e.g. plain pencil), so they can focus on the basics before tackling the more subtle and advanced techniques. Why are we trying to teach programming using all the fancy tools and technologies used in production systems?</text></item><item><author>MrJagil</author><text>Excellent how this problem is continuously attempted to be solved.&lt;p&gt;As a wannabe programmer, one thing I always lacked from these sites was the ability to somehow see my code live. I.e. it&amp;#x27;s fun to write html and css on codecademy or python from LPTHW or whatever but how on earth do I get it on the web or assembled into .app? In actuality, the complexity that surrounds DNS providers, server apps (or whatever you call filezilla etc), server providers (here i mean heroku, AWS, Cloudflare etc), those weird githubs and repos that people chat about etc etc, is way more deterring than actually learning what a &amp;quot;class&amp;quot; is.&lt;p&gt;Learning is fun; endless googling is not.</text></item></parent_chain><comment><author>macNchz</author><text>&amp;gt;you can push it to Heroku easy as pie&lt;p&gt;Having worked with absolute beginners, this isn&amp;#x27;t nearly as easy as you think for someone just getting started. You&amp;#x27;re adding ssh keys, getting set up with git, installing the heroku client, running things from the command line, dealing with dependencies, dealing with heroku config file issues...&lt;p&gt;These are the things that get extremely frustrating very quickly to someone who doesn&amp;#x27;t have a technical background, and they cause people to give up.&lt;p&gt;Compared with: start a shared hosting account for $2&amp;#x2F;month, connect with a gui FTP client and the password you made during signup, drag and drop files to the server, go to &lt;a href=&quot;http://www.yourserver.com/foo.php&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;www.yourserver.com&amp;#x2F;foo.php&lt;/a&gt; and see if it works.&lt;p&gt;If it&amp;#x27;s about learning the most basic fundamentals, PHP just works. It will be some time before these people start building things where security, scale, separation of concerns, version control etc start to count. Introducing too many things at once is frustrating, and the fun starts when you can use the things you&amp;#x27;re building, and share them with others. There&amp;#x27;s not much that&amp;#x27;s better than PHP in that regard.</text></comment>
<story><title>A Site That Teaches You to Code Well Enough to Get a Job</title><url>http://www.wired.com/2014/09/exercism/</url></story><parent_chain><item><author>roywiggins</author><text>Flask. Flask Flask Flask. It&amp;#x27;s well-documented, in Python, and you can push it to Heroku easy as pie.&lt;p&gt;You can add things like templates (they&amp;#x27;re built in, and can be really simple) or just concatenate HTML the old-fashioned way. You can program very imperatively and work up to abstractions. It&amp;#x27;s very friendly.&lt;p&gt;I haven&amp;#x27;t seen it used as an introductory &amp;quot;language&amp;quot; but I feel like it would work well.</text></item><item><author>GuiA</author><text>And this is why I always use PHP as an introductory language if I have to teach web dev; the setup part is much more straightforward than it is for Rails&amp;#x2F;Django&amp;#x2F;etc., and you don&amp;#x27;t have to spend a ton of time teaching dozens of concepts (MVC, routes, templating, git, unit tests, ORMs, etc.) before the students can have mini web apps written.&lt;p&gt;Some programmers balk at the idea of teaching PHP with plain HTML&amp;#x2F;CSS instead of teaching using Rails + Angular + all the fancy crap they like, but I&amp;#x27;ve taught web dev to over 500+ students in the past 7+ years (and programming&amp;#x2F;CS to about twice that), and it&amp;#x27;s worked like a charm (and the people who get the most upset by that notion are often those who have taught 0 students).&lt;p&gt;My girlfriend is an art teacher, and when they teach new students they don&amp;#x27;t start right away with watercolor or oil paints; rather, they start with materials that are easier to handle for beginners (e.g. plain pencil), so they can focus on the basics before tackling the more subtle and advanced techniques. Why are we trying to teach programming using all the fancy tools and technologies used in production systems?</text></item><item><author>MrJagil</author><text>Excellent how this problem is continuously attempted to be solved.&lt;p&gt;As a wannabe programmer, one thing I always lacked from these sites was the ability to somehow see my code live. I.e. it&amp;#x27;s fun to write html and css on codecademy or python from LPTHW or whatever but how on earth do I get it on the web or assembled into .app? In actuality, the complexity that surrounds DNS providers, server apps (or whatever you call filezilla etc), server providers (here i mean heroku, AWS, Cloudflare etc), those weird githubs and repos that people chat about etc etc, is way more deterring than actually learning what a &amp;quot;class&amp;quot; is.&lt;p&gt;Learning is fun; endless googling is not.</text></item></parent_chain><comment><author>vegggdor</author><text>&amp;gt; and the people who get the most upset by that notion are often those who have taught 0 students&lt;p&gt;Does that apply to you?</text></comment>