Ask HN: What should be taught in high school?

200 points by NiloCK ↗ HN
I'm an educator with a CS / programming background. There's a possibility that I'll be moving into the 'Information and Communications Technology' role next year at my medium sized high school (grades 9-12, ~700 students, diverse student population). My jurisdiction's curriculum in this area is not well developed, and there are no standardized tests to prepare for. I'll have an amount of freedom in deciding course content that's unusual for high school teachers.

What would HN have the modern western high school student learn with respect to "Information and Communications Technology"?

245 comments

[ 4.3 ms ] story [ 215 ms ] thread
Remember to include Excel. It's very powerful for people that can't program. I use it a lot in spite I can program. For example for the monthly family budget. Also for statistics about how many students approve in my courses.

You can add some nice color, bold letters, and other visual stuff to make an informal report.

You can make nice graphics. I like dispersion graphics. Sometime the linear approximation is useful, but perhaps it's too much for 9-12yo.

Grades 9-12,so like 14-18 year olds
For 14-18yo I'd like to add semi-logarithmic graph and solver, but perhaps it's too much.
When I was in elementary school, back when dinosaurs roamed, my grade 7 class did the entire Microsoft Works (for DOS) tutorial application. This was designed for adults but it was a fully interactive tutorial on how use the word processor, spreadsheet, and database components of Works. It took several weeks of 1 hour-per-week computing lab classes to finish.

I was already pretty tech-savvy in those days but that was still one of the best things I learned as a kid computer-wise. The fundamental principles of a spreadsheet has never changed and I learned it as a 12 year old.

I also got some exposure to a spreadsheet, a word processor and a database at school. The database stuff made little sense to me, and did not do anything to prepare me for what I'd learn about databases in university.
>Remember to include Excel.

I don't understand why you would force your children to depend on an unethical for-profit corporation. Why not LibreOffice? 99% of what normal people need is covered in it.

Presumbly because Excel is used far more widely in the corporate world and will be of more use to students
Presumably learning "spreadsheets" at the level taught in schools is much more useful than learning $brandname software's quirks.

Also, at least when I went to school the software versions used were fairly old (partly because of the budget and partly because that is what the teachers originally developed their course for). Those were different enough (think pre-ribbon) to trip those people up who memorized instead of learning what things mean. I.e. "spreadsheets" skills transfer, "this is what the button looks like in office 95" does not.

Schools are for learning not for training for corporate.

> unethical

??

I'm not saying it couldn't be done (and run on Linux of course) but the entire industry needs professional support tailoring the needed software package, solve problems, install updates or define the needed hardware all are (presumably easily) solvable with Microsoft or Google products, but don't have out of the box solutions for an entire country.

You can't rely on a school kid or teacher to install Linux distributions or download the right software.

You might like it or not (definitely not), but because Excel is unparallelled when it comes to spreadsheet software.
I would defend this statement 100% if Excel had regex support in Find/Replace.
Whatever spreadsheet software is fine for me. Excel is still more popular, but unless you use very advanced stuff LibreOffice is equivalent.
I was really surprised to find out that my kids didn't know what a spreadsheet is, they are not afraid from technology are curious and try to find the "best tool for the job" but somehow this was left out.

Schools here in Sweden uses word/google docs but not sheets for some reason.

My son graduated a couple years ago from a larger high school but they had a IT & Robotics program he attended that was really good. While you probably won't have as much freedom as they did when developing that specific program you might be able to get some ideas from them. The teachers and admins involved are really good people and I am sure if you reached out they would gladly send you some details. You can find some info for them here: http://www.creekaitr.com/ There is contact (email etc) on that page which would get you directly to the right people.

Good luck, I think this is awesome. I would also echo teaching a real spreadsheet class would be an awesome idea as there is so many issues you can solve using spreadsheets.

Financial planing 101. I know when I graduated from high school I was completely unprepared to make a budget, plan for expenses or save money.
You hit the nail on the head. So many people today will never escape their debts or achieve financial independence because they were deprived of financial knowledge until it was too late.
OP's title is misleading in that they're specifically talking about Information Tech and Communication related stuff. So "Financial Planning 101" is off-topic.
To be fair, modern financial planning typically involves a bit of software. Double entry accounting tools or spreadsheets, for instance.
Financial Advice 101 shouldn't need to involve any software. A 101 in Finance isn't "modern financial planning", and giving people who don't understand the 'time value of money' or basic budgeting shouldn't be handed Double Entry accounting tools.
Adding up columns of numbers is basic budgeting. People typically use software tools for that. Like accounting software or spreadsheets.

