[Tutor] Learning Objectives?

Alan Gauld alan.gauld at yahoo.co.uk
Wed Mar 1 13:31:25 EST 2017

On 01/03/17 10:09, Leam Hall wrote:

> I see computer science as a science that calls upon our creative nature 
> to produce excellence. Adding constraints like secure coding and TDD 
> push us to even greater artistic expression. Lack of constraints gives 
> us the current standard of non-performant and insecure code.

I'd argue that most of that is software engineering.
Computer science is the study of computation, ie how we
compute stuff. Software engineering is about the practical
application of that to building things.

It's like the relationship between physics and traditional
engineering (Electrical, Mechanical, Civil etc). Engineers
study the basic science but they also study topics like
design, ethics, law, economics/accounting and marketing.

> Hence my desire for the basic tools of science and engineering. What do 
> I need to know to produce solid code in a team of solid coders.

It's interesting how these things seem to come in groups.
Yesterday, after sending my initial response I had lunch
with an old friend who is working on a consultancy on the
future of Computer Science teaching here in Scotland. We
had a long chat about what should be in/out of a modern
CS curriculum.

That discussion made me rethink the need for lists of
criteria because college courses need to do just that.
And as we brain-stormed lists of topics we naturally
categorized some as mandatory core subjects (eg discrete
math, finite state machines, data structures, algorithms etc)
and others as optional modules (AI, machine architectures etc).

Somebody already suggested looking at the online college
courses for ideas, so I guess I'd now second that as
probably the best available source.

One other place to look is the British Computer Society's
web site. I don't know if it's still there but they used
to have an Industry Model which included definitions
of knowledge areas and levels for different roles
(programmer, analyst, software engineer, architect etc)
It's now apparently called Skills Framework for the
Information Age.(SFIA)

Wikipedia has this page as a starter:

Alan G
Author of the Learn to Program web site
Follow my photo-blog on Flickr at:

More information about the Tutor mailing list