Support Material for Teaching and Learning These materials aim to support teachers and students in achieving the learning outcomes of Computer Science. The ideas and resources provided here are neither prescriptive nor exhaustive. Teachers and students will discover many other ways of reaching the learning outcomes. The resources include links to NCCA lessons and videos, eTasks, and ALT and Computational Thinking challenges on html platforms. Other web resources are recommended as useful links for this Computer Science specification, though discretion and judgement should be used by both teachers and students. There are also suggestions on teaching methodologies and student assessment tasks. Teachers and students are encouraged to use these resources as platforms to create their own resources, as forms of assessment and also as reflection pieces for learning portfolios. Applied Learning Tasks (1-4) Computational Thinking The Evolution of Computers in Society Resources and Strategies for the LCCS Classroom Click above on the image to go directly to the resources indicated. Click below to read more about the nature of the support within the resources. A framework of Key Learning Principles for getting started with Leaving Certificate Computer Science. 1. Computational Thinking Resources to accompany Computational Thinking "The role of programming in computer science is like that of practical work in the other subjects— it provides motivation, and a context within which ideas are brought to life. Students learn programming by solving problems through computational thinking processes and through practical applications such as applied learning tasks." LCCS specification (2017) There are 3 sections. The main section is Programming Concepts - 9 programming concepts learned through Python. The other 2 sections (Block based CT and Unplugged CT) are standalone resources but they are also incorporated into the main programming concepts section at the appropriate level of learning. Each of the 9 concepts is explored in a variety of contexts. Programming Concepts 0. Read and Modify Code 1. Variables 2. Basic Input Output 3. Strings 4. Conditionals 5, Loops (Iterations) 6. Lists and Dictionaries 7. Definitions (Functions) 8. Unit Testing Concepts learned using text-based programming (Python initially, then Javascript more fully at a later time in the course) are also learned with block-based programming (e.g. Scratch, microbit code). Targeted tasks, pair programming and CT challenges all provide further context. Finally solving problems using a microprocessor, and learning the concept through the use of the microprocessor, reinforce the learning and provide real purpose to the material. Research in this area is not plentiful or definitive but Franklin et al (2016), Rubin (2016), Werner et al (2013) and Waite (2017), in addition to the widespread adoption of blended learning at both second and third level, suggest these forms of multi-contextualised blended pedagogies can be effective and engaging. The nature and effectiveness of the tasks are informed by a simple principle : what are students expected to do with information and knowledge in order to deepen their understanding. Research and resources in this area range from An exploration of internal factors influencing student learning of programming by Carbone et al (2009) to educational books such as Computer Science in Education by Sentance et al and The Power Of Computational Thinking by Curzon and Owens. The types of resources provided are listed below The provision of resources varies across the concepts. For example, some will contain up to 3 CT challenges, but others will have one or none. Lessons and Tasks for learning Python, editable with Microsoft PP, Google Slides or similar. Lesson Plans embedded in slides, including Learning Outcomes addressed. Developing programming concepts through Turtle Graphics. (Turtle tasks and lessons in concepts 2, 5 and 7) 5-15 minute video lessons accompanying each concept, to consolidate and extend the task-based learning. CT Challenge(s) on a html platform, appropriate to prior learning and development, and editable for eportfolio use. Video Lesson on use of microprocessor (microbit), related as closely as possible to the concepts. eTasks and challenges in editable pdf format, including key LOs addressed and reflections on learning. Parallel block-based and text-based programming, where a task from a Python lesson, is executed in Scratch. How to assess and document the level of Computational Thinking within the Scratch programs. Also a html resource, editable for storing student work and for eportfolio use. Learning Outcomes addressed The LOs addressed, or the section of the specification in which the LOs are stated, are specified within most resources. The Programming Concepts resources primarily address most of the LOs in the following sections of the specification : - Computational Thinking and Designing and Developing (Strand 1) - Abstraction, Algorithms, Data and Evaluation (Strand 2) - ALT4 and some of the LOs in the other ALTs. (Strand 3) 2. Applied Learning Tasks 1 – 4 Computer Science in Practice ALT1 Interactive Information Systems ALT2 Analytics ALT3 Modelling and Simulation ALT4 Embedded Systems The resources are merely indicative of what can be done in this practical section. The Applied Learning Task is set within the brief provided in the specification and the resources will present an introductory task that will simulate the larger project and provide them with the components that they need to complete the larger brief. The resources address some of the LOs within particular ALTs or help students develop the skills to achieve the LOs of strand 3. Further LCCS ideas can be found at www.compsci.ie. In developing ideas within strand 3, students will also address LOs from across all 3 strands. Brief Resources ALT1 The ALT1 web resource explores levels of scaffolding that can be provided, whether these are guides for full implementation or resources that can be deconstructed by teachers and students. The resources also includes examples of approaches that might be used to support the development process (from brainstorming to project planning). An introductory Python and Javascript CT challenge will also support skills required for this brief. ALT2 The ALT2 web resources explore levels of scaffolding that can be provided, whether these are guides for full implementation or resources that can be deconstructed by teachers and students. The interdisciplinary element is a key component of the analytics brief. Initial resources encompass text analysis (English, History) and image composition analysis (Art). An introductory CT challenge on cleaning data will also support skills required for this brief. ALT3 The resources are designed to encourage students to explore interdisciplinary topics and bring programming, design and algorithmic skills to bear on the creation of models. Examples of modelling a popluation growth based on a LC Geography question are given in Python and Javascript. Similarly a question from LC Physics/Construction Studies is modelled in Scratch. A simulation package explores the agent-based model and facilitates analysis of emergent behaviours. ALT4 Video lessons to develop skills and scaffolding classes around the use of embedded systems. The lessons together address the LOs of ALT4, and are designed to encourage ideas for full implementation of the brief on embedded systems. In addition, the parallel use of block-based programming (such as Scratch or the microbit block code) and text based (Python, Javascript) programming reinforces the blended pedagogical approach to concepts addressed in other resources. 3. The Evolution of Computers in Society Resources and Strategies for the Classroom Many learning outcomes across all 3 strands can be achieved through a blended pedagogy of group activities with guided exploration and creative problem solving. Suggestions on how to use this resource This resource aims to primarily support the learning outcomes around Computers and society, and the evolution of computers in society, in strand 1, and also the core concept of Computer systems in strand 2. The resources and strategies provided are intended mainly for the teacher to use in the classroom. They can be used in the context of an Applied learning task (ALT) or simply as classroom strategies to engage students in wider ethical and cultural questions. They are not prescriptive and the concepts do not have to be taught in the order they are presented. Teachers will discover many other ways of helping their students achieve the learning outcomes. Much of the learning around computers and society and the direction of technological development can be facilitated by teachers with classroom techniques, such as Power of Persuasion, Think- Pair-Share-Snowball and Stimulate a Debate, which are described within this resource. There are also design and development activities, plus ideas for other suitable activities. The resource itself, with guidance and differentiation from the teacher, can be used as a learning platform by students. Material that is suitable for Higher Level only is indicated by an orange bar to the side. The evolution of computers in society is outlined below. Each development in the evolution is used as a platform to study subsequent related developments. In this sense the learning outcomes can be achieved in an iterative and non-linear fashion. 100 Years of Computing Developments Early Computers and Computing Technology 1936 Turing Machine 1942 - 1946 First Electronic Computers - Colossus and ENIAC 1947 Solid State Transistors 1953 Invention of High Level Programming Languages 1958 Integrated Circuits 1973 Mobile Phones and interconnected computers 1976 First Modern PC – Apple II 1989 Tim Berners Lee invents the world wide web 2000 – 2020 Cloud Computing and the smart phone Emerging trends in the 21st Century