TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Teaching other teachers how to teach CS better

156 pointsby robfigalmost 4 years ago

15 comments

cehrlichalmost 4 years ago
As a university lecturer in a non-STEM subject who is currently self-learning both &#x27;hard CS&#x27; and the more practical side of development, I have often thought about what an effective CS curriculum would be, and the thing I keep coming back to is something along the lines of guided self-learning. Nothing is as effective as curiosity, but having someone with broad knowledge and experience in the field can help guide students to not get caught up in dead ends.<p>In my own academic studies the teachers that were the most valuable to me were ones who nudged me in the right direction, and then mostly stayed out of the way and let my hunger for knowledge and results do its thing. But now I perceive a fundamental shift in higher education, one towards spoon-feeding in order to satisfy a strict curriculum, and I worry strongly that this sort of model is very dishonest and doesn&#x27;t produce good graduates.<p>The biggest problem that I see in present-day academia is the bureaucratic desire to quantify and measure things, which might be reasonable if you see universities as trade schools, but is in my opinion doing irreparable damage. I&#x27;m sure there are some bad teachers out there, but the bigger problem I see is institutions that prevent good teachers from doing their thing, until only the bad ones remain.
评论 #27810281 未加载
评论 #27808735 未加载
the-smug-onealmost 4 years ago
Teaching the course content through lectures is overrated, in my opinion. I rarely went to lectures, but the ones I did go to I was there not because I felt a need to learn the course material but because I could in some way engage with the lecturer. One lecturer would talk about how things looked in &quot;real papers&quot;, and how new algorithms would get published even though they lacked certain key invariants, and how stupid that was. Another one revealed key insights about the material which he had gained himself. This kind of knowledge exchange is far more important than the course material. You&#x27;ve got the chance to hear what and how some really smart people think about difficult subjects, that&#x27;s amazing!<p>Learning is easy, you just sit down and you engage with the material in earnest. Whether that&#x27;s course material or research papers doesn&#x27;t matter too much. Figuring out other people&#x27;s perspective without them explicitly telling you is way more difficult.
评论 #27809404 未加载
评论 #27810998 未加载
评论 #27809492 未加载
dehrmannalmost 4 years ago
I&#x27;m amazed at how teaching isn&#x27;t a core competency of universities.
评论 #27809205 未加载
wirthjasonalmost 4 years ago
Overall good article but I was expecting an in depth assessment of how to actually teach CS. I was particularly interested in hearing how teaching CS might be different from teaching other subjects, particularly math, engineering, etc.<p>Instead the article was more about why student reviews are not a good way to evaluate the teacher. It’s like letting your toddler decide what’s for dinner… “ice cream and candy, again?!?!”
评论 #27810664 未加载
评论 #27810971 未加载
vinni2almost 4 years ago
In my university every new faculty member needs to go through 200 hours pedagogical training and further 50 hours of training every 5 years. But it is unfortunate that these training programs are same for all disciplines and designed by pedagogical theory people with no CS or even science background. It was a waste of time who focus mostly on theory of pedagogy which is hardly applicable for CS.
CobrastanJorjialmost 4 years ago
It&#x27;s been nearly 20 years since I took a course taught by Mark Guzdial. What I remember most from it wasn&#x27;t anything about his teaching style but that the correct answer to nearly any exam question that starts &quot;what is the best programming language to use for X&quot; was going to be &quot;Squeak,&quot; and there definitely would be such a question on the exam.
ggmalmost 4 years ago
It&#x27;s incredibly easy to learn how to hack, and not how to abstract good design in a problem.<p>Anyone who opened a 1980s PC mag could be shown how to implement basic FOR or WHILE or if&#x2F;then&#x2F;else expression logic in BASIC and achieve huge outcomes: playable games, interesting solutions.<p>Learning how to craft code so its &quot;better&quot; is really hard. Abstraction is a distinct skill.<p>The mathematical underpinnings of code lie in things like logic, and group theory, higher order functions, recursion, you name it. These are not things to acquire by asking your kid next door to show you how his mod-scene ASM works.<p>I studied CS over 40 years ago. I think I&#x27;m still deficient, at the end of my career. CS is hard.<p>Understanding the implications of code on memory, performance, critical paths, safety, provability, type-safe all come with rules of thumb (engineering) which can often be acquired by the kid-next-door path, and fundamentals in their theory which really cannot.<p>FP is at the extreme end of hard-to-acquire, especially if your entry was imperative hacking.
评论 #27807583 未加载
评论 #27810939 未加载
wagslanealmost 4 years ago
This is particularly interesting to me as I&#x27;ve been building a CS education platform this year (<a href="https:&#x2F;&#x2F;qvault.io" rel="nofollow">https:&#x2F;&#x2F;qvault.io</a>). My favorite bit was right at the end:<p>&gt; In computer science, we often have a model of teaching that is heavily focused on content matter knowledge—if you know your CS, you&#x27;ll likely be a good teacher. But all our evidence about quality teaching says that that&#x27;s wrong. There&#x27;s a lot of knowledge involved in teaching computer science well, and perhaps the most important is pedagogical content knowledge.<p>Basically, its not enough to understand your CS, you have to understand how to teach the CS.
评论 #27807787 未加载
评论 #27807116 未加载
roflchoppaalmost 4 years ago
Teachers please use testing suites, include basic tests that can show student that they are making progress in the assignment. Have your own tests for grading (if you want).<p>For intermediate classes force students to use some type of version control, as in they need to submit assignments to a branch, and the branch will be graded.
leed25dalmost 4 years ago
When I was in college --names are elided to protect the guilty-- the school of education was a hot mess. There was a verbal meme around the campus that went something like this:<p><pre><code> those who can do those who cannot do teach those who cannot teach teach teachers.</code></pre>
评论 #27808241 未加载
评论 #27808225 未加载
评论 #27807567 未加载
评论 #27808239 未加载
评论 #27807779 未加载
jb775almost 4 years ago
The simple solution to learning CS is to just start building something.<p>The process of getting stuck and figuring out how to get un-stuck is where the learning actually happens.
评论 #27811058 未加载
评论 #27811728 未加载
kilodecaalmost 4 years ago
Why do they use bit.ly?<p>I can&#x27;t visit bit.ly links.<p>ERR_CONNECTION_CLOSED
评论 #27817017 未加载
jowdonesalmost 4 years ago
&quot;Teaching other teachers how to teach teaching to teachers&quot; would have been a better title.
westurneralmost 4 years ago
<a href="https:&#x2F;&#x2F;code.org&#x2F;teach" rel="nofollow">https:&#x2F;&#x2F;code.org&#x2F;teach</a><p>git and HTML and Linked Data (and <i>Reproducible</i> Containers) should be requisite: <a href="https:&#x2F;&#x2F;learngitbranching.js.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;learngitbranching.js.org&#x2F;</a><p>Pedagogy#Modern_pedagogy: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Pedagogy#Modern_pedagogy" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Pedagogy#Modern_pedagogy</a><p>Evidence-based_education: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Evidence-based_education" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Evidence-based_education</a><p>Computational_thinking#Characteristics: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Computational_thinking#Characteristics" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Computational_thinking#Charact...</a> (Abstraction, Automation, Analysis)<p><i>Learning</i>: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Learning" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Learning</a><p>Autodidacticism: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Autodidacticism" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Autodidacticism</a><p>Design of Experiments; <i>Hypotheses</i>, troubleshooting, debugging, automated testing, Formal Methods, actual Root <i>Cause</i> Analysis: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Design_of_experiments" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Design_of_experiments</a><p>Critical Thinking; definitions, Logic and Rationality, Logical Reasoning: Deduction, Abduction and Induction: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Critical_thinking#Logic_and_rationality" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Critical_thinking#Logic_and_ra...</a><p>Doesn&#x27;t this all derive from [Quantum] Information Theory? It&#x27;s actually fascinating to start at Information Theory; who knows what that curriculum would look like without reinforcement and [3D] videos: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Information_theory" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Information_theory</a><p>Stone, James V. &quot;Information theory: a tutorial introduction.&quot; (2015). <a href="https:&#x2F;&#x2F;scholar.google.com&#x2F;scholar?q=%22Information+Theory:+A+Tutorial+Introduction%22&amp;hl=en&amp;as_sdt=0&amp;as_vis=1&amp;oi=scholart" rel="nofollow">https:&#x2F;&#x2F;scholar.google.com&#x2F;scholar?q=%22Information+Theory:+...</a><p>It used to be that we had to start engines with a turn of a crank: that initial energy to overcome inertia was enough for the system to feed-forward without additional reinforcement. Effective CS instruction may motivate the unmotivated to care about learning the way folks who are receiving reinforcement do: intrinsically.
drewcooalmost 4 years ago
From the title, I expected deepities. It failed to even meet that bar. It&#x27;s a CS prof. Was the article generated?
评论 #27807133 未加载
评论 #27809450 未加载