![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Programming languages > General
Microsoft Foundation Class (MFC) libraries offer a modular method of development that entails the piecing together of library functions to create a Windows application. MFC is an efficient approach for creating full-scale Windows applications and this is a guide for those not familiar with the object-orientated programming (OOP) methods of C++ as a means to jump-start their Windows applications development. This book presents the principles of C++ that are necessary for an effective MFC programmer including encapsulation, inheritence and polymorphism, and then the book presents MFC projects to give the reader a practical experience in Windows programming.
Digital Image Processing with C++ presents the theory of digital image processing, and implementations of algorithms using a dedicated library. Processing a digital image means transforming its content (denoising, stylizing, etc.), or extracting information to solve a given problem (object recognition, measurement, motion estimation, etc.). This book presents the mathematical theories underlying digital image processing, as well as their practical implementation through examples of algorithms implemented in the C++ language, using the free and easy-to-use CImg library. Chapters cover in a broad way the field of digital image processing and proposes practical and functional implementations of each method theoretically described. The main topics covered include filtering in spatial and frequency domains, mathematical morphology, feature extraction and applications to segmentation, motion estimation, multispectral image processing and 3D visualization. Students or developers wishing to discover or specialize in this discipline, teachers and researchers wishing to quickly prototype new algorithms, or develop courses, will all find in this book material to discover image processing or deepen their knowledge in this field.
Behavioral Specifications of Businesses and Systems deals with the reading, writing and understanding of specifications. The papers presented in this book describe useful and sometimes elegant concepts, good practices (in programming and in specifications), and solid underlying theory that is of interest and importance to those who deal with increased complexity of business and systems. Most concepts have been successfully used in actual industrial projects, while others are from the forefront of research. Authors include practitioners, business thinkers, academics and applied mathematicians. These seemingly different papers address different aspects of a single problem - taming complexity. Behavioral Specifications of Businesses and Systems emphasizes simplicity and elegance in specifications without concentrating on particular methodologies, languages or tools. It shows how to handle complexity, and, specifically, how to succeed in understanding and specifying businesses and systems based upon precise and abstract concepts. It promotes reuse of such concepts, and of constructs based on them, without taking reuse for granted. Behavioral Specifications of Businesses and Systems is the second volume of papers based on a series of workshops held alongside ACM's annual conference on Object-Oriented Programming Systems Languages and Applications (OOPSLA) and European Conference on Object-Oriented Programming (ECOOP). The first volume, Object-Oriented Behavioral Specifications, edited by Haim Kilov and William Harvey, was published by Kluwer Academic Publishers in 1996.
The purpose of network performance analysis is to investigate how traffic-management mechanisms deployed in the network affect the allocation of resources amongst its users and the performance they experience. This topic can be studied by the construction of models of traffic management mechanisms and observing how they perform by applying them to some flow of network traffic. This useful volume introduces concepts and principles of network performance analysis by example, using the J programming language. J is rich in mathematical functionality, which makes it an ideal tool for analytical methods. The book favours a practical approach and develops functions in J to demonstrate mathematical concepts, thereby enabling readers to explore the underlying principles behind network performance analysis. In addition, this allows the subject to become more accessible to those who, although have a mathematical background, are not pure mathematicians. Topics and features: a [ Uses an example-driven approach to introduce the fundamentals of network performance analysis a [ Provides a concise introduction to the J programming language a [ Presents network calculus as a method for designing and engineering networks a [ Focuses on statistical analysis and stochastic processes a [ Demonstrates how to simulate traffic with both short-range and long-range dependence properties a [ Covers ATM QoS, and examines Internet congestion control Network Performance Analysis will equally appeal to network professionals and postgraduates studying the topic by providing valuable analytical tools and using J as a means of offering a practical treatment of the subject. Dr. Holthas a broad range of industry experience and now regularly lectures on this topic.
Programming Languages: An Active Learning Approach introduces students to three programming paradigms: object-oriented/imperative languages using C++ and Ruby, functional languages using Standard ML, and logic programming using Prolog. This interactive textbook is intended to be used in and outside of class. Each chapter follows a pattern of presenting a topic followed by a practice exercise or exercises that encourage students to try what they have just read. This textbook is best-suited for students with a 2-3 course introduction to imperative programming. Key Features: (1) Accessible structure guides the student through various programming languages. (2) Seamlessly integrated practice exercises. (3) Classroom-tested. (4) Online support materials. Advance praise:
"Exceptional C++" shows by example how to go about sound software engineering in standard C++. Do you enjoy solving thorny C++ problems and puzzles? Do you relish writing robust and extensible code? Then take a few minutes and challenge yourself with some tough C++ design and programming problems. The puzzles and problems in "Exceptional C++" not only entertain, they will help you hone your skills to become the sharpest C++ programmer you can be. Many of these problems are culled from the famous "Guru of the Week" feature of the Internet newsgroup comp.lang.c++.moderated, expanded and updated to conform to the official ISO/ANSI C++ Standard. Each problem is rated according to difficulty and is designed to illustrate subtle programming mistakes or design considerations. After you've had a chance to attempt a solution yourself, the book then dissects the code, illustrates what went wrong, and shows how the problem can be fixed. Covering a broad range of C++ topics, the problems and solutions address critical issues such as:
Try your skills against the C++ masters and come away with the
insight and experience to create more efficient, effective, robust,
and portable C++ code.
This textbook presents methods and techniques for time series analysis and forecasting and shows how to use Python to implement them and solve data science problems. It covers not only common statistical approaches and time series models, including ARMA, SARIMA, VAR, GARCH and state space and Markov switching models for (non)stationary, multivariate and financial time series, but also modern machine learning procedures and challenges for time series forecasting. Providing an organic combination of the principles of time series analysis and Python programming, it enables the reader to study methods and techniques and practice writing and running Python code at the same time. Its data-driven approach to analyzing and modeling time series data helps new learners to visualize and interpret both the raw data and its computed results. Primarily intended for students of statistics, economics and data science with an undergraduate knowledge of probability and statistics, the book will equally appeal to industry professionals in the fields of artificial intelligence and data science, and anyone interested in using Python to solve time series problems.
Program synthesis is a solution to the software crisis. If we had a program that develops correct programs from specifications, then program validation and maintenance would disappear from the software life-cycle, and one could focus on the more creative tasks of specification elaboration, validation, and maintenance, because replay of program development would be less costly. This monograph describes a novel approach to Inductive Logic Programming (ILP), which cross-fertilizes logic programming and machine learning. Aiming at the synthesis of recursive logic programs only, and this from incomplete information, we take a software engineering approach that is more appropriate than a pure artificial intelligence approach. This book is suitable as a secondary text for graduate level courses in software engineering and artificial intelligence, and as a reference for practitioners of program synthesis.
"Handbook of Open Source Tools" introduces a comprehensive collection of advanced open source tools useful in developing software applications. The book contains information on more than 200 open-source tools which include software construction utilities for compilers, virtual-machines, database, graphics, high-performance computing, OpenGL, geometry, algebra, graph theory, GUIs and more. Special highlights for software construction utilities and application libraries are included. Each tool is covered in the context of a real like application development setting. This unique handbook presents a comprehensive discussion of advanced tools, a valuable asset used by most application developers and programmers; includes a special focus on Mathematical Open Source Software not available in most Open Source Software books, and introduces several tools (eg ACL2, CLIPS, CUDA, and COIN) which are not known outside of select groups, but are very powerful. "Handbook of Open Source Tools "is designed for application developers and programmers working with Open Source Tools. Advanced-level students concentrating on Engineering, Mathematics and Computer Science will find this reference a valuable asset as well.
Delphi is a Windows programming environment, which lets you create self-contained, user friendly Windows applications in a very short time. Your program's windows are 'drawn' on the screen, so that you can always see exactly what the eventual application will look like. This book is aimed at those who are new to programming, or new to Delphi.
Within a fabric of hope and tragedy, promises and betrayals, "The Loss of Innocence" introduces an epic tale among its three major characters of revenge and greed, war and intrigue, and the struggles between government and religion."The Loss of Innocence" explores the effects of childhood psychological trauma and the ways in which different individuals respond in their own unique ways. Joe Horgon, Chardin the High Priest, and Chardin must each overcome their childhood expectations that become shattered by the choices they make or others make for them. As adults, they will be held responsible for their actions and the effects of these on all those around them. The backdrop for this is the clash of cultures between the simple people of Torkos and the powerful Unified Territories. What begins as a big country seeking to capture and devour a smaller prey, turns into a war between good and evil, between governments and religion in which everyone may end up a loser.
Smalltalk programmers, project managers, teachers and students -- both new and experienced. This book presents a set of patterns that organize all the informal experience successful Smalltalk programmers have learned the hard way. Understand these patterns, and you can write much more effective code.
Verification is too often approached in an ad hoc fashion. Visually inspecting simulation results is no longer feasible and the directed test-case methodology is reaching its limit. Moore's Law demands a productivity revolution in functional verification methodology. Writing Testbenches Using SystemVerilog offers a clear blueprint of a verification process that aims for first-time success using the SystemVerilog language. From simulators to source management tools, from specification to functional coverage, from I's and O's to high-level abstractions, from interfaces to bus-functional models, from transactions to self-checking testbenches, from directed testcases to constrained random generators, from behavioral models to regression suites, this book covers it all. Writing Testbenches Using SystemVerilog presents many of the functional verification features that were added to the Verilog language as part of SystemVerilog. Interfaces, virtual modports, classes, program blocks, clocking blocks and others SystemVerilog features are introduced within a coherent verification methodology and usage model. Writing Testbenches Using SystemVerilog introduces the reader to all elements of a modern, scalable verification methodology. It is an introduction and prelude to the verification methodology detailed in the Verification Methodology Manual for SystemVerilog. It is a SystemVerilog version of the author's bestselling book Writing Testbenches: Functional Verification of HDL Models.
Entering the field of artificial intelligence and data science can seem daunting to beginners with little to no prior background, especially those with no programming experience. The concepts used in self-driving cars and virtual assistants like Amazon's Alexa may seem very complex and difficult to grasp. The aim of Artificial Intelligence in Python is to make AI accessible and easy to understand for people with little to no programming experience though practical exercises. Newcomers will gain the necessary knowledge on how to create such systems, which are capable of executing tasks that require some form of human-like intelligence. This book introduces readers to various topics and examples of programming in Python, as well as key concepts in artificial intelligence. Python programming skills will be imparted as we go along. Concepts and code snippets will be covered in a step-by-step manner, to guide and instill confidence in beginners. Complex subjects in deep learning and machine learning will be broken down into easy-to-digest content and examples. Artificial intelligence implementations will also be shared, allowing beginners to generate their own artificial intelligence algorithms for reinforcement learning, style transfer, chatbots, speech, and natural language processing.
LOTOS (Language Of Temporal Ordering Specification) became an international standard in 1989, although application of preliminary versions of the language to communication services and protocols of the ISO/OSI family dates back to 1984. This history of the use of LOTOS made it apparent that more advantages than the pure production of standard reference documents were to be expected from the use of such formal description techniques. LOTOSphere: Software Development with LOTOS describes in depth a five year project that moved LOTOS out of the ISO tower into software engineering practice. LOTOS became a vehicle for efficient, yet formally based industrial software specification, design, verification, implementation and testing. LOTOSphere: Software Development with LOTOS is divided into six parts. The first introduces the reader to LOTOS and the project LOTOSphere. The five remaining each treat an important part of the software development life cycle using LOTOS. This is the first book to give a comprehensive treatment of the use of these formal description techniques in a software engineering environment. It will thus be a valuable reference for researchers and software developers and can also be used as a text for an advanced course on the subject.
During the last three decades several different styles of semantics for program ming languages have been developed. This book compares two of them: the operational and the denotational approach. On the basis of several exam ples we show how to define operational and denotational semantic models for programming languages. Furthermore, we introduce a general technique for comparing various semantic models for a given language. We focus on different degrees of nondeterminism in programming lan guages. Nondeterminism arises naturally in concurrent languages. It is also an important concept in specification languages. In the examples discussed, the degree of non determinism ranges from a choice between two alternatives to a choice between a collection of alternatives indexed by a closed interval of the real numbers. The former arises in a language with nondeterministic choices. A real time language with dense choices gives rise to the latter. We also consider the nondeterministic random assignment and parallel composition, both couched in a simple language. Besides non determinism our four example languages contain some form of recursion, a key ingredient of programming languages."
Objective Caml (OCaml) is an open source programming language that allows you to utilize both functional and object-oriented programming. A very fast and efficient language, OCaml's speed is on par with the likes of C/C++, and Practical OCaml is the only book available that covers OCaml. The compiler is available for a variety of platforms, including Windows, Unix, Linux, and Apple. OCaml can be found in a variety of scientific applications and is used as a teaching language in universities. Practical OCaml teaches Objective Caml in a straightforward and practical manner. All the features of this functional programming language are taught by example. You will learn how to utilize OCaml to create a simple database, perform reporting, and create a spam filter. You will also learn how to scan complex log files, create your own network servers by creating a shoutcast server, and create a web crawler. By this book's conclusion, you'll be able to decipher when and why OCaml should be used, and be prepared to create your own applications with OCaml.
Appropriate for use as a graduate text or a professional reference, Languages for Digital Embedded Systems is the first detailed, broad survey of hardware and software description languages for embedded system design. Instead of promoting the one language that will solve all design problems (which does not and will not ever exist), this book takes the view that different problems demand different languages, and a designer who knows the spectrum of available languages has the advantage over one who is trapped using the wrong language. Languages for Digital Embedded Systems concentrates on successful, widely-used design languages, with a secondary emphasis on those with significant theoretical value. The syntax, semantics, and implementation of each language is discussed, since although hardware synthesis and software compilation technology have steadily improved, coding style still matters, and a thorough understanding of how a language is synthesized or compiled is generally necessary to take full advantage of a language. Practicing designers, graduate students, and advanced undergraduates will all benefit from this book. It assumes familiarity with some hardware or software languages, but takes a practical, descriptive view that avoids formalism.
The book provides an introduction to common programming tools and methods in numerical mathematics and scientific computing. Unlike standard approaches, it does not focus on any specific language, but aims to explain the underlying ideas. Typically, new concepts are first introduced in the particularly user-friendly Python language and then transferred and extended in various programming environments from C/C++, Julia and MATLAB to Maple and Mathematica. This includes various approaches to distributed computing. By examining and comparing different languages, the book is also helpful for mathematicians and practitioners in deciding which programming language to use for which purposes. At a more advanced level, special tools for the automated solution of partial differential equations using the finite element method are discussed. On a more experimental level, the basic methods of scientific machine learning in artificial neural networks are explained and illustrated.
"JDBC Recipes" provides easy-to-implement, usable solutions to problems in relational databases that use JDBC. You will be able to integrate these solutions into your web-based applications, such as Java servlets, JavaServer Pages, and Java server-side frameworks. This handy book allows you to cut and paste the solutions without any code changes. This book focuses on topics that have been ignored in most other JDBC books, such as database and result set metadata. It will help you develop database solutions, like adapters, connectors, and frameworks using Java/JDBC. The insightful solutions will enable you to handle all data types, including large binary objects. A unique feature of the book is that it presents JDBC solutions (result sets) in XML.
Abu?erover?owoccurswheninputiswrittenintoamemorybu?erthatisnot large enough to hold the input. Bu?er over?ows may allow a malicious person to gain control over a computer system in that a crafted input can trick the defectiveprogramintoexecutingcodethatisencodedintheinputitself.They are recognised as one of the most widespread forms of security vulnerability, and many workarounds, including new processor features, have been proposed to contain the threat. This book describes a static analysis that aims to prove the absence of bu?er over?ows in C programs. The analysis is conservative in the sense that it locates every possible over?ow. Furthermore, it is fully automatic in that it requires no user annotations in the input program. Thekeyideaoftheanalysisistoinferasymbolicstateforeachp- gram point that describes the possible variable valuations that can arise at that point. The program is correct if the inferred values for array indices and pointer o?sets lie within the bounds of the accessed bu?er. The symbolic state consists of a ?nite set of linear inequalities whose feasible points induce a convex polyhedron that represents an approximation to possible variable valuations. The book formally describes how program operations are mapped to operations on polyhedra and details how to limit the analysis to those p- tionsofstructuresandarraysthatarerelevantforveri?cation.Withrespectto operations on string bu?ers, we demonstrate how to analyse C strings whose length is determined by anul character within the string.
Advanced Logo shows how LOGO can be used as a vehicle to promote problem solving skills among secondary students, college students, and instructors. The book demonstrates the wide range of educational domains that can be explored through LOGO including generative grammars, physical laws of motion and mechanics, artificial intelligence, robotics, and calculus. |
![]() ![]() You may like...
New Perspectives on Information Systems…
Antonio Miguel Rosado da Cruz, Maria Estrela Ferreira da Cruz
Hardcover
R6,347
Discovery Miles 63 470
Spectral and High Order Methods for…
Mejdi Azaiez, Henda El Fekih, …
Hardcover
Nanotechnology for Sustainable Energy
Yun Hang Hu, Uwe Burghaus, …
Hardcover
R5,818
Discovery Miles 58 180
|