CSD3203
History and Philosophy of
Computing
Module Handbook
Autumn/Winter term – Sept start (24 week module)
2015/16
Dr Giuseppe Primiero
School of Science and Technology
CSD3203
Information in alternative formats
This handbook can be found online at: http://unihub.mdx.ac.uk
If you have a disability which makes navigating the website difficult and you would like to
receive information in an alternative format, please contact, please contact Disability Support
at Disability@mdx.ac.uk
We can supply sections from this publication as:
• a Word document with enlarged type — sent by email or supplied on a memory stick
•
printed copy with enlarged type
•
printed copy on non-white paper
•
as Braille
Other formats may be possible. We will do our best to respond promptly. To help us, please
be as specific as you can about the information you require and include details of your
disability
Disclaimer
The material in this handbook is as accurate as possible at the date of production however
you will be informed of any major changes in a timely manner.
Other Documents
Your module handbook should be read and used alongside your programme handbook and
the information available to all students on UniHub including the Academic Regulations and
Student Charter
2
Contents
Module Summary/Introduction.................................................................................................................4
Introduction4
The module teaching team 4
Contacting the Module Leader
4
UniHelp
5
KIS Teaching and Learning Data 5
Module Aims
5
Learning Outcomes5
Assessment Scheme
6
Assessment Weighting
6
Syllabus
6
Reading Materials 7
Core Texts.........................................................................................................................................7
Additional Texts................................................................................................................................7
Study hours outside class contact 7
Brief Guide to Web-based Module Material
7
Coursework...............................................................................................................................................9
Details of Coursework
9
Marking Scheme.............................................................................................................................10
Deadline for Submission of Coursework........................................................................................11
Resit Work.......................................................................................................................................11
Where to submit..............................................................................................................................12
Electronic Receipt of Coursework..................................................................................................12
Intellectual Property........................................................................................................................12
Feedback to students on coursework...............................................................................................12
Teaching Plan..........................................................................................................................................13
Useful Information..................................................................................................................................14
MyUniHub 14
Attendance Requirements 14
Academic Dishonesty
15
Plagiarism 15
Appeals
15
Examples of all Typical/Previous Examination Papers 15
3
Module Summary/Introduction
Introduction
This Handbook offers information about the content and the structure of the CSD3203
Module. If you have any question left unanswered, please use the Unihub Forum.
The module teaching team
Dr. Giuseppe Primiero
Contacting the Module Leader
You can contact your module leader in the following ways:
Office Hours: Email for appointment
Room No: TG02
Email
Telephone
MyUniHub pages
G.Primiero@mdx.ac.uk
020 8411 5146
https://myunihub.mdx.ac.uk
UniHelp
On the Hendon campus, UniHelp is located on the Ground Floor of the Sheppard Library
Office Hours: Monday to Friday:
Saturday and Sunday:
08.30 – 21.30
11.00 – 18.00
4
KIS Teaching and Learning Data
Time spent in this course: 300 hours
Scheduled teaching: 40%
Independent study: 60%
Module Aims
Computer Science is developing as an academic discipline, while its industrial, commercial
and everyday life impact are increasingly essential. This double role requires practitioners to
be aware of the delicate and extensive role they are playing in society. This includes a critical
and historical understanding of their subject matter. Students on this module will learn to
combine the use and exercise of analytical (logical) skills applied to conceptual issues
originating in theoretical and applied computer science motivated by a variety of formal
problems and conceptual issues. The philosophy of computer science represents a new
essential learning and thinking method for students of computer science courses, be they
oriented towards an academic or professional career, to reflect and judge their own subject
matter, assess its working methodology and foresee critical future developments.
By locating computing devices in their structural and historical evolution and by learning the
principles that define the science in Computer Science, students will gain a critical awareness
of the processes by which computing has become an essential aspect of our lives and will
understand how this subject is located with respect to other sciences. After completing the
module, students will therefore be better equipped to understand research directions,
commercial and industrial developments, but also the requirements that society can and will
impose on such development.
Learning Outcomes
The students will combine reading of basic philosophical and historical literature in the area
of computing, the study of logic, the writing of essays to improve thinking and argumentative
skills, and the development of new hands-on abilities with software and platforms that relate
to computability and the philosophy of computing.
Knowledge:
(1) Logic and computability
(2) Philosophical Method applied to CS
(3) Knowledge of the literature in Philosophy of CS
(4) Knowledge of the historical development of CS and some original writings
Skills:
(5) Turing Machine Computations
(6) Specification and Implementation
(7) Develop a case study to analyse a problem by computational means (from algorithm
design to simulation)
(8) Plan and conduct appropriate evaluations on the process: experiments and results
5
Assessment Scheme
Your means of assessment on this module is by Coursework only. In particular, there will be
an assignment for each of the three blocks (8 weeks each) constituting the course:
Portfolio 1
Portfolio 2
Portfolio 3
30%
30%
40%
Assessment Weighting
Coursework 100% consisting of 3 pieces (respectively 30%, 30% and 40%) based on
answering theoretical questions presented during the lecture and practical exercises
developed during the labs. All coursework is to be based on the questions and exercises
given in the handouts and to be handed through Unihub.
Syllabus
•
•
•
•
•
Logic and Computation: Recursion, Algorithms, Turing-Computability and
Uncomputability
Epistemology of CS: Principles of scientific method, Correctness
Ontology of Computing: what is an algorithm, what is a program, what are machines,
what are implementations?
History: development of CS
Software: TM simulation, program development, agent-based modelling
There is a one hour lecture and two hours lab a week. Attendance will be monitored at both.
The lecture will introduce the topics for the week, in the historical and conceptual context.
Here you have a chance to collect all the information required to understand the content of
the handouts and to answer the questions and solve the exercises. During the lab, directed
study periods will allow to build practical skills and experience related to the topic at hand.
Students are expected to read the material and develop their block-based portfolio in the
remaining time.
Online material available on Unihub includes handouts, resources and test materials to guide
the study periods. This material will reinforce lecture materials and extend the student's
knowledge progressively. Students are invited to complete the weekly tests in the handouts
based on their guided study activities and assignments. The full set of these tests and the
practical activities in labs form the basis of the assessment at the end of each block of 8
weeks. The portfolio to be uploaded on Unihub at the end of each block shall contain all the
answers to the theoretical questions and the practical exercises from the handouts (including
code, simulations, UML diagrams and so on). Module learning outcomes are assessed
individually based on such theoretical tests and practical exercises.
6
Reading Materials
All reading material is available on https://bitbucket.org/gprimiero/csd3203. This material
should be considered as work in progress at any stage.
The material for each week is uploaded timely on Unihub. Further reading will be suggested.
All the documents uploaded to each single week are to be considered essential
reading. This material will include:
•
•
•
•
slides for the weekly lecture;
handout for the lab (including all the exercises and questions to be answered for the
Portfolio);
a selection of articles related to the topic discussed during the week;
a list of links and other references.
Any other topic that the student wishes to examine in more detail can be discussed with the
Module Leader, who will indicate further reading.
Here below an extended list of material used to prepare topics, lecture and handouts during
this course.
Essential
• G.S. Boolos, J.P. Burgess, R.C. Jeffrey, Computabilty and Logic, Cambridge University
Press, 2003.
• P.E.Ceruzzi, Computing – A concise History, 2012
• Turner, Raymond, The Philosophy of Computer Science, The Stanford Encyclopedia
of
Philosophy
(Summer
2014
Edition),
Edward
N.
Zalta
(ed.),
http://plato.stanford.edu/archives/sum2014/entries/computer-science/.
• M. Tedre, The Science of Computing, CRC Press 2015.
• G. O'Regan, A Brief History of Computing, Springer 2012.
Recommended
•
•
•
•
•
•
•
L. Floridi, Philosophy and Computing – An Introduction, Routledge 1999
Y. Gurevich, What is an algorithm
C.A.R.Hoare, Programming: Sorcery or Science? IEEE, 1994
R.W.Floyd, The Paradigms of Programming, Communications of the ACM, 22(8),
pp.455-460,1979
P.J. Denning, Is Computer Science Science? Communications of the ACM, April
2005/Vol. 48, No. 4
M.S.Mahoney, The histories of computing(s), Interdisciplinary Science Reviews, vol.
30(2), pp.119-135, 2005
P.E. Ceruzzi, A History of Modern Computing, 2nd edition, 2003
Study hours outside class contact
The study hours for each credit point is 10 hours. For a 30-credit module this equates to 300
hours. Therefore, if a module has time-tabled activities i.e. lecture/seminar/lab, of 3 hours
7
per week for a 24 week period (total of 72 hours), then the out-of-class study commitment
expected of students is 228 hours in total.
Coursework
Details of Coursework
The Coursework will be divided into three Portfolios, one for each Block of eight weeks. Each
Portfolio has to be built progressively during the Block, containing the theoretical and
practical exercises included in the handout and explored during the lab sessions.
Portfolio 1 (Block 1- Weeks 1-8)
The first Block will investigate Computer Science as a discipline born out of logical
investigations and developed from theoretical problems in mathematics. We study
computability, the model of Turing Machines and the notion of algorithm. The portfolio will
have to contain:
•
•
•
all answers to the historical and theoretical questions introduced in the handouts,
simulations of the Turing Machine model with the TURSI software
extended comments on the implementation of such functions.
Portfolio 2 (Block 2 - Weeks 9-16)
The second Block will investigate Computer Science as a discipline born out of programming
practice and developed from engineering problems. We study the born of computing
machines, the model of the von Neumann architecture, the semantics of programs. The
portfolio will have to contain:
•
•
•
•
all answers to the historical and theoretical questions introduced in the handouts
simulation of the von Neumann architecture with the VNSimulator
Programs and Specifications as required in the Handout
extended comments on their implementation.
Portfolio 3 (Block 3 - Weeks 17-24)
The third Block will investigate Computer Science as a discipline born out of implementation
practice and developed from real-world problems. We study the notion and problems related
to simulation and modelling, and we investigate the design and implementation of a realworld problem in an agent-based simulation software. The portfolio will have to contain:
•
•
•
all answers to the historical and theoretical questions introduced in the handouts,
formulation and sketches of the problem to be modelled, based on existing code
code and implementation in NetLogo, with extensive comments.
Marking Scheme
The following is a guideline as to how the work will be marked.
Portfolio 1 and 2 assign 30% of the entire coursework respectively. Portfolio 3 assigns 40% of
the entire coursework.
8
Each Portfolios will be evaluated individually on a 100 points scale, considering:
completeness, quality, formal precision, linguistic formulation, attention to presentation,
presence of comments to code, screenshots and other technical documentation.
Deadline for Submission of Coursework
Submission of Portfolios are due at respectively week 8, 16 and 24. The lab sessions of
those weeks will be dedicated to Q&A and commenting on the problems presented during the
Block.
Sometimes deadlines from different modules will come at the same time and it is important to
plan your workload to meet these deadlines.
Resit Work
If you need to do a resit in this module you should contact the lecturer as soon as possible to
point this out. A resit will normally involve either taking either all or part of the coursework
again. This will normally be due at the end of August. In a resit you should complete the work
as described above but write it as a single document which you then email to the course
leader.
Where to submit
All material is to be submitted on Unihub and there is no physical submission.
Intellectual Property
In most cases, students hold the intellectual property rights in the work they produce for
assessment. There are some exceptions such as where the work is commerciallysponsored, or the aim of the module is to develop intellectual property, or where the student
is sponsored or employed, or on placement. Students are asked to read the Middlesex
University Policy Statement ‘Intellectual Property Rights: https://myunihub.mdx.ac.uk
Feedback to students on coursework
Feedback is given to students individually on Unihub and at personal meeting if required.
9
Teaching Plan
Here is a preliminary teaching plan for the module. Changes might apply in view of unforeseen
circumstances.
First Block: The Mathematical Background of CS
Week
No.
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
Topic
Lecture and Lab
Introduction to the
Mathematical
Background
Exercises on
Computability
On the notion of
Algorithm
(Lecture by dr.
Barnaby Martin)
Exercises on
Algorithms
TuringComputability
Simulating Turing
Machines
Universal Turing
Machine
Implementation in
Java and/or Racket
The Halting Problem
Lecture 1
Exercises on
uncomputable
functions
Sorting & other
Algorithms
(Lecture by dr.
Barnaby Martin)
Exercises on
algorithms
Preparation Portfolio
1
Preparation Portfolio
1
Submission Portfolio
1
Submission Portfolio
1
Lab 5
Lab 1
Lecture 2
Lab 2
Lecture 3
Lab 3
Lecture 4
Lab 4
Lecture 5
Lecture 6
Lab 6
Lecture 7
Lab 7
No Lecture
No Lab
10
Second Block: The Engineering Background of CS
Week
No
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
Topic
Introduction to The
Engineering View on
CS
Early Computers
(video)
The von Neumann
Architecture
Simulations on the
VNSimulator
Specification &
Implementation
Exercises on
Specification and
Implementation
Brief History of
Programming
Languages
Exercise with
various
Programming
Languages
The formal view on
Programs
Exercise on typing
Views on
Correctness
Exercises on
Incorrect
Specification and
Malfunctioning
Implementation
Preparation Portfolio
2
Preparation Portfolio
2
Submission Portfolio
2
Submission Portfolio
2
Lecture and Lab
Lecture 9
Lab 9
Lecture 10
Lab 10
Lecture 11
Lab 11
Lecture 12
Lab 12
Lecture 13
Lab 13
Lecture 14
Lab 14
Lecture 15
Lab 15
No Lecture
No Lab
11
Third Block: The Natural Science Background of CS
No of
Week
Topic
Lecture and Lab
Overview of Block 3
Lecture 17
The Scientific View
on CS
Why Model?
NetLogo Session I: a
Model of Message
Passing I
What is a Computer
Simulation
NetLogo Session II:
a Model of Message
Passing II
Types and Purposes
of Simulation
NetLogo Session III:
Multiple Messages I
Simulation and
Experiment
NetLogo Session IV:
Multiple Messages II
Q&A
Lab 17
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
NetLogo V: Further
Improvements &
Experiments
Preparation Portfolio
3
Preparation Portfolio
3
Submission Portfolio
3
Submission Portfolio
3
Lecture 18
Lab 18
Lecture 19
Lab 19
Lecture 20
Lab 20
Lecture 21
Lab 21
Lecture 22
Lab 22
Lecture 23
Lab 23
No Lecture
No Lab
12
Useful Information
The School has a student website https://myunihub.mdx.ac.uk dedicated to enrolled Science and
Technology students, which provides information to support you on your programme of study,
including information on the School’s Academic staff and:
•
•
•
•
UniHelp opening hours
Module Review Forms
Learning Resources: Science and Technology
Programme Handbooks
And other useful information such as
• Library Catalogue
MyUniHub
Lecturers' contact details can also be found on MyUniHub, the university's online learning
environment. This can be accessed from the following url: https://myunihub.mdx.ac.uk Within each
module you can find 'module information' which displays contact details for the lecturer and other
information about the module.
Attendance Requirements
You should attend all scheduled classes. If you do not do so, you may not be able to
demonstrate that you have achieved the Learning Outcomes for the module, and you are at
risk of being graded “X” in the module. The definition of the X grade is: “Fail – incomplete
without good reason: may not be reassessed.” As a general guide, you need to attend at
least 75% of scheduled classes oin order to be able to demonstrate achievement of all
Learning Outcomes. On some modules, there may be more specific attendance
requirements.
Academic Dishonesty
Taking unfair advantage in assessment is considered a serious offence by the university, which will
take action against any student who contravenes the regulation through negligence, foolishness or
deliberate intent.
Academic dishonesty is a corrosive force in the academic life of the university; it jeopardises the
quality of education and devalues the degrees and awards of the University.
The full regulations on academic dishonesty are given in the University Regulations, Section F
Infringement of assessment regulations - academic misconduct.
Plagiarism
Plagiarism is one specific form of cheating.
The University Regulation Section F clearly sets out the University’s understanding of plagiarism and
the regulations by which you as a student of the University are bound. The key University regulation
is F2.3 which defines plagiarism as “The presentation by the student as their own work of a body of
material (written, visual or oral) which is wholly or partially the work of another, either in concept or
expression, or which is a direct copy.”
Work presented for assessment must be the candidate’s own, or the work of a project group as
requested by the tutor. Plagiarism is the representation of another person’s published or unpublished
work as the candidate’s own by unacknowledged quotation. It is not an offence if the material is
13
acknowledged by the candidate as the work of another through the accurate use of quotation marks
and the provision of detailed references and a full bibliography, although the Assessment Board will
not expect work to rely heavily on direct quotations.
In addition, the University Regulations set out the process for investigating allegations of plagiarism
and describes the penalties. If you are found guilty, the repercussions are very serious indeed.
You should take steps, therefore, to understand what plagiarism is, how it can be identified and how
you can avoid committing it; perhaps most importantly, you should reflect and come to understand
why it is to your enormous advantage never to plagiarise because it is in effect cheating yourself and
your fellow students).
Full details on the Infringement of assessment regulations - Academic misconduct, can be found in
the University Regulations - Section F.
Appeals
The full regulations on appeals are given in the University Regulations. Section G - Appeal
regulations and procedures
Examples of all Typical/Previous Examination Papers
Please go to the University student portal website https://myunihub.mdx.ac.uk for copies of previous
examination papers in all subject areas across the University.
14