Welcome to your Introduction to AI and Data Science reading list. Here you will find resources selected by your course team to support you throughout this module.
Essential Reading
Introduction to Python Programming by Gowrishankar S; Veena AIntroduction to Python Programming is written for students who are beginners in the field of computer programming. This book presents an intuitive approach to the concepts of Python Programming for students. This book differs from traditional texts not only in its philosophy but also in its overall focus, level of activities, development of topics, and attention to programming details. The contents of the book are chosen with utmost care after analyzing the syllabus for Python course prescribed by various top universities in USA, Europe, and Asia. Since the prerequisite know-how varies significantly from student to student, the book's overall overture addresses the challenges of teaching and learning of students which is fine-tuned by the authors' experience with large sections of students. This book uses natural language expressions instead of the traditional shortened words of the programming world. This book has been written with the goal to provide students with a textbook that can be easily understood and to make a connection between what students are learning and how they may apply that knowledge. Features of this book This book does not assume any previous programming experience, although of course, any exposure to other programming languages is useful This book introduces all of the key concepts of Python programming language with helpful illustrations Programming examples are presented in a clear and consistent manner Each line of code is numbered and explained in detail Use of f-strings throughout the book Hundreds of real-world examples are included and they come from fields such as entertainment, sports, music and environmental studies Students can periodically check their progress with in-chapter quizzes that appear in all chapters
Python for Everybody by Severance, C.Python for Everybody is designed to introduce students to programming and software development through the lens of exploring data. You can think of the Python programming language as your tool to solve data problems that are beyond the capability of a spreadsheet.Python is an easy to use and easy to learn programming language that is freely available on Macintosh, Windows, or Linux computers. So once you learn Python you can use it for the rest of your career without needing to purchase any software.This book uses the Python 3 language. The earlier Python 2 version of this book is titled "Python for Informatics: Exploring Information".There are free downloadable electronic copies of this book in various formats and supporting materials for the book at www.py4e.com. The course materials are available to you under a Creative Commons License so you can adapt them to teach your own Python course.
Bio-Inspired Artificial Intelligence by Floreano, D.; Mattiussi, C.A comprehensive introduction to new approaches in artificial intelligence and robotics that are inspired by self-organizing biological processes and structures. New approaches to artificial intelligence spring from the idea that intelligence emerges as much from cells, bodies, and societies as it does from evolution, development, and learning. Traditionally, artificial intelligence has been concerned with reproducing the abilities of human brains; newer approaches take inspiration from a wider range of biological structures that that are capable of autonomous self-organization. Examples of these new approaches include evolutionary computation and evolutionary electronics, artificial neural networks, immune systems, biorobotics, and swarm intelligence--to mention only a few. This book offers a comprehensive introduction to the emerging field of biologically inspired artificial intelligence that can be used as an upper-level text or as a reference for researchers. Each chapter presents computational approaches inspired by a different biological system; each begins with background information about the biological system and then proceeds to develop computational models that make use of biological concepts. The chapters cover evolutionary computation and electronics; cellular systems; neural systems, including neuromorphic engineering; developmental systems; immune systems; behavioral systems--including several approaches to robotics, including behavior-based, bio-mimetic, epigenetic, and evolutionary robots; and collective systems, including swarm robotics as well as cooperative and competitive co-evolving systems. Chapters end with a concluding overview and suggested reading.
Call Number: eBook
ISBN: 9780262272858
Publication Date: 2008
Refactoring: Improving the Design of Existing Code by Fowler, M."Whenever you read [Refactoring ], it's time to read it again. And if you haven't read it yet, please do before writing another line of code." -David Heinemeier Hansson, Creator of Ruby on Rails, Founder & CTO at Basecamp Fully Revised and Updated--Includes New Refactorings and Code Examples "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." -M. Fowler (1999) For more than twenty years, experienced programmers worldwide have relied on Martin Fowler's Refactoring to improve the design of existing code and to enhance software maintainability, as well as to make existing code easier to understand. This eagerly awaited new edition has been fully updated to reflect crucial changes in the programming landscape. Refactoring, Second Edition, features an updated catalog of refactorings and includes JavaScript code examples, as well as new functional examples that demonstrate refactoring without classes. Like the original, this edition explains what refactoring is; why you should refactor; how to recognize code that needs refactoring; and how to actually do it successfully, no matter what language you use. Understand the process and general principles of refactoring Quickly apply useful refactorings to make a program easier to comprehend and change Recognize "bad smells" in code that signal opportunities to refactor Explore the refactorings, each with explanations, motivation, mechanics, and simple examples Build solid tests for your refactorings Recognize tradeoffs and obstacles to refactoring Includes free access to the canonical web edition, with even more refactoring resources. (See inside the book for details about how to access the web edition.)
Introduction to Computation and Programming Using Python, Third Edition by Guttag, J.The new edition of an introduction to the art of computational problem solving using Python. This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including numpy, matplotlib, random, pandas, and sklearn. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of data science for using computation to model and interpret data as well as substantial material on machine learning. All of the code in the book and an errata sheet are available on the book's web page on the MIT Press website.
Call Number: 005.133 GUT + eBook
ISBN: 9780262542364
Publication Date: 2021
The Pragmatic Programmer by Hunt, A."One of the most significant books in my life." --Obie Fernandez, Author, The Rails Way "Twenty years ago, the first edition of The Pragmatic Programmer completely changed the trajectory of my career. This new edition could do the same for yours." --Mike Cohn, Author of Succeeding with Agile , Agile Estimating and Planning , and User Stories Applied ". . . filled with practical advice, both technical and professional, that will serve you and your projects well for years to come." --Andrea Goulet, CEO, Corgibytes, Founder, LegacyCode.Rocks ". . . lightning does strike twice, and this book is proof." --VM (Vicky) Brasseur, Director of Open Source Strategy, Juniper Networks The Pragmatic Programmer is one of those rare tech books you'll read, re-read, and read again over the years. Whether you're new to the field or an experienced practitioner, you'll come away with fresh insights each and every time. Dave Thomas and Andy Hunt wrote the first edition of this influential book in 1999 to help their clients create better software and rediscover the joy of coding. These lessons have helped a generation of programmers examine the very essence of software development, independent of any particular language, framework, or methodology, and the Pragmatic philosophy has spawned hundreds of books, screencasts, and audio books, as well as thousands of careers and success stories. Now, twenty years later, this new edition re-examines what it means to be a modern programmer. Topics range from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how to: Fight software rot Learn continuously Avoid the trap of duplicating knowledge Write flexible, dynamic, and adaptable code Harness the power of basic tools Avoid programming by coincidence Learn real requirements Solve the underlying problems of concurrent code Guard against security vulnerabilities Build teams of Pragmatic Programmers Take responsibility for your work and career Test ruthlessly and effectively, including property-based testing Implement the Pragmatic Starter Kit Delight your users Written as a series of self-contained sections and filled with classic and fresh anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best approaches and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Call Number: 005.1 THO
ISBN: 9780135957059
Publication Date: 2019-09-13
Python Data Analysis by Ivan IdrisThis book is for programmers, scientists, and engineers who have knowledge of the Python language and know the basics of data science. It is for those who wish to learn different data analysis methods using Python and its libraries. This book contains all the basic ingredients you need to become an expert data analyst.
Call Number: eBook
ISBN: 9781322236360
Publication Date: 2014
Artificial Intelligence and Problem Solving by Kopec, D.; Pileggi, C.; Ungar, D.; Shetty, S.This book lends insight into solving some well-known AI problems using the most efficient problem-solving methods by humans and computers. The book discusses the importance of developing critical-thinking methods and skills, and develops a consistent approach toward each problem. This book assembles in one place a set of interesting and challenging AI-type problems that students regularly encounter in computer science, mathematics, and AI courses. These problems are not new, and students from all backgrounds can benefit from the kind of deductive thinking that goes into solving them. The book is especially useful as a companion to any course in computer science or mathematics where there are interesting problems to solve. Features: *Addresses AI and problem-solving from different perspectives *Covers classic AI problems such as Sudoku, Map Coloring, Twelve Coins, Red Donkey, Cryptarithms, Monte Carlo Methods, Rubik's Cube, Missionaries/Cannibals, Knight's Tour, Monty Hall, and more *Includes a companion disc with source code, solutions, figures, and more *Offers playability sites where students can exercise the process of developing their solutions *Describes problem-solving methods that might be applied to a variety of situations eBook Customers:Companion files are available for downloading with order number/proof of purchase by writing to the publisher at info@merclearning.com.
Call Number: eBook
ISBN: 9781683922414
Publication Date: 2016
Python Machine Learning by Lee, WPython makes machine learning easy for beginners and experienced developers With computing power increasing exponentially and costs decreasing at the same time, there is no better time to learn machine learning using Python. Machine learning tasks that once required enormous processing power are now possible on desktop machines. However, machine learning is not for the faint of heart--it requires a good foundation in statistics, as well as programming knowledge. Python Machine Learning will help coders of all levels master one of the most in-demand programming skillsets in use today. Readers will get started by following fundamental topics such as an introduction to Machine Learning and Data Science. For each learning algorithm, readers will use a real-life scenario to show how Python is used to solve the problem at hand. * Python data science--manipulating data and data visualization * Data cleansing * Understanding Machine learning algorithms * Supervised learning algorithms * Unsupervised learning algorithms * Deploying machine learning models Python Machine Learning is essential reading for students, developers, or anyone with a keen interest in taking their coding skills to the next level.
Call Number: eBook
ISBN: 9781119545675
Publication Date: 2019
Python Pocket Reference by Lutz, M.Updated for both Python 3.4 and 2.7, this convenient pocket guide is the perfect on-the-job quick reference. Youâ??ll find concise, need-to-know information on Python types and statements, special method names, built-in functions and exceptions, commonly used standard library modules, and other prominent Python tools. The handy index lets you pinpoint exactly what you need. Written by Mark Lutzâ??widely recognized as the worldâ??s leading Python trainerâ??Python Pocket Reference is an ideal companion to Oâ??Reillyâ??s classic Python tutorials, Learning Python and Programming Python, also written by Mark. This fifth edition covers: Built-in object types, including numbers, lists, dictionaries, and more Statements and syntax for creating and processing objects Functions and modules for structuring and reusing code Pythonâ??s object-oriented programming tools Built-in functions, exceptions, and attributes Special operator overloading methods Widely used standard library modules and extensions Command-line options and development tools Python idioms and hints The Python SQL Database API
Call Number: 005.133 LUT + eBook
ISBN: 9781449357016
Publication Date: 2014
Python Crash Course, 2nd Edn by Matthes, E.The best-selling Python book in the world, with over 1 million copies sold! A fast-paced, no-nonsense, updated guide to programming in Python. If you've been thinking about learning how to code or picking up Python, this internationally bestselling guide to the most popular programming language is your quickest, easiest way to get started and go! Even if you have no experience whatsoever, Python Crash Course, 2nd Edition, will have you writing programs, solving problems, building computer games, and creating data visualizations in no time. You'll begin with basic concepts like variables, lists, classes, and loops--with the help of fun skill-strengthening exercises for every topic--then move on to making interactive programs and best practices for testing your code. Later chapters put your new knowledge into play with three cool projects: a 2D Space Invaders-style arcade game, a set of responsive data visualizations you'll build with Python's handy libraries (Pygame, Matplotlib, Plotly, Django), and a customized web app you can deploy online. Why wait any longer? Start your engine and code!
Call Number: 005.133 MAT
ISBN: 9781593279288
Publication Date: 2019
Machine Learning by Murphy, K. P.A comprehensive introduction to machine learning that uses probabilistic models and inference as a unifying approach. Today's Web-enabled deluge of electronic data calls for automated methods of data analysis. Machine learning provides these, developing methods that can automatically detect patterns in data and then use the uncovered patterns to predict future data. This textbook offers a comprehensive and self-contained introduction to the field of machine learning, based on a unified, probabilistic approach. The coverage combines breadth and depth, offering necessary background material on such topics as probability, optimization, and linear algebra as well as discussion of recent developments in the field, including conditional random fields, L1 regularization, and deep learning. The book is written in an informal, accessible style, complete with pseudo-code for the most important algorithms. All topics are copiously illustrated with color images and worked examples drawn from such application domains as biology, text processing, computer vision, and robotics. Rather than providing a cookbook of different heuristic methods, the book stresses a principled model-based approach, often using the language of graphical models to specify models in a concise and intuitive way. Almost all the models described have been implemented in a MATLAB software package--PMTK (probabilistic modeling toolkit)--that is freely available online. The book is suitable for upper-level undergraduates with an introductory-level college math background and beginning graduate students.
Call Number: eBook
ISBN: 9780262305242
Publication Date: 2012
Python for Data Analysis by McKinney, W.Get the definitive handbook for manipulating, processing, cleaning, and crunching datasets in Python. Updated for Python 3.10 and pandas 1.4, the third edition of this hands-on guide is packed with practical case studies that show you how to solve a broad set of data analysis problems effectively. You'll learn the latest versions of pandas, NumPy, and Jupyter in the process. Written by Wes McKinney, the creator of the Python pandas project, this book is a practical, modern introduction to data science tools in Python. It's ideal for analysts new to Python and for Python programmers new to data science and scientific computing. Data files and related material are available on GitHub. Use the Jupyter notebook and IPython shell for exploratory computing Learn basic and advanced features in NumPy Get started with data analysis tools in the pandas library Use flexible tools to load, clean, transform, merge, and reshape data Create informative visualizations with matplotlib Apply the pandas groupby facility to slice, dice, and summarize datasets Analyze and manipulate regular and irregular time series data Learn how to solve real-world data analysis problems with thorough, detailed examples
Call Number: eBook of 2nd Ed.
ISBN: 9781098104030
Publication Date: 2022
Python: An Introduction to Programming by Parker, J. R.This book is an introduction to programming concepts that uses Python 3 as the target language. It covers basic computer concepts such as loops, strings, functions, files, graphics, multimedia, algorithms, classes, writing code, etc. Many examples are based on video games because Python has become the language of choice for basic game development. It follows a practical just in timepresentation - material is given to the student when it is needed. Designed as a year one textbook for introduction to programming classes or for the hobbyist who wants to learn thefundamentals of programming, the text assumes no programming experience.Companion files with source code, solved programming exercises, projects, and figures from the text are included. FEATURES: Introduces programming concepts using Python 3 Covers basic computer concepts such as loops, strings, functions, files, graphics, multimedia, algorithms, classes, writing code, etc. Develops graphics, exercises, and user interface using Pygame Includes many examples based on video game development 4 color throughout with game demos on the companion files (available to eBook customers by emailing the publisher info@merclearning.com with proof of purchase) New chapters on parsing (14) and graphics(15) Instructor ancillaries for use as a textbook The companion files and instructor resources are available online by emailing the publisher with proof of purchase at info@merclearning.com.
Call Number: eBook
ISBN: 9781683926238
Publication Date: 2021
Python 3 Object Oriented Programming by Phillips, D.The book begins with the very foundations of OOP and then uses practical examples to show how to correctly implement Object Oriented Programming in Python. Many examples are taken from real-world projects. The book focuses on high-level design as well as the gritty details of the Python syntax. The provided exercises inspire the reader to think about his or her own code, rather than providing solved problems. If you're new to Object Oriented Programming techniques, or if you have basic Python skills and wish to learn in depth how and when to correctly apply Object Oriented Programming in Python, this is the book for you. If you are an object-oriented programmer for other languages, you too will find this book a useful introduction to Python, as it uses terminology you are already familiar with. Python 2 programmers seeking a leg up in the new world of Python 3 will also find the book beneficial, and you need not necessarily know Python 2.
Chess Metaphors by Rasskin-Gutman, D.How the moves of thirty-two chess pieces over sixty-four squares can help us understand the workings of the mind. When we play the ancient and noble game of chess, we grapple with ideas about honesty, deceitfulness, bravery, fear, aggression, beauty, and creativity, which echo (or allow us to depart from) the attitudes we take in our daily lives. Chess is an activity in which we deploy almost all our available cognitive resources; therefore, it makes an ideal laboratory for investigation into the workings of the mind. Indeed, research into artificial intelligence (AI) has used chess as a model for intelligent behavior since the 1950s. In Chess Metaphors, Diego Rasskin-Gutman explores fundamental questions about memory, thought, emotion, consciousness, and other cognitive processes through the game of chess, using the moves of thirty-two pieces over sixty-four squares to map the structural and functional organization of the brain. Rasskin-Gutman focuses on the cognitive task of problem solving, exploring it from the perspectives of both biology and AI. Examining AI researchers' efforts to program a computer that could beat a flesh-and-blood grandmaster (and win a world chess championship), he finds that the results fall short when compared to the truly creative nature of the human mind.
Call Number: eBook
ISBN: 9780262259156
Publication Date: 2012
Professional Python by Sneeringer, L.Master the secret tools every Python programmer needs to know Professional Python goes beyond the basics to teach beginner- and intermediate-level Python programmers the little-known tools and constructs that build concise, maintainable code. Design better architecture and write easy-to-understand code using highly adoptable techniques that result in more robust and efficient applications. Coverage includes Decorators, Context Managers, Magic Methods, Class Factories, Metaclasses, Regular Expressions, and more, including advanced methods for unit testing using asyncio and CLI tools. Each topic includes an explanation of the concept and a discussion on applications, followed by hands-on tutorials based on real-world scenarios. The "Python 3 first" approach covers multiple current versions, while ensuring long-term relevance. Python offers many tools and techniques for writing better code, but often confusing documentation leaves many programmers in the dark about how to use them. This book shines a light on these incredibly useful methods, giving you clear guidance toward building stronger applications. Learn advanced Python functions, classes, and libraries Utilize better development and testing tools Understand the "what," "when," "why," and "how" More than just theory or a recipe-style walk-through, this guide helps you learn -- and understand -- these little-known tools and techniques. You'll streamline your workflow while improving the quality of your output, producing more robust applications with cleaner code and stronger architecture. If you're ready to take your Python skills to the next level, Professional Python is the invaluable guide that will get you there.