1st Edition

Anyone Can Code The Art and Science of Logical Creativity

By Ali Arya Copyright 2021
    600 Pages 80 B/W Illustrations
    by Chapman & Hall

    600 Pages 80 B/W Illustrations
    by Chapman & Hall

    600 Pages 80 B/W Illustrations
    by Chapman & Hall

    Anyone Can Code: The Art and Science of Logical Creativity introduces computer programming as a way of problem-solving through logical thinking. It uses the notion of modularization as a central lens through which we can make sense of many software concepts. This book takes the reader through fundamental concepts in programming by illustrating them in three different and distinct languages: C/C++, Python, and Javascript. Key features: Focuses on problem-solving and algorithmic thinking instead of programming functions, syntax, and libraries; Includes engaging examples, including video games and visual effects; Provides exercises and reflective questions. This book gives beginner and intermediate learners a strong understanding of what they are doing so that they can do it better and with any other tool or language that they may end up using later.

    List of Sidebars. List of Tables. List of Exhibits. Preface. Acknowledgments. Definition of Key Terms. Abbreviation. Companion Website. Part 1 Getting Started. Introduction. Chapter 1 Computers, Programs, and Games. Chapter 2 Logical Creativity. Part 2 Understanding Programs. Chapter 3 Data: Program’s Information. Chapter 4 Code: Program’s Operation. Chapter 5 Functions. Part 3 Structured Programming. Chapter 6 Types, Files, and Libraries. Chapter 7 Modularization of Data. Chapter 8 Modularization of Code. Part 4 Object-Oriented Programming. Chapter 9 Modularization of Data and Code. Chapter 10 Object-Oriented Design. Part 5 More about Objects and Classes. Chapter 11 Class Hierarchies. Chapter 12 Object Identities. Part 6 Moving Forward. Chapter 13 Software Design. Chapter 14 Software Projects. Chapter 15 Concluding Notes. BIBLIOGRAPHY. INDEX.

    Biography

    Ali Arya is an Associate Professor of Information Technology at Carleton University, Ottawa, Canada. He received his Ph.D. in Computer Engineering from the University of British Columbia in 2003. Ali has over 25 years of experience in professional and academic positions related to software development and information technology. He is passionate about computer programming that brings together logical and creative abilities. His work has always involved hands-on programming combined with teaching and research on various related technologies. He has developed and taught graduate and undergraduate courses on computer programming, software design, and project management. His current research focuses on the use of computer games and virtual reality in education. Before his academic career, Ali worked as software engineer, lead designer, and project manager. Ali lives in Ottawa, Canada, with his wife, son, and two cats. Despite his teaching, research, and administrative duties, he still enjoys spending hours writing code and learning new programming trends and tricks.  

    “An excellent book that teaches programming and software development the way it should be done: independent from a specific implementation language and focusing on the main principles that are fundamental and substantive to any kind of software production…. Overall, a well-developed book that provides a comprehensive journey through the substantive topics essential to programming; I agree with the title; with the help of this book anyone can code. Given the unique strength of being agnostic to a specific language in the presentation of the central themes I wish that this book becomes a core reading text to academic institutions delivering on Computer Science and Software Development.”

    -- Dr Marc Conrad, Principal Lecturer, University of Bedfordshire

    “Ali Arya guides you in a fantastic journey full of creativity in a coherent way that allows the traveler to learn and build up over the knowledge acquired in previous chapters until the reader accomplishes skills to develop solutions using programming.”

    -- Andrés A. Navarro Newball, Professor, Pontificia Universidad Javeriana Cali Colombia