Bill MacKenty

  Home     Computing     Teaching     Bushcraft     Games     Writing     About  

The future of high school computing

Posted in Computer Science Teaching Diary Writing on 16 - May 2023 at 06:49 PM (3 weeks ago). 63 views.

Large language models like ChatGPT changes things.

In the 2020 computing Curricula recommendation, The ACM writes: Within the broad scope of computing there are five disciplines:

  • Computer Engineering (CE)
  • Computer Science (CS)
  • Information Systems (IS)
  • Information Technology (IT)
  • Software Engineering (SE)

Please read these PDF's to better understand and appreciate this distinction.

Please appreciate how these disciplines are distinct and how they are related.

Like many organisations and companies, high school computing is often confused about software engineering / computer science. These domains and terms are used interchangeably and without regard to important distinctions. Universities even, who offer "computer science" instead teach something else. The problem then, becomes one of incorrect focus and a unnecessarily muddled journeyIB computer science is a bit more like software engineering, whilst the AQA computer science is more like pure computer science... into computing. Yes - there is overlap in these disciplines; but these tracks help students by clarifying trajectory.

In many schools, students learn how to program (software engineering), maybe some robotics (computer engineering) and perhaps something like abstract data structures as they learn to code (computer science). Under all of this, they are taught "computers", "technology", or maybe "computer science".

Two tracks within high school computing

Track 1: Software Engineering

The reason this nuance is important is because within the domain of software engineering (solving problems through programming) large language models have created incredible opportunity. Students need to learn the basics of coding; the basic vocabulary and syntax of flow control, variables, and control structures, and data structures. But in terms of solving problems, they should use LLM's to help and support them to create solutions to solve problems. This should be a track we design and create for high school students. High school computing should think about software engineering as basic programming / computational thinking and the wise use of LLMs.

Track 2: Computer Science

The second track should be computer science. Classic, meat-and-potatoes computer science; theoretical data structures, higher-level maths, and theories of computing. Principal areas of study within Computer Science include artificial intelligence, computer systems and networks, security, database systems, human-computer interaction, vision and graphics, numerical analysis, programming languages, software engineering, bioinformatics and theory of computing.

I believe these tracks are where the general world of computing is heading; who knows where we will be in 5 or 10 years... creating solutions using LLM's will make it easier for organisations to solve problems. There is a need for tomorrow's problem solvers to use the tools we have today to solve problems. There is also a need for the next generation of computer scientists to create the next exceptional tools.