Introduction
For Many years previous my passion was creating software for the
Commodore Amiga. In the early days there was a shortage of good
software, if you wanted something you often ended up having to writing
it. But I came up against ‘brick walls‘, where I could not advance
further. It became apparent that I needed to formalise my experience and
build on my knowledge.
Having a busy professional life, distance learning and The Open
University was an ideal choice. It broadened my horizons in more ways
than I could have imagined, not only in computing but in the whole
learning process, it teaches you to be analytical of all you read, to
draw your own opinions and to catalogue these thoughts in a clear
reasoned way. It also allowed me to follow my interests; to take on
courses in areas appropriate to what I wanted to know, when I need to
know them. These course invariably were computer related and covered
many aspects of computing.
M205 Fundamentals in
computing
This was a basic grounding in traditional programming, something I was
quite familiar with. It taught the top
down approach to software design and concentrated heavily on the
software development cycle. The Pascal programming language was
used as a basis for teaching of program structure, modulisation, linked
lists, binary trees and sorting algorithms. The course also introduced
relational databases.
M353 Programming and Programming languages
M206 taught me an object orientated approach to software design using
Smalltalk. It discussed the need for encapsulation, reuse and ‘OO’s
powerful tools; inheritance and polymorphism. An
important part of M206 was HCI, human - computer interfaces (or
interaction), where the emphasis was on consistent, easy to use designs.
Such criteria's included affordance, feedback, easy reversible actions
and human cognitive understanding.
M301 built on M206 taking ‘OO’ design a stage further. This time
teaching Java in some depth including graphics, I/O streams,
multi-threaded environments, TCP-IP Sockets, applets and web programming.
The Unified Modelling Language (UML) was used throughout for analysis
and design of applications.
Much of the course discussed concurrent
systems. In the form of
distributed databases and operating systems. It introduced the problems
critical real-time systems have and the context of concurrency in
shared data like deadlock and synchronization. It also introduces some
solutions in the form of semaphores and mutual exclusion.
This was a level three course that discussed
most aspects of database design and implementation. From relational
theory to implementation. The course concentrated heavily on SQL
query language, as a data definition language and for data manipulation
(DML). It also looked at different kinds of Database
Management Systems, storage strategies, data mining and social implications.
This was initially taken as a way to make up
some credits, but turned out to be very useful and informative. Rather
than just reading text about the history of the PC and the evolution of
the Internet, it was made interesting by having to investigate it
yourself though the Internet! It was extremely good fun, it included
working in remote teams, utilising the University's conferencing. An
important emphasis was on reading and writing skills.
For my final year I decide to continue T171
with it's follow on course T209. Again collaboration was an important
aspect with many assignments being team efforts. We first looked at
mobile phone technology and integration and convergence of these
technologies with computer based technologies, in the shape of PDA's and
laptops.
Networking and network design was of particular
interest to me, where we used a network simulator to experiment with
different design solutions.
T209 also discussed speech recognition
and demonstrated some of the current pitfalls and rounding off with a
look at artificial intelligence and Human Beings as cyborgs
Top