TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Projects the Hard Way – Coding Projects for Early Coders

321 点作者 pyprism将近 10 年前

8 条评论

danso将近 10 年前
This is a great progression in the series by Zed...if you lurk r&#x2F;learnprogramming, or any other place full of aspiring coders, a common complaint&#x2F;desire is that students will have passed all the Khan&#x2F;Codecademy courses, but have no idea what to do with the pieces of programming fundamentals that they&#x27;ve acquired. This is not just a problem with self-learners...I&#x27;ve seen a few r&#x2F;learnprogramming posts by CS grads from 4-year-colleges who say they have literally no idea what an API is or why&#x2F;how to work with one.<p>And I don&#x27;t think it&#x27;s necessarily correlated to the rigor&#x2F;prestige of the program. I had a discussion with Stanford professor who is building a course that involves hands-on work with real-world data problems...he undertook this initiative after finding that some PhD students, while brilliant in their research and coursework, did not know where to begin with relatively easy data cleaning work. I don&#x27;t know exactly what the disconnect was, but I&#x27;m guessing it wasn&#x27;t because data cleaning is particularly difficult as a CS problem. But it does require the ability to &quot;see the big picture&quot;...not just how different code modules and components can be designed to talk to each other, but the context and general who-gives-a-shit in regards to a given data&#x2F;computational problem.<p>So yeah, thinking about small projects to code for is a great way to make things &quot;click&quot;. Can&#x27;t wait to see what examples Zed comes up with.
评论 #9737290 未加载
评论 #9736135 未加载
评论 #9736098 未加载
red_hare将近 10 年前
This is awesome! When I was in school, this has always been my go to way to getting people to get out of their &quot;assignment programming&quot; boxes.<p>One of my favorites was having people build a URL shortener using flask and SQLite. The general requirements were something like: 1. Server a web page in flask with a form. 2. Accept URL as POST from form in flask app. 3. Hash URL. 4. Store hash and URL in database. 5. Return new hash URL (ie, myshortener.com&#x2F;?hash=12345) as a new page or with ajax. 6. Accept GET requests with hashes. 7. Lookup hashes in database and 301 to URL or 404.<p>Other fun ones were building a Secret Santa web app (accepts sign up separately and emails everyone on a certain day so it&#x27;s completely self run) and building a simple version of Galaga (in JavaScript using just canvas, setInterval, and keydown&#x2F;keyup events).
评论 #9735974 未加载
libraryatnight将近 10 年前
This is wonderful. I&#x27;ve been doing Learn Python the Hard Way and loving it, this is a really cool addition. I recently picked up the book &#x27;Automate the Boring Stuff with Python,&#x27; and one of the best things about it is the practical applications really help drive understanding - at least for me.<p>At work I write a lot of PowerShell scripts, and I think the reason I took to it so quickly is because the need was there. It was never ambiguous what I was going to build: I knew what I wanted to make easier, what tool I wanted to use to accomplish that goal, and it set me to learning quite quickly.
评论 #9735850 未加载
rtpg将近 10 年前
This looks like a great idea, and I imagine the execution will be great.<p>Personally, though, I find no excitement in building a log searching tool. Something a bit more magical (I think something involving web scraping or markov chains would be interesting) would probably entice people to move forward much more.<p>Not that this tool wouldn&#x27;t be useful, just that if I look at the end result, it doesn&#x27;t give me the want to build it.
评论 #9737185 未加载
评论 #9736873 未加载
hypertexthero将近 10 年前
Great to see this! Another great projects-based programming tutorial in Python is <a href="http:&#x2F;&#x2F;newcoder.io&#x2F;" rel="nofollow">http:&#x2F;&#x2F;newcoder.io&#x2F;</a>
评论 #9736204 未加载
bigtunacan将近 10 年前
I think this approach to teaching programming should be used more often. A good read for someone looking for something that is already out there is &quot;Cloning Internet Application with Ruby&quot;. [I am in no way affiliated with this book]<p>It uses Sinatra &amp; DataMapper to take the developer through some simpler projects (URL Shortener, Microblog, etc...)
bcoates将近 10 年前
It&#x27;s odd how much novice programmers are asked to work on blank-slate exercise projects, which strike me as inherently advanced work.<p>Building up from &quot;hello world&quot; to something with interesting learning-experience challenges involves a lot of boilerplate work. It&#x27;s almost guaranteed that you won&#x27;t learn the core skills surrounding managing and limiting complexity in medium and large projects, or even why these things are valuable.<p>It&#x27;s not much work to get a build environment up for a real-world program the student might use, then have them do projects to modify it (games are great for this). This can be really rewarding, it exposes the learner to realistic, large-scale code, and it serves to get them a gut feeling for &quot;none of this is magic, it&#x27;s just a bunch of code&quot;.
评论 #9735981 未加载
评论 #9737431 未加载
评论 #9736395 未加载
dimino将近 10 年前
If Zed can navigate the morass that is python package management in a way that makes newbies grok the major points and understand the value of doing things The Right Way, I&#x27;d personally buy him a beer or something.
评论 #9735870 未加载
评论 #9736104 未加载