The Book of R, 2nd Edition
This long-awaited second edition folds years of updates into its beginner-friendly lessons on using R for data and statistical analysis. The Book of R is a comprehensive, beginner-friendly guide to R, the world's most popular programming language for statistical analysis. Even if you have no programming experience and little more than a grounding in the basics of mathematics, you'll find everything you need to begin writing programs in R. You'll start with the basics, like how to handle data and write simple programs, before moving on to more advanced topics, like producing statistical summaries of your data and performing tests and modeling. You'll even learn how to create impressive data visualizations with R's graphics tools and contributed packages, like ggplot2, ggvis, and rgl. Dozens of hands-on exercises take you from theory to practice as you learn: The fundamentals of programming in R, including how to write data frames, create functions, and use variables, statements, and loopsStatistical concepts like exploratory data analysis, probabilities, hypothesis tests, and regression modeling and how to execute them in RHow to access R's thousands of functions, libraries, and datasetsHow to draw valid and useful conclusions from your data and create publication-quality graphics of your resultsThe Book of R brings both statistics and R to life. With clear explanations, practical examples, and hands-on exercises, this book opens the door to the evolving world of data analysis. New to this edition: The entire book has been revised and expanded, with nearly 100 pages of new content and exercises. You'll find greater coverage of data plots and R graphics, guidance on using pipes to string together commands, and new ways to read and write external files, among many other lessons.
Applied AI for Enterprise Java Development
As a Java enterprise developer or architect, you know that embracing AI isn't just optional--it's critical to keeping your competitive edge. The question is, how can you skillfully incorporate these groundbreaking AI technologies into your applications without getting mired in complexity? Enter this clear-cut, no-nonsense guide to integrating generative AI into your Java enterprise ecosystem. With insights from authors Alex Soto Bueno, Markus Eisele, and Natale Vinto, you'll learn to marry the robustness of Java's enterprise world with the dynamism of AI. It's more than just a how-to--it's a way to elevate enterprise software with savvy AI integrations, ensuring your skills and your applications remain on the cutting edge. Inside, you'll unlock the power to: Demystify GenAI's role and impact on contemporary software development Craft actionable, AI-driven applications using Java's rich ecosystem of open source frameworks Implement field-tested AI patterns tailored for prod-ready, enterprise-strength applications Access and integrate top-tier open source AI models with Java's Inference APIs Navigate the Java framework landscape with AI-centric agility and confidence
Automate the Boring Stuff with Python Workbook
You've seen what Python can do. Now go deeper. This workbook transforms Al Sweigart's best-selling guide from a reading experience into a coding experience. Following Automate the Boring Stuff with Python chapter by chapter, this workbook will help you turn concepts into muscle memory through carefully designed exercises, projects, and real Python scripts. Every concept from Automate is reinforced through carefully sequenced questions, exercises, and projects that help you think like a programmer and prove to yourself that you really get it. At the end of each chapter, you'll tackle miniprojects that bring everything together. Whether you're renaming files, scraping websites, converting text to speech, modifying spreadsheets, or sending emails, you'll build scripts that do real work. Fun projects like image generators and word games are in the mix too, not just boring stuff. Every question and project come with a solution at the back of the book, so you're never stuck. Inside, you'll find: Fill-in-the-blank and short-answer questions that reinforce key conceptsTargeted exercises to build fluency with variables, loops, functions, regular expressions, and moreReal Python scripts to run, tweak, and debugProjects that automate common tasks like organizing files, backing up data, and scheduling programsFull working code for every project so you can check your work and learn by exampleWith over 500,000 copies sold worldwide, Automate the Boring Stuff with Python has become the go-to guide for learning Python. This workbook gives you the structure, feedback, and smart reinforcement to go from reading code to writing it with confidence.
Learning Mobile App and Game Development with Solar2D
Unlock the world of mobile application and game development with Learning Mobile App and Game Development with Solar2D! This comprehensive textbook is designed for beginners who want to master the fundamentals of creating mobile apps and interactive games that run seamlessly across multiple platforms, including Apple iOS, Android, Windows, and macOS. Whether you are a high school student taking your first steps in coding, a college learner pursuing computer science or digital media, or an independent developer exploring new creative outlets, this book provides a complete foundation in modern cross-platform development.At the heart of the book is a structured 18-week curriculum that aligns perfectly with academic schedules. Each week builds progressively, introducing new concepts, hands-on projects, and opportunities to apply knowledge through both individual and collaborative activities. Students will not only learn to design and program apps but also develop critical skills in research, teamwork, problem-solving, and digital citizenship. By the end of the course, learners will be prepared to publish their own apps and games, equipped with both technical expertise and professional habits that mirror real-world industry practices.Solar2D is a powerful, lightweight framework that simplifies mobile development without sacrificing performance. Using the Lua scripting language, renowned for its simplicity and versatility, Solar2D allows students to focus on creativity and logic rather than wrestling with overly complex syntax. Lua's approachable style makes it ideal for first-time programmers while remaining robust enough for advanced projects. With Solar2D, learners gain practical skills in interface design, user interaction, animation, physics simulation, and data handling-skills that can be directly applied to professional app and game development.Educators will appreciate the flexible structure, complete with clear objectives, scaffolded lessons, and opportunities for project-based assessment. Students will appreciate the engaging projects, approachable explanations, and the thrill of seeing their own ideas come to life on a phone, tablet, or computer screen.By the end of this journey, readers will have more than just knowledge of Lua or Solar2D-they will have the confidence to design, build, and share their own mobile apps and games across multiple platforms. With Learning Mobile App and Game Development with Solar2D, you are not just learning how to program-you are preparing to create the future of mobile technology.Embrace the power of Lua. Harness the flexibility of Solar2D. Step into the future of cross-platform development today!
Computer Science from Scratch
You know how to write Python. Now master the computer science that makes it work. If you've been programming for a while, you may have found yourself wondering about the deeper principles behind the code. How are programming languages implemented? What does an interpreter really do? How does the microprocessor execute instructions at a fundamental level? How does a machine learning algorithm make decisions? Computer Science from Scratch is for experienced Python programmers who want to fill in those gaps--not through abstract lectures, but through carefully designed projects that bring core CS concepts to life. Understanding these fundamental building blocks will make you a more versatile and effective programmer. Each chapter presents a focused, hands-on project that teaches a fundamental idea in computer science: INTERPRETERS: Understand syntax, parsing, and evaluation by writing a BASIC interpreterEMULATORS: Learn computer architecture by building an NES emulator from the ground upGRAPHICS: Explore image manipulation and algorithmic art through computer graphics projectsMACHINE LEARNING: Demystify classification by implementing a simple, readable KNN modelThese projects aren't about building tools--they're structured lessons that use code to reveal how computing works. Each chapter concludes with real-world context, thoughtful extensions, and exercises to deepen your understanding. Authored by David Kopec, a computer science professor and author of the popular Classic Computer Science Problems series, this is not a beginner's book, and it's not a theory-heavy academic text. It's a practical, code-driven introduction to the essential ideas and mechanisms of computer science--written for programmers who want more than syntax. If you've been writing Python and are ready to explore the foundations behind computing, this book will guide you there--with clarity, depth, and purpose.
Modern Tkinter for Busy Python Developers
Fourth Edition: thoroughly revised and expanded! Updated for Python 3.14. Now includes Tkinter API reference, and bonus material on structuring and refining Tkinter code and third-party themes and widgets.Quickly learn the right way to build attractive and modern graphical user interfaces with Python and Tkinter, its standard GUI toolkit.Tkinter has been around forever. There's a lot of documentation, much of it created years ago. But it's all wrong. Tkinter took a quantum leap forward since that documentation was written. Your program needs to be written differently to take advantage of that. Modern Tkinter shows you the right way to do it.Whether you're entirely new to Tkinter, or just need to bring your Tkinter knowledge up to date, this book gives you all you need to build modern, attractive Tkinter user interfaces that run on Windows, macOS, and Linux.You'll learn all the modern best practices. You'll build your user interface the right way the first time, without having to learn anything extra or irrelevant. It starts at the beginning, shows you what you need to know, and covers all the essential elements of building your modern user interface. This includes: You may have been using older documentation or are updating a Tkinter program written years ago. If so, you'll find warnings of what to avoid using, and how to replace it with a modern solution. There's even a full case study of modernizing the user interface of a seriously out-of-date Tkinter application you may be familiar with.Let veteran software developer Mark Roseman show you the right way to build user interfaces with Python and Tkinter. He's been using Tk (the technology behind Tkinter) since its early days. He's shipped dozens of open source tools and commercial applications based on it.He's also the author of the multi-lingual TkDocs.com website, the de facto online guide for building modern Tk user interfaces. This book brings together all new material and Python-specific information from that site and supports its further evolution.
Introducing Python
Stuck in a coding conundrum? Whether you're an advanced beginner, an intermediate developer, or a curious newcomer, the complexities of coding can often feel like a labyrinth with no exit. With Python, however, you can start writing real code quickly--but where should you start? In this updated third edition, Bill Lubanovic acts as your personal guide to Python, offering a clear path through the intricacies and capabilities of this much-beloved coding language, including new chapters on AI models and performance enhancements. Easy to understand and enjoyable to read, this book not only teaches you the core concepts but also dives into practical applications that bridge the gap between learning and doing. By reading it, you will: Understand everything from basic data structures to advanced features Gain insights into using Python for files, networking, databases, and data science Learn testing, debugging, code reuse, and other essential development tips Explore how Python can be utilized in business, science, and the arts
Python for Excel Users
When Excel isn't enough, it's time to learn Python. If you're comfortable in Excel, but you've hit a wall--slow files, broken formulas, hours spent on repetitive tasks--this book offers a way forward. It shows you how to take the work you already do in spreadsheets and make it faster, smarter, and more powerful with Python. You'll start by setting up your environment and getting comfortable with Python through short, Excel-inspired exercises. From there, you'll gradually move into writing scripts that automate manual work, structure your data, and generate consistent results--no prior programming knowledge required. You'll use your preexisting Excel skills to learn how to: Translate spreadsheet logic into Python codeUse pandas to clean, reshape, and filter dataAutomate reports you'd normally build by handRead and write Excel files directly from PythonConnect to databases and APIsCreate professional visualizations with Plotly and DashOrganize code into sharable modules and write simple tests Throughout the book, you'll find practical examples that show why and how to move your work out of spreadsheets and into scripts, and how to resolve issues along the way. Author Tracy Stephens has extensive practical experience with both Excel and Python. Her approach is grounded in real workflows, and she introduces each concept through tasks you've likely handled in Excel. This book won't ask you to replace everything you do in spreadsheets, but it will help you use Python to work faster, more reliably, and with greater flexibility than you ever could with Excel.
Kickstart MySQL Fundamentals
Your Complete Guide to Mastering MySQL from Basics to Real Projects! Book DescriptionFrom powering web applications and content management systems to enterprise-level data storage, understanding MySQL is a foundational skill for anyone entering software development, data analysis, or IT. Kickstart MySQL Fundamentals is your step-by-step guide to becoming confident in relational database concepts and SQL programming. The book begins with the basics, such as- how to install MySQL, set up databases, and run your first queries. As you progress, you will explore constraints, operators, and built-in functions that form the core of practical SQL development. Moving into advanced territory, you will master joins, indexing for performance, and secure user management. Each chapter is filled with real-world examples and use cases to help solidify your understanding. A final capstone project brings all the concepts together in a hands-on, practical challenge that mimics real-world database tasks. Thus, whether you are a student, an aspiring developer, or IT professional, this book offers the essential foundation to manage and query databases effectively. So, do not get left behind-data skills are no longer optional. Start mastering MySQL today, and take control of your data future! Table of Contents1. Introduction to MySQL2. Getting Started with MySQL3. Constraints in MySQL4. Operators in MySQL5. MySQL Built-in Functions6. MySQL Statements7. MySQL Joins8. MySQL Indexes9. MySQL Users10. MySQL Advanced11. MySQL Miscellaneous12. Capstone Project Index
Microservices with Spring Boot and Spring Cloud - Fourth Edition
2025 EDITION: Create and deploy production-grade microservices-based applications with this edition fully updated to the latest versions of Spring Boot, Java, and Spring CloudKey Features: - Build cloud-native production-ready microservices and stay ahead of the curve- Understand the challenges of building large-scale microservice architectures- Learn how to get the best out of the latest updates, including Java, Spring Boot, Spring Cloud, Kubernetes, and Istio- Purchase of the print or Kindle book includes a free PDF eBookBook Description: Do you want to build and deploy microservices but are unsure where to begin? Check out the fully updated 2025 edition of Microservices with Spring Boot and Spring Cloud.Drawing from Magnus' decades of experience, you'll start with simple microservices and progress to complex distributed applications, learning essential functionality and deploying microservices using Kubernetes and Istio along the way.This book covers Java 24, Spring Boot 3.5, and Spring Cloud 2025, featuring updated code examples and replacing deprecated APIs. You'll get a clear understanding of Spring's Ahead of Time (AOT) module, observability, distributed tracing, and Helm for Kubernetes packaging. The chapters show you how to use Docker Compose to run microservices with databases and messaging services and deploy microservices on Kubernetes with Istio. You'll also explore persistence, resilience, reactive microservices, and API documentation with OpenAPI, as well as learn service discovery with Netflix Eureka, edge servers with Spring Cloud Gateway, and monitoring with Prometheus, Grafana, and the EFK stack.By the end of this book, you'll be able to confidently build scalable microservices using Spring Boot and Spring Cloud.What You Will Learn: - Build reactive microservices using Spring Boot- Develop resilient and scalable microservices using Spring Cloud- Use OAuth and Spring Security to protect public APIs- Implement Docker to bridge the gap between development, testing, and production- Deploy and manage microservices with Kubernetes- Apply Istio for improved security, observability, and traffic management- Write and run automated microservice tests with JUnit, test containers, Gradle, and bash- Use Spring AOT and GraalVM to compile your microservices into native executables- Utilize Micrometer for distributed tracingWho this book is for: If you're a Java or Spring Boot developer learning how to build microservice landscapes from scratch, then this book is for you. Prior experience in building apps with Java or Spring Boot will help you get started with this book.Table of Contents- Introduction to Microservices- Introduction to Spring Boot- Creating a Set of Cooperating Microservices- Deploying Our Microservices Using Docker- Adding an API Description Using OpenAPI- Adding Persistence- Developing Reactive Microservices- Introduction to Spring Cloud- Adding Service Discovery Using Netflix Eureka- Using Spring Cloud Gateway to Hide Microservices behind an Edge Server- Securing Access to APIs- Centralized Configuration- Improving Resilience Using Resilience4j- Understanding Distributed Tracing- Introduction to Kubernetes- Deploying Our Microservices to Kubernetes- Implementing Kubernetes Features to Simplify the System Landscape- Using a Service Mesh to Improve Observability and Management- Centralized Logging with the EFK Stack- Monitoring Microservices- Installation Instructions for macOS(N.B. Please use the Read Sample option to see further chapters)
Learn Python Programming by Coding Retro Games with Pygame
Discover the magic of Python programming by building your own versions of the games that defined a generation. Inspired by the golden age of arcade and home computer gaming - from the pixel-perfect charm of the Atari ST to the unforgettable titles of the Amiga 500 - this beautifully illustrated, full-color book covers the Python basics, then puts them into practice with hands on game projects. Whether you're new to coding or looking to sharpen your Python skills, this book transforms programming into a fun, creative, and rewarding experience. Each concept is taught through a game mechanic or real-world problem, with step-by-step instructions, worked examples, online lectures and coding demos, along with annotated code designed specifically for beginners.What's Inside: Full Color Throughout - Clear diagrams, screenshots, and illustrations make every concept easy to follow.Guided Game Projects - Build classic 2D games with Pygame included in the book as well as additional bonus projects available online.Game-Themed Python Lessons - Learn loops, variables, functions, classes, file I/O, collision detection, animation, sound and music.Video Lectures & Coding Demos Included - Access online video lectures and coding demos that walk you through concepts step by step.Perfect for Students, Teachers, and Self-Learners. No prior experience required, just a computer and your imagination. By the end, you won't just know Python - you'll have a library of your own playable games and the skills to invent new ones.Have fun!
Node.Js Projects
Whether you're a JavaScript beginner ready to build your first backend app or a self-taught developer looking to grow beyond tutorials, Node.js Projects gives you the hands-on experience you need. Through a series of self-contained projects ranging from content aggregators to secure password managers, web scrapers, ML-backed analysis, and an AI-powered learning assistant, you'll apply modern tools like Fastify, MongoDB, Redis, JWT, and Google's Gemini API in practical, job-relevant ways.With each chapter, author Jonathan Wexler challenges you to think like an engineer, emphasizing architectural thinking, clean coding, and iterative design. You'll build confidence solving real-world problems while deepening your understanding of asynchronous programming, API design, security practices, and scalable deployment patterns.Confidently master async programming with async/await and the Node.js event loopEffectively design scalable APIs using Fastify and modular routing patternsReliably manage data with the filesystem, MongoDB, and CSV outputSecurely implement authentication flows with JWTs and environment-based configsSeamlessly integrate third-party APIs like OpenAI and Google GeminiEfficiently build real-time features with Redis, schedulers, and event-driven logicSmoothly transition from prototype to production with modern Node.js workflows
ABAP Restful Application Programming Model
The ABAP RESTful application programming model (RAP) is the cornerstone of modern development for SAP--get on the cutting edge with this guide! Develop applications from the ground up, from data modeling with CDS to interface generation with SAP Fiori elements. Walk through concrete use cases, including managed and unmanaged scenarios, and then adapt your applications to the SAP BTP, ABAP environment. You're on your way to working with RAP! In this book, you'll learn about: a. The Programming Model Master the building blocks of the model. Understand REST architecture, work with CDS view entities, implement behaviors, and more. Learn about new features such as the business object interface and extensibility. b. End-to-End Application Development Develop applications for SAP S/4HANA and SAP BTP, step by step. Start by building your data model, and then create behavior definitions, implement functions, define business services, and generate your user interface. c. Practical ScenariosApply RAP to suit your development needs. Create an application in a custom managed scenario, and then see how to integrate standard SAP functions. If you want to reuse source code, learn to adapt legacy applications for RAP in an unmanaged scenario. Highlights include: 1) Application development2) Managed and unmanaged scenarios3) Core data services (CDS)4) Behavior definition5) Entity manipulation language (EML)6) Behavior implementation7) Business services8) Business object extensibility 9) SAP Fiori elements10) SAP BTP, ABAP environment
Programming the Raspberry Pi Pico/W in MicroPython, Third Edition
Reviews of previous editions"This book is great, written by an engineer, showing you how to get around limitations of MicroPython. Has a good section on PIO, I2C, SPI and what to do when they don't work. have read most of the other books on Pi Pico, and this is by far the best." "Obviously the author knows his stuff. I love the writing style and helpful hints to deal with Python limitations." "Book contains many nuggets of info not found in other books." "The book provides a very good guide through the MicroPython programming of the Raspberry Pi Pico and also goes into enough depth. It has shown me many tricks and tricks that I haven't found anywhere else so far." "You won't learn Python from this book, but if you want to know how to use Python on the Pico, then this book is for you, and it is probably the best one out there. There are lots of useful techniques and examples. When I need to know something about Python on the Pico, this is the book I turn to. It is clear and well written. Just buy it!" "I think this book together with a primer on MicroPython would be a great choice for a beginner. Lots of great examples and it's obvious the author has programmed the Pico in Python." "Shows how to integrate python with assembly language for speed - which not many other guides describe."This updated and expanded edition was prompted by the launch of the Pico 2 and Pico 2W which use a new chip, the RP2350, with significant improvements but also changes. This book therefore covers four devices, the new Pico 2 and its WiFi counterpart, the Pico 2W, as well as the original Pico and Pico W. MicroPython is a good choice of language to program the Pico. It isn't the fastest way, but in most cases it is fast enough to interface with the Pico's hardware and its big advantage is that it is easy to use. As a high-level language, MicroPython is based on Python 3 and is fully object-oriented. This means that you can create classes to encapsulate hardware and makes it easier to use and understand. The purpose of the book is to reveal what you can do with the Pico's GPIO lines together with widely used sensors, servos, motors and ADCs. After covering the GPIO, outputs and inputs, events and interrupts, it gives you hands-on experience of PWM, the SPI bus, the I2C bus and the 1-Wire bus. One of the key advantages of the Pico is its PIO (Programmable I/O) and while this is an advanced feature, it is introduced in this book. After finding out how the PIO works, we apply it to writing a PIO program for the DHT22 and the 1-Wire bus. Three chapters are dedicated to how to make use of the additional features of the Pico W, including how to create a web client and a web server, use HTTPS and asyncio. Finally we look at more advanced hardware, Watchdog timer, file system, SDcard reader, using the second core and more. Jointly authored by Harry Fairhead and Mike James, this book combines Harry's expertise in electronics and the IoT with Mike's knowledge of Python. They have also collaborated on similar titles for the Raspberry Pi, the Raspberry Pi Compute Module 5 and the ESP 32. Harry Fairhead is also the author of Programming the Raspberry Pi Pico/W in C, Fundamental C: Getting Closer To The Machine and Applying C For The IoT With Linux. Mike James is the author of the Programmer's Python: Something Completely Different series of books which set out to show how Python diverges from other programming languages and how its special features deserve our attention and Extending and Embedding Python Using C in which he solves many of Python's speed-related problems.
The SETL Project Master Catalog. A Comprehensive Listing of Reports, Working Papers, and Computer Readable Document and Program Files Pertaining to Work at NYU on the SETL Set-theoretic Programming La
"The SETL Project Master Catalog" is a comprehensive listing of reports, working papers, and computer-readable documents and program files pertaining to work at NYU on the SETL set-theoretic programming language. Compiled by Robert Abes, this catalog serves as an invaluable resource for researchers, programmers, and historians of computer science interested in the development and applications of SETL. This master catalog offers detailed insights into the SETL project's evolution, documenting its theoretical underpinnings, practical implementations, and diverse applications. It covers a wide range of topics related to set-theoretic programming, showcasing the innovative work conducted at NYU during a pivotal era in the history of programming languages.This work has been selected by scholars as being culturally important, and is part of the knowledge base of civilization as we know it. This work was reproduced from the original artifact, and remains as true to the original work as possible. Therefore, you will see the original copyright references, library stamps (as most of these works have been housed in our most important libraries around the world), and other notations in the work.This work is in the public domain in the United States of America, and possibly other nations. Within the United States, you may freely copy and distribute this work, as no entity (individual or corporate) has a copyright on the body of the work.As a reproduction of a historical artifact, this work may contain missing or blurred pages, poor pictures, errant marks, etc. Scholars believe, and we concur, that this work is important enough to be preserved, reproduced, and made generally available to the public. We appreciate your support of the preservation process, and thank you for being an important part of keeping this knowledge alive and relevant.
A Syntax-directed FORTRAN Statement Checker,
"A Syntax-directed FORTRAN Statement Checker" delves into the intricacies of creating a system for verifying FORTRAN statements. This technical work explores the principles and methodologies involved in syntax analysis and compiler design, specifically tailored to the FORTRAN programming language. It will be of interest to computer scientists, programmers, and students interested in the development of programming tools and language processing systems. The book offers a detailed examination of techniques applicable to building robust and reliable statement checkers.This work has been selected by scholars as being culturally important, and is part of the knowledge base of civilization as we know it. This work was reproduced from the original artifact, and remains as true to the original work as possible. Therefore, you will see the original copyright references, library stamps (as most of these works have been housed in our most important libraries around the world), and other notations in the work.This work is in the public domain in the United States of America, and possibly other nations. Within the United States, you may freely copy and distribute this work, as no entity (individual or corporate) has a copyright on the body of the work.As a reproduction of a historical artifact, this work may contain missing or blurred pages, poor pictures, errant marks, etc. Scholars believe, and we concur, that this work is important enough to be preserved, reproduced, and made generally available to the public. We appreciate your support of the preservation process, and thank you for being an important part of keeping this knowledge alive and relevant.
The SETL Project Master Catalog. A Comprehensive Listing of Reports, Working Papers, and Computer Readable Document and Program Files Pertaining to Work at NYU on the SETL Set-theoretic Programming La
"The SETL Project Master Catalog" is a comprehensive listing of reports, working papers, and computer-readable documents and program files pertaining to work at NYU on the SETL set-theoretic programming language. Compiled by Robert Abes, this catalog serves as an invaluable resource for researchers, programmers, and historians of computer science interested in the development and applications of SETL. This master catalog offers detailed insights into the SETL project's evolution, documenting its theoretical underpinnings, practical implementations, and diverse applications. It covers a wide range of topics related to set-theoretic programming, showcasing the innovative work conducted at NYU during a pivotal era in the history of programming languages.This work has been selected by scholars as being culturally important, and is part of the knowledge base of civilization as we know it. This work was reproduced from the original artifact, and remains as true to the original work as possible. Therefore, you will see the original copyright references, library stamps (as most of these works have been housed in our most important libraries around the world), and other notations in the work.This work is in the public domain in the United States of America, and possibly other nations. Within the United States, you may freely copy and distribute this work, as no entity (individual or corporate) has a copyright on the body of the work.As a reproduction of a historical artifact, this work may contain missing or blurred pages, poor pictures, errant marks, etc. Scholars believe, and we concur, that this work is important enough to be preserved, reproduced, and made generally available to the public. We appreciate your support of the preservation process, and thank you for being an important part of keeping this knowledge alive and relevant.
A Syntax-directed FORTRAN Statement Checker,
"A Syntax-directed FORTRAN Statement Checker" delves into the intricacies of creating a system for verifying FORTRAN statements. This technical work explores the principles and methodologies involved in syntax analysis and compiler design, specifically tailored to the FORTRAN programming language. It will be of interest to computer scientists, programmers, and students interested in the development of programming tools and language processing systems. The book offers a detailed examination of techniques applicable to building robust and reliable statement checkers.This work has been selected by scholars as being culturally important, and is part of the knowledge base of civilization as we know it. This work was reproduced from the original artifact, and remains as true to the original work as possible. Therefore, you will see the original copyright references, library stamps (as most of these works have been housed in our most important libraries around the world), and other notations in the work.This work is in the public domain in the United States of America, and possibly other nations. Within the United States, you may freely copy and distribute this work, as no entity (individual or corporate) has a copyright on the body of the work.As a reproduction of a historical artifact, this work may contain missing or blurred pages, poor pictures, errant marks, etc. Scholars believe, and we concur, that this work is important enough to be preserved, reproduced, and made generally available to the public. We appreciate your support of the preservation process, and thank you for being an important part of keeping this knowledge alive and relevant.
Micro Spitbol
"MICRO SPITBOL" presents a detailed exploration of the SPITBOL programming language. Aimed at programmers and computer science enthusiasts, this book delves into the intricacies of SPITBOL, offering insights into its design and implementation. Authored by Robert B. K. Dewar, Martin Charles Golumbic, and Clinton F. Goss, the book provides a comprehensive guide to understanding and utilizing the MICRO SPITBOL system. This text serves as an invaluable resource for anyone seeking to master this powerful and versatile programming language.This work has been selected by scholars as being culturally important, and is part of the knowledge base of civilization as we know it. This work was reproduced from the original artifact, and remains as true to the original work as possible. Therefore, you will see the original copyright references, library stamps (as most of these works have been housed in our most important libraries around the world), and other notations in the work.This work is in the public domain in the United States of America, and possibly other nations. Within the United States, you may freely copy and distribute this work, as no entity (individual or corporate) has a copyright on the body of the work.As a reproduction of a historical artifact, this work may contain missing or blurred pages, poor pictures, errant marks, etc. Scholars believe, and we concur, that this work is important enough to be preserved, reproduced, and made generally available to the public. We appreciate your support of the preservation process, and thank you for being an important part of keeping this knowledge alive and relevant.
The Internet of Things, using JavaScript and Java Applets
In the book, the authors used JavaScripts, included in the texts of HTML files to animate the texts of web pages; illustrate a slide show; illustrate the animated movement of many hearts, the animated movement of three balloons, a TV; demonstrate two answers on two questions; demonstrate the results of the user's answers to the quiz questions; present the work of a simple and scientific calculators; wristwatches; present Mendeleyev's periodic table of chemical elements, with the display of the chemical elements themselves, their numbers, masses, orbital shells, melting and boiling points on the smartphone screen. The Java applets created by the authors allow to revive a splashing river and a lake in a picturesque place in a picture; revive falling snow in the mountains in a picture, accompanied by the ringing of a troika of horses with bells and changing advertising; revive falling snow on a splashing lake in the village in the picture; revive clouds moving across the sky, reflected in a splashing lake; revive a picture of fireworks over buildings with the sound of gunshots, reflected in a splashing lake. All developed Java applets can be used to revive paintings of great artists.
Mastering RESTful Web Services with Java
Learn RESTful API design with Java, covering everything from fundamental design principles to advanced techniques for authentication, versioning, error handling, security, testing, performance, and moreKey Features: - Discover essential architectural principles for building robust and adaptable REST APIs- Gain practical insights into tuning performance and securing endpoints through real-world case studies- Apply API design concepts to build fully functional services using popular frameworks like Spring Boot- Purchase of the print or Kindle book includes a free PDF eBookBook Description: REST powers the modern web, yet developers grapple with architectural missteps that lead to poorly designed REST endpoints, inadequate error handling, security vulnerabilities, and maintenance headaches. Written by five software engineering and Java experts, Mastering RESTful Web Services with Java helps you overcome these pitfalls with a deep, practical understanding of REST architecture, HTTP protocols, and modern API design principles.This hands-on guide introduces foundational concepts based on Roy Fielding's principles and the Richardson Maturity Model and shows you how to apply them in your API development projects. You'll build a Product API from scratch, progressively enhancing it with documentation, versioning, and security features, and then advance to creating an Order Management API that interacts with the Product API, while implementing advanced testing and performance optimization techniques. Each chapter delivers step-by-step explanations and practical examples, ensuring you develop production-ready skills that translate directly to your daily work.By the end of the book, you'll be ready to deliver production-grade RESTful services and become the API expert your team turns to for critical application development projects.What You Will Learn: - Design clean, modular REST APIs that support real-world business workflows- Implement secure authentication and authorization flows using modern identity standards- Deploy your application to the cloud with strategies that ensure reliability, elasticity, and cost-efficiency- Use the OpenAPI specification to define precise contracts and promote consumer-driven API development- Leverage Java records and virtual threads to write concise, scalable, and concurrent service logic- Apply structured testing techniques to validate behavior, resilience, and security across your API layersWho this book is for: This book is for mid-to-senior level backend Java developers looking to improve the quality and performance of their REST APIs. Whether you're optimizing existing APIs or launching a greenfield project, the ideas shared here will enhance your development practice. Additionally, tech leads and architects looking to sharpen their API design skills and master advanced Java API development techniques will find this book useful.Table of Contents- Understanding RESTful Core Concepts- Exposing a RESTful API with Spring- Documenting Your API Effectively- Generating Code from OpenAPI- Managing API Evolution- Advanced API Concepts and Implementations- Securing Your RESTful APIs- Testing Strategies for Robust APIs- Monitoring and Observability- Scaling and Performance Optimization Techniques- Alternative Java Frameworks to Build RESTful APIs- Deploying APIs
50+ App Features with Python
"50+ App Features with Python" is for developers who want to build real solutions, not just read theory. The book will help you work with robust, feature-centric code that brings today's most popular app capabilities to life. This includes core data management and authentication, rich user experiences, notification systems, security layers, deployment, and modern testing pipelines.To get started, you'll set up your development environment and dive right into building APIs with FastAPI, making sure your data is validated with Pydantic, and checking out database management using SQLAlchemy. You'll get access to advanced features like CRUD endpoints, pagination, filtering, and bulk import/export without having to go back and relearn the basics. We'll go over how to set up authentication and authorization flows, including role-based access and two-factor authentication, in the context of secure, maintainable code. It then goes on to user-centric enhancements, showing how to implement drag-and-drop uploads, dynamic forms, custom error pages, and adaptive themes. Basically, it brings real interactivity to your projects. When it comes to hands-on experience, you'll be using real integrations like Celery for background tasks, Twilio for SMS, OAuth2 for social login, and webhook handling for event-driven workflows. Once it's time to deploy, you'll learn about containerization with Docker, orchestration with Kubernetes, log aggregation, and operational monitoring. Security and compliance are a big deal here, with heavy coverage of CSRF, CORS, encryption, CSP headers, and audit logging. The last few chapters are all about testing and CI/CD. You'll learn about unit and integration testing with Pytest, pipeline automation with GitHub Actions, and coverage reporting.Key FeaturesSet up Python environments with reproducible workflows.Use FastAPI, Pydantic, and SQLAlchemy to build RESTful APIs.Implement CRUD, pagination, filtering, and scalable API endpoints.Develop authentication, password resets, roles, and two-factor security.Create interactive forms, uploads, error pages, and theme toggles.Integrate email, SMS, social logins, and webhook handling.Use Docker Compose and Kubernetes manifests to make it scalable.Secure your apps with CSRF, CORS, AES-GCM, and CSP headers.Monitor user actions with tamper-proof, timestamped audit trails.Use Pytest and GitHub Actions to automate testing and coverage.Table of ContentEnvironment Setup & Core Data ManagementAuthentication & AuthorizationUser Experience EnhancementsNotifications & IntegrationsPerformance & ScalabilityData Processing UtilitiesDeployment & OperationsSecurity & ComplianceTesting & CI/CD
Flashlight
Concurrent Java programs are difficult to understand and implement correctly. This difficultly leads to code faults that are the source of many real-world reliability and security problems. Many factors contribute to concurrency faults in Java code; for example, programmers may not understand Java language semantics or, when using a Java library or framework, may not understand that their resulting program is concurrent. This thesis describes a dynamic analysis approach, implemented in a tool named FlashLight, that detects shared state and possible race conditions within a program. FlashLight illuminates the concurrency within a program for programmers that are wholly or partially "in the dark" about their software's concurrency. FlashLight also works in concert with the Fluid assurance tool to propose Greenhouse-style [8] lock policy models based upon a program's observed locking behavior. After review by a programmer to ensure reasonableness, these models can be verified by the Fluid assurance tool. Our combination of a dynamic tool with a program verification system focused on concurrency fault detection and repair is, to the best of our knowledge, novel and is the primary contribution of this research. We applied FlashLight to several concurrent Java programs, including a large (greater than 100kSLOC) commercial web application server. Our case study experiences in- duced us to improve FlashLight to (1) allow the programmer to specify interesting time quantums (e.g., this is the start up phase of my program) and (2) support the common Java programming idiom of not locking shared state during object construc- tion. Both improvements help to reduce false positives. FlashLight introduces an overhead of roughly 1.7 times the original execution time of the program. The most significant limitation of FlashLight is that it is not fully integrated into the Fluid assurance tool with respect to the user experience.This work has been selected by scholars as being culturally important, and is part of the knowledge base of civilization as we know it. This work was reproduced from the original artifact, and remains as true to the original work as possible. Therefore, you will see the original copyright references, library stamps (as most of these works have been housed in our most important libraries around the world), and other notations in the work.This work is in the public domain in the United States of America, and possibly other nations. Within the United States, you may freely copy and distribute this work, as no entity (individual or corporate) has a copyright on the body of the work.As a reproduction of a historical artifact, this work may contain missing or blurred pages, poor pictures, errant marks, etc. Scholars believe, and we concur, that this work is important enough to be preserved, reproduced, and made generally available to the public. We appreciate your support of the preservation process, and thank you for being an important part of keeping this knowledge alive and relevant.
3D Web Development with Three.js and Next.js
Three.js and Next.js are revolutionizing how we build interactive web experiences, especially for industrial and multipurpose applications. This book unlocks their combined power, showing you how to create immersive 3D visualizations and dynamic web solutions that drive efficiency and innovation in various sectors.Beginning with the evolution and capabilities of 3D web development, this book covers the foundational tools, setting up your environment for Three.js, Next.js, AWS Amplify, Storybook, and Tailwind CSS. It then explores Three.js fundamentals, covering geometries, materials, lighting, cameras, textures, user interactions, and animations to create dynamic 3D scenes. The book then seamlessly integrates Three.js with Next.js, teaching data management, state handling, and advanced interaction patterns. Crucially, you will learn vital optimization techniques and leverage AWS Amplify for secure hosting, user authentication, data storage, and real-time functionalities. The final sections guide you in establishing a consistent UI design system with Storybook, culminating in a complete, practical application.Upon completing this book, you will possess a strong command of cutting-edge web and 3D technologies, enabling you to confidently design, build, and deploy sophisticated industrial and multipurpose web applications with immersive 3D experiences.WHAT YOU WILL LEARN● Build 3D apps with Three.js and Next.js and deploy scalable apps using AWS Amplify services● Secure 3D apps with Amplify Auth and real-time data● Optimize 3D web application performance for diverse devices and browsers.● Integrate Three.js seamlessly into Next.js for structured, high-performance web apps. ● Design and build consistent UI systems using Storybook and Tailwind CSS.● Develop interactive industrial visualizations with real-time data and 3D models.WHO THIS BOOK IS FORThis book is for aspiring front-end developers, full-stack developers, and 3D web developers with foundational knowledge in JavaScript and React. While we will cover 3D essentials, a basic understanding will certainly aid your journey into building sophisticated industrial and multipurpose applications.
Flashlight
Concurrent Java programs are difficult to understand and implement correctly. This difficultly leads to code faults that are the source of many real-world reliability and security problems. Many factors contribute to concurrency faults in Java code; for example, programmers may not understand Java language semantics or, when using a Java library or framework, may not understand that their resulting program is concurrent. This thesis describes a dynamic analysis approach, implemented in a tool named FlashLight, that detects shared state and possible race conditions within a program. FlashLight illuminates the concurrency within a program for programmers that are wholly or partially "in the dark" about their software's concurrency. FlashLight also works in concert with the Fluid assurance tool to propose Greenhouse-style [8] lock policy models based upon a program's observed locking behavior. After review by a programmer to ensure reasonableness, these models can be verified by the Fluid assurance tool. Our combination of a dynamic tool with a program verification system focused on concurrency fault detection and repair is, to the best of our knowledge, novel and is the primary contribution of this research. We applied FlashLight to several concurrent Java programs, including a large (greater than 100kSLOC) commercial web application server. Our case study experiences in- duced us to improve FlashLight to (1) allow the programmer to specify interesting time quantums (e.g., this is the start up phase of my program) and (2) support the common Java programming idiom of not locking shared state during object construc- tion. Both improvements help to reduce false positives. FlashLight introduces an overhead of roughly 1.7 times the original execution time of the program. The most significant limitation of FlashLight is that it is not fully integrated into the Fluid assurance tool with respect to the user experience.This work has been selected by scholars as being culturally important, and is part of the knowledge base of civilization as we know it. This work was reproduced from the original artifact, and remains as true to the original work as possible. Therefore, you will see the original copyright references, library stamps (as most of these works have been housed in our most important libraries around the world), and other notations in the work.This work is in the public domain in the United States of America, and possibly other nations. Within the United States, you may freely copy and distribute this work, as no entity (individual or corporate) has a copyright on the body of the work.As a reproduction of a historical artifact, this work may contain missing or blurred pages, poor pictures, errant marks, etc. Scholars believe, and we concur, that this work is important enough to be preserved, reproduced, and made generally available to the public. We appreciate your support of the preservation process, and thank you for being an important part of keeping this knowledge alive and relevant.
Polymorphic Type Inference and Semi-unification
Polymorphic Type Inference and Semi-unification explores advanced concepts in programming language theory. This book provides a rigorous examination of polymorphic type inference systems and the crucial role of semi-unification in their implementation. The text delves into the theoretical foundations and practical applications of these techniques, offering insights into efficient type checking and program analysis. Intended for researchers, graduate students, and professionals in computer science, this book offers a detailed treatment of algorithms and data structures used in advanced compiler design and programming language research. Readers will gain a comprehensive understanding of how type inference and semi-unification contribute to the development of robust and reliable software systems.This work has been selected by scholars as being culturally important, and is part of the knowledge base of civilization as we know it. This work was reproduced from the original artifact, and remains as true to the original work as possible. Therefore, you will see the original copyright references, library stamps (as most of these works have been housed in our most important libraries around the world), and other notations in the work.This work is in the public domain in the United States of America, and possibly other nations. Within the United States, you may freely copy and distribute this work, as no entity (individual or corporate) has a copyright on the body of the work.As a reproduction of a historical artifact, this work may contain missing or blurred pages, poor pictures, errant marks, etc. Scholars believe, and we concur, that this work is important enough to be preserved, reproduced, and made generally available to the public. We appreciate your support of the preservation process, and thank you for being an important part of keeping this knowledge alive and relevant.
Polymorphic Type Inference and Semi-unification
Polymorphic Type Inference and Semi-unification explores advanced concepts in programming language theory. This book provides a rigorous examination of polymorphic type inference systems and the crucial role of semi-unification in their implementation. The text delves into the theoretical foundations and practical applications of these techniques, offering insights into efficient type checking and program analysis. Intended for researchers, graduate students, and professionals in computer science, this book offers a detailed treatment of algorithms and data structures used in advanced compiler design and programming language research. Readers will gain a comprehensive understanding of how type inference and semi-unification contribute to the development of robust and reliable software systems.This work has been selected by scholars as being culturally important, and is part of the knowledge base of civilization as we know it. This work was reproduced from the original artifact, and remains as true to the original work as possible. Therefore, you will see the original copyright references, library stamps (as most of these works have been housed in our most important libraries around the world), and other notations in the work.This work is in the public domain in the United States of America, and possibly other nations. Within the United States, you may freely copy and distribute this work, as no entity (individual or corporate) has a copyright on the body of the work.As a reproduction of a historical artifact, this work may contain missing or blurred pages, poor pictures, errant marks, etc. Scholars believe, and we concur, that this work is important enough to be preserved, reproduced, and made generally available to the public. We appreciate your support of the preservation process, and thank you for being an important part of keeping this knowledge alive and relevant.
Micro Spitbol
"MICRO SPITBOL" presents a detailed exploration of the SPITBOL programming language. Aimed at programmers and computer science enthusiasts, this book delves into the intricacies of SPITBOL, offering insights into its design and implementation. Authored by Robert B. K. Dewar, Martin Charles Golumbic, and Clinton F. Goss, the book provides a comprehensive guide to understanding and utilizing the MICRO SPITBOL system. This text serves as an invaluable resource for anyone seeking to master this powerful and versatile programming language.This work has been selected by scholars as being culturally important, and is part of the knowledge base of civilization as we know it. This work was reproduced from the original artifact, and remains as true to the original work as possible. Therefore, you will see the original copyright references, library stamps (as most of these works have been housed in our most important libraries around the world), and other notations in the work.This work is in the public domain in the United States of America, and possibly other nations. Within the United States, you may freely copy and distribute this work, as no entity (individual or corporate) has a copyright on the body of the work.As a reproduction of a historical artifact, this work may contain missing or blurred pages, poor pictures, errant marks, etc. Scholars believe, and we concur, that this work is important enough to be preserved, reproduced, and made generally available to the public. We appreciate your support of the preservation process, and thank you for being an important part of keeping this knowledge alive and relevant.
MuleSoft Integration for Professionals
MuleSoft for Professionals is a comprehensive and practical guide tailored for developers, integration specialists, and IT architects aiming to harness the full potential of MuleSoft for modern enterprise connectivity. This book demystifies the complex world of integration by covering everything from fundamental concepts to advanced techniques, ensuring you build a strong foundation while equipping yourself with cutting-edge skills.Inside, you will explore core topics such as API-led connectivity, RAML design, secure properties management, data transformation with DataWeave, effective error handling, and deployment strategies across various environments. The book also delves into non-functional requirements, Anypoint Code Builder, and common integration patterns, providing practical insights and real-world examples that bridge theory with application.Whether you are just beginning your integration journey or seeking to deepen your expertise with advanced MuleSoft capabilities, MuleSoft for Professionals offers clear explanations, hands-on best practices, and actionable guidance to help you design, develop, and deploy scalable, secure, and high-performance integration solutions confidently in your projects.
Nonsequential and Distributed Programming with Go
After a short chapter on basic aspects of software engineering and its realization in Go, this book introduces to nonsequential and distributed programming with Go. It systematically presents basic concepts for the synchronization and communication of concurrent processes. These include locks, semaphores, fairness and deadlocks, monitors, local and network-wide message passing, networks as graphs, network exploration, distributed depth and breadth first search, and the selection of a leader in networks. In order to make readers familiar with the concepts, the author always takes up the same classic examples. This makes learning easier, because the concepts presented can be compared more easily with the language resources. The algorithms are formulated in the Go programming language, which can be used to express numerous synchronization concepts. Due to its simple syntax, Go also offers the advantage that readers without prior knowledge can follow the basic concepts. The chapters on locks, semaphores, monitors and network-wide message passing also present some basic approaches to programming in C and Java. All source texts are available online. Besides a number of error corrections and smaller updates, in this second edition the nanouniverse nU is replaced with the microuniverse μU. This allows for beautiful animations in many places, which are not possible with the nanouniverse due to a lack of the necessary support for inputs and outputs; e.g. in the chapters on fairness, messages, farMonitors, traversals and election.
C++ Programming in Easy Steps
C++ Programming in easy steps, 7th edition shows you how to program in the powerful C++ native system language. Now, in its seventh edition, this guide gives complete examples that illustrate each aspect with colorized source code.C++ Programming in easy steps, 7th edition begins by explaining how to install a free C++ compiler so that you can quickly begin to create your own executable programs by copying the book's examples. It demonstrates all the C++ language basics before moving on to provide examples of Object-Oriented Programming (OOP). C++ is not platform-dependent, so programs can be created on any operating system. Most illustrations in this book depict output on the Windows operating system (purely because it is the most widely-used desktop platform) but the examples can also be created on other platforms such as Linux or macOS. The book concludes by demonstrating how you can use your acquired knowledge to create programs graphically using a modern C++ Integrated Development Environment (IDE), such as Microsoft's Visual Studio. C++ Programming in easy steps, 7th edition has an easy-to-follow style that will appeal to: Anyone who wants to begin programming in C++.Programmers looking to advance from an interpreted programming language, such as Python, who want to harness the superior speed of C++.Students who are studying C++ Programming at school or college. Those seeking a career in computing who need a fundamental understanding of Object-Oriented Programming. This book makes no assumption that you have previous knowledge of any programming language, so it is suitable for the beginner to programming in C++, whether you know C or not.
Php, Mysql, & JavaScript All-In-One for Dummies
Learn the essentials of creating web apps with some of the most popular programming languages PHP, MySQL, & JavaScript All-in-One For Dummies bundles the essentials of coding in some of the most in-demand web development languages. You'll learn to create your own data-driven web applications and interactive web content. The three powerful languages covered in this book form the backbone of top online apps like Wikipedia and Etsy. Paired with the basics of HTML and CSS--also covered in this All-in-One Dummies guide--you can make dynamic websites with a variety of elements. This book makes it easy to get started. You'll also find coverage of advanced skills, as well as resources you'll appreciate when you're ready to level up. Get beginner-friendly instructions and clear explanations of how to program websites in common languages Understand the basics of object-oriented programming, interacting with databases, and connecting front- and back-end code Learn how to work according to popular DevOps principles, including containers and microservices Troubleshoot problems in your code and avoid common web development mistakes This All-in-One is a great value for new programmers looking to pick up web development skills, as well as those with more experience who want to expand to building web apps.
Python Programming for Beginners
Programming is a highly useful skill, yet only few people master it. Surprising, as it offers big advantages in both private and professional life. Florian Dalwigk, well-known YouTuber and author, reaches thousands with his name-brand channel. He explains IT topics in an engaging and easy way-and proves that again in this great book!Python is beginner-friendly and offers a smooth entry into programming. This guide helps you take your first steps and create real projects.Learning programming has never been easier! You'll be surprised how fast and clearly you progress. The book is built for beginners and leaves no questions open.Dalwigk gives a step-by-step introduction to Python. Once you know the basics, you'll stand out in any job. It's fun, useful and empowering!This book includes: Python fundamentalsBeginner-friendly instructionsTips, tricks and exercisesDalwigk's unique teaching styleAnd moreThis book is for you if you: Want the best way to start programmingWant to learn Python easilyNeed practical help and exercisesPlan to build your own projectsStart your Python journey with Florian Dalwigk now!Also makes a great gift!
Safety and Trust in Artificial Intelligence with Abstract Interpretation
Deep neural networks (DNNs) are currently the dominant technology in Artificial Intelligence (AI) and have shown impressive performance in diverse applications, including autonomous driving, medical diagnosis, text generation, and logical reasoning. However, they lack transparency due to their black-box construction and are vulnerable to environmental and adversarial noise. These issues have caused concerns about their safety and trust when deployed in the real world. Although standard training optimizes the model's accuracy, it does not take into account desirable safety properties such as robustness, fairness, and monotonicity.As a result, researchers have spent considerable time developing automated methods for building safe and trustworthy DNNs. Abstract interpretation has emerged as the most popular framework for efficiently analyzing realistic DNNs among the various approaches. However, due to fundamental differences in the computational structure of DNNs compared to traditional programs, developing efficient DNN analyzers has required tackling significantly different research challenges than those encountered for programs.In this monograph, state-of-the-art approaches based on abstract interpretation for analyzing DNNs are described. These approaches include the design of new abstract domains, synthesis of novel abstract transformers, abstraction refinement, and incremental analysis. Discussed is how the analysis results can be used to: (i) formally check whether a trained DNN satisfies desired output and gradient-based safety properties, (ii) guide the model updates during training towards satisfying safety properties, and (iii) reliably explain and interpret the black-box workings of DNNs.
Optical Electromagnetic Field Analysis Using Python
In this book, Kajikawa and Okamoto explain how to use Python to calculate and visualize the optical response of microscopic structures and systems. Throughout, the authors provide varied examples to instruct readers in the application of theoretical knowledge to real-world scenarios.Electromagnetic field analysis is often necessary to determine the optical response of materials with microscopic structures. Although the principles are widely described, the manual calculation and visualization of results are not and remain challenging. Python is the ideal language to use for this as it has a large functional library for visualizing analysis results and is suitable for programming beginners to use at low cost, so it has many advantages over languages like Fortran, BASIC, and C. Here, the authors introduce the application of Python to various electromagnetic field analysis scenarios in the field of nanophotonics. The first half of the book describes cases in which there is an analytical solution for the structure and addresses scenarios such as scattering and absorption in spherical and cylindrical structures and complex structures such as rotating ellipsoids, sphere-aggregated structures, and hemispherical structures. The second half describes methods including rigorous coupling wave analysis, finite-difference time-domain method and discrete dipole approximation for numerically solving varied structures. This book enables readers to conduct their own electromagnetic field analysis quickly, cheaply, and accurately without in-depth study of other complicated and time-consuming approaches or programs.This book is invaluable for researchers and postgraduate students working in the fields of optics and photonics. Additionally, the contents are useful not only for those conducting electromagnetic field analysis but also those simulating physical, chemical, and biological phenomena.