Academia.eduAcademia.edu

CSD3203 History and Philosophy of Computing Module Handbook

This Handbook contains information about the Third Year Module on History and Philosophy of Computing, BSc Computer Science, Middlesex University London 2015/16

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