|
|
Books > Computing & IT > Computer programming > Object-oriented programming (OOP)
Explore the functional programming paradigm and the different
techniques for developing better algorithms, writing more concise
code, and performing seamless testing Key Features Explore this
second edition updated to cover features like async functions and
transducers, as well as functional reactive programming Enhance
your functional programming (FP) skills to build web and server
apps using JavaScript Use FP to enhance the modularity,
reusability, and performance of apps Book DescriptionFunctional
programming is a paradigm for developing software with better
performance. It helps you write concise and testable code. To help
you take your programming skills to the next level, this
comprehensive book will assist you in harnessing the capabilities
of functional programming with JavaScript and writing highly
maintainable and testable web and server apps using functional
JavaScript. This second edition is updated and improved to cover
features such as transducers, lenses, prisms and various other
concepts to help you write efficient programs. By focusing on
functional programming, you'll not only start to write but also to
test pure functions, and reduce side effects. The book also
specifically allows you to discover techniques for simplifying code
and applying recursion for loopless coding. Gradually, you'll
understand how to achieve immutability, implement design patterns,
and work with data types for your application, before going on to
learn functional reactive programming to handle complex events in
your app. Finally, the book will take you through the design
patterns that are relevant to functional programming. By the end of
this book, you'll have developed your JavaScript skills and have
gained knowledge of the essential functional programming techniques
to program effectively. What you will learn Simplify JavaScript
coding using function composition, pipelining, chaining, and
transducing Use declarative coding as opposed to imperative coding
to write clean JavaScript code Create more reliable code with
closures and immutable data Apply practical solutions to complex
programming problems using recursion Improve your functional code
using data types, type checking, and immutability Understand
advanced functional programming concepts such as lenses and prisms
for data access Who this book is forThis book is for JavaScript
developers who want to enhance their programming skills and build
efficient web applications. Frontend and backend developers who use
various JavaScript frameworks and libraries like React, Angular, or
Node.js will also find the book helpful. Working knowledge of
ES2019 is required to grasp the concepts covered in the book
easily.
A recipe-based guide to refining your C++ programming skills with
the help of coding best practices, advanced programming concepts,
and the latest features of C++17 and C++20 Key Features Learn how
to develop and design your own libraries Find solutions to your app
development problems and implement them in a highly reusable
manner, following library development best practices Explore
advanced C++ features such as containers, coroutines, and modules
Book DescriptionIf you think you've mastered C++ and know
everything it takes to write robust applications, you'll be in for
a surprise. With this book, you'll gain comprehensive insights into
C++, covering exclusive tips and interesting techniques to enhance
your app development process. You'll kick off with the basic
principles of library design and development, which will help you
understand how to write reusable and maintainable code. You'll then
discover the importance of exception safety, and how you can avoid
unexpected errors or bugs in your code. The book will take you
through the modern elements of C++, such as move semantics, type
deductions, and coroutines. As you advance, you'll delve into
template programming - the standard tool for most library
developers looking to achieve high code reusability. You'll explore
the STL and learn how to avoid common pitfalls while implementing
templates. Later, you'll learn about the problems of multithreaded
programming such as data races, deadlocks, and thread starvation.
You'll also learn high-performance programming by using
benchmarking tools and libraries. Finally, you'll discover advanced
techniques for debugging and testing to ensure code reliability. By
the end of this book, you'll have become an expert at C++
programming and will have gained the skills to solve complex
development problems with ease. What you will learn Solve common
C++ development problems by implementing solutions in a more
generic and reusable way Achieve different levels of exception
safety guarantees by introducing precise declarations Write
library-quality code that meets professional standards Practice
writing reliable, performant code that exposes consistent behavior
in programs Understand why you need to implement design patterns
and how it's done Work with complex examples to understand various
aspects of good library design Who this book is forThis book is for
intermediate and expert-level C++ developers who are looking to
explore the lesser known functionalities of the language to improve
the efficiency of their code and the way they develop applications.
Basic knowledge of object-oriented programming concepts and the
Standard Template Library (STL) is assumed.
Develop skills in Python and Quantum Computing by implementing
exciting algorithms, mathematical functions, classical searching,
data analysis, plotting data, machine learning techniques, and
quantum circuits. Key Features Create quantum circuits and
algorithms using Qiskit and run them on quantum computing hardware
and simulators Learn the Pythonic way to write elegant and
efficient code Delve into Python's advanced features, including
machine learning, analyzing data, and searching Book
DescriptionDancing with Python helps you learn Python and quantum
computing in a practical way. It will help you explore how to work
with numbers, strings, collections, iterators, and files. The book
goes beyond functions and classes and teaches you to use Python and
Qiskit to create gates and circuits for classical and quantum
computing. Learn how quantum extends traditional techniques using
the Grover Search Algorithm and the code that implements it. Dive
into some advanced and widely used applications of Python and
revisit strings with more sophisticated tools, such as regular
expressions and basic natural language processing (NLP). The final
chapters introduce you to data analysis, visualizations, and
supervised and unsupervised machine learning. By the end of the
book, you will be proficient in programming the latest and most
powerful quantum computers, the Pythonic way. What you will learn
Explore different quantum gates and build quantum circuits with
Qiskit and Python Write succinct code the Pythonic way using magic
methods, iterators, and generators Analyze data, build basic
machine learning models, and plot the results Search for
information using the quantum Grover Search Algorithm Optimize and
test your code to run efficiently Who this book is forThe book will
help you get started with coding for Python and Quantum Computing.
Basic familiarity with algebra, geometry, trigonometry, and
logarithms is required as the book does not cover the detailed
mathematics and theory of quantum computing. You can check out the
author's Dancing with Qubits book, also published by Packt, for an
approachable and comprehensive introduction to quantum computing.
Publisher's Note: Microsoft stops supporting .NET Core 3.1 in
December 2022. The newer 7th edition of this book is available that
covers .NET 7 (end-of-life May 2024) or .NET 6 (end-of-life
November 2024), with C# 11 and EF Core 7. Key Features Build
modern, cross-platform applications with .NET Core 3.0 Get up to
speed with C#, and up to date with all the latest features of C#
8.0 Start creating professional web applications with ASP.NET Core
3.0 Book DescriptionIn C# 8.0 and .NET Core 3.0 - Modern
Cross-Platform Development, Fourth Edition, expert teacher Mark J.
Price gives you everything you need to start programming C#
applications. This latest edition uses the popular Visual Studio
Code editor to work across all major operating systems. It is fully
updated and expanded with new chapters on Content Management
Systems (CMS) and machine learning with ML.NET. The book covers all
the topics you need. Part 1 teaches the fundamentals of C#,
including object-oriented programming, and new C# 8.0 features such
as nullable reference types, simplified switch pattern matching,
and default interface methods. Part 2 covers the .NET Standard
APIs, such as managing and querying data, monitoring and improving
performance, working with the filesystem, async streams,
serialization, and encryption. Part 3 provides examples of
cross-platform applications you can build and deploy, such as web
apps using ASP.NET Core or mobile apps using Xamarin.Forms. The
book introduces three technologies for building Windows desktop
applications including Windows Forms, Windows Presentation
Foundation (WPF), and Universal Windows Platform (UWP) apps, as
well as web applications, web services, and mobile apps. What you
will learn Build cross-platform applications for Windows, macOS,
Linux, iOS, and Android Explore application development with C# 8.0
and .NET Core 3.0 Explore ASP.NET Core 3.0 and create professional
web applications Learn object-oriented programming and C#
multitasking Query and manipulate data using LINQ Use Entity
Framework Core and work with relational databases Discover Windows
app development using the Universal Windows Platform and XAML Build
mobile applications for iOS and Android using Xamarin.Forms Who
this book is forReaders with some prior programming experience or
with a science, technology, engineering, or mathematics (STEM)
background, who want to gain a solid foundation with C# 8.0 and
.NET Core 3.0.
Get ready to learn Java the fun way by developing games for the
Android platform with this new and updated third edition Key
Features Learn Java, Android, and object-oriented programming from
scratch Find out how to build games including Sub Hunter, Retro
Pong, Bullet Hell, Classic Snake, and Scrolling Shooters Create and
design your own games by learning all the concepts that a game
developer must know Book DescriptionAndroid is one of the most
popular mobile operating systems today. It uses the most popular
programming language, Java, as one of the primary languages for
building apps of all types. Unlike most other Android books, this
book doesn't assume that you have any prior knowledge of Java
programming, instead helps you get started with building Android
games as a beginner. This new, improved, and updated third edition
of Learning Java by Building Android Games helps you to build
Android games from scratch. Once you've got to grips with the
fundamentals, the difficulty level increases steadily as you
explore key Java topics, such as variables, loops, methods,
object-oriented programming (OOP), and design patterns while
working with up-to-date code and supporting examples. At each
stage, you'll be able to test your understanding by implementing
the concepts that you've learned to develop a game. Toward the end,
you'll build games such as Sub Hunter, Retro Pong, Bullet Hell,
Classic Snake, and Scrolling Shooter. By the end of this Java book,
you'll not only have a solid understanding of Java and Android
basics but will also have developed five cool games for the Android
platform. What you will learn Set up a game development environment
in Android Studio Respond to a player's touch and program
intelligent enemies who can challenge the player in different ways
Explore collision detection, sprite sheets animation, simple
tracking and following, AI, parallax backgrounds, and particle
explosions Animate objects at 60 FPS and manage multiple
independent objects using OOP Work with design patterns such as
OOP, singleton, strategy, and entity-component Work with the
Android API, the SoundPool API, Paint, Canvas, Bitmap classes, and
detect version numbers Who this book is forLearning Java by
Building Android Games is for anyone who is new to Java, Android,
or game programming and wants to develop Android games. The book
will also serve as a refresher for those who already have
experience using Java on Android or any other platform but are new
to game development.
Enhance your development skills with Java's state-of-the-art
features and projects to make your applications leaner and faster
Key Features Overcome the challenges involved in migrating to new
versions of Java Discover how Oracle has bridged the gap between
Java and native code Make the best use of new Java features and
libraries in your applications Book DescriptionWith its new
six-monthly release cadence, Java is moving forward faster. In
addition to planned version releases, a lot of work is currently
being undertaken on various Java projects at Oracle. In order to
make best use of the new features in their applications and
libraries, you must be well-versed with the most recent
advancements. Java 11 and 12 - New Features will take you through
the latest developments in Java, right from variable type inference
and simplified multithreading through to performance improvements,
which are covered in depth to help you make your applications more
efficient. This book explains the relevance and applicability of
Java's new features, and answers your questions on whether to
invest in migrating to new Java versions and when to migrate.
You'll also get to grips with platform features, such as AppCDS and
new garbage collectors, to tune and optimize your application-from
reduced launch time and latency to improved performance and
throughput. By the end of this book, you will be equipped with a
thorough understanding of the new features of Java 11, 12, and
Project Amber, and possess the skills to apply them with a view to
improving your application's performance. What you will learn Study
type interference and how to work with the var type Understand
Class-Data Sharing, its benefits, and limitations Discover platform
options to reduce your application's launch time Improve
application performance by switching garbage collectors Get up to
date with the new Java release cadence Define and assess decision
criteria for migrating to a new version of Java Who this book is
forIf you're an executive or solutions architect responsible for
technology selection or Java migration decisions, this Java book is
for you. You'll also benefit from this book if you're a computer
science enthusiast curious to learn about the latest and upcoming
Java features. This book will help you migrate your solutions from
Java 8 or older to the latest Java release.
Use the computational thinking philosophy to solve complex problems
by designing appropriate algorithms to produce optimal results
across various domains Key Features Develop logical reasoning and
problem-solving skills that will help you tackle complex problems
Explore core computer science concepts and important computational
thinking elements using practical examples Find out how to identify
the best-suited algorithmic solution for your problem Book
DescriptionComputational thinking helps you to develop logical
processing and algorithmic thinking while solving real-world
problems across a wide range of domains. It's an essential skill
that you should possess to keep ahead of the curve in this modern
era of information technology. Developers can apply their knowledge
of computational thinking to solve problems in multiple areas,
including economics, mathematics, and artificial intelligence. This
book begins by helping you get to grips with decomposition, pattern
recognition, pattern generalization and abstraction, and algorithm
design, along with teaching you how to apply these elements
practically while designing solutions for challenging problems.
You'll then learn about various techniques involved in problem
analysis, logical reasoning, algorithm design, clusters and
classification, data analysis, and modeling, and understand how
computational thinking elements can be used together with these
aspects to design solutions. Toward the end, you will discover how
to identify pitfalls in the solution design process and how to
choose the right functionalities to create the best possible
algorithmic solutions. By the end of this algorithm book, you will
have gained the confidence to successfully apply computational
thinking techniques to software development. What you will learn
Find out how to use decomposition to solve problems through visual
representation Employ pattern generalization and abstraction to
design solutions Build analytical skills required to assess
algorithmic solutions Use computational thinking with Python for
statistical analysis Understand the input and output needs for
designing algorithmic solutions Use computational thinking to solve
data processing problems Identify errors in logical processing to
refine your solution design Apply computational thinking in various
domains, such as cryptography, economics, and machine learning Who
this book is forThis book is for students, developers, and
professionals looking to develop problem-solving skills and tactics
involved in writing or debugging software programs and
applications. Familiarity with Python programming is required.
Software engineering has surfaced as an industrial field that is
continually evolving due to the emergence of advancing technologies
and innovative methodologies. Scrum is the most recent revolution
that is transforming traditional software procedures, which has
researchers and practitioners scrambling to find the best
techniques for implementation. The continued development of this
agile process requires an extensive level of research on up-to-date
findings and applicable practices. Agile Scrum Implementation and
Its Long-Term Impact on Organizations is a collection of innovative
research on the methods and applications of scrum practices in
developing agile software systems. The book combines perspectives
from both the academic and professional communities as the
challenges and solutions expressed by each group can create a
better understanding of how practice must be applied in the real
world of software development. While highlighting topics including
scrum adoption, iterative deployment, and human impacts, this book
is ideally designed for researchers, developers, engineers,
practitioners, academicians, programmers, students, and educators
seeking current research on practical improvements in agile
software progression using scrum methodologies.
Requirements Modeling and Coding attempts to bridge the gap between
modeling and coding and serves the growing trend of agile
development better than existing textbooks in the area. Instead of
using toy tools to create modeling and coding examples, the author
teaches IBM Rational Rhapsody as a modeling tool and Microsoft
Visual C# as a programming tool. C# is the purest object-oriented
programming language and the best tool for developing graphical
user interfaces, while Rhapsody is a visual development environment
that real software developers use to create real-time or embedded
systems.This book serves as a text for a capstone course on Systems
Analysis and Design in Information Systems programs. It
conceptualizes business objects and functions, develops business
models and software architectures, and enriches the models and the
architectures by storyboarding use cases along with user interface
designs.Instructor's resources are provided for free to instructors
who adopt the book as textbook. Please send your request to
[email protected].
|
|