|
|
Books > Computing & IT > Computer programming
Computational experiments on algorithms can supplement theoretical
analysis by showing what algorithms, implementations, and speed-up
methods work best for specific machines or problems. This book
guides the reader through the nuts and bolts of the major
experimental questions: What should I measure? What inputs should I
test? How do I analyze the data? To answer these questions the book
draws on ideas from algorithm design and analysis, computer
systems, and statistics and data analysis. The wide-ranging
discussion includes a tutorial on system clocks and CPU timers, a
survey of strategies for tuning algorithms and data structures, a
cookbook of methods for generating random combinatorial inputs, and
a demonstration of variance reduction techniques. Numerous case
studies and examples show how to apply these concepts. All the
necessary concepts in computer architecture and data analysis are
covered so that the book can be used by anyone who has taken a
course or two in data structures and algorithms. A companion
website, AlgLab (www.cs.amherst.edu/alglab) contains downloadable
files, programs, and tools for use in experimental projects.
Improve Your Creativity, Effectiveness, and Ultimately, Your Code
In Modern Software Engineering, continuous delivery pioneer David
Farley helps software professionals think about their work more
effectively, manage it more successfully, and genuinely improve the
quality of their applications, their lives, and the lives of their
colleagues. Writing for programmers, managers, and technical leads
at all levels of experience, Farley illuminates durable principles
at the heart of effective software development. He distills the
discipline into two core exercises: learning and exploration and
managing complexity. For each, he defines principles that can help
you improve everything from your mindset to the quality of your
code, and describes approaches proven to promote success. Farley's
ideas and techniques cohere into a unified, scientific, and
foundational approach to solving practical software development
problems within realistic economic constraints. This general,
durable, and pervasive approach to software engineering can help
you solve problems you haven't encountered yet, using today's
technologies and tomorrow's. It offers you deeper insight into what
you do every day, helping you create better software, faster, with
more pleasure and personal fulfillment. Clarify what you're trying
to accomplish Choose your tools based on sensible criteria Organize
work and systems to facilitate continuing incremental progress
Evaluate your progress toward thriving systems, not just more
"legacy code" Gain more value from experimentation and empiricism
Stay in control as systems grow more complex Achieve rigor without
too much rigidity Learn from history and experience Distinguish
"good" new software development ideas from "bad" ones Register your
book for convenient access to downloads, updates, and/or
corrections as they become available. See inside book for details.
Reachable Sets of Dynamic Systems: Uncertainty, Sensitivity, and
Complex Dynamics introduces differential inclusions, providing an
overview as well as multiple examples of its interdisciplinary
applications. The design of dynamic systems of any type is an
important issue as is the influence of uncertainty in model
parameters and model sensitivity. The possibility of calculating
the reachable sets may be a powerful additional tool in such tasks.
This book can help graduate students, researchers, and engineers
working in the field of computer simulation and model building, in
the calculation of reachable sets of dynamic models.
DNA or Deoxyribonucleic Acid computing is an emerging branch of
computing that uses DNA sequence, biochemistry, and hardware for
encoding genetic information in computers. Here, information is
represented by using the four genetic alphabets or DNA bases,
namely A (Adenine), G (Guanine), C (Cytosine), and T (Thymine),
instead of the binary representation (1 and 0) used by traditional
computers. This is achieved because short DNA molecules of any
arbitrary sequence of A, G, C, and T can be synthesized to order.
DNA computing is mainly popular for three reasons: (i) speed (ii)
minimal storage requirements, and (iii) minimal power requirements.
There are many applications of DNA computing in the field of
computer science. Nowadays, DNA computing is widely used in
cryptography for achieving a strong security technique, so that
unauthorized users are unable to retrieve the original data
content. In DNA-based encryption, data are encrypted by using DNA
bases (A, T, G, and C) instead of 0 and 1. As four DNA bases are
used in the encryption process, DNA computing supports more
randomness and makes it more complex for attackers or malicious
users to hack the data. DNA computing is also used for data storage
because a large number of data items can be stored inside the
condensed volume. One gram of DNA holds approx DNA bases or approx
700 TB. However, it takes approx 233 hard disks to store the same
data on 3 TB hard disks, and the weight of all these hard disks can
be approx 151 kilos. In a cloud environment, the Data Owner (DO)
stores their confidential encrypted data outside of their own
domain, which attracts many attackers and hackers. DNA computing
can be one of the best solutions to protect the data of a cloud
server. Here, the DO can use DNA bases to encrypt the data by
generating a long DNA sequence. Another application of DNA
computing is in Wireless Sensor Network (WSN). Many researchers are
trying to improve the security of WSN by using DNA computing. Here,
DNA cryptography is used along with Secure Socket Layer (SSL) that
supports a secure medium to exchange information. However, recent
research shows some limitations of DNA computing. One of the
critical issues is that DNA cryptography does not have a strong
mathematical background like other cryptographic systems. This
edited book is being planned to bring forth all the information of
DNA computing. Along with the research gaps in the currently
available books/literature, this edited book presents many
applications of DNA computing in the fields of computer science.
Moreover, research challenges and future work directions in DNA
computing are also provided in this edited book.
The 130th volume is an eclectic volume inspired by recent issues of
interest in research and development in computer science and
computer engineering. The volume is a collection of five chapters.
Principles of Big Graph: In-depth Insight, Volume 128 in the
Advances in Computer series, highlights new advances in the field
with this new volume presenting interesting chapters on a variety
of topics, including CESDAM: Centered subgraph data matrix for
large graph representation, Bivariate, cluster and suitability
analysis of NoSQL Solutions for big graph applications, An
empirical investigation on Big Graph using deep learning, Analyzing
correlation between quality and accuracy of graph clustering,
geneBF: Filtering protein-coded gene graph data using bloom filter,
Processing large graphs with an alternative representation,
MapReduce based convolutional graph neural networks: A
comprehensive review. Fast exact triangle counting in large graphs
using SIMD acceleration, A comprehensive investigation on attack
graphs, Qubit representation of a binary tree and its operations in
quantum computation, Modified ML-KNN: Role of similarity measures
and nearest neighbor configuration in multi label text
classification on big social network graph data, Big graph based
online learning through social networks, Community detection in
large-scale real-world networks, Power rank: An interactive web
page ranking algorithm, GA based energy efficient modelling of a
wireless sensor network, The major challenges of big graph and
their solutions: A review, and An investigation on socio-cyber
crime graph.
Industrial Tomography: Systems and Applications, Second Edition
thoroughly explores the important techniques of industrial
tomography, also discusses image reconstruction, systems, and
applications. This book presents complex processes, including the
way three-dimensional imaging is used to create multiple
cross-sections, and how computer software helps monitor flows,
filtering, mixing, drying processes, and chemical reactions inside
vessels and pipelines. This book is suitable for materials
scientists and engineers and applied physicists working in the
photonics and optoelectronics industry or in the applications
industries.
Advances in Computers, Volume 127 presents innovations in computer
hardware, software, theory, design and applications, with this
updated volume including new chapters on Edge AI, Edge Computing,
Edge Analytics, Edge Data Analytics, Edge Native Applications, Edge
Platforms, Edge Computing, IoT, Internet of Things, etc.
Advances in Computers, Volume 124 presents updates on innovations
in computer hardware, software, theory, design and applications,
with this updated volume including new chapters on
Traffic-Load-Aware Virtual Channel Power-gating in
Network-on-Chips, An Efficient DVS Scheme for On-chip Networks, A
Power-Performance Balanced Network-on-Chip for Mixed CPU-GPU
Systems, Routerless Networks-on-Chip, Routing Algorithm Design for
Power- and Temperature-Aware NoCs, Approximate Communication for
Energy-Efficient Network-on-Chip, Power-Efficient NoC Design by
Partial Topology Reconfiguration, The Design of a Deflection-based
Energy-efficient On-chip Network, and Power-Gating in
Networks-on-Chip.
Advances in Computers, Volume 126 presents innovations in computer
hardware, software, theory, design and applications, with this
updated volume including new chapters on VLSI for Super-Computing:
Creativity in R+D from Applications and Algorithms to Masks and
Chips, Bulk Bitwise Execution Model in Memory: Mechanisms,
Implementation, and Evaluation, Embracing the Laws of Physics:
Three Reversible Models of Computation, WSNs in Environmental
Monitoring: Data Acquisition and Dissemination Aspects, Energy
efficient implementation of tensor operations using dataflow
paradigm for machine learning, and A Run-Time Job Scheduling
Algorithm for Cluster Architectures with DataFlow Accelerators.
Data Prefetching Techniques in Computer Systems, Volume 125
provides an in-depth review of the latest progress on data
prefetching research. Topics covered in this volume include
temporal prefetchers, spatial prefetchers, non-spatial-temporal
prefetchers, and evaluation of prefetchers, with insights on
possible future research direction. Specific chapters in this
release include Introduction to Data Prefetching, Spatial
Prefetching Techniques, Temporal Prefetching Techniques, Domino
prefetching scheme, Bingo prefetching method, and The Champion
prefetcher.
Advances in Computers, Volume 123 presents innovations in computer
hardware, software, theory, design and applications, with this
updated volume including new chapters on Downlink Resource
Allocations of Satellite-Airborne-Terrestrial Networks Integration,
Evaluating Software Testing Techniques: A Systematic Mapping Study,
The Screening Phase in Systematic Reviews: Can we speed up the
process?, A Survey on Cloud-Based Video Streaming Services, and
User Behavior-Ensemble Learning based Improving QoE Fairness in
HTTP Adaptive Streaming over SDN approach.
|
|