编程与软件工程prog21.dadgum.com
那些应该存在却不存在的计算机课程
Computer Sciences Courses That Don't Exist, but Should
2015 — 2025,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这篇博文列举了一系列计算机专业“本应开设却不存在”的课程,如调试、性能分析、阅读他人代码等实际工作中必备但课堂很少教授的技能。文章引发读者热议,大家纷纷补充自己心目中缺失的课程,如网络原理、端到端软件开发和数值算法等。
为什么经久不衰:它戳中了计算机教育与工业界实际需求之间的长期鸿沟,十年后重上首页说明这一话题至今仍未过时。
HN 评论精选
网络基础知识是开发者教育中被严重忽视的一环
我再加一门课吧:《网络不是你想的那样:分布式系统生存指南》。我职业生涯里有大半时间在构建高性能网络,另一些时间与非常在意网络的开发者密切合作,我常惊讶于名校顶尖毕业生对网络知之甚少。像你的应用流量在线路上长什么样、操作系统如何处理数据包、延迟如何影响应用这类相对基础的东西,对太多开发者来说完全陌生。考虑到如今万物互联,这似乎是被严重忽视的领域。
insaneirish查看英文原文
Can I add another one? How about "The Network Doesn't Work The Way You Think It Does: A Distributed Systems Survival Guide". As someone who has spent a good chunk of their career building high performance networks and another chunk of it working closely with developers who care a lot about those networks, I'm constantly amazed at how little top tier graduates from well respected schools know about networks. Relatively basic stuff, like what does your application's traffic look like on the wire, how an OS determines what to do with a packet, how latency affects applications, and many other things are completely foreign to way too many developers. I could go on and on, but given the connected nature of things today, it seems like a very overlooked area.
算法课只教组合算法、忽视数值算法,是计算机教育的重大缺陷
是时候得罪人了:请全世界的计算机系别再糊弄学生了,把《算法导论》改名为《组合算法导论》,因为你们教的就只是这个,而完全忽略了可以说更重要的《数值算法导论》。数值算法几乎是计算科学各分支的基础,也是计算机毕业生转向机器学习和数据科学时最薄弱的一环。或者保留课程名,但一半课时讲算法与数据结构,一半讲数值方法与科学计算。另外,Allen Downey 和他在 Olin 学院的团队做的事值得一看。
fizixer查看英文原文
Okay time to upset people: Dear 'All CS Departments of the World': Please stop fooling your students in the 'Intro to Algorithms' class, and just rename it to 'Intro to Combinatorial Algorithms'. Because that's what you teach, and you completely ignore the arguably bigger area of 'Intro to Numerical Algorithms'. Numerical Algorithms, that are not only the basis of pretty much every branch of computational science (comp. physics, comp. chemistry, comp. biology, comp. civil engineering, comp. mechanical eng., comp. electrical eng., comp economics, comp. statistics, and on and on and on), but it's also one of the weakest link for a CS graduate to transition to Machine Learning and Data Science. Or you could keep the course title, but upgrade the class, by teaching 50% of it as 'Algorithms and Data Structures', and 50% as 'Numerical Methods and Scientific Computing'. Unrelated to above but relevant to the thread: Allen Downey and his team at Olin College are doing things worth looking into. (His Google techtalk: https://www.youtube.com/watch?v=iZuhWo0Nv7o)
学校缺少覆盖完整软件开发生命周期的课程
不如开一门《端到端软件解决方案 101》,走完整个开发流程:创意、设计、原型、beta 发布、交付和迭代。我有个好朋友正在读书,但我心里总有个挥之不去的念头:他学不到当今市场需要的东西。
WestCoastJustin查看英文原文
How about "Building an End-to-End Software Solution - 101". Going through the entire development workflow (idea, design, prototype, beta release, delivery, and iteration). One of my good friends is currently going through school, but in the back of my head there is this nagging thought, that he will not learn what's needed for today's market.
以戏谑的假想课程讽刺计算机教育中的形式主义与脱节
CSCI 0666:在白板上实现反向二叉树。CSCI 0123:用 COBOL 实现单子。CSCI 0555:成功纠正互联网评论者。CSCI 0556:对 CSCI 0555 的观点吹毛求疵。CSCI 0777:推特机器人多项式时间算法导论,重点是如何赢得烂比赛。CSCI 0911:用 Haskell 学函数式编程。CSCI 0912:如何为 CSCI 0911 学到的知识找到用途。
bliti查看英文原文
CSCI 0666: Implementing Reverse Binary Trees on whiteboards. CSCI 0123: Implementing Monads in COBOL CSCI 0555: Successfully correcting internet commenters. CSCI 0556: Nitpicking points made in CSCI 0555. CSCI 0777: Introduction to twitter bot polynomial time algorithms with an emphasis on winning shitty contests. CSCI 0911: Learning functional programming with Haskell. CSCI 0912: How come up with uses for knowledge acquired in CSCI 0911.
历次讨论
同类还值得读
开源应用架构
The Architecture of Open Source Applications
《开源软件架构》(AOSA)是一本在线免费书,邀请知名开源项目的作者亲自剖析其内部设计,涵盖 SQLAlchemy、LLVM、Audacity、Apache、Bash 等系统。
编程与软件工程上首页 9 次 · 2011–2024aosabook.org编辑精选编程语言简史:简短、不完整且多半错误
A Brief, Incomplete, and Mostly Wrong History of Programming Languages
一篇以戏谑、故意不准确的方式回顾编程语言史的博客文章,用夸张轶事和讽刺定义串起 Lisp、C、C++、Java、JavaScript、PHP 等语言。
编程与软件工程上首页 8 次 · 2009–2021james-iry.blogspot.comSQLite 是如何测试的
How SQLite is tested
SQLite 官方文档页,系统介绍 SQLite 的测试体系:多种测试方法(TCL 测试、模糊测试、回归测试、静态分析等)和海量测试用例,展示了这个小型开源项目如何靠极致测试获得…
编程与软件工程上首页 8 次 · 2009–2025sqlite.org编辑精选高级编程语言(2009)
Advanced programming languages (2009)
Matt Might 的经典文章,按用途推荐“高级编程语言”:如果追求就业就选主流语言,如果追求表达力、学术研究或创业,则推荐 Haskell、OCaml、Scala 等函数式语…
编程与软件工程上首页 8 次 · 2009–2022matt.might.net我的 Forth 与栈机器经历
Yosefk - My history with Forth & stack machines
作者以亲身经历回顾了使用 Forth 语言和栈式机器的历程:既赞叹其简洁优雅、代码量小、可自举的优点,也坦率指出栈操作在实际编程中的痛苦,以及 Forth 社区文化中的问题。
编程与软件工程上首页 8 次 · 2010–2024yosefk.com编辑精选