Full Transcript

Diploma Programme Computer science guide First examinations 2014 Diploma Programme Computer science guide First examinations 2014 Diploma Programme Computer science guide...

Diploma Programme Computer science guide First examinations 2014 Diploma Programme Computer science guide First examinations 2014 Diploma Programme Computer science guide Published January 2012 Updated March 2016 Published on behalf of the International Baccalaureate Organization, a not-for-profit educational foundation of 15 Route des Morillons, 1218 Le Grand-Saconnex, Geneva, Switzerland by the International Baccalaureate Organization (UK) Ltd Peterson House, Malthouse Avenue, Cardiff Gate Cardiff, Wales CF23 8GL United Kingdom Phone: +44 29 2054 7777 Fax: +44 29 2054 7778 Website: www.ibo.org © International Baccalaureate Organization 2012 The International Baccalaureate Organization (known as the IB) offers three high-quality and challenging educational programmes for a worldwide community of schools, aiming to create a better, more peaceful world. This publication is one of a range of materials produced to support these programmes. The IB may use a variety of sources in its work and checks information to verify accuracy and authenticity, particularly when using community-based knowledge sources such as Wikipedia. The IB respects the principles of intellectual property and makes strenuous efforts to identify and obtain permission before publication from rights holders of all copyright material used. The IB is grateful for permissions received for material used in this publication and will be pleased to correct any errors or omissions at the earliest opportunity. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, without the prior written permission of the IB, or as expressly permitted by law or by the IB’s own rules and policy. See http://www.ibo.org/copyright. IB merchandise and publications can be purchased through the IB store at http://store.ibo.org. General ordering queries should be directed to the Sales and Marketing Department in Cardiff. Phone: +44 29 2054 7746 Fax: +44 29 2054 7779 Email: [email protected] International Baccalaureate, Baccalauréat International and Bachillerato Internacional are registered trademarks of the International Baccalaureate Organization. Printed in the United Kingdom by Antony Rowe Ltd, Chippenham, Wiltshire 4061 IB mission statement The International Baccalaureate aims to develop inquiring, knowledgeable and caring young people who help to create a better and more peaceful world through intercultural understanding and respect. To this end the organization works with schools, governments and international organizations to develop challenging programmes of international education and rigorous assessment. These programmes encourage students across the world to become active, compassionate and lifelong learners who understand that other people, with their differences, can also be right. IB learner profile The aim of all IB programmes is to develop internationally minded people who, recognizing their common humanity and shared guardianship of the planet, help to create a better and more peaceful world. IB learners strive to be: Inquirers They develop their natural curiosity. They acquire the skills necessary to conduct inquiry and research and show independence in learning. They actively enjoy learning and this love of learning will be sustained throughout their lives. Knowledgeable They explore concepts, ideas and issues that have local and global significance. In so doing, they acquire in-depth knowledge and develop understanding across a broad and balanced range of disciplines. Thinkers They exercise initiative in applying thinking skills critically and creatively to recognize and approach complex problems, and make reasoned, ethical decisions. Communicators They understand and express ideas and information confidently and creatively in more than one language and in a variety of modes of communication. They work effectively and willingly in collaboration with others. Principled They act with integrity and honesty, with a strong sense of fairness, justice and respect for the dignity of the individual, groups and communities. They take responsibility for their own actions and the consequences that accompany them. Open-minded They understand and appreciate their own cultures and personal histories, and are open to the perspectives, values and traditions of other individuals and communities. They are accustomed to seeking and evaluating a range of points of view, and are willing to grow from the experience. Caring They show empathy, compassion and respect towards the needs and feelings of others. They have a personal commitment to service, and act to make a positive difference to the lives of others and to the environment. Risk-takers They approach unfamiliar situations and uncertainty with courage and forethought, and have the independence of spirit to explore new roles, ideas and strategies. They are brave and articulate in defending their beliefs. Balanced They understand the importance of intellectual, physical and emotional balance to achieve personal well-being for themselves and others. Reflective They give thoughtful consideration to their own learning and experience. They are able to assess and understand their strengths and limitations in order to support their learning and personal development. © International Baccalaureate Organization 2007 © International Baccalaureate Organization 2007 Contents Introduction 1 Purpose of this document 1 The Diploma Programme 2 Nature of the subject 4 Aims 8 Assessment objectives 9 Assessment objectives in practice 10 Syllabus 11 Syllabus outline 11 Approaches to the teaching and learning of computer science 12 Syllabus content 17 Assessment 65 Assessment in the Diploma Programme 65 Assessment outline—SL 67 Assessment outline—HL 68 External assessment 69 Internal assessment 74 Summary of the group 4 project 86 Appendices 91 Glossary of command terms 91 Further reading 93 Computer science guide Introduction Purpose of this document This publication is intended to guide the planning, teaching and assessment of the subject in schools. Subject teachers are the primary audience, although it is expected that teachers will use the guide to inform students and parents about the subject. This guide can be found on the subject page of the online curriculum centre (OCC) at http://occ.ibo.org, a password-protected IB website designed to support International Baccalaureate (IB) teachers. It can also be purchased from the IB store at http://store.ibo.org. Additional resources Additional publications such as teacher support materials, subject reports, internal assessment guidance and grade descriptors can also be found on the OCC. Specimen and past examination papers as well as markschemes can be purchased from the IB store. Teachers are encouraged to check the OCC for additional resources created or used by other teachers. Teachers can provide details of useful resources, for example, websites, books, videos, journals or teaching ideas. Acknowledgment The IB wishes to thank the educators and associated schools for generously contributing time and resources to the production of this guide. First examinations 2014 Computer science guide 1 Introduction The Diploma Programme The Diploma Programme is a rigorous pre-university course of study designed for students in the 16 to 19 age range. It is a broad-based two-year course that aims to encourage students to be knowledgeable and inquiring, but also caring and compassionate. There is a strong emphasis on encouraging students to develop intercultural understanding, open-mindedness, and the attitudes necessary for them to respect and evaluate a range of points of view. The Diploma Programme hexagon The course is presented as six academic areas enclosing a central core. It encourages the concurrent study of a broad range of academic areas. Students study: two modern languages (or a modern language and a classical language); a humanities or social science subject; an experimental science; mathematics; one of the creative arts. It is this comprehensive range of subjects that makes the Diploma Programme a demanding course of study designed to prepare students effectively for university entrance. In each of the academic areas students have flexibility in making their choices, which means they can choose subjects that particularly interest them and that they may wish to study further at university. Studies in language and literature Group 1 Language Individuals acquisition and societies Group 2 dge ext Group 3 wle e no L E A nd R k I B N of ed E theory ER essay TH PR OFIL E cr ea tivi ice Experimental Group 4 ty, action, serv Group 5 Mathematics sciences Group 6 The arts Figure 1 Diploma Programme model 2 Computer science guide The Diploma Programme Choosing the right combination Students are required to choose one subject from each of the six academic areas, although they can choose a second subject from groups 1 to 5 instead of a group 6 subject. Normally, three subjects (and not more than four) are taken at higher level (HL), and the others are taken at standard level (SL). The IB recommends 240 teaching hours for HL subjects and 150 hours for SL. Subjects at HL are studied in greater depth and breadth than at SL. At both levels, many skills are developed, especially those of critical thinking and analysis. At the end of the course, students’ abilities are measured by means of external assessment. Many subjects contain some element of coursework assessed by teachers. The course is available for examinations in English, French and Spanish. The core of the hexagon All Diploma Programme students participate in the three course requirements that make up the core of the hexagon. Reflection on all these activities is a principle that lies at the heart of the thinking behind the Diploma Programme. The theory of knowledge course encourages students to think about the nature of knowledge, to reflect on the process of learning in all the subjects they study as part of their Diploma Programme course, and to make connections across the academic areas. The extended essay, a substantial piece of writing of up to 4,000 words, enables students to investigate a topic of special interest that they have chosen themselves. It also encourages them to develop the skills of independent research that will be expected at university. Creativity, action, service involves students in experiential learning through a range of artistic, sporting, physical and service activities. The IB mission statement and the IB learner profile The Diploma Programme aims to develop in students the knowledge, skills and attitudes they will need to fulfill the aims of the IB, as expressed in the organization’s mission statement and the learner profile. Teaching and learning in the Diploma Programme represent the reality in daily practice of the organization’s educational philosophy. Computer science guide 3 Introduction Nature of the subject Computer science requires an understanding of the fundamental concepts of computational thinking as well as knowledge of how computers and other digital devices operate. The Diploma Programme computer science course is engaging, accessible, inspiring and rigorous. It has the following characteristics. draws on a wide spectrum of knowledge enables and empowers innovation, exploration and the acquisition of further knowledge interacts with and influences cultures, society and how individuals and societies behave raises ethical issues is underpinned by computational thinking. Computational thinking involves the ability to: think procedurally, logically, concurrently, abstractly, recursively and think ahead utilize an experimental and inquiry-based approach to problem-solving develop algorithms and express them clearly appreciate how theoretical and practical limitations affect the extent to which problems can be solved computationally. During the course the student will develop computational solutions. This will involve the ability to: identify a problem or unanswered question design, prototype and test a proposed solution liaise with clients to evaluate the success of the proposed solution and make recommendations for future developments. Computer science has links with subjects outside of group 4, notably information technology in a global society (ITGS), but it should be noted that there are clear differences between the subjects. Computer science and the international dimension Computer science itself is an international endeavour—the exchange of information and ideas across national boundaries has been essential to the progress of the subject. This exchange is not a new phenomenon but it has accelerated in recent times with the development of information and communication technologies. The development of solutions may be at a local, national or global scale and lies at the heart of the subject. Therefore teachers of computer science should study a range of examples from different geographical locations as well as at different scales. Developments such as open source software and the emergence of social networking epitomize the global nature of the subject. Internet forums exist that welcome ideas and solutions developed from computer scientists from all continents in driving forward developments to different software types. These developments have revolutionized the way that people, and in particular the young, interact. 4 Computer science guide Nature of the subject On a practical level, the group 4 project (which all science students must undertake) mirrors the work of computer scientists by encouraging collaboration between schools across the regions. Distinction between SL and HL While the skills and activities of computer science are common to students at both SL and HL, students at HL are required to study additional topics in the core, a case study and also extension material of a more demanding nature in the option chosen. The distinction between SL and HL is therefore one of both breadth and depth. Additionally, the HL course has 240 hours devoted to teaching, compared with 150 hours for the SL course. Students at SL and HL in computer science study a common core consisting of: four topics (system fundamentals; computer organization; networks; and computational thinking, problem-solving and programming) one option (chosen from databases; modelling and simulation; web science; or object-oriented programming) one piece of internally assessed work, which includes a computational solution. The HL course has three additional elements: three further topics (abstract data structures; resource management; control) additional and more demanding content for the option selected an additional externally assessed component based on a pre-seen case study of an organization or scenario; this requires students to research various aspects of the subject—which may include new technical concepts and additional subject content—in greater depth. Prior learning Past experience shows that students will be able to study computer science at SL successfully with no background in, or previous knowledge of, computer science. Their approach to study, characterized by specific IB learner profile attributes—inquirers, thinkers and communicators—will be significant here. Students who have undertaken the IB Middle Years Programme (MYP) or studied a similar course prior to commencing the IB Diploma Programme would also be well prepared. The study of computer science at HL demands a higher level of problem-solving skills and the ability to understand and manipulate abstract concepts. Although no previous knowledge of computer science is required, some exposure to programming is desirable. Links to the Middle Years Programme Students who have undertaken the MYP sciences, technology and mathematics courses will be well prepared for group 4 subjects. The MYP science objectives and assessment criteria A–F are aligned with the group 4 objectives and internal assessment criteria, and allow for a smooth transition from the MYP to the Diploma Programme. In particular, the “One world” objective in MYP sciences is further developed in group 4 computer science with the increased emphasis on aim 8—that is, to “raise awareness of the moral, ethical, social, economic and environmental implications of using science and technology”. There are specific references to aim 8 implications in assessment statements and teacher’s notes in the syllabus details sections in all group 4 guides. Computer science guide 5 Nature of the subject The IB technology continuum The MYP technology course builds on experiences of inquiry that students have gained in their time in the IB Primary Years Programme (PYP). PYP teaching and learning experiences challenge students to be curious, ask questions, explore and interact with the environment physically, socially and intellectually to construct meaning and refine their understanding. Even when there is no technology component in the PYP, the use of structured inquiry is a precursor to the problem-solving and inquiry-based approach of MYP technology. The MYP technology course develops skills linked to the design cycle, which provides the model of thinking and the strategy used to help students investigate problems and design, plan, create and evaluate the product. Students continuing on to the IB Diploma Programme will have experienced the use of the design cycle and will have developed critical-thinking and design skills, which they will be able to apply and extend in computer science. As in the MYP technology course, a product can be defined as the solution that students have generated independently. This means that the Diploma Programme computer science course requires students to become actively involved in, and to focus on, the whole design process as well as the final product, building on the skills acquired during the MYP technology course. In order to complete the IB Diploma Programme computer science internal assessment successfully, students are expected to create a solution to a specific problem using the design cycle, which extends the range of skills developed in MYP technology. Computer science and theory of knowledge There is no one scientific method of gaining knowledge or of finding explanations for the behaviour of the natural world. Computer science works through a variety of approaches to produce these explanations, but they all rely on data from observations and have a common underpinning rigour, whether using inductive or deductive reasoning. The explanation may be in the form of a theory, sometimes requiring a model that contains elements not directly observable. Producing these theories often requires an imaginative, creative leap. Where such a predictive theoretical model is not possible, the explanation may consist of identifying a correlation between a factor and an outcome. This correlation may then give rise to a causal mechanism that can be experimentally tested, leading to an improved explanation. All these explanations require an understanding of the limitations of data, and the extent and limitations of our knowledge. Computer science requires freedom of thought and open-mindedness, and an essential part of the process of science is the way the international computer science community shares ideas through academic papers, conferences and open forums. The syllabus details sections in the group 4 guides give references in teacher’s notes to appropriate topics where theory of knowledge can be addressed. During the course in computer science a number of issues will arise that highlight the relationships between theory of knowledge and computer science. Some of the questions that could be considered during the course are identified in the following list. What is the difference between data, information, knowledge and wisdom? To what extent can computers store and impart data, information, knowledge and wisdom? Computational thinking includes: procedure, logic, pre-planning (thinking ahead), concurrency, abstraction and recursion. To what extent are these ways of thinking distinct? To what extent can knowledge in different areas (mathematics, ethics, and so on) be analysed in these ways? It has been said that human memory is more like an improvised performance than a movie on a DVD. What does this mean? How does human memory differ from computer memory? How does a computer language differ from a natural language? 6 Computer science guide Nature of the subject What are the differences between representing numbers in denary and in binary? In binary, 1 + 1 = 10. Does this tell us anything about the nature of mathematical truth? What are the challenges of creating a computer model of some aspect of the world? A chess machine can beat the top human chess players. Does a machine therefore “know” how to play chess? To what extent does computational thinking challenge conventional concepts of reasoning? How do we know if other humans feel emotions? Can a machine ever feel an emotion? How would we know? Was Akio Morita correct when he claimed that “You can be totally rational with a machine. But if you work with people, sometimes logic has to take a back seat to understanding”? Does information and communication technology, like deduction, simply allow the knower to arrange existing knowledge in a different way, without adding anything, or is this arrangement itself knowledge in some sense? What did Sydney Harris mean when he said that “The real danger is not that computers will begin to think like men, but that men will begin to think like computers”? Was he right, or was this statement based on a misunderstanding of either men or computers? What do we mean by “holistic” and “reductionist” approaches to knowledge? What are the strengths and weaknesses of each approach? To what extent is it possible to capture the richness of concepts such as “intelligence” or “judgment” via a reductionist approach? If we attach a camera or microphone to a computer, it can receive data from the world. Does this mean that a computer can “perceive the world”? To what extent might human perception be a similar process? Computer science guide 7 Introduction Aims Subject aims Diploma Programme computer science students should become aware of how computer scientists work and communicate with each other and with other stakeholders in the successful development and implementation of IT solutions. While the methodology used to solve problems in computer science may take a wide variety of forms, the group 4 computer science course emphasizes the need for both a theoretical and practical approach. It is in this context that the Diploma Programme computer science course should aim to: 1. provide opportunities for study and creativity within a global context that will stimulate and challenge students developing the skills necessary for independent and lifelong learning 2. provide a body of knowledge, methods and techniques that characterize computer science 3. enable students to apply and use a body of knowledge, methods and techniques that characterize computer science 4. demonstrate initiative in applying thinking skills critically to identify and resolve complex problems 5. engender an awareness of the need for, and the value of, effective collaboration and communication in resolving complex problems 6. develop logical and critical thinking as well as experimental, investigative and problem-solving skills 7. develop and apply the students’ information and communication technology skills in the study of computer science to communicate information confidently and effectively 8. raise awareness of the moral, ethical, social, economic and environmental implications of using science and technology 9. develop an appreciation of the possibilities and limitations associated with continued developments in IT systems and computer science 10. encourage an understanding of the relationships between scientific disciplines and the overarching nature of the scientific method. 8 Computer science guide Introduction Assessment objectives The objectives for all group 4 subjects reflect those parts of the aims that will be assessed. Wherever appropriate, the assessment will draw upon a range of contexts and identify the social, moral and economic effects of science and technology. It is the intention of the Diploma Programme computer science course that students achieve the following objectives. 1. Know and understand: a. relevant facts and concepts b. appropriate methods and techniques c. computer science terminology d. methods of presenting information. 2. Apply and use: a. relevant facts and concepts b. relevant design methods and techniques c. terminology to communicate effectively d. appropriate communication methods to present information. 3. Construct, analyse, evaluate and formulate: a. success criteria, solution specifications including task outlines, designs and test plans b. appropriate techniques within a specified solution. 4. Demonstrate the personal skills of cooperation and perseverance as well as appropriate technical skills for effective problem-solving in developing a specified product. Computer science guide 9 Introduction Assessment objectives in practice The following tables show the approximate percentage weighting in a typical examination session for each of the assessment objectives across each of the components. This may differ from the allocation of time devoted to each of the assessment objectives in class. Standard level Internal Assessment objective Paper 1 Paper 2 Overall assessment 1. Demonstrating knowledge 24 13 9 46 and understanding 2. Applying and using 13 7 8 28 3. Constructing, analysing, 8 5 4 17 evaluating and formulating 4. Using skills n/a n/a 9 9 Component weighting 45% 25% 30% 100% Higher level Internal Assessment objective Paper 1 Paper 2 Paper 3 Overall assessment 1. Demonstrating knowledge 21 10 9 6 46 and understanding 2. Applying and using 12 6 7 5 30 3. Constructing, analysing, 7 4 4 3 18 evaluating and formulating 4. Using skills n/a n/a n/a 6 6 Component weighting 40% 20% 20% 20% 100% 10 Computer science guide Syllabus Syllabus outline Teaching hours Syllabus component SL HL Core syllabus content SL/HL core 80 80 The topics that must be studied, including some practical work, are: Topic 1: System fundamentals (20 hours) Topic 2: Computer organization (6 hours) Topic 3: Networks (9 hours) Topic 4: Computational thinking, problem-solving and programming (45 hours) HL extension --- 45 The topics that must be studied, including some practical work, are: Topic 5: Abstract data structures (23 hours) Topic 6: Resource management (8 hours) Topic 7: Control (14 hours) Case study --- 30 Additional subject content introduced by the annually issued case study Option SL/HL core 30 30 HL extension --- 15 Students study one of the following options: Option A: Databases Option B: Modelling and simulation Option C: Web science Option D: Object-oriented programming (OOP) Internal assessment Solution 30 30 Practical application of skills through the development of a product and associated documentation Group 4 project 10 10 Total teaching hours 150 240 It is essential that teachers are allowed the prescribed minimum number of teaching hours necessary to meet the requirements of the computer science course. At SL the minimum prescribed number of hours is 150 hours and at HL it is 240 hours. Computer science guide 11 Syllabus Approaches to the teaching and learning of computer science The Diploma Programme computer science course adopts a significantly different approach to many other computer science courses. Teachers who have taught other courses, including previous IB computer science courses, must familiarize themselves with this approach before they commence teaching. Computer science is seen as an experimental science. Therefore it is expected that teachers use a wide range of practical activities to support the theoretical content. Computational thinking Computational thinking is a problem-solving methodology that is applicable across a range of subject disciplines and underpins this course. The six principles of computational thinking, identified by Jeanette Wing in her article “Computational thinking” are: thinking procedurally thinking logically thinking ahead thinking concurrently thinking abstractly thinking recursively (HL only). The 10 hours explicitly stated in the SL/HL core indicate the time required to teach these principles within other topics throughout the duration of the course. In the HL extension the time required to teach these principles is not explicitly stated but is included in the overall time allocated. It is expected that teachers will use an iterative method in integrating these principles into the other subject content. There are a number of possible approaches to the teaching of these principles such as: teaching each principle linked to one scenario only teaching the principle(s) as threads that are linked to a number of scenarios teaching some of the principles as linked to one scenario only and others linked to a number of scenarios. Delivering the course There are a number of approaches that may be taken to deliver the computer science course. The syllabus is written in a non-prescriptive manner that allows appropriate scenarios to be selected by the teacher. The scenarios should include real-world problems that will be relevant, contemporary in nature and provide ways for the students to integrate their own experiences within an inquiry-based approach. These scenarios should provide students with an opportunity to decompose a system, gaining an understanding of algorithms that influence the way it functions. 12 Computer science guide Approaches to the teaching and learning of computer science Topics should not be taught in a linear fashion as it is possible for more than one of the sub-topics to be taught together. This is demonstrated in the example class activity below, which focuses on the development of a login interface. Class activity Topic in syllabus Creating a login Identify the context for which a system is planned (1.1.1) interface Suggest various types of testing (1.1.7) Construct suitable representations to illustrate system requirements (1.2.7) Describe the purpose of prototypes to demonstrate the proposed solution to the client (1.2.8) Thinking procedurally, thinking logically, thinking abstractly (4.1) Connecting computational thinking and program design (4.2) Use of programming languages (4.3.6–4.3.9) Some of the 30 hours allocated to the preparation and/or completion of the internal assessment where techniques can be applied appropriately The use of code is seen as an essential part of testing the algorithms developed. The teacher support material includes suggested practical activities linked to these types of activity that may be used by teachers as a part of their teaching. This list of practical activities is not exhaustive. The internal assessment should provide an opportunity for the students to showcase their innovative skills while developing a practical solution to either a specified problem or unanswered question. These skills will be evident in the use of complex design and algorithmic principles as well as rigorous testing leading to the development of a functional product. Algorithmic development Teachers must be aware of the different levels of abstraction used in developing a solution to a specified problem. This may be illustrated using the following examples. Example 1 Given the following array NAMES Robert Boris Brad George David and the following algorithm, which is constructed to reverse the contents of array NAMES N = 5 // the number of elements in the array K = 0 // this is the first index in the array loop while K < N – 1 TEMP = NAMES[K] NAMES [K] = NAMES [N – K –1] NAMES [N – K –1] = TEMP K = K + 1 end loop Computer science guide 13 Approaches to the teaching and learning of computer science a. trace the algorithm, showing contents of the array after each execution of the loop [2 marks] b. state the number of times the loop is executed [1 mark] c. outline why the algorithm does not reverse the contents of the array NAMES, and how this could be corrected. [2 marks] Example 2 A geography teacher is searching an array, CITYNAMES, containing 100 names of cities and wants to print out the names of the cities beginning with D. Construct pseudocode to indicate how this may be done: // FirstLetter(“CITY”) will return the first letter of the word “CITY” // Elements are stored in an array called CITYNAMES loop for C from 0 to 99 if FirstLetter(CITYNAMES[C]) = “D” then output CITYNAMES[C] endif end loop Example 3 A geography teacher is searching CITIES, a collection of city names, and wants to print out the names of the cities beginning with D. Construct pseudocode to indicate how this may be done: // FirstLetter(“CITY”) will return the first letter of the word “CITY” loop while CITIES.HasNextItem() NAME = CITIES.getNext() if FirstLetter(NAME) = “D” output NAME end if end loop Students are not expected to construct code for SL paper 1, HL paper 1 and HL paper 3 beyond the level of pseudocode. For SL paper 2 and HL paper 2, the use of code will depend on the option. Options The introduction of options allows computer science teachers to focus on an area of interest or specialism. Below is some information that may assist teachers in selecting the most appropriate option. Additional information linked to the options Databases Students are expected to use database software to support the theoretical concepts within the syllabus. There is no prescribed database development environment. Appropriate database development environments may include Access, Open Office Base, MySQL and FileMaker. Modelling and simulation Students are expected to develop models and/or simulations that support the concepts in the syllabus. There is no prescribed development environment. Appropriate resources may include Scratch, Alice, Java, Python, Visual Basic (.Net), spreadsheet software and JavaScript. 14 Computer science guide Approaches to the teaching and learning of computer science Web science Students are expected to use web authoring and other appropriate software to support the theoretical concepts within the syllabus. There is no prescribed software. Appropriate resources may include WYSIWYG (“what you see is what you get”) web page editors, HTML editors, CMS, PHP, JavaScript, Web 2.0 and CGI scripting. OOP For the external assessment of this option Java is the prescribed language. However, any appropriate object- oriented language may be used for teaching this option. Further information on all the above is available in the teacher support material. Further guidance Primary and secondary information Primary information is that information the student collects in discussion with the client. It can include qualitative and quantitative information. Secondary information is information that has already been compiled in a variety of written and electronic forms. The IB learner profile The computer science syllabus is closely linked to the IB learner profile. The computer science syllabus allows students to address all the attributes of the IB learner profile. For each attribute of the learner profile, a number of examples selected from the computer science syllabus are given below. Learner profile Computer science syllabus attribute Inquirers Content: SL/HL core, HL extension, case study. Decomposing systems to find underpinning algorithms. Solution: Investigation into appropriate scenario. Knowledgeable Content: SL/HL core, HL extension, case study. Solution: Justify appropriate techniques in developing the product or modifying an existing product. Thinkers Content: HL extension, formulating strategic plans in case study. Solution: Develop an extensible product so it can be maintained by others. Communicators Content: SL/HL core, making links to theory of knowledge. Solution: Liaise appropriately with client and/or adviser to develop product that meets their requirements. Principled Content: SL/HL core, HL extension, case study. Proposing solutions that are ethical and legal. Solution: Test the product to ensure it is error free and secure, protect any sensitive data. Computer science guide 15 Approaches to the teaching and learning of computer science Learner profile Computer science syllabus attribute Open-minded Content: SL/HL core, HL extension, case study. Respecting differing cultures and opinions of others. Solution: Evaluate potential sources of information in terms of reliability, bias, relevance and accuracy. Caring Content: SL/HL core, HL extension, case study. Considering the opinions of different stakeholders when reaching a decision. Solution: Liaise with client, reach consensus in development of product. Risk-takers Content: Case study, formulate strategic plans. Solution: Make and justify decisions about which techniques to use in developing the most appropriate product. Balanced Content: SL/HL core, HL extension in analysis and judgment-type questions. Solution: Collection of data and the subsequent analysis and synthesis of the information to determine the most appropriate product. Reflective Content: Case study, reflecting on possible decisions related to a strategic decision. Solution: Evaluate methodologies used to develop product to recommend future improvements. The online curriculum centre and workshops All teachers of the computer science course are strongly encouraged to access the OCC at regular intervals. The main computer science subject page contains essential documents including the guide, teacher support materials, specimen papers and subject reports and important subject updates. All teachers can post inquiries, share examples of good practice, ask for advice and access exemplar materials. The OCC includes frequently asked questions and updates on resources. The computer science forum on the OCC is a forum for computer science teachers to talk to each other. From time to time special events are held to give teachers an opportunity to participate in activities such as marking work with the opportunity to gain feedback from senior examiners. Teachers are also encouraged to participate in face-to-face workshops and online workshops. These provide an opportunity to discuss particular aspects of the subject and engage in workshop activities that support the teaching of computer science. 16 Computer science guide Syllabus Syllabus content SL/HL core—80 hours Due to the rapidly changing nature of computer science it may be necessary to add a list of additional technical terms for SL and HL students. This will be posted on the OCC in addition to the annually issued case study. The list of terms will apply to examinations from the May session two years after the date of posting. For example, in May 2014 the following information will be posted on the OCC: the annually issued case study for May 2015 and November 2015 additional vocabulary linked to syllabus for first examinations May 2016. Further information that builds on the information in this guide will be also posted on the OCC under the General documents tab: approved notation sheet, to be taken into external examinations Java Examination Tool Subset (JETS) documentation for students taking the OOP option zip file to provide the structure for the internal assessment. The following command terms will be used in examination questions. It is important that students are familiar with the definitions of the command terms (see Appendices). The objective level associated with each command term (see objective column) indicates the depth of treatment for a given assessment statement. Assessment objective 1: classify, define, draw, label, list, state Assessment objective 2: annotate, apply, calculate, describe, design, distinguish, estimate, identify, outline, present, trace Assessment objective 3: analyse, comment, compare, compare and contrast, construct, contrast, deduce, demonstrate, derive, determine, discuss, evaluate, examine, explain, formulate, interpret, investigate, justify, predict, sketch, suggest, to what extent Teacher’s notes, which are included alongside some assessment statements, provide further guidance to teachers. In these, links to other topics are shown (LINK), and they may also suggest ideas for the promotion of specific subject aims (AIM), theory of knowledge (TOK), Middle Years Programme (MYP), social/ethical issues (S/E) and the international dimension (INT). Computer science guide 17 Syllabus content Topic 1—System fundamentals (20 hours) 1.1 Systems in organizations (10 hours) Assessment statement Obj Teacher’s notes Planning and system installation 1.1.1 Identify the context for which a new 2 The extent and limitations of a new system is planned. system should be appreciated. Organizational issues related to the installation of new systems such as user roles, underlying technologies. 1.1.2 Describe the need for change 2 Students should understand there management. are a number of factors that need to be managed to ensure change is successful. S/E The way that change is managed can have significant effects on employers and employees. 1.1.3 Outline compatibility issues resulting 2 INT, S/E When organizations from situations including legacy interact, particularly on an systems or business mergers. international basis, there may be issues of software compatibility and language differences. 1.1.4 Compare the implementation of 3 The benefits and drawbacks of SaaS systems using a client’s hardware with (Software-as-a-Service) should be hosting systems remotely. considered. S/E, INT, AIM 8 The remote host may be in a different time zone and this can have significant effects on end-users. 1.1.5 Evaluate alternative installation 3 Students should be aware of the processes. methods of implementation/ conversion. Parallel running, pilot running, direct changeover and phased conversion. S/E Training issues may require organizations to restructure their workforce. 1.1.6 Discuss problems that may arise as a 3 INT These include incompatible file part of data migration. formats, data structures, validation rules, incomplete data transfer and international conventions on dates, currencies and character sets. 18 Computer science guide Syllabus content Assessment statement Obj Teacher’s notes 1.1.7 Suggest various types of testing. 3 The crucial importance of testing at all stages of implementation should be emphasized, with the stages clearly defined. Types of testing can include: user acceptance testing, debugging, beta testing. Students should be aware that there are programs that can test other programs, thereby automating parts of the testing process and reducing costs. S/E Inadequate testing can reduce employee productivity and lead to end-user dissatisfaction. User focus 1.1.8 Describe the importance of user 2 S/E The quality of user documentation. documentation can affect the rate of implementation of the new system. 1.1.9 Evaluate different methods of 3 Examples should include methods providing user documentation. such as: help files, online support and printed manuals. S/E The quality of user documentation can affect the rate of implementation of the new system. 1.1.10 Evaluate different methods of 3 Examples should include self- delivering user training. instruction, formal classes, remote/ online training. S/E The quality of the delivery of user training can affect the rate of implementation of the new system. System backup 1.1.11 Identify a range of causes of data loss. 2 Causes include malicious activities and natural disasters. S/E Malicious activity may be a result of activities by employees within the organization or intruders. 1.1.12 Outline the consequences of data loss 2 S/E Loss of medical records, in a specified situation. cancellation of a hotel reservation without the knowledge of the traveller. Computer science guide 19 Syllabus content Assessment statement Obj Teacher’s notes 1.1.13 Describe a range of methods that can 2 These should include failover be used to prevent data loss. systems, redundancy, removable media, offsite/online storage. Software deployment 1.1.14 Describe strategies for managing 2 Students should be aware of a releases and updates. variety of ways in which updates and patches are made available and deployed. This includes automatic updates received on a regular basis online. S/E, INT Performance issues related to the inability to install updates may hinder end-users and reduce compatibility between systems in geographically diverse locations. 1.2 System design basics (10 hours) Assessment statement Obj Teacher’s notes Components of a computer system 1.2.1 Define the terms: hardware, software, 1 peripheral, network, human resources. 1.2.2 Describe the roles that a computer can 2 Roles include client, server, email take in a networked world. server, DNS server, router and firewall. 1.2.3 Discuss the social and ethical issues 3 AIM 8, AIM 9 Develop an associated with a networked world. appreciation of the social and ethical issues associated with continued developments in computer systems. System design and analysis 1.2.4 Identify the relevant stakeholders 2 S/E The role of the end-user must when planning a new system. be considered when planning a new system. Who is a relevant stakeholder? TOK Utilitarianism, the greatest good for the greatest number. The means justify the ends. 20 Computer science guide Syllabus content Assessment statement Obj Teacher’s notes 1.2.5 Describe methods of obtaining 2 Including surveys, interviews, direct requirements from stakeholders. observations. AIM 5 The need for effective collaboration to obtain appropriate information from stakeholders. S/E The question of privacy for stakeholders. 1.2.6 Describe appropriate techniques for 2 Examining current systems, gathering the information needed to competing products, organizational arrive at a workable solution. capabilities, literature searches. S/E Intellectual property. 1.2.7 Construct suitable representations to 3 Examples include: system flow illustrate system requirements. charts, data flow diagrams, structure chart. UML is not required. LINK Flow chart symbols, flow charts and pseudocode. 1.2.8 Describe the purpose of prototypes to 2 AIM 5 The need to effectively demonstrate the proposed system to collaborate to gather appropriate the client. information to resolve complex problems. AIM 6 To develop logical and critical thinking to develop proposed systems. 1.2.9 Discuss the importance of iteration 3 MYP Design cycle. during the design process. 1.2.10 Explain the possible consequences of 3 S/E The failure to involve the end- failing to involve the end-user in the user may lead to software that is not design process. suitable for its intended use, which may have adverse effects on user productivity. AIM 5 The need for effective collaboration and communication between the client, developer and end-user. 1.2.11 Discuss the social and ethical issues 3 AIM 8, AIM 9 Develop an associated with the introduction of appreciation of the social and ethical new IT systems. issues associated with continued developments in specified computer systems. Computer science guide 21 Syllabus content Assessment statement Obj Teacher’s notes Human interaction with the system 1.2.12 Define the term usability. 1 S/E This includes ergonomics and accessibility. 1.2.13 Identify a range of usability problems 2 S/E Students should be aware of with commonly used digital devices. usability issues in a range of devices including PCs, digital cameras, cell phones, games consoles, MP3 players and other commonly used digital devices. 1.2.14 Identify methods that can be used to 2 S/E Examples include touch screen, improve the accessibility of systems. voice recognition, text-to-speech, Braille keyboard. 1.2.15 Identify a range of usability problems 2 S/E These should be related to the that can occur in a system. systems. Systems include ticketing, online payroll, scheduling, voice recognition, systems that provide feedback. 1.2.16 Discuss the moral, ethical, social, 3 AIM 8 Raise awareness of the economic and environmental moral, ethical, social, economic and implications of the interaction environmental implications of using between humans and machines. science and technology. Topic 2—Computer organization (6 hours) 2.1 Computer organization (6 hours) Assessment statement Obj Teacher’s notes Computer architecture 2.1.1 Outline the architecture of the 2 Students should be able to central processing unit (CPU) and the reproduce a block diagram showing functions of the arithmetic logic unit the relationship between the (ALU) and the control unit (CU) and the elements of the CPU, input and registers within the CPU. output and storage. The memory address register (MAR) and memory data register (MDR) are the only ones that need to be included. 2.1.2 Describe primary memory. 2 Distinguish between random access memory (RAM) and read-only memory (ROM), and their use in primary memory. 22 Computer science guide Syllabus content Assessment statement Obj Teacher’s notes 2.1.3 Explain the use of cache memory. 3 Students should be able to explain the effect of cache memory in speeding up the system as well as being able to explain how it is used. 2.1.4 Explain the machine instruction cycle. 3 This should include the role of data bus and address bus. Secondary memory 2.1.5 Identify the need for persistent 2 Persistent storage is needed to store storage. data in a non-volatile device during and after the running of a program. LINK Consequences of data loss. TOK If there are no consequences of data loss, why is it stored. TOK There is no such thing as persistent storage. AIM 9 An appreciation of the issues related to both the ever increasing amount of data and a need to retain it. Operating systems and application systems 2.1.6 Describe the main functions of an 2 This is confined to a single-user operating system. operating system. Technical details are not needed. For example, memory management should be described but how this is handled in a multitasking environment is not expected. 2.1.7 Outline the use of a range of 2 Application software should include application software. word processors, spreadsheets, database management systems, email, web browsers, computer- aided design (CAD) and graphic processing software. Computer science guide 23 Syllabus content Assessment statement Obj Teacher’s notes 2.1.8 Identify common features of 2 Including toolbars, menus, dialogue applications. boxes, graphical user interface (GUI) components. Students should understand that some features are provided by the application software and some by the operating system. S/E This improves usability for a wide range of users. AIM 9 An appreciation of the improvements associated with developments in application software. Binary representation 2.1.9 Define the terms: bit, byte, binary, 1 denary/decimal, hexadecimal. 2.1.10 Outline the way in which data is 2 To include strings, integers, represented in the computer. characters and colours. This should include considering the space taken by data, for instance the relation between the hexadecimal representation of colours and the number of colours available. TOK, INT Does binary represent an example of a lingua franca? S/E, INT Comparing the number of characters needed in the Latin alphabet with those in Arabic and Asian languages to understand the need for Unicode. Simple logic gates 2.1.11 Define the Boolean operators: AND, 1 LINK Introduction to programming, OR, NOT, NAND, NOR and XOR. approved notation sheet. 2.1.12 Construct truth tables using the above 3 For example, Maria won’t go to operators. school if it is cold and raining or she has not done her homework. Not more than three inputs are used. LINK Thinking logically. TOK Reason as a way of knowing. 24 Computer science guide Syllabus content Assessment statement Obj Teacher’s notes 2.1.13 Construct a logic diagram using AND, 3 Problems will be limited to an OR, NOT, NAND, NOR and XOR gates. output dependent on no more than three inputs. The gate should be written as a circle with the name of the gate inside it. For example: OR LINK Thinking logically, connecting computational thinking and program design, introduction to programming. Topic 3—Networks (9 hours) 3.1 Networks (9 hours) Assessment statement Obj Teacher’s notes Network fundamentals 3.1.1 Identify different types of networks. 2 Examples include local area network (LAN), virtual local area network (VLAN), wide area network (WAN), storage area network (SAN), wireless local area network (WLAN), internet, extranet, virtual private network (VPN), personal area network (PAN), peer-to-peer (P2P). S/E, INT Globalization has been accelerated by the technical advances linked to network development. 3.1.2 Outline the importance of standards in 2 INT Standards enable compatibility the construction of networks. through a common “language” internationally. 3.1.3 Describe how communication over 2 Awareness of the OSI seven networks is broken down into different layer model is required, but an layers. understanding of the functioning of each layer is not. 3.1.4 Identify the technologies required to 2 provide a VPN. 3.1.5 Evaluate the use of a VPN. 3 S/E, AIM 9 The use of a VPN has led to changes in working patterns. Computer science guide 25 Syllabus content Assessment statement Obj Teacher’s notes Data transmission 3.1.6 Define the terms: protocol, data 1 packet. 3.1.7 Explain why protocols are necessary. 3 Including data integrity, flow control, deadlock, congestion, error checking. 3.1.8 Explain why the speed of data 3 transmission across a network can vary. 3.1.9 Explain why compression of data is 3 S/E, INT Compression has enabled often necessary when transmitting information to be disseminated across a network. more rapidly. 3.1.10 Outline the characteristics of different 2 Characteristics include: speed, transmission media. reliability, cost and security. Transmission media include: metal conductor, fibre optic, wireless. 3.1.11 Explain how data is transmitted by 3 packet switching. Wireless networking 3.1.12 Outline the advantages and 2 S/E wireless networks have led to disadvantages of wireless networks. changes in working patterns, social activities and raised health issues. 3.1.13 Describe the hardware and software 2 components of a wireless network. 3.1.14 Describe the characteristics of wireless 2 Include: WiFi; Worldwide networks. Interoperability for Microwave Access (WiMAX); 3G mobile; future networks. S/E, INT Connectivity between different locations. 3.1.15 Describe the different methods of 2 Include encryption types, userID, network security. trusted media access control (MAC) addresses. S/E Wireless networks have led to concerns about the security of the user’s data. 3.1.16 Evaluate the advantages and 3 disadvantages of each method of network security. 26 Computer science guide Syllabus content Topic 4—Computational thinking, problem-solving and programming (45 hours) 4.1 General principles (10 hours) This should not be taught as a separate topic but must be incorporated and connected to all sections— especially flow charts, pseudocode and programming in the SL/HL core and abstract data structures (HL extension). It is essential that these elements are not addressed in isolation—they have to be approached as a whole. The basic ideas and their application should be illustrated with non-computer examples. Each basic idea should then be practised in specific algorithmic contexts using concepts drawn from flow charts, pseudocode and programming. The teacher support material illustrates examples such as the home/locker/ knapsack for thinking ahead. Assessment statement Obj Teacher’s notes Thinking procedurally 4.1.1 Identify the procedure appropriate to 2 This includes identifying the steps solving a problem. and putting them in the correct order. Such as recipes, block-arrow-block- arrow. LINK Connecting computational thinking and program design, introduction to programming. 4.1.2 Evaluate whether the order in which 3 Links to problems presented to the activities are undertaken will result in student in other areas of the syllabus. the required outcome. LINK Thinking ahead, thinking concurrently. Connecting computational thinking and program design, introduction to programming. MYP Technology, step-by-step instructions. 4.1.3 Explain the role of sub-procedures in 3 Constructing procedures that can then solving a problem. be referred to by their identifier. LINK Abstraction, connecting computational thinking and program design, introduction to programming. Thinking logically 4.1.4 Identify when decision-making is 2 Links to procedural thinking— required in a specified situation. alternative procedures. TOK Reasoning as a form of decision-making. LINK Connecting computational thinking and program design, introduction to programming. Computer science guide 27 Syllabus content Assessment statement Obj Teacher’s notes 4.1.5 Identify the decisions required for the 2 Different actions are taken based on solution to a specified problem. conditions. LINK Connecting computational thinking and program design, introduction to programming. AIM 4 Applying thinking skills to identify and resolve a specified complex problem. 4.1.6 Identify the condition associated 2 Testing conditions, iteration. with a given decision in a specified Identifying and constructing problem. the conditions—AND, OR, NOT relationships—Boolean tests. LINK Connecting computational thinking and program design, introduction to programming. 4.1.7 Explain the relationship between the 3 IF … THEN … ELSE decisions and conditions of a system. LINK Connecting computational thinking and program design, introduction to programming. 4.1.8 Deduce logical rules for real-world 3 LINK Connecting computational situations. thinking and program design, introduction to programming. Thinking ahead 4.1.9 Identify the inputs and outputs 2 required in a solution. 4.1.10 Identify pre-planning in a suggested 2 Gantt charts. problem and solution. Pre-ordering. Pre-heating an oven. Home/locker/knapsack. Caching/pre-fetching. Building libraries of pre-formed elements for future use. LINK Thinking procedurally, thinking concurrently. Connecting computational thinking and program design, introduction to programming. 4.1.11 Explain the need for pre-conditions 3 when executing an algorithm. 4.1.12 Outline the pre- and post-conditions to 2 For example, cooking a dish for a meal. a specified problem. All ingredients available before starting to cook. A place to eat the food. 28 Computer science guide Syllabus content Assessment statement Obj Teacher’s notes 4.1.13 Identify exceptions that need to be 2 For example, identify the pre- considered in a specified problem conditions for calculating the solution. end-of-year bonus when not all employees have worked for the company for the whole year. LINK Connecting computational thinking and program design, introduction to programming. Thinking concurrently 4.1.14 Identify the parts of a solution that 2 Could include computer systems or could be implemented concurrently. real-life situations. LINK Thinking ahead, thinking procedurally. Connecting computational thinking and program design, introduction to programming. 4.1.15 Describe how concurrent processing 2 For example, building a house, can be used to solve a problem. production lines, division of labour. Students will not be expected to construct a flow chart or pseudocode related to concurrent processing. 4.1.16 Evaluate the decision to use concurrent 3 LINK Thinking ahead, thinking processing in solving a problem. procedurally. Connecting computational thinking and program design, introduction to programming. Thinking abstractly 4.1.17 Identify examples of abstraction. 2 Selecting the pieces of information that are relevant to solving the problem. LINK Thinking ahead. 4.1.18 Explain why abstraction is required 3 Students should be aware of the in the derivation of computational concept of objects, for example, the solutions for a specified situation. use of collections as objects in the design of algorithms. LINK Databases: tables, queries Modelling and simulation: an abstraction of reality OOP: classes, sub-classes Web science: distributed applications Computer science guide 29 Syllabus content Assessment statement Obj Teacher’s notes 4.1.19 Construct an abstraction from a 3 There is no need to use code. specified situation. Levels of abstraction through successive decomposition. A school can be decomposed into faculties. A faculty can be decomposed into departments. LINK Thinking ahead, thinking procedurally. Connecting computational thinking and program design, introduction to programming. 4.1.20 Distinguish between a real-world 2 TOK The map as an abstraction of entity and its abstraction. the territory. 4.2 Connecting computational thinking and program design (22 hours) The focus of this topic is how an understanding of programming languages enhances the students’ understanding of computational thinking and provides them with opportunities for practical, hands-on experience of applying computational thinking to practical outcomes. In externally assessed components questions will be presented using flow charts and/or pseudocode as outlined in the approved notation sheet. Answers will only be required in pseudocode. Students must be given the opportunity to convert algorithms into working code that is executed and tested. Working code will not be assessed in the externally assessed components. Assessment statement Obj Teacher’s notes 4.2.1 Describe the characteristics of 2 These are: sequential search, binary standard algorithms on linear arrays. search, bubble sort, selection sort. 4.2.2 Outline the standard operations of 2 These are: addition and retrieval of collections. data. 4.2.3 Discuss an algorithm to solve a specific 3 Students should be expected to problem. discuss the differences between algorithms, including both standard and novel algorithms. For example, discussing the advantages and disadvantages of using a binary search as opposed to a sequential search. 30 Computer science guide Syllabus content Assessment statement Obj Teacher’s notes 4.2.4 Analyse an algorithm presented as a 3 Examination questions may involve flow chart. variables, calculations, simple and nested lo

Use Quizgecko on...
Browser
Browser