Sigcse '18


Book Description

SIGCSE '18: The 49th ACM Technical Symposium on Computing Science Education Feb 21, 2018-Feb 24, 2018 Baltimore, USA. You can view more information about this proceeding and all of ACM�s other published conference proceedings from the ACM Digital Library: http://www.acm.org/dl.







The Cambridge Handbook of Computing Education Research


Book Description

This Handbook describes the extent and shape of computing education research today. Over fifty leading researchers from academia and industry (including Google and Microsoft) have contributed chapters that together define and expand the evidence base. The foundational chapters set the field in context, articulate expertise from key disciplines, and form a practical guide for new researchers. They address what can be learned empirically, methodologically and theoretically from each area. The topic chapters explore issues that are of current interest, why they matter, and what is already known. They include discussion of motivational context, implications for practice, and open questions which might suggest future research. The authors provide an authoritative introduction to the field which is essential reading for policy makers, as well as both new and established researchers.




A Practical Introduction to Data Structures and Algorithm Analysis


Book Description

This practical text contains fairly "traditional" coverage of data structures with a clear and complete use of algorithm analysis, and some emphasis on file processing techniques as relevant to modern programmers. It fully integrates OO programming with these topics, as part of the detailed presentation of OO programming itself.Chapter topics include lists, stacks, and queues; binary and general trees; graphs; file processing and external sorting; searching; indexing; and limits to computation.For programmers who need a good reference on data structures.




Reflections on the Teaching of Programming


Book Description

This state-of-the-art survey, reflecting on the teaching of programming, has been written by a group of primarily Scandinavian researchers and educators with special interest and experience in the subject of programming. The 14 chapters - contributed by 24 authors - present practical experience gathered in the process of teaching programming and associated with computing education research work. Special emphasis is placed on practical advice and concrete suggestions. The authors are all members of the Scandinavian Pedagogy of Programming Network (SPoP), and bring together a diverse body of experiences from the Nordic countries. The 14 chapters of the book have been carefully written and edited to present 4 coherent units on issues in introductory programming courses, object-oriented programming, teaching software engineering issues, and assessment. Each of these individual parts has its own detailed introduction. The topics addressed span a wide range of problems and solutions associated with the teaching of programming such as introductory programming courses, exposition of the programming process, apprentice-based learning, functional programming first, problem-based learning, the use of on-line tutorials, object-oriented programming and Java, the BlueJ environment to introduce programming, model-driven programming as opposed to the prevailing language-driven approach, teaching software engineering, testing, extreme programming, frameworks, feedback and assessment, active learning, technology-based individual feedback, and mini project programming exams.




Computer Science Education Research


Book Description

This book provides an overview of how to approach computer science education research from a pragmatic perspective. It represents the diversity of traditions and approaches inherent in this interdisciplinary area, while also providing a structure within which to make sense of that diversity. It provides multiple 'entry points'- to literature, to methods, to topics Part One, 'The Field and the Endeavor', frames the nature and conduct of research in computer science education. Part Two, 'Perspectives and Approaches', provides a number of grounded chapters on particular topics or themes, written by experts in each domain. These chapters cover the following topics: * design * novice misconceptions * programming environments for novices * algorithm visualisation * a schema theory view on learning to program * critical theory as a theoretical approach to computer science education research Juxtaposed and taken together, these chapters indicate just how varied the perspectives and research approaches can be. These chapters, too, act as entry points, with illustrations drawn from published work.




Programming Quantum Computers


Book Description

Quantum computers are poised to kick-start a new computing revolution—and you can join in right away. If you’re in software engineering, computer graphics, data science, or just an intrigued computerphile, this book provides a hands-on programmer’s guide to understanding quantum computing. Rather than labor through math and theory, you’ll work directly with examples that demonstrate this technology’s unique capabilities. Quantum computing specialists Eric Johnston, Nic Harrigan, and Mercedes Gimeno-Segovia show you how to build the skills, tools, and intuition required to write quantum programs at the center of applications. You’ll understand what quantum computers can do and learn how to identify the types of problems they can solve. This book includes three multichapter sections: Programming for a QPU—Explore core concepts for programming quantum processing units, including how to describe and manipulate qubits and how to perform quantum teleportation. QPU Primitives—Learn algorithmic primitives and techniques, including amplitude amplification, the Quantum Fourier Transform, and phase estimation. QPU Applications—Investigate how QPU primitives are used to build existing applications, including quantum search techniques and Shor’s factoring algorithm.




Report of a Workshop on the Scope and Nature of Computational Thinking


Book Description

Report of a Workshop on the Scope and Nature of Computational Thinking presents a number of perspectives on the definition and applicability of computational thinking. For example, one idea expressed during the workshop is that computational thinking is a fundamental analytical skill that everyone can use to help solve problems, design systems, and understand human behavior, making it useful in a number of fields. Supporters of this viewpoint believe that computational thinking is comparable to the linguistic, mathematical and logical reasoning taught to all children. Various efforts have been made to introduce K-12 students to the most basic and essential computational concepts and college curricula have tried to provide a basis for life-long learning of increasingly new and advanced computational concepts and technologies. At both ends of this spectrum, however, most efforts have not focused on fundamental concepts. The book discusses what some of those fundamental concepts might be. Report of a Workshop on the Scope and Nature of Computational Thinking explores the idea that as the use of computational devices is becoming increasingly widespread, computational thinking skills should be promulgated more broadly. The book is an excellent resource for professionals in a wide range of fields including educators and scientists.




Reflections on the History of Computing


Book Description

This book is a collection of refereed invited papers on the history of computing from the 1940s to the 1990s with one paper going back to look at Italian calculating/computing machines from the first century to the 20th century. The 22 papers cover a wide range of computing related topics such as specific early computer systems, their construction, their use and their users; software programming and operating systems; people involved in the theory, design and use of these computers; computer education; and conservation of computing technology. Many of the authors were actually involved in the events they describe and share their specific reflections on the history of computing.




Navigating Computer Science Education in the 21st Century


Book Description

Students often face challenges in a swiftly advancing Computer Science Education (CSE), where technologies evolve rapidly, and concepts unfold with overwhelming intricacies. As society becomes interwoven with technology, how essential is the integration of CSE into the educational framework to adequately equip future generations for the complexities of the digital era? Navigating Computer Science Education in the 21st Century advocates integrating CSE into curricula, underlining its crucial role in early childhood development. The book grapples with the challenge of introducing children to technology responsibly, addressing concerns about unmonitored screen time while emphasizing the necessity of evidence-based approaches for educators. Within these pages, effective teaching strategies are linked to successes in CSE. The book explores learner-centered teaching methodologies in computer science, emphasizing individualized instruction, active learning, and collaborative approaches. It evaluates the effectiveness of traditional lecture-based teaching against more innovative strategies such as game-based learning and collaborative approaches. By presenting studies that delve into the impact of these strategies on student engagement and motivation, the book equips educators with the insights needed to make informed decisions tailored to diverse learning environments.