Python Crash Course is a fast-paced, thorough introduction to programming with Python that will have you writing programs, solving problems, and making things that work in no time.In the first half of the book, you'll learn about basic programming concepts, such as lists, dictionaries, classes, and loops, and practice writing clean and readable code with exercises for each topic. You'll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you'll put your new knowledge into practice with three substantial projects: a Space Invaders-inspired arcade game, data visualizations with Python's super-handy libraries, and a simple web app you can deploy online.As you work through Python Crash Course, you'll learn how to:
In this authoritative book, widely respected practitioner and teacher Matt Bishop presents a clear and useful introduction to the art and science of information security. Bishop's insights and realistic examples will help any practitioner or student understand the crucial links between security theory and the day-to-day security challenges of IT environments.
Bishop explains the fundamentals of security: the different types of widely used policies, the mechanisms that implement these policies, the principles underlying both policies and mechanisms, and how attackers can subvert these tools--as well as how to defend against attackers. A practicum demonstrates how to apply these ideas and mechanisms to a realistic company.
Introduction to Computer Security is adapted from Bishop's comprehensive and widely praised book, Computer Security: Art and Science. This shorter version of the original work omits much mathematical formalism, making it more accessible for professionals and students who have a less formal mathematical background, or for readers with a more practical than theoretical interest.
Programming skills are indispensable in todayâs world, not just for computer science students, but also for anyone in any scientific or technical discipline. Introduction to Programming in Java, Second Edition, by Robert Sedgewick and Kevin Wayne is an accessible, interdisciplinary treatment that emphasizes important and engaging applications, not toy problems. The authors supply the tools needed for students and professionals to learn that programming is a natural, satisfying, and creative experience, and to become conversant with one of the worldâs most widely used languages.
This example-driven guide focuses on Javaâs most useful features and brings programming to life for every student in the sciences, engineering, and computer science.
Drawing on their extensive classroom experience, throughout the text the authors provide Q&As, exercises, and opportunities for creative engagement with the material. Together with the companion materials described below, this book empowers people to pursue a modern approach to teaching and learning programming.
Companion web site (introcs.cs.princeton.edu/java) contains
Companion studio-produced online videos (informit.com/sedgewick) are available for purchase and provide students and professionals with the opportunity to engage with the material at their own pace and give instructors the opportunity to spend their time with students helping them to succeed on assignments and exams.
Cryptography is ubiquitous and plays a key role in ensuring data secrecy and integrity as well as in securing computer systems more broadly. Introduction to Modern Cryptography provides a rigorous yet accessible treatment of this fascinating subject.
The authors introduce the core principles of modern cryptography, with an emphasis on formal definitions, clear assumptions, and rigorous proofs of security. The book begins by focusing on private-key cryptography, including an extensive treatment of private-key encryption, message authentication codes, and hash functions. The authors also present design principles for widely used stream ciphers and block ciphers including RC4, DES, and AES, plus provide provable constructions of stream ciphers and block ciphers from lower-level primitives. The second half of the book covers public-key cryptography, beginning with a self-contained introduction to the number theory needed to understand the RSA, Diffie-Hellman, and El Gamal cryptosystems (and others), followed by a thorough treatment of several standardized public-key encryption and digital signature schemes.
Integrating a more practical perspective without sacrificing rigor, this widely anticipated Second Edition offers improved treatment of:
Containing updated exercises and worked examples, Introduction to Modern Cryptography, Second Edition can serve as a textbook for undergraduate- or graduate-level courses in cryptography, a valuable reference for researchers and practitioners, or a general introduction suitable for self-study.
An Active Learning Approach to Teaching the Main Ideas in Computing Explorations in Computing: An Introduction to Computer Science and Python Programming teaches computer science students how to use programming skills to explore fundamental concepts and computational approaches to solving problems. Tbook gives beginning students an introduction to computer science concepts and computer programming. Designed for CS0 and CS1 courses, it is very well suited for alternative lecture styles, including flipped classrooms.
Prepares Students for Advanced Work in Computer ScienceA revised and updated version of the authorâs Explorations in Computing: An Introduction to Computer Science, this text incorporates two major differences. It now uses Python, instead of Ruby, as the lab software so that students can seamlessly transition from introductory projects to more advanced studies in later courses. The book also introduces Python programming, providing students with sufficient programming skills so they can implement their own programs.
Practical, Step-by-Step ProjectsThe interactive lab projects in each chapter allow students to examine important ideas in computer science, particularly how algorithms offer computational solutions to problems. Students can type expressions, view results, and run experiments that help them understand the concepts in a hands-on way.
Web ResourcesThe Python software modules for each lab project are available on the authorâs website. The modules include data files and sample Python code that students can copy and modify. In addition, the site provides a lab manual of installation instructions and tips for editing programs and running commands in a terminal emulator.
Manage research, learning and skills at IT1me. Create an account using LinkedIn to manage and organize your IT knowledge. IT1me works like a shopping cart for information -- helping you to save, discuss and share.