Computer Science


Book Description

Computer Science: The Hardware, Software and Heart of It focuses on the deeper aspects of the two recognized subdivisions of Computer Science, Software and Hardware. These subdivisions are shown to be closely interrelated as a result of the stored-program concept. Computer Science: The Hardware, Software and Heart of It includes certain classical theoretical computer science topics such as Unsolvability (e.g. the halting problem) and Undecidability (e.g. Godel’s incompleteness theorem) that treat problems that exist under the Church-Turing thesis of computation. These problem topics explain inherent limits lying at the heart of software, and in effect define boundaries beyond which computer science professionals cannot go beyond. Newer topics such as Cloud Computing are also covered in this book. After a survey of traditional programming languages (e.g. Fortran and C++), a new kind of computer Programming for parallel/distributed computing is presented using the message-passing paradigm which is at the heart of large clusters of computers. This leads to descriptions of current hardware platforms for large-scale computing, such as clusters of as many as one thousand which are the new generation of supercomputers. This also leads to a consideration of future quantum computers and a possible escape from the Church-Turing thesis to a new computation paradigm. The book’s historical context is especially helpful during this, the centenary of Turing's birth. Alan Turing is widely regarded as the father of Computer Science, since many concepts in both the hardware and software of Computer Science can be traced to his pioneering research. Turing was a multi-faceted mathematician-engineer and was able to work on both concrete and abstract levels. This book shows how these two seemingly disparate aspects of Computer Science are intimately related. Further, the book treats the theoretical side of Computer Science as well, which also derives from Turing's research. Computer Science: The Hardware, Software and Heart of It is designed as a professional book for practitioners and researchers working in the related fields of Quantum Computing, Cloud Computing, Computer Networking, as well as non-scientist readers. Advanced-level and undergraduate students concentrating on computer science, engineering and mathematics will also find this book useful.




Software Engineering for Science


Book Description

Software Engineering for Science provides an in-depth collection of peer-reviewed chapters that describe experiences with applying software engineering practices to the development of scientific software. It provides a better understanding of how software engineering is and should be practiced, and which software engineering practices are effective for scientific software. The book starts with a detailed overview of the Scientific Software Lifecycle, and a general overview of the scientific software development process. It highlights key issues commonly arising during scientific software development, as well as solutions to these problems. The second part of the book provides examples of the use of testing in scientific software development, including key issues and challenges. The chapters then describe solutions and case studies aimed at applying testing to scientific software development efforts. The final part of the book provides examples of applying software engineering techniques to scientific software, including not only computational modeling, but also software for data management and analysis. The authors describe their experiences and lessons learned from developing complex scientific software in different domains. About the Editors Jeffrey Carver is an Associate Professor in the Department of Computer Science at the University of Alabama. He is one of the primary organizers of the workshop series on Software Engineering for Science (http://www.SE4Science.org/workshops). Neil P. Chue Hong is Director of the Software Sustainability Institute at the University of Edinburgh. His research interests include barriers and incentives in research software ecosystems and the role of software as a research object. George K. Thiruvathukal is Professor of Computer Science at Loyola University Chicago and Visiting Faculty at Argonne National Laboratory. His current research is focused on software metrics in open source mathematical and scientific software.




Elements of Software Science


Book Description

Book Designed for Computer Professional Linguists, Psychologists, & Mathematicians. Summarizes the Research in Field of Human/Machine Interaction.




Computing Handbook


Book Description

The first volume of this popular handbook mirrors the modern taxonomy of computer science and software engineering as described by the Association for Computing Machinery (ACM) and the IEEE Computer Society (IEEE-CS). Written by established leading experts and influential young researchers, it examines the elements involved in designing and implementing software, new areas in which computers are being used, and ways to solve computing problems. The book also explores our current understanding of software engineering and its effect on the practice of software development and the education of software professionals.




Software Engineering and Computer Games


Book Description

This book solves the dilemma of wanting to learn Windows-based sorfware engineering without knowing Windows programming. The basics in Windows programming are explained alongside ideas of object-oriented sortware engineering. (Midwest).




Advances in Computer and Information Sciences and Engineering


Book Description

Advances in Computer and Information Sciences and Engineering includes a set of rigorously reviewed world-class manuscripts addressing and detailing state-of-the-art research projects in the areas of Computer Science, Software Engineering, Computer Engineering, and Systems Engineering and Sciences. Advances in Computer and Information Sciences and Engineering includes selected papers from the conference proceedings of the International Conference on Systems, Computing Sciences and Software Engineering (SCSS 2007) which was part of the International Joint Conferences on Computer, Information and Systems Sciences and Engineering (CISSE 2007).




Real-World Software Projects for Computer Science and Engineering Students


Book Description

Developing projects outside of a classroom setting can be intimidating for students and is not always a seamless process. Real-World Software Projects for Computer Science and Engineering Students is a quick, easy source for tackling such issues. Filling a critical gap in the research literature, the book: Is ideal for academic project supervisors. Helps researchers conduct interdisciplinary research. Guides computer science students on undertaking and implementing research-based projects This book explains how to develop highly complex, industry-specific projects touching on real-world complexities of software developments. It shows how to develop projects for students who have not yet had the chance to gain real-world experience, providing opportunity to become familiar with the skills needed to implement projects using standard development methodologies. The book is also a great source for teachers of undergraduate students in software engineering and computer science as it can help students prepare for the risk and uncertainty that is typical of software development in industrial settings.




Computer Science and Educational Software Design


Book Description

Developing educational software requires thinking, problematizing, representing, modeling, implementing and analyzing pedagogical objectives and issues, as well as conceptual models and software architectures. Computer scientists face the difficulty of understanding the particular issues and phenomena to be taken into account in educational software projects and of avoiding a naïve technocentered perspective. On the other hand, actors with backgrounds in human or social sciences face the difficulty of understanding software design and implementation issues, and how computer scientists engage in these tasks. Tchounikine argues that these difficulties cannot be solved by building a kind of “general theory” or “general engineering methodology” to be adopted by all actors for all projects: educational software projects may correspond to very different realities, and may be conducted within very different perspectives and with very different matters of concern. Thus the issue of understanding each others’ perspectives and elaborating some common ground is to be considered in context, within the considered project or perspective. To this end, he provides the reader with a framework and means for actively taking into account the relationships between pedagogical settings and software, and for working together in a multidisciplinary way to develop educational software. His book is for actors engaged in research or development projects which require inventing, designing, adapting, implementing or analyzing educational software. The core audience is Master’s and PhD students, researchers and engineers from computer science or human and social sciences (e.g., education, psychology, pedagogy, philosophy, communications or sociology) interested in the issues raised by educational software design and analysis and in the variety of perspectives that may be adopted.




Software Engineering and Testing


Book Description

This book is designed for use as an introductory software engineering course or as a reference for programmers. Up-to-date text uses both theory applications to design reliable, error-free software. Includes a companion CD-ROM with source code third-party software engineering applications.




Informatics in Schools. Fundamentals of Computer Science and Software Engineering


Book Description

This book constitutes the proceedings of the 11th International Conference on Informatics in Schools: Situation, Evolution and Perspectives, ISSEP 2018, held in St. Petersburg, Russia, in October 2018. The 29 full papers presented in this volume were carefully reviewed and selected from 74 submissions. They were organized in topical sections named: role of programming and algorithmics in informatics for pupils of all ages; national concepts of teaching informatics; teacher education in informatics; contests and competitions in informatics; socio-psychological aspects of teaching informatics; and computer tools in teaching and studying informatics.