![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Programming languages
This work provides a short "getting started" guide to Fortran 90/95. The main target audience consists of newcomers to the field of numerical computation within Earth system sciences (students, researchers or scientific programmers). Furthermore, readers accustomed to other programming languages may also benefit from this work, by discovering how some programming techniques they are familiar with map to Fortran 95. The main goal is to enable readers to quickly start using Fortran 95 for writing useful programs. It also introduces a gradual discussion of Input/Output facilities relevant for Earth system sciences, from the simplest ones to the more advanced netCDF library (which has become a de facto standard for handling the massive datasets used within Earth system sciences). While related works already treat these disciplines separately (each often providing much more information than needed by the beginning practitioner), the reader finds in this book a shorter guide which links them. Compared to other books, this work provides a much more compact view of the language, while also placing the language-elements in a more applied setting, by providing examples related to numerical computing and more advanced Input/Output facilities for Earth system sciences. Naturally, the coverage of the programming language is relatively shallow, since many details are skipped. However, many of these details can be learned gradually by the practitioner, after getting an overview and some practice with the language through this book.
PHP is gaining positive reputation for its system administration and client-side application development capabilities. This administration and development is accomplished using the PHP-GTK extension. You can take advantage of client-side applications by implementing language bindings for the GTK (the GIMP Toolkit) library for creating cross-platform graphical user interfaces. "Pro PHP-GTK" acts as both a definitive reference and a hands-on tutorial to the PHP-GTK extension. The book couples the extension's key topics with practical examples to guide you through a real-world project: developing a database-driven client-side inventory manager. You'll also learn how to integrate this feature with other emerging technologies like SOAP and RSS, and how to generate XML-based interfaces.
A system for statistical computing and dynamic graphics, based on the LISP language, is described in this book, which shows how to use the system for statistical calculations and graphs. The computations supported range from summary statistics through fitting linear and nonlinear regression models to general maximum likelihood estimation and approximate Bayesian computations. Standard graphs include scatter plots, rotatable plots and scatterplot matrices. No prior knowledge of LISP is assumed; the basics are introduced as they are needed. Several chapters include extensive examples.
Learn how to program in modern C, from the basics through the advanced topics required for proficiency. This book is the fastest path to C fluency for anyone experienced in a general-purpose programming language. From start to finish, code examples highlight the idioms and best practices behind efficient, robust programs in a variety of areas. The book opens with a thorough coverage of syntax, built-in data types and operations, and program structure. C has quirks and presents challenges, which are covered in detail. The coverage of advanced features is what sets this book apart from others. Among the advanced topics covered are floating-point representation in the IEEE 754 standard; embedded assembly language in C code for overflow detection; regular expressions, assertions, and internationalization; WebAssembly through C; and software libraries for C and other clients. Memory efficiency and safety are the two major challenges in C programming, and you'll explore these challenges through a series of C examples. Arrays and structures, which are the means to high-level data representation, are covered in connection with pointers, which provide efficiency. The book again uses code examples in covering networking and wire-level security; concurrency (multiprocessing and multithreading); instruction-level parallelism; and interprocess communication through shared memory and files, pipes, message queues, and signals. Many books introduce C, but few also explain how to use it properly and optimally. Essential C does just that. What You'll Learn Accelerate your path to C mastery with this book for experienced programmers Refresh your approach to program structure and data types Dive into aggregates and pointers using modern C language Revisit storage classes and scope Dive into concurrency (multiprocessing and multithreading) and instruction-level parallelism Finish with regular expressions, assertions, signals, locales and more Who This Book Is For Professional programmers or software developers who has prior experience with C or in general wanting an accelerated learning guide to modern C programming language.
Assembly Language for x86 Processors, 7e is suitable for undergraduate courses in assembly language programming and introductory courses in computer systems and computer architecture. Proficiency in one other programming language, preferably Java, C, or C++, is recommended. Written specifically for 32- and 64-bit Intel/Windows platform, this complete and fully updated study of assembly language teaches students to write and debug programs at the machine level. This text simplifies and demystifies concepts that students need to grasp before they can go on to more advanced computer architecture and operating systems courses. Students put theory into practice through writing software at the machine level, creating a memorable experience that gives them the confidence to work in any OS/machine-oriented environment. Teaching and Learning Experience This program presents a better teaching and learning experience-for you and your students. It will help: *Teach Effective Design Techniques: Top-down program design demonstration and explanation allows students to apply techniques to multiple programming courses.*Put Theory into Practice: Students will write software at the machine level, preparing them to work in any OS/machine-oriented environment. *Tailor the Text to Fit your Course: Instructors can cover optional chapter topics in varying order and depth. *Support Instructors and Students: Visit the author's web site http: //asmirvine.com/ for chapter objectives, debugging tools, supplemental files, a Getting Started with MASM and Visual Studio 2012 tutorial, and more
DLP denotes a dynamic-linear modeling and optimization approach to computational decision support for resource planning problems that arise, typically, within the natural resource sciences and the disciplines of operations research and operational engineering. It integrates techniques of dynamic programming (DP) and linear programming (LP) and can be realized in an immediate, practical and usable way. Simultaneously DLP connotes a broad and very general modeling/ algorithmic concept that has numerous areas of application and possibilities for extension. Two motivating examples provide a linking thread through the main chapters, and an appendix provides a demonstration program, executable on a PC, for hands-on experience with the DLP approach.
Updated for C11 Write powerful C programs...without becoming a technical expert! This book is the fastest way to get comfortable with C, one incredibly clear and easy step at a time. You'll learn all the basics: how to organize programs, store and display data, work with variables, operators, I/O, pointers, arrays, functions, and much more. C programming has neverbeen this simple! Who knew how simple C programming could be? This is today's best beginner's guide to writing C programs-and to learning skills you can use with practically any language. Its simple, practical instructions will help you start creating useful, reliable C code, from games to mobile apps. Plus, it's fully updated for the new C11 standard and today's free, open source tools! Here's a small sample of what you'll learn: * Discover free C programming tools for Windows, OS X, or Linux * Understand the parts of a C program and how they fit together * Generate output and display it on the screen * Interact with users and respond to their input * Make the most of variables by using assignments and expressions * Control programs by testing data and using logical operators * Save time and effort by using loops and other techniques * Build powerful data-entry routines with simple built-in functions * Manipulate text with strings * Store information, so it's easy to access and use * Manage your data with arrays, pointers, and data structures * Use functions to make programs easier to write and maintain * Let C handle all your program's math for you * Handle your computer's memory as efficiently as possible * Make programs more powerful with preprocessing directives
This text is intended for a 1-semester CS1 course sequence. The Brief Version contains the first 18 chapters of the Comprehensive Version. The first 13 chapters are appropriate for preparing the AP Computer Science exam. For courses in Java Programming. A fundamentals-first introduction to basic programming concepts and techniques Designed to support an introductory programming course, Introduction to Java Programming and Data Structures, Brief Version teaches concepts of problem-solving and object-orientated programming using a fundamentals-first approach. Beginner programmers learn critical problem-solving techniques then move on to grasp the key concepts of object-oriented, GUI programming, advanced GUI and Web programming using JavaFX. This course approaches Java GUI programming using JavaFX, which has replaced Swing as the new GUI tool for developing cross-platform-rich Internet applications and is simpler to learn and use. The 11th edition has been completely revised to enhance clarity and presentation, and includes new and expanded content, examples, and exercises.
This textbook covers R data analysis related to environmental science, starting with basic examples and proceeding up to advanced applications of the R programming language. The main objective of the textbook is to serve as a guide for undergraduate students, who have no previous experience with R, but part of the textbook is dedicated to advanced R applications, and will also be useful for Masters and PhD students, and professionals. The textbook deals with solving specific programming tasks in R, and tasks are organized in terms of gradually increasing R proficiency, with examples getting more challenging as the chapters progress. The main competencies students will acquire from this textbook are: manipulating and processing data tables performing statistical tests creating maps in R This textbook will be useful in undergraduate and graduate courses in Advanced Landscape Ecology, Analysis of Ecological and Environmental Data, Ecological Modeling, Analytical Methods for Ecologists, Statistical Inference for Applied Research, Elements of Statistical Methods, Computational Ecology, Landscape Metrics and Spatial Statistics.
Written by two very experienced instructors, with more than thirty years of teaching experience between them; Presents material that is grounded in practical applications that are representative of the problems researchers encounter in real life; Teaches readers the core features of modern JavaScript; Covers programming with callbacks and promises; Describes how to build data services and data visualization;
Developed from the author's many years of teaching computing courses, Programming in C++ for Engineering and Science guides students in designing programs to solve real problems encountered in engineering and scientific applications. These problems include radioactive decay, pollution indexes, digital circuits, differential equations, Internet addresses, data analysis, simulation, quality control, electrical networks, data encryption, beam deflection, and many other areas. To make it easier for novices to develop programs, the author uses an object-centered design approach that helps students identify the objects in a problem and the operations needed; develop an algorithm for processing; implement the objects, operations, and algorithm in a program; and test, correct, and revise the program. He also revisits topics in greater detail as the text progresses. By the end of the book, students will have a solid understanding of how C++ can be used to process complex objects, including how classes can be built to model objects. Web ResourceThe book's website at http://cs.calvin.edu/books/c++/engr-sci provides source code, expanded presentations, links to relevant sites, reference materials, lab exercises, and projects. For instructors, solutions to exercises and PowerPoint slides for classroom use are available upon qualifying course adoption.
VerilogA(R) Quickstart is a basic, practical, introductory textbook for professionals and students alike. This book explains how a designer can be more effective through the use of the Verilog hardware description language to simulate and document a design. By understanding simulation, a designer can simulate a design to see if a design works before it is built. This gives the designer an opportunity to try different ideas. Documentation allows a designer to maintain and reuse a design more easily. Verilog's intrinsic hierarchical modularity enables the designer to easily reuse portions of the design as intellectual property' or macro-cells'. VerilogA(R) Quickstart presents some of the formal Verilog syntax and definitions and then shows practical uses. This book does not oversimplify the Verilog language nor does it emphasize theory. VerilogA(R) Quickstart has over 100 examples that are used to illustrate aspects of the language. In the later chapters the focus is on working with modeling style and explaining why and when one would use different elements of the language. Another feature of the book is the chapter on state machine modeling. There is also a chapter on test benches and testing strategy as well as a chapter on debugging. VerilogA(R) Quickstart is designed to teach the Verilog language, to show the designer how to model in Verilog and to explain the basics of using Verilog simulators.
Programming Massively Parallel Processors: A Hands-on Approach shows both student and professional alike the basic concepts of parallel programming and GPU architecture. Various techniques for constructing parallel programs are explored in detail. Case studies demonstrate the development process, which begins with computational thinking and ends with effective and efficient parallel programs. Topics of performance, floating-point format, parallel patterns, and dynamic parallelism are covered in depth. For this new edition, the authors are updating their coverage of CUDA, including the concept of unified memory, and expanding content in areas such as threads, while still retaining its concise, intuitive, practical approach based on years of road-testing in the authors' own parallel computing courses.
Writing reliable and maintainable C++ software is hard. Designing such software at scale adds a new set of challenges. Creating large-scale systems requires a practical understanding of logical design - beyond the theoretical concepts addressed in most popular texts. To be successful on an enterprise scale, developers must also address physical design, a dimension of software engineering that may be unfamiliar even to expert developers. Drawing on over 30 years of hands-on experience building massive, mission-critical enterprise systems, John Lakos shows how to create and grow Software Capital. This groundbreaking volume lays the foundation for projects of all sizes and demonstrates the processes, methods, techniques, and tools needed for successful real-world, large-scale development. Up to date and with a solid engineering focus, Large-Scale C++, Volume I: Process and Architecture, demonstrates fundamental design concepts with concrete examples. Professional developers of all experience levels will gain insights that transform their approach to design and development by understanding how to Raise productivity by leveraging differences between infrastructure and application development Achieve exponential productivity gains through feedback and hierarchical reuse Embrace the component's role as the fundamental unit of both logical and physical design Analyze how fundamental properties of compiling and linking affect component design Discover effective partitioning of logical content in appropriately sized physical aggregates Internalize the important differences among sufficient, complete, minimal, and primitive software Deliver solutions that simultaneously optimize encapsulation, stability, and performance Exploit the nine established levelization techniques to avoid cyclic physical dependencies Use lateral designs judiciously to avoid the "heaviness" of conventional layered architectures Employ appropriate architectural insulation techniques for eliminating compile-time coupling Master the multidimensional process of designing large systems using component-based methods This is the first of John Lakos's three authoritative volumes on developing large-scale systems using C++. This book, written for fellow software practitioners, uses familiar C++ constructs to solve real-world problems while identifying (and motivating) modern C++ alternatives. Together with the forthcoming Volume II: Design and Implementation and Volume III: Verification and Testing, Large-Scale C++ offers comprehensive guidance for all aspects of large-scale C++ software development. If you are an architect or project leader, this book will empower you to solve critically important problems right now - and serve as your go-to reference for years to come. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Create simple, easy programs in the popular Python language Beginning Programming with Python For Dummies is the trusted way to learn the foundations of programming using the Python programming language. Python is one of the top-ranked languages, and there's no better way to get started in computer programming than this friendly guide. You'll learn the basics of coding and the process of creating simple, fun programs right away. This updated edition features new chapters, including coverage of Google Colab, plus expanded information on functions and objects, and new examples and graphics that are relevant to today's beginning coders. Dummies helps you discover the wealth of things you can achieve with Python. Employ an online coding environment to avoid installation woes and code anywhere, any time Learn the basics of programming using the popular Python language Create easy, fun projects to show off your new coding chops Fix errors in your code and use Python with external data sets Beginning Programming with Python For Dummies will get new programmers started--the easy way.
Learn to master basic programming tasks from scratch with real-life scientifically relevant examples and solutions drawn from both science and engineering. Students and researchers at all levels are increasingly turning to the powerful Python programming language as an alternative to commercial packages and this fast-paced introduction moves from the basics to advanced concepts in one complete volume, enabling readers to quickly gain proficiency. Beginning with general programming concepts such as loops and functions within the core Python 3 language, and moving onto the NumPy, SciPy and Matplotlib libraries for numerical programming and data visualisation, this textbook also discusses the use of IPython notebooks to build rich-media, shareable documents for scientific analysis. Including a final chapter introducing challenging topics such as floating-point precision and algorithm stability, and with extensive online resources to support advanced study, this textbook represents a targeted package for students requiring a solid foundation in Python programming.
Currently, we see a variety of tools and techniques for specifying and implementing business processes. The problem is that there are still gaps and tensions between the different disciplines needed to improve business process execution and improvement in enterprises. Business process modeling, workflow execution and application programming are examples of disciplines that are hosted by different communities and that emerged separately from each other. In particular, concepts have not yet been fully elaborated at the system analysis level. Therefore, practitioners are faced again and again with similar questions in concrete business process projects: Which decomposition mechanism to use? How to find the correct granularity for business process activities? Which implementing technology is the optimal one in a given situation? This work offers an approach to the systematization of the field. The methodology used is explicitly not a comparative analysis of existing tools and techniques - although a review of existing tools is an essential basis for the considerations in the book. Rather, the book tries to provide a landscape of rationales and concepts in business processes with a discussion of alternatives.
For courses in computer programming. Evaluates the fundamentals of contemporary computer programming languages Concepts of Computer Programming Languages introduces students to the fundamental concepts of computer programming languages and provides them with the tools necessary to evaluate contemporary and future languages. Through a critical analysis of design issues, the text teaches students the essential differences between computing with specific languages, while the in-depth discussion of programming language structures also prepares them to study compiler design. The 12th Edition includes new material on contemporary languages like Swift and Python, replacing discussions of outdated languages.
The art, craft, discipline, logic, practice and science of developing large-scale software products needs a professional base. The textbooks in this three-volume set combine informal, engineeringly sound approaches with the rigor of formal, mathematics-based approaches. This volume covers the basic principles and techniques of specifying systems and languages. It deals with modelling the semiotics (pragmatics, semantics and syntax of systems and languages), modelling spatial and simple temporal phenomena, and such specialized topics as modularity (incl. UML class diagrams), Petri nets, live sequence charts, statecharts, and temporal logics, including the duration calculus. Finally, the book presents techniques for interpreter and compiler development of functional, imperative, modular and parallel programming languages. This book is targeted at late undergraduate to early graduate university students, and researchers of programming methodologies. Vol. 1 of this series is a prerequisite text.
Get started quickly with Qt, the popular open source C++ framework for building C++-based applications and games. This book will have you building both fully functional desktop and mobile applications in no time, including some simple game applications. Introducing Qt 6 begins by guiding you in setting up your tools and environment, and then walks you through the first "baby steps" of Qt framework. Next, you'll learn the basics of how project and app structure are set up using Qt. Then, you'll begin your first real hands-on projects using Qt, including a task and problem management application and two games. As you progress, you can enhance these apps and games using additional Qt components and features. The book then delves into advanced topics in Qt, learning above and beyond what the Qt docs can offer, including local storage, C++ integration, deployment to Windows and Android, custom components and how to work with them. Upon completing this book, you'll come away knowing how to build a C++ application from design to deployment, top to bottom. And, you'll have actual application and game examples that you can apply to your own work or hobby. What You Will Learn Learn to build your first applications and games using Qt 6 framework Design, create, build and deploy your first Qt applications or games as finished products Explore local storage integration in theory and practice Cover deployment on Windows and on Android Integrate with C++ language to leverage additional functionality Dive into Custom Components and how to work with them Explore different project structures and more Who This Book Is For Software programmers, developers who are new to C++ or the Qt framework. Some prior programming experience though may be helpful.
Bringing together idiomatic Python programming, foundational numerical methods, and physics applications, this is an ideal standalone textbook for courses on computational physics. All the frequently used numerical methods in physics are explained, including foundational techniques and hidden gems on topics such as linear algebra, differential equations, root-finding, interpolation, and integration. The second edition of this introductory book features several new codes and 140 new problems (many on physics applications), as well as new sections on the singular-value decomposition, derivative-free optimization, Bayesian linear regression, neural networks, and partial differential equations. The last section in each chapter is an in-depth project, tackling physics problems that cannot be solved without the use of a computer. Written primarily for students studying computational physics, this textbook brings the non-specialist quickly up to speed with Python before looking in detail at the numerical methods often used in the subject.
Because of its portability and platform-independence, Java is the ideal computer programming language to use when working on graph algorithms and other mathematical programming problems. Collecting some of the most popular graph algorithms and optimization procedures, A Java Library of Graph Algorithms and Optimization provides the source code for a library of Java programs that can be used to solve problems in graph theory and combinatorial optimization. Self-contained and largely independent, each topic starts with a problem description and an outline of the solution procedure, followed by its parameter list specification, source code, and a test example that illustrates the usage of the code. The book begins with a chapter on random graph generation that examines bipartite, regular, connected, Hamilton, and isomorphic graphs as well as spanning, labeled, and unlabeled rooted trees. It then discusses connectivity procedures, followed by a paths and cycles chapter that contains the Chinese postman and traveling salesman problems, Euler and Hamilton cycles, and shortest paths. The author proceeds to describe two test procedures involving planarity and graph isomorphism. Subsequent chapters deal with graph coloring, graph matching, network flow, and packing and covering, including the assignment, bottleneck assignment, quadratic assignment, multiple knapsack, set covering, and set partitioning problems. The final chapters explore linear, integer, and quadratic programming. The appendices provide references that offer further details of the algorithms and include the definitions of many graph theory terms used in the book.
Survival analysis uses statistics to calculate time to failure. Survival Analysis with Python takes a fresh look at this complex subject by explaining how to use the Python programming language to perform this type of analysis. As the subject itself is very mathematical and full of expressions and formulations, the book provides detailed explanations and examines practical implications. The book begins with an overview of the concepts underpinning statistical survival analysis. It then delves into Parametric models with coverage of Concept of maximum likelihood estimate (MLE) of a probability distribution parameter MLE of the survival function Common probability distributions and their analysis Analysis of exponential distribution as a survival function Analysis of Weibull distribution as a survival function Derivation of Gumbel distribution as a survival function from Weibull Non-parametric models including Kaplan-Meier (KM) estimator, a derivation of expression using MLE Fitting KM estimator with an example dataset, Python code and plotting curves Greenwood's formula and its derivation Models with covariates explaining The concept of time shift and the accelerated failure time (AFT) model Weibull-AFT model and derivation of parameters by MLE Proportional Hazard (PH) model Cox-PH model and Breslow's method Significance of covariates Selection of covariates The Python lifelines library is used for coding examples. By mapping theory to practical examples featuring datasets, this book is a hands-on tutorial as well as a handy reference. |
You may like...
Evaluating Websites and Web Services
Denis Yannacopoulos, Panagiotis Manolitzas, …
Hardcover
R5,413
Discovery Miles 54 130
Internet of Things - A Hands-On Approach
Arshdeep Bahga, Vijay Madisetti
Hardcover
Querying XML - XQuery, XPath, and…
Jim Melton, Stephen Buxton
Paperback
R1,479
Discovery Miles 14 790
E-Government Website Development…
Ed Downey, Carl D. Ekstrom, …
Hardcover
R4,618
Discovery Miles 46 180
Interactive Web-based Virtual Reality…
Chi Chung Ko, Chang Dong Cheng
Hardcover
R4,213
Discovery Miles 42 130
SMIL 3.0 - Flexible Multimedia for Web…
Dick C. a. Bulterman, Lloyd W. Rutledge
Hardcover
R1,493
Discovery Miles 14 930
|