Having students do financial arithmetic on paper is as helpful and realistic as having them write out essays in cursive handwriting.

I think we're talking past each other, because my Financial Literacy 101 education had basically nothing to do with "financial arithmetic".

It was all concepts and foundational equations like compound interest.

If you're using the fact that this would involve "spreadsheets" as a way to link it it ICT education which is what this thread is about then I don't even know what we're talking about anymore.

I suspect ‘humanrebar is thinking about bookkeeping more than accounting. It’s largely mechanical, often computer-assisted, and the first necessary step to put any of that theoretical knowledge to use in practice.
I think there are a lot of things that could be called "Financial Literacy". I am advocating for something immensely practical for normal working class consumers to set themselves up to manage a household and perhaps a small business.

That is, emphasize finances (practically, using realistic tools). Covering basics of Finance is probably fine, but only to the extent that they understand the gravity of a 22% compound interest rate. Being able to do complex calculations with that rate is probably less practical than learning some other things, like knowing how buying a piece of property works.

This. My 21 and 23yo sons have no idea how to manage their money, and it took my older daughters several years of "emergency loan from parents for food or rent" funding (always paid back) to get their finances under control.

Financial education is WAY more complex than it was 20 years ago, with many more ways for people to go wrong

The habit of saving money is a teachable skill that parents can cultivate in their kids.

Typically, kids learn more from the ACTIONS of adults in their lives than WORDS. I may have picked up my simple way of life from my parents when cash was tight but my younger ones who grew up in a more financially relaxed atmosphere are spend thrifts.

Agreed. Also, how about the various taxes you encounter as an adult (income, property, ect...)
The difference between Linear vs Exponential (or non-linear more broadly).

Basic economics, Supply and Demand.

Comparative Mythology/Religion.

Not in an "Information and Communications Technology" course
I don't know - FP vs OO as a "comparative mythology/religion" course might be interesting...
Oh didn't read the description.
I say how to think critically: problem solving, not always accepting the status quo, don't take things at face value (photoshops, or fake news), think about what motivates other people (when negotiating etc), learning self-independence.

Maybe some of those things can't be taught effectively at school, but I sure don't think most kids are learning that stuff at home. Perhaps your school might sponsor a Scouts BSA program? A lot of the character development stuff can be taught that way.

(And a lot of people on reddit say taxes.)

Rebuttal: There's good evidence that "thinking critically" is not a skill that can be divorced from domain-specific expertise. In order words, the capability to be a critical thinker is in direct relationship with one's competency in _specific domains_ and cannot be generalised.

Source: Why Knowledge Matters - E.D Hirsch

I think what’s most important is not so much critical thinking skills as critical thinking discipline.

Don’t go round believing things just because you want them to be true, or disbelieving things just because you don’t want them to be true. Don’t rush to judgment just because something provokes a strong emotional reaction. Always be doubting, always be listening to points of view that differ from your own. That kind of thing.

Which is true but also leaves the interesting follow up question - do people understand how uncritical thinking works and can they recognise in themselves when & why they are doing it?

A lot of intelligent people seem to have skipped thinking about that one. I'd love to get it and a negotiation course into a high school curriculum.

It's difficult to accept this assertion at face value. After all for any given proposition p, regardless of the domain under which it ought to be considered, we can always choose not to immediately accept it without sufficient reason for doing so. We can always ask why p has been offered up to us, what the arguments for and against p are, and what the implications of accepting it would be.
Often what people need is just plain thinking about what they read/hear instead of having knee-jerk reaction to the topic.
although subject matter expertise and whatever goes under the rubric of "critical thinking" these days is highly correlated, there is still a common sense approach to logical, analytical thinking that might fit under the umbrella of critical thinking while not being domain-specific.
We had some of that in school. In English class there was a task that had an article that went something along the lines of "Aunt sues grandson over a hug" with the article body describing how she fell over due to the hug and broke her arm and is now suing the grandson over it saying he was irresponsible. We were then ask to analyse the article. On the next page was another article about the same event but this time it went in to the details that the only reason the Aunt was suing the grandson was because it would allow insurance to pay for her medical fees and would not negatively impact the grandson.

