Welcome to your Python Programming for AI and Data Science reading list. Here you will find resources selected by your course team to support you throughout this module.
Essential Resources
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
Waltzing with Bears by Demarco, T. and Lister, T.The authors, consultants in risk and management, show how to identify and embrace worthwhile risks in software development and offer strategies for common risks that software projects face, such as schedule flaws, requirements inflation, and specification breakdown. Annotation (c) Book News, Inc., P
Call Number: 005.1068 DEM
ISBN: 0932633609
Publication Date: 2003
Peopleware: Productive Projects and Teams by DeMarco, T.; Lister, T.Few books in computing have had as profound an influence on software management as Peopleware. The unique insight of this longtime best seller is that the major issues of software development are human, not technical. They're not easy issues; but solve them, and you'll maximize your chances of success. "Peopleware has long been one of my two favorite books on software engineering. Its underlying strength is its base of immense real experience, much of it quantified. Many, many varied projects have been reflected on and distilled; but what we are given is not just lifeless distillate, but vivid examples from which we share the authors' inductions. Their premise is right: most software project problems are sociological, not technological. The insights on team jelling and work environment have changed my thinking and teaching. The third edition adds strength to strength." -- Frederick P. Brooks, Jr., Kenan Professor of Computer Science, University of North Carolina at Chapel Hill, Author of The Mythical Man-Month and The Design of Design "Peopleware is the one book that everyone who runs a software team needs to read and reread once a year. In the quarter century since the first edition appeared, it has become more important, not less, to think about the social and human issues in software develop¿ment. This is the only way we're going to make more humane, productive workplaces. Buy it, read it, and keep a stock on hand in the office supply closet." --Joel Spolsky, Co-founder, Stack Overflow "When a book about a field as volatile as software design and use extends to a third edition, you can be sure that the authors write of deep principle, of the fundamental causes for what we readers experience, and not of the surface that everyone recognizes. And to bring people, actual human beings, into the mix! How excellent. How rare. The authors have made this third edition, with its additions, entirely terrific." --Lee Devin and Rob Austin, Co-authors of The Soul of Design and Artful Making For this third edition, the authors have added six new chapters and updated the text throughout, bringing it in line with today's development environments and challenges. For example, the book now discusses pathologies of leadership that hadn't previously been judged to be pathological; an evolving culture of meetings; hybrid teams made up of people from seemingly incompatible generations; and a growing awareness that some of our most common tools are more like anchors than propellers. Anyone who needs to manage a software project or software organization will find invaluable advice throughout the book.
Call Number: 658.4022 DEM
ISBN: 9780321934116
Publication Date: 2013
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.)
Call Number: 005.16 FOW
ISBN: 9780134757599
Publication Date: 2018
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
Advanced Machine Learning with Python by Hearty, J.Solve challenging data science problems by mastering cutting-edge machine learning techniques in Python. Resolve complex machine learning problems and explore deep learning. Learn to use Python code for implementing a range of machine learning algorithms and techniques. A practical tutorial that tackles real-world computing problems through a rigorous and effective approach
Call Number: eBook
ISBN: 9781784393830
Publication Date: 2016
The Pragmatic Programmer by Hunt, A. and Thomas, D.Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices 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.
Call Number: 005.1 HUN
ISBN: 020161622X
Publication Date: 1999
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
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
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.
Deep Reinforcement Learning with Python by Ravichandiran, S.Deep Reinforcement Learning with Python - Second Edition will help you learn reinforcement learning algorithms, techniques and architectures - including deep reinforcement learning - from scratch. This new edition is an extensive update of the original, reflecting the state-of-the-art latest thinking in reinforcement learning.
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.
Call Number: eBook
ISBN: 9781119070832
Publication Date: 2015
Software Engineering, 10th edn by Sommerville, I.For courses in computer science and software engineering The Fundamental Practice of Software Engineering Software Engineering introduces readers to the overwhelmingly important subject of software programming and development. In the past few years, computer systems have come to dominate not just our technological growth, but the foundations of our world's major industries. This text seeks to lay out the fundamental concepts of this huge and continually growing subject area in a clear and comprehensive manner. The Tenth Edition contains new information that highlights various technological updates of recent years, providing readers with highly relevant and current information. Sommerville's experience in system dependability and systems engineering guides the text through a traditional plan-based approach that incorporates some novel agile methods. The text strives to teach the innovators of tomorrow how to create software that will make our world a better, safer, and more advanced place to live.