![]() |
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 > General
If you're an experienced programmer, you already have a rock-solid
foundation for learning Java. All you need is a resource that takes
your experience into account and explains Java's key principles and
techniques in an intelligent, efficient way.
Author has unique knowledge of Visual C++ 2005 development at Microsoft, including many undocumented features, hints and tips which he records for the first time in this book Presents a fast-track entry for developers familiar with C#, into the VC++ world Complete coverage of Visual C++ 2005 to ensure that readers will have broad understanding necessary to leverage the unique, powerful features
The first edition of Exercises in Programming Style was honored as an ACM Notable Book and praised as "The best programming book of the decade." This new edition retains the same presentation but has been upgraded to Python 3, and there is a new section on neural network styles. Using a simple computational task (term frequency) to illustrate different programming styles, Exercises in Programming Style helps readers understand the various ways of writing programs and designing systems. It is designed to be used in conjunction with code provided on an online repository. The book complements and explains the raw code in a way that is accessible to anyone who regularly practices the art of programming. The book can also be used in advanced programming courses in computer science and software engineering programs. The book contains 40 different styles for writing the term frequency task. The styles are grouped into ten categories: historical, basic, function composition, objects and object interactions, reflection and metaprogramming, adversity, data-centric, concurrency, interactivity, and neural networks. The author states the constraints in each style and explains the example programs. Each chapter first presents the constraints of the style, next shows an example program, and then gives a detailed explanation of the code. Most chapters also have sections focusing on the use of the style in systems design as well as sections describing the historical context in which the programming style emerged.
The Unified Modeling Language (UML) is an evolutionary general-purpose, tool-supported, and industry-standardized (OMG) modeling language for specifying, visualizing, constructing, and documenting the artifacts of a system-intensive process. "Guide to Applying the UML" offers a practical bridge between tutorials and reference works, demonstrating how all of the elements of the UML fit together holistically and cohesively. It closes the gap between the UML and process using a ¿roadmap¿ that addresses the key decision points and their relationships, providing a comprehensive framework. The focus is on rules of usage and principles of composition, style guidelines, practical real-world examples, and a tool-, process-, and technology-independent roadmap for effectively and successfully applying the UML. Topics and features: * Essential rules for using the UML and composing UML models are collated around important UML constructs *Presents a broad introduction to applying the UML, without having to prematurely adopt a particular process *Provides detailed examples, enabling readers to make informed decisions when modeling across the system development life cycle *Demonstrates how UML elements are related and how the UML supports traceability and scales for the life cycle process *Clear, well-developed diagrams simplify learning and applying core concepts and techniques With its focused, yet highly accessible approach, this guide strikes an integrated balance between UML rules and practices. It is an authoritative and comprehensive reference for software practitioners and professionals involved in the design, development, and management of UML-related software projects. About the author: Sinan Si Alhir is a highly respected consultant and has extensive information systems/technology experience, and breadth and depth in all phases of the system development life cycle. With experience in both high- and low-level project work, and broad and deep knowledge of technology and methodology, he endeavors to deliver quality solution-oriented results within various application domains using a multitude of technologies and approaches. He specializes in object-orientation, methodology/process, the Unified Modeling Language (UML), and various other disciplines and subjects, and focuses on empowering organizations to benefit from their application.
This edited book presents scientific results of the 14th International Conference on Software Engineering, Artificial Intelligence Research, Management and Applications (SERA 2016) held on June 8-10, 2016 at Towson University, USA. The aim of this conference was to bring together researchers and scientists, businessmen and entrepreneurs, teachers, engineers, computer users, and students to discuss the numerous fields of computer science and to share their experiences and exchange new ideas and information in a meaningful way. Research results about all aspects (theory, applications and tools) of computer and information science, and to discuss the practical challenges encountered along the way and the solutions adopted to solve them. The conference organizers selected the best papers from those papers accepted for presentation at the conference. The papers were chosen based on review scores submitted by members of the program committee, and underwent further rigorous rounds of review. This publication captures 13 of the conference's most promising papers, and we impatiently await the important contributions that we know these authors will bring to the field of computer and information science.
This classroom-tested and clearly-written textbook presents a focused guide to the conceptual foundations of compilation, explaining the fundamental principles and algorithms used for defining the syntax of languages, and for implementing simple translators. This significantly updated and expanded third edition has been enhanced with additional coverage of regular expressions, visibly pushdown languages, bottom-up and top-down deterministic parsing algorithms, and new grammar models. Topics and features: describes the principles and methods used in designing syntax-directed applications such as parsing and regular expression matching; covers translations, semantic functions (attribute grammars), and static program analysis by data flow equations; introduces an efficient method for string matching and parsing suitable for ambiguous regular expressions (NEW); presents a focus on extended BNF grammars with their general parser and with LR(1) and LL(1) parsers (NEW); introduces a parallel parsing algorithm that exploits multiple processing threads to speed up syntax analysis of large files; discusses recent formal models of input-driven automata and languages (NEW); includes extensive use of theoretical models of automata, transducers and formal grammars, and describes all algorithms in pseudocode; contains numerous illustrative examples, and supplies a large set of exercises with solutions at an associated website. Advanced undergraduate and graduate students of computer science will find this reader-friendly textbook to be an invaluable guide to the essential concepts of syntax-directed compilation. The fundamental paradigms of language structures are elegantly explained in terms of the underlying theory, without requiring the use of software tools or knowledge of implementation, and through algorithms simple enough to be practiced by paper and pencil.
The Rust programming language is consistent and does its best to avoid surprising the programmer. Like all languages, though, Rust still has its quirks. But these quirks present a teaching opportunity. In this book, you'll work through a series of brain teasers that will challenge your understanding of Rust. By understanding the gaps in your knowledge, you can become better at what you do and avoid mistakes. Many of the teasers in this book come from the author's own experience creating software. Others derive from commonly asked questions in the Rust community. Regardless of their origin, these brain teasers are fun, and let's face it: who doesn't love a good puzzle, right? What better way to exercise your brain and increase your Rust programming knowledge than with a collection of dynamic brain teasers? As you read through each of these puzzles and try to work out the answers, you'll not only learn about Rust's unique quirks and peculiarities, you'll also have loads of fun along the way. Dive right in and get started with example code and sample problems that cover numbers and text, shadowing and memory, and everything in between. Try to figure out why a particular program won't compile, why it produces unexpected output, or why it panics and terminates with an error message. Once you've run the code and read the answer, it's time to get to the heart of the matter with a detailed explanation. Learn why a program produced the result it did, and discover how similar issues might affect the code you write in your own programs, even in production. Sourced from engaging discussions within the Rust community, real-world problems, and even reader feedback, these challenges will certainly surprise, enlighten, and entertain you. Are you ready to experience Rust like never before? Then sharpen your brain and get ready for a challenge! What You Need: This book assumes you have some knowledge of the Rust programming language. To work through the brain teasers in this book, you'll need a working Rust environment on any platform. You can install Rust by visiting https: //rustup.rs/. You'll also need a text editor or Rust-friendly IDE.
Learning Java Through Games teaches students how to use the different features of the Java language as well as how to program. Suitable for self-study or as part of a two-course introduction to programming, the book covers as much material as possible from the latest Java standard while requiring no previous programming experience. Taking an application-motivated approach, the text presents an abundance of games. Students must read through the whole chapter to understand all the features that are needed to implement the game. Most chapters start with a description of a game and then introduce different Java constructs for implementing the features of the game on need-to-use bases. The text teaches students not only how to write code that works but also how to follow good software practices. All sample programs in the text strive to achieve low cohesion and high coupling-the hallmarks of well-designed code. Many programs are refactored multiple times to achieve code that is easy to understand, reuse, and maintain. The first part of the book covers basic programming techniques, such as conditional statements, loops, methods, arrays, and classes. The second part focuses on more advanced topics, including class inheritance, recursions, sorting algorithms, GUI programming, exception handling, files, and applets.
In the past few decades Computer Hardware Description Languages (CHDLs) have been a rapidly expanding subject area due to a number of factors, including the advancing complexity of digital electronics, the increasing prevalence of generic and programmable components of software-hardware and the migration of VLSI design to high level synthesis based on HDLs. Currently the subject has reached the consolidation phase in which languages and standards are being increasingly used, at the same time as the scope is being broadened to additional application areas. This book presents the latest developments in this area and provides a forum from which readers can learn from the past and look forward to what the future holds.
1) The book provides a basic understanding to readers who want to start their career in web application development. The book develops an understanding of the basics concepts and then takes a broader turn to enlighten the readers about the horizons which can be accessed using JavaScript. 2) JavaScript is exhaustively used in almost all kinds of application development, be it the web applications, cross platform mobile applications, server backend applications. JavaScript is now being used for full stack development and is thus used to write independent applications. Since the need for JavaScript web developers is high, the numbers of students should be high as well. 3) As compared to other books in the market, the proposed book would cover more topics (or, better, levels) in a single volume.
Groovy Programming is an introduction to the Java-based scripting
language Groovy. Groovy has much in common with popular scripting
languages such as Perl, Python, and Ruby, but is written in a
Java-like syntax. And, unlike these other languages, Groovy is
sanctioned by the Java community for use on the Java platform.
Since it is based on Java, applications written in Groovy can make
full use of the Java Application Programmer Interfaces (APIs). This
means Groovy can integrate seamlessly with applications written in
Java, while avoiding the complexities of the full Java language.
This bare-bones structure also means Groovy can be used as an
introduction to Java and to programming in general. Its simpler
constructions and modern origins make it ideal as a first language
and for introducing principles such as object-oriented
programming.
This book is about describing the meaning of programming languages. The author teaches the skill of writing semantic descriptions as an efficient way to understand the features of a language. While a compiler or an interpreter offers a form of formal description of a language, it is not something that can be used as a basis for reasoning about that language nor can it serve as a definition of a programming language itself since this must allow a range of implementations. By writing a formal semantics of a language a designer can yield a far shorter description and tease out, analyse and record design choices. Early in the book the author introduces a simple notation, a meta-language, used to record descriptions of the semantics of languages. In a practical approach, he considers dozens of issues that arise in current programming languages and the key techniques that must be mastered in order to write the required formal semantic descriptions. The book concludes with a discussion of the eight key challenges: delimiting a language (concrete representation), delimiting the abstract content of a language, recording semantics (deterministic languages), operational semantics (non-determinism), context dependency, modelling sharing, modelling concurrency, and modelling exits. The content is class-tested and suitable for final-year undergraduate and postgraduate courses. It is also suitable for any designer who wants to understand languages at a deep level. Most chapters offer projects, some of these quite advanced exercises that ask for complete descriptions of languages, and the book is supported throughout with pointers to further reading and resources. As a prerequisite the reader should know at least one imperative high-level language and have some knowledge of discrete mathematics notation for logic and set theory.
Formal Languages and Applications provides a comprehensive study-aid and self-tutorial for graduates students and researchers. The main results and techniques are presented in an readily accessible manner and accompanied by many references and directions for further research. This carefully edited monograph is intended to be the gateway to formal language theory and its applications, so it is very useful as a review and reference source of information in formal language theory.
Learn how to combine different technologies to create sophisticated, database-driven Web sites This text allows readers to gain the core programming knowledge needed to build a database-driven Web site using a step-by-step approach. Each stage of Web site development is carefully explained, from installation to production of the site. The book, based on a course developed by the author, features a carefully constructed organization that shows readers how to begin creating Web pages, and then incrementally add greater functionality as they progress through the text. A key strength of this book is its use of multiple programming languages and applications. By selecting among the best options from HTML, JavaScript, MySQL, PHP, Apache, and Linux/UNIX, readers learn to develop Web sites that are specifically tailored to meet their needs. Brief chapters, each focusing on one core theme, are designed to allow readers to learn at their own pace. Among the key chapters is one dedicated to teaching how to install a Web server with all the required modules to run the scripts presented in the book. Examples are used extensively throughout, illustrating key concepts and techniques Author draws from his own extensive experience to offer expert tips and point out pitfalls to avoid Exercises help readers put their knowledge into practice The examples, as well as sample solutions to the exercises, are posted online to give readers more opportunity to work with the scripts With its step-by-step approach, this book is ideally suited for anyone who wants to learn how to create complete Web sites. No previous knowledge of any programming language is needed. For experienced Web designers, thebook will bring their programming skills to a higher level by enabling them to create dynamic pages linked to a database.
This fourth Edition presents new examples on submodules, derived type i/o, object oriented programming, abstract interfaces and procedure pointers, C interop, sorting and searching, statistics and converting to more modern versions of Fortran. Key Features Highlights the core language features of modern Fortran including data typing, array processing, control structures, functions, subroutines, modules and submodules, user defined types, pointers, operator overloading, generic programming, parallel programming, abstract interfaces, procedure pointers Pinpoints common problems that occur when programming Illustrates the use of several compilers Introduction to Programming with Fortran has been written for the complete beginner with little or no programming background as well as existing Fortran programmers and those with programming experience in other languages
Resolves linear and non-linear data structures in C language using the algorithm, diagrammatically and its time and space complexity analysis. Covers interview questions and MCQs on all topics of campus readiness Identifies possible solutions to each problem. Includes real life and computational applications of linear and non-linear data structures
This book presents comprehensive studies on nine specification languages and their logics of reasoning. The editors and authors are authorities on these specification languages and their application. In a unique feature, the book closes with short commentaries on the specification languages written by researchers closely associated with their original development. The book contains extensive references and pointers to future developments.
Debugging by Thinking: A Multi-Disciplinary Approach is the first
book to apply the wisdom of six disciplines logic, mathematics,
psychology, safety analysis, computer science, and engineering to
the problem of debugging. It uses the methods of literary
detectives such as Sherlock Holmes, the techniques of mathematical
problem solving, the results of research into the cognitive
psychology of human error, the root cause analyses of safety
experts, the compiler analyses of computer science, and the
processes of modern engineering to define a systematic approach to
identifying and correcting software errors.
This book contains 25 short programs that will challenge your understanding of Pandas. Like any big project, the Pandas developers had to make some design decisions that at times seem surprising. This book uses those quirks as a teaching opportunity. By understanding the gaps in your knowledge, you'll become better at what you do. Some of the teasers are from the author's experience shipping bugs to production, and some from others doing the same. Teasers and puzzles are fun, and learning how to solve them can teach you to avoid programming mistakes and maybe even impress your colleagues and future employers. Working with data is central to nearly everything we do, from disease contact tracing and analyzing health records to smart meters that track utility consumption behavior. With the power of Python's pandas library, you can process and analyze this data in a highly efficient and simple-to-understand way. And with 25 brain teasers designed to turn this technology's quirks into a teaching opportunity, you'll be honing your data science skills while having fun at the same time. Following a simple format, you'll challenge yourself and your understanding of pandas. Read a short Python program that uses pandas, try to guess the output, run the code yourself, and then go to the next page for an explanation of the solution. From common pitfalls and hidden gotchas to unexpected twists and turns, you'll deepen your understanding of pandas, learn to write more efficient code, and reduce the number of bugs in the software you develop. You may even impress your colleagues and your employers, both present and future. Learn the tricks of the trade with Python's pandas, in one of the most fun and creative ways around. What You Need: To run the code you'll need Python version 3.8 or upper and Pandas version 1.0 or upper installed. We use Python version 3.8.3 and Pandas version 1.0.5; the output might change in future versions.
Based on the practical experiences of its authors, who collectively have spent several decades teaching software skills to scientists. Readers only need a basic understanding of Python includes over a hundred exercises to allow readers to practice their skills
This easy-to-understand textbook presents a modern approach to learning numerical methods (or scientific computing), with a unique focus on the modeling and applications of the mathematical content. Emphasis is placed on the need for, and methods of, scientific computing for a range of different types of problems, supplying the evidence and justification to motivate the reader. Practical guidance on coding the methods is also provided, through simple-to-follow examples using Python. Topics and features: provides an accessible and applications-oriented approach, supported by working Python code for many of the methods; encourages both problem- and project-based learning through extensive examples, exercises, and projects drawn from practical applications; introduces the main concepts in modeling, python programming, number representation, and errors; explains the essential details of numerical calculus, linear, and nonlinear equations, including the multivariable Newton method; discusses interpolation and the numerical solution of differential equations, covering polynomial interpolation, splines, and the Euler, Runge-Kutta, and shooting methods; presents largely self-contained chapters, arranged in a logical order suitable for an introductory course on scientific computing. Undergraduate students embarking on a first course on numerical methods or scientific computing will find this textbook to be an invaluable guide to the field, and to the application of these methods across such varied disciplines as computer science, engineering, mathematics, economics, the physical sciences, and social science.
This book introduces Python scripting for geographic information science (GIS) workflow optimization using ArcGIS. It builds essential programming skills for automating GIS analysis. Over 200 sample Python scripts and 175 classroom-tested exercises reinforce the learning objectives. Readers will learn to: * Write and run Python in the ArcGIS Python Window, the PythonWin IDE, and the PyScripter IDE * Work with Python syntax and data types * Call ArcToolbox tools, batch process GIS datasets, and manipulate map documents using the arcpy package * Read and modify proprietary and ASCII text GIS data * Parse HTML web pages and KML datasets * Create Web pages and fetch GIS data from Web sources. * Build user-interfaces with the native Python file dialog toolkit or the ArcGIS Script tools and PyToolboxes Python for ArcGIS is designed as a primary textbook for advanced-level students in GIS. Researchers, government specialists and professionals working in GIS will also find this book useful as a reference.
Recent progress in artificial intelligence (AI) has revolutionized our everyday life. Many AI algorithms have reached human-level performance and AI agents are replacing humans in most professions. It is predicted that this trend will continue and 30% of work activities in 60% of current occupations will be automated. This success, however, is conditioned on availability of huge annotated datasets to training AI models. Data annotation is a time-consuming and expensive task which still is being performed by human workers. Learning efficiently from less data is a next step for making AI more similar to natural intelligence. Transfer learning has been suggested a remedy to relax the need for data annotation. The core idea in transfer learning is to transfer knowledge across similar tasks and use similarities and previously learned knowledge to learn more efficiently. In this book, we provide a brief background on transfer learning and then focus on the idea of transferring knowledge through intermediate embedding spaces. The idea is to couple and relate different learning through embedding spaces that encode task-level relations and similarities. We cover various machine learning scenarios and demonstrate that this idea can be used to overcome challenges of zero-shot learning, few-shot learning, domain adaptation, continual learning, lifelong learning, and collaborative learning. |
You may like...
Dangerous Places - Health, Safety, and…
David A. Poirier, Kenneth L. Feder
Hardcover
|