It was a pretty eye opening task showing how 2 articles which both report only the truth can be twisted to bring about different stories/emotions.

how do you teach a teenager to 'not take things at face value' without inserting your own opinion about news that's fake?

'look at this fake news asserting A...this story is misleading because B is actually true'.

I think it's best to let the student decide what's fake. It's better to analyze how the same story can be presented in vastly different ways, or with a different emphasis to further an agenda, even if neither is fake.

The same can be done with data visualizations.

Critical thinking is good. Building the 30 seconds habit of verifying stuff online is better for fake news. And it's teachable.

Regularly mix in half truths or outright lies and see who challenges you. Check a few classes later for who verified the claims. Do this often enough and at least 1% will bite.

Lastly, the habit of reading for pleasure is a natural fake news antidote. Over time, a person who reads widely will build enough expertise to spot rubbish.

Example, in unknown territories, I could be as gullible as my grandmother. Yet, it's very easy for me to spot wrong, misleading results on Google's search results and articles - in areas where I'm well read.

I've told my younger bro that his MBA professor's wrong about in one area or another. Since I don't have an MBA, he'll naturally discount my position. He'll however, agree with me a few month's later, when another professor or sometimes the same prof backs up my claim.

Summary: Cultivate the hacker's love of boundry-less learning in kids.

Basic cyber security. Good password practice, be wary of unknown links, use 2fa where you can, etc.

Hopefully, that will also encourage a skeptical mindset which helps in other areas of life (religion, politics, pseudoscience, “alternative” medicine, etc).

Finding videos to learn from on YouTube. Everything (including how to discover and use other kinds of resources) is taught the best way there already. Chances to find a teacher able to explain the things better than people do on YouTube are negligible.

The whole job a school is to do nowadays is to motivate, answer specific questions and connect young people.

I really don't understand why are kids supposed to waste time with mediocre teachers (provided they even manage to get into a tolerable school, many have not a chance given where they live and how much do their parents earn) when there are great educators lecturing for everybody online. The problem, however, is many don't even know they can find great educational content on YouTube so they only use it to watch the stupid stuff.

A few ideas:

* assuming they have computers with the internet, you may try to integrate some online self-paced web-based interactive training. This will leverage massive existing efforts.

* ideally there could be multiple tracks/programs in the same class for people at different levels or interests. this is much more practical if you have some way to do self-paced learning

* you might include something like Slack or Discord or some online site briefly. unless this category is something kids are already experts on

* spreadsheets and word processing seem very important and maybe are the mandatory part you try to get everyone through

* programming, AI and/or robotics would be nice to include some self-paced exercises for an advanced optional track. Again, lots of websites for this stuff.

* Many kids are interested in streaming. "How to get started on Twitch"

* "How to Google" https://www.google.com/amp/s/amp.businessinsider.com/how-to-...

* 3D modeling, basic video editing, Adobe stuff (websites/Blender)

I guess my answer is, ideally, Everything, self-paced or maybe small-group-paced. Maybe hard to do that, but I think if they are allowed to self-direct to some extent and have different options then they will get much more out of it. Maybe everyone does WP/spreadsheets or whatever basic stuff and then they have to pick a secondary track once they get through that.

Software Development - Especially in the inner city.

I really wish there was a way for engineers to help public schools educate students in software development. Years ago, I offered to teach a class at my old high school, and even _tried_ to donate $5,000 to help fund it. Not only was it rejected, but the people working there seem not to care.

This was a school in North Philadelphia.

100% social skills and assertiveness. Everyone should be helped to a level playing field there as much as possible and as soon as possible.
How computer programs work in operating systems. What is I/O, virtual memory, how does a filesystem work, what are software libraries, system calls, IPC, TCP/IP, authentication and authorization, how do kernel drivers work, how do programs and operating systems store settings, etc. Later, how web applications, smartphone apps, databases, encryption work.

The purpose is to be able to reason about how computers work in general. It's similar to teaching people how cars or plumbing works; they may not be able to build it, but they could conceivably troubleshoot and attempt to repair it, and it makes tech jobs easier.

