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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: How should I teach undergrad intro to programming?

4 点作者 jkhdigital8 个月前
I was just hired as adjunct faculty to teach computer science undergrads at a top 100 US university. The department would like me to start by teaching the introductory C programming course. This course (or its Python counterpart) is a requirement for CS majors, although it is open to other students as well.<p>I am under no illusions that my unfinished PhD (dissertation pending) gives me any special insight into how to teach fundamental programming concepts. These are topics that thousands of students are introduced to every day in high school and college courses, coding boot camps, or through self-study. I know how I learned this stuff, but that doesn&#x27;t mean the same approach will be effective for everyone else.<p>The bulk of my preparation is in developing the content of my classroom lectures (about 24 sessions, 80 mins each). My goal is for the lectures to be sufficiently engaging that all my students choose to attend, even if I don&#x27;t grade them on attendance. Anyone can go watch the Harvard CS50 lectures on edX if they want to learn programming; the only advantage I have is that I&#x27;m doing it live in front of my students and, if I prepare well, can pull them into the subject with an interactive personal experience.<p>So, I&#x27;m asking the HN community for advice. I&#x27;d like to hear about the <i>best</i> experiences you have had as a student, not just limited to learning CS topics. I&#x27;d also like to hear about any particularly memorable or effective approaches to learning fundamental programming concepts that you&#x27;ve encountered which I might be able to employ in my own course.<p>Thanks!

2 条评论

eimrine8 个月前
CS50 is not the same course as introductory C course, so you have some more advantages than just having a live conversation. It is hard to advice anything without knowing what topics are you going to show on 24 sessions, how many students are there in classroon and with living far from US therefore not knowing anything about your culture.<p>Probably one of decent ideas is to implement a version control system early, so the student is going to have a working one before the code becomes too hard for one person without even a version control system. In my studentship we used to write text editors and we used to learn a lot about bits and bytes and some big old computers but what matters more IMO is all kinds of free and open-source tooling for text.
yashasolutions8 个月前
I would say, make it practical, with some live coding and incremental building of something they can use and play with.<p>C is a great language, especially for teaching CS (python is too but C allow to get into memory allocation and all the fun part of what make computing and compiling fun.)<p>I have learn C with code writing on a black board and pen and paper... that was good too but not sure if young people would have enough patience for such an approach