![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Programming languages
Learn C++ programming at your own pace-Covers modern C++ 20 Starting with one hour a day, you can gain all the skills you need to begin programming in C++. This complete tutorial will help you quickly master the basics of object-oriented programming and teach you advanced C++ language features and concepts. Fully updated for the C++20 standard, this practical book is designed to help you write C++ code that's faster, simpler, and more reliable and master the fundamentals of C++ and object-oriented programming. No programming experience required: start writing well-organized, efficient C++ programs quickly! Apply proven Do's and Don'ts to leverage best practices and avoid pitfalls from day one Test your knowledge and expertise with focused exercises after every lesson Simplify your code using automatic type deduction and other features Accelerate learning using nearly 300 code samples explained within Preview improvements expected in C++23 Lessons Part I - The Basics: Using Variables, Declaring Constants; Arrays and Strings; Expressions, Statements, and Operators; Controlling Program Flow; Functions; Pointers and References Part II - Fundamentals of Object-Oriented C++ Programming: Classes and Objects; Implementing Inheritance; Polymorphism; Operator Types and Operator Overloading; Casting Operators; Macros and Templates PART III - Learning the Standard Template Library (STL): The STL String Class; STL Dynamic Array Classes; STL list and forward_list; STL set and multiset; STL map and multimap PART IV: Lambda Expressions and STL Algorithms: Function Objects; Lambda Expressions; STL Algorithms; Adaptive Containers: Stack and Queue; Bit Flags PART V: Advanced C++ Concepts: Smart Pointers; Streams; Exception Handling; C++20 Concepts, Ranges, Views, and Adaptors; C++20 Threads; C++20 and C++23 Modules Appendixes: Working with Numbers; C++ Keywords; Writing Great C++ Code; ASCII Codes
The PC Graphics Handbook serves advanced C++ programmers dealing with the specifics of PC graphics hardware and software.
Real Application Clusters (RAC) and the Grid architecture are Oracle's strategy for scaling out enterprise systems to cope with bigger workloads and more users. Many books limit themselves by conceptualizing and theorizing about RAC technology, but this book is the first to portray implementing and administering an Oracle 10"g" RAC system in a Linux environment. This book features basic concepts underlying Linux and Oracle RAC, design strategies, hardware procurement and configuration, and many other topics. The RAC-specific technologies described include configuration of the interconnect, OCFS, ASM, Cluster Ready Services, and Grid Control. The Oracle features RMAN and Data Guard are also discussed, along with available hardware options. The authors include practical examples and configuration information, so that upon reading this book, youll be armed with the information you need to build an Oracle RAC database on Linux, whether it is on a single laptop or a 64-node Itanium cluster.
This text teaches the essentials of C programming, concentrating on what readers need to know in order to produce stand-alone programs and so solve typical scientific and engineering problems. It is a learning-by-doing book, with many examples and exercises, and lays a foundation of scientific programming concepts and techniques that will prove valuable for those who might eventually move on to another language. Written for undergraduates who are familiar with computers and typical applications but are new to programming.
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.
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. |
![]() ![]() You may like...
Elementary Stability and Bifurcation…
Gerard Iooss, Daniel D. Joseph
Hardcover
R2,769
Discovery Miles 27 690
Internet of Things - A Hands-On Approach
Arshdeep Bahga, Vijay Madisetti
Hardcover
Parallel Computer Architecture - A…
David Culler, J.P. Singh, …
Hardcover
R2,983
Discovery Miles 29 830
Learn to Design a Website for Your…
Michael Nelson, David Ezeanaka
Hardcover
R502
Discovery Miles 5 020
|