I find a lot of people, even developers, have no idea about the history of computing. Things like where Unix came from and why our computing world looks the way it does today. Talk about mainframes, Alan Turing, ENIAC, etc. Also a discussion on the Unix way vs the Lisp way (NJ School vs MIT School) should be informative. Impress upon the students that the computing world we live in today is mostly an accident, things could have been very different: we could have all been using Lisp machines, for example.
Second this! With heavy emphasis on Unix and IP networking fundamentals.

Before I saw this comment I was going to say teach them typing - is that still taught in school? I think quite honestly learning to type at an early age made the difference between someone interested in computing and someone completely passionate about computing.

After that I’d say teach them how to network their computers together, learn how to research/ read RFC’s. I think there’s some really compelling writing in RFC’s... maybe teach them how to survive on a vt100 terminal... I also think learning about optics is a great way to teach basic electronics and physics.

> Also a discussion on the Unix way vs the Lisp way (NJ School vs MIT School) Wow. This sounds very interesting. Do you have any recommended readings on this? I have some hard time pulling useful results from Google.
We had an computer system architecture class on the CS degree I did that started with the Manchester Mark 1 and looked at the development of particular features over time - was a really interesting class.
It's sort of shocking how many of my colleagues in the past did not know who Alan Turing was. Context and history is so important to understanding why things are the way they are - and it also makes you mostly bullet-proof to tech dogma.
“Philosophy of science,” or, “how do we know something to be true, and what is the difference between knowing something and believing something to be true?”

I took such a philosophy course in college and it was quite informative as a way to reason about problems. It helped me with my debugging, to move from “x is the problem” to “I believe x is the problem, and here is why I believe this causal relationship exists.”

I think this is what most of us call “critical reasoning” skills, or “how to think.” But this particular line of causality, and analyzing the strongest statement one could make based on a set of premises, is a skill that has served me well as an engineer.

In addition to the great suggestions below, one of the things I would add ( this gels with the whole problem solving skills suggestion) is to introduce them to algorithms. It needn't even be in a specific language. Being able to think abstractly is one of the great powers that high schoolers should be exposed to.
I would listen to what they want to build and cater the curriculum to that. Make it democratic and cutting edge and personalized.
The one thing missing from all curriculums is how operate in political environments without losing yourself. Whilst not a technical skill, knowing how to navigate this aspect of work allows for more sustainable productivity.
What is actually going on in the world. I am very grateful my tech teacher in high school always started class with ten minutes of discussion about current events. Some of the time he would bring in a newspaper and for a headline, other times he had some other idea in mind. Much of the discussion was about our thoughts on the subject though, not just a recounting of the events.
For an 'Information and Communications Technology' course, I think the main goal ought to be demystifying computers and the internet, to enable students to think critically about about the role they play in society.

One outcome is that students can be active users rather than passive consumers and think critically about topics such as privacy and social media.

Other outcomes are improved computer literacy, and perhaps inspiring some students to pursue computing as a hobby or career -- but the demystification and critical thinking will benefit all of the students, not just the ones who are interested in computers.

And don't forget the most basic element of computer literacy: understanding the difference between a document editor like MS Word and an editor that shows the actual bytes. This is really not hard at all, but also something that people can easily miss if they never run into an actual use case.
I would not consider that to be “the most basic element of computer literacy”.
As someone who was always interested in CS but who also always sucked at math, the basics of logic helped me immensely in finally understanding both. And, whether by nature or nurture, as a woman I was always better with words than numbers. Learning the fundamental concepts of logic without numbers bridged that gap in my brain and gave me the confidence to tackle the numbers soon after.

There’s a really good course on edX called “Logic and Computational Thinking”. It’s pretty basic and you could probably finish the whole thing in a Saturday. I would imagine much of the content is in line with the capability of the average high schooler. It was a good (and unintimidating) starting point for learning how computers “think”.

I wish people talked about the relationship between logic and math in high school. No one told me that math is really an extension of logic until I got to college (or if they did I ignored them.) Once you realize that you realize how unimportant the application actually is and the whole subject starts to make sense (at least to me.)
This. I can't express this enough. And other thing I can't express enough is how logic is an extension of common sense. Just go and read the wikipedia articles about the Three Laws of Thought: the Law of identity, the Law of noncontradiction, the Law of the excluded middle and the Principle of Reason.
> as a woman I was always better with words than numbers

This is really concerning to me as a father to a daughter. Is this a research finding? This can be decoded as saying women have lower IQ than men because people who are good with numbers generally have higher IQs.

Or it's a reflection of what kind of skills the IQ measures.
(comment deleted)
It's an old cliche, and I personally suspect it's more a case of the cliche informing cultural expectations and behaviours than this being an inborn thing. I think I've seen some research in the past that women and girls perform just as well on math and numbers as men and boys, as long as you separate them from those cultural expectations.

Of course there's a lot of individual variation. Some people simply are bad at math. But I think more people allow themselves to be intimidated by it when it's not necessary.

In any case, my mother and sister were/are better with numbers than words (which is also true for the men in my family).

As for IQ, it's about a lot more than just being good with numbers. There are many aspects to it. Though it also depends on how you define it. Different IQ tests can sometimes measure different things.

Just a few decades ago the western society expected girls to be better in math than boys, and both complied. It got reversed around the 50's and 60's.
Yes, it is concerning. Fortunately the research actually says the exact opposite.[1] It is a strongly held stereotype (in the US at least) and natural ability or natural interest is often pointed to on HN as the reason for the lack of women in STEM. I personally don’t believe it has anything to do with nature and is entirely attributable to nurture.

However, I wrote “whether by nature or nurture” because my ultimate goal was to let OP know that teaching logic might be a good avenue to spark the interest of high school girls who were like me - interested in CS even though they might have been discouraged from participating and feel like they don’t have the “natural” ability because they’ve been pushed toward language skills for most of their academic career. My message would have been brushed aside (at best, I likely would have been, and perhaps will be, berated) had I written “as a woman although I was interested in numbers I was encouraged to focus on words”. And so, like women often do[2], I held back my true thoughts on the matter because I hoped that doing so would be for the greater good if it meant OP would be the CS teacher I wish I had as a high school girl.

[1] https://time.com/81355/girls-beat-boys-in-every-subject-and-...

[2] https://www.nytimes.com/2019/02/07/opinion/sunday/girls-scho...

> as a woman I was always better with words than numbers

As a man and a mechanical engineer, I was and still am way better with words than numbers and I think it's perfectly OK. Heck, I almost hate numbers and symbols without (the explanatory) words/paragraphs. I struggled at classes throughout all my years as a student since almost every topic in engineering is "applied", hence without a rigorous (theoretical) background and so much example/case based.

I wonder if it has something to do with how one's memory works. Isn't it easier for everyone to remember/visualize concepts and then deriving the formula than trying to remember the exact formula? (Writing this down, I imagine the people who do the former are better with words as the ones who do the latter are better with numbers). The derivation of equations governing the Hagen–Poiseuille flow is a good example, I presume[0].

[0]https://en.wikipedia.org/wiki/Hagen%E2%80%93Poiseuille_equat...

> I almost hate numbers and symbols without (the explanatory) words/paragraphs.

The numbers and symbols only make sense in the context of some specific language game. If you work in a domain a lot, then repeated sequences of symbols and conventional naming of variables hints what language game you're playing. Without that, everyone needs the explanatory words/paragraphs.

> Isn't it easier for everyone to remember/visualize concepts and then deriving the formula than trying to remember the exact formula?

Yes. There's an interesting notion of a "recovery procedure" in Borovik's "Mathematics Under the Microscope" where he points out that mathematicians don't remember formulas and theorems, they remember simple procedures that recover them.

> as a women

Sexist.

Why take it out of context? Here's the full quote. Nothing sexist about it.

> And, whether by nature or nurture, as a woman I was always better with words than numbers

History of AI, for perspective.

CS + Liberal Arts is a powerful combination

How to pay taxes! I recently graduated and I have no idea whatsoever of what I'm doing. I'm starting to suspect most people don't.
Meditation should be mandatory class. Benficial to health, education, sports and state of mind in all endeavours. It's almost the universal 'tool' that every child should have to apply to any situation.
Basic CS/programming. I would have loved to have the opportunity to take something in high school comparable your average CS 101 class (and stretched out over two semesters for sanity purposes.)

I would have gotten much more out of that than something more general or less technical.