|
|
Books > Computing & IT > Computer programming > Object-oriented programming (OOP)
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].
Get ready for a fun-filled experience of learning Java by
developing games for the Android platform Key Features Learn Java,
Android, and object-oriented programming from scratch Build games
including Sub Hunter, Retro Pong, Bullet Hell, Classic Snake, and a
2D Scrolling Shooter Create and design your own games, such as an
open-world platform game Book DescriptionAndroid is one of the most
popular mobile operating systems presently. It uses the most
popular programming language, Java, as the primary language for
building apps of all types. However, this book is unlike other
Android books in that it doesn't assume that you already have Java
proficiency. This new and expanded second edition of Learning Java
by Building Android Games shows you how to start building Android
games from scratch. The difficulty level will grow steadily as you
explore key Java topics, such as variables, loops, methods, object
oriented programming, and design patterns, including code and
examples that are written for Java 9 and Android P. At each stage,
you will put what you've learned into practice by developing a
game. You will build games such as Minesweeper, Retro Pong, Bullet
Hell, and Classic Snake and Scrolling Shooter games. In the later
chapters, you will create a time-trial, open-world platform game.
By the end of the book, you will not only have grasped Java and
Android but will also have developed six cool games for the Android
platform. What you will learn Set up a game development environment
in Android Studio Implement screen locking, screen rotation, pixel
graphics, and play sound effects Respond to a player's touch, and
program intelligent enemies who challenge the player in different
ways Learn game development concepts, such as collision detection,
animating sprite sheets, simple tracking and following, AI,
parallax backgrounds, and particle explosions Animate objects at 60
frames per second (FPS) and manage multiple independent objects
using Object-Oriented Programming (OOP) Understand the essentials
of game programming, such as design patterns, object-oriented
programming, Singleton, strategy, and entity-component patterns
Learn how to use the Android API, including Activity lifecycle,
detecting version number, SoundPool API, Paint, Canvas, and Bitmap
classes Build a side-scrolling shooter and an open world 2D
platformer using advanced OOP concepts and programming patterns Who
this book is forLearning Java by Building Android Games is for you
if you are completely new to Java, Android, or game programming and
want to make Android games. This book also acts as a refresher for
those who already have experience of using Java on Android or any
other platform without game development experience.
Enhance your career options with this well-crafted object-oriented
programming language that enjoys the support of an enormous
ecosystem of tools and libraries Key Features Get introduced to
Java, its features, and its ecosystem Understand how Java uses
object-oriented programming Become an expert Java exception handler
Book DescriptionSince its inception, Java has stormed the
programming world. Its features and functionalities provide
developers with the tools needed to write robust cross-platform
applications. Java Fundamentals introduces you to these tools and
functionalities that will enable you to create Java programs. The
book begins with an introduction to the language, its philosophy,
and evolution over time, until the latest release. You'll learn how
the javac/java tools work and what Java packages are - the way a
Java program is usually organized. Once you are comfortable with
this, you'll be introduced to advanced concepts of the language,
such as control flow keywords. You'll explore object-oriented
programming and the part it plays in making Java what it is. In the
concluding chapters, you'll get to grips with classes, typecasting,
and interfaces, and understand the use of data structures, arrays,
strings, handling exceptions, and creating generics. By the end of
this book, you will have learned to write programs, automate tasks,
and follow advanced courses on algorithms and data structures or
explore more advanced Java courses. What you will learn Create and
run Java programs Use data types, data structures, and control flow
in your code Implement best practices while creating objects Work
with constructors and inheritance Understand advanced data
structures to organize and store data Employ generics for stronger
check-types during compilation Learn to handle exceptions in your
code Who this book is forJava Fundamentals is designed for tech
enthusiasts who are familiar with some programming languages and
want a quick introduction to the most important principles of Java.
Learn to create high-performance, error-free programs by
understanding the core principles and techniques behind programming
in C++ Key Features Gain a solid understanding of the syntax and
anatomy of C++ Implement best practices when building
high-performance C++ programs Prepare for real-world development
tasks by tackling engaging activities Book DescriptionC++ is the
backbone of many games, GUI-based applications, and operating
systems. Learning C++ effectively is more than a matter of simply
reading through theory, as the real challenge is understanding the
fundamentals in depth and being able to use them in the real world.
If you're looking to learn C++ programming efficiently, this
Workshop is a comprehensive guide that covers all the core features
of C++ and how to apply them. It will help you take the next big
step toward writing efficient, reliable C++ programs. The C++
Workshop begins by explaining the basic structure of a C++
application, showing you how to write and run your first program to
understand data types, operators, variables and the flow of control
structures. You'll also see how to make smarter decisions when it
comes to using storage space by declaring dynamic variables during
program runtime. Moving ahead, you'll use object-oriented
programming (OOP) techniques such as inheritance, polymorphism, and
class hierarchies to make your code structure organized and
efficient. Finally, you'll use the C++ standard library?s built-in
functions and templates to speed up different programming tasks. By
the end of this C++ book, you will have the knowledge and skills to
confidently tackle your own ambitious projects and advance your
career as a C++ developer. What you will learn Understand how a C++
program is written, executed, and compiled Efficiently work with
the essential C++ data types and variables Build your own C++
applications by writing clear and error-free code Grasp the core
principles behind object-oriented programming Simplify your code by
using templates and the standard library Debug logical errors and
handle exceptions in your program Who this book is forThis Workshop
is for anyone who is new to C++ who wants to build a strong
foundation for C++ game programming or application development.
Basic prior knowledge of data structures and OOP concepts, as well
as experience in any other programming language, will help you
grasp the concepts covered in this book more easily.
Get started with C# and strengthen your knowledge of core
programming concepts such as procedural, object-oriented, generic,
functional, and asynchronous programming along with the latest
features of C# 8 Key Features Learn the fundamentals of C# with the
help of easy-to-follow examples and explanations Leverage the
latest features of C# 8, including nullable reference types,
pattern matching enhancements, and asynchronous streams Explore
object-oriented programming, functional programming, and
multithreading concepts Book DescriptionThe C# programming language
is often developers' primary choice for creating a wide range of
applications for desktop, cloud, and mobile. In nearly two decades
of its existence, C# has evolved from a general-purpose,
object-oriented language to a multi-paradigm language with
impressive features. This book will take you through C# from the
ground up in a step-by-step manner. You'll start with the building
blocks of C#, which include basic data types, variables, strings,
arrays, operators, control statements, and loops. Once comfortable
with the basics, you'll then progress to learning object-oriented
programming concepts such as classes and structures, objects,
interfaces, and abstraction. Generics, functional programming,
dynamic, and asynchronous programming are covered in detail. This
book also takes you through regular expressions, reflection, memory
management, pattern matching, exceptions, and many other advanced
topics. As you advance, you'll explore the .NET Core 3 framework
and learn how to use the dotnet command-line interface (CLI),
consume NuGet packages, develop for Linux, and migrate apps built
with .NET Framework. Finally, you'll understand how to run unit
tests with the Microsoft unit testing frameworks available in
Visual Studio. By the end of this book, you'll be well-versed with
the essentials of the C# language and be ready to start creating
apps with it. What you will learn Get to grips with all the new
features of C# 8 Discover how to use attributes and reflection to
build extendable applications Utilize LINQ to uniformly query
various sources of data Use files and streams and serialize data to
JSON and XML Write asynchronous code with the async-await pattern
Employ .NET Core tools to create, compile, and publish your
applications Create unit tests with Visual Studio and the Microsoft
unit testing frameworks Who this book is forIf you have little
experience in coding or C# and want to learn the essentials of C#
programming to develop powerful programming techniques, this book
is for you. It will also help aspiring programmers to write scripts
or programs to accomplish specific tasks.
Design and architect real-world scalable C++ applications by
exploring advanced techniques in low-level programming,
object-oriented programming (OOP), the Standard Template Library
(STL), metaprogramming, and concurrency Key Features Design
professional-grade, maintainable apps by learning advanced concepts
such as functional programming, templates, and networking Apply
design patterns and best practices to solve real-world problems
Improve the performance of your projects by designing concurrent
data structures and algorithms Book DescriptionC++ has evolved over
the years and the latest release - C++20 - is now available. Since
C++11, C++ has been constantly enhancing the language feature set.
With the new version, you'll explore an array of features such as
concepts, modules, ranges, and coroutines. This book will be your
guide to learning the intricacies of the language, techniques, C++
tools, and the new features introduced in C++20, while also helping
you apply these when building modern and resilient software. You'll
start by exploring the latest features of C++, and then move on to
advanced techniques such as multithreading, concurrency, debugging,
monitoring, and high-performance programming. The book will delve
into object-oriented programming principles and the C++ Standard
Template Library, and even show you how to create custom templates.
After this, you'll learn about different approaches such as
test-driven development (TDD), behavior-driven development (BDD),
and domain-driven design (DDD), before taking a look at the coding
best practices and design patterns essential for building
professional-grade applications. Toward the end of the book, you
will gain useful insights into the recent C++ advancements in AI
and machine learning. By the end of this C++ programming book,
you'll have gained expertise in real-world application development,
including the process of designing complex software. What you will
learn Understand memory management and low-level programming in C++
to write secure and stable applications Discover the latest C++20
features such as modules, concepts, ranges, and coroutines
Understand debugging and testing techniques and reduce issues in
your programs Design and implement GUI applications using Qt5 Use
multithreading and concurrency to make your programs run faster
Develop high-end games by using the object-oriented capabilities of
C++ Explore AI and machine learning concepts with C++ Who this book
is forThis C++ book is for experienced C++ developers who are
looking to take their knowledge to the next level and perfect their
skills in building professional-grade applications.
Test your Python programming skills by solving real-world problems
Key Features Access built-in documentation tools and improve your
code. Discover how to make the best use of decorator and generator
functions Enhance speed and improve concurrency by conjuring tricks
from the PyPy project Book DescriptionThis book covers the
unexplored secrets of Python, delve into its depths, and uncover
its mysteries. You'll unearth secrets related to the implementation
of the standard library, by looking at how modules actually work.
You'll understand the implementation of collections, decimals, and
fraction modules. If you haven't used decorators, coroutines, and
generator functions much before, as you make your way through the
recipes, you'll learn what you've been missing out on. We'll cover
internal special methods in detail, so you understand what they are
and how they can be used to improve the engineering decisions you
make. Next, you'll explore the CPython interpreter, which is a
treasure trove of secret hacks that not many programmers are aware
of. We'll take you through the depths of the PyPy project, where
you'll come across several exciting ways that you can improve speed
and concurrency. Finally, we'll take time to explore the PEPs of
the latest versions to discover some interesting hacks. What you
will learn Know the differences between .py and .pyc files Explore
the different ways to install and upgrade Python packages
Understand the working of the PyPI module that enhances built-in
decorators See how coroutines are different from generators and how
they can simulate multithreading Grasp how the decimal module
improves floating point numbers and their operations Standardize
sub interpreters to improve concurrency Discover Python's built-in
docstring analyzer Who this book is forWhether you've been working
with Python for a few years or you're a seasoned programmer, you'll
have a lot of new tricks to walk away with.
Design and develop high-performance, reusable, and maintainable
applications using traditional and modern Julia patterns with this
comprehensive guide Key Features Explore useful design patterns
along with object-oriented programming in Julia 1.0 Implement
macros and metaprogramming techniques to make your code faster,
concise, and efficient Develop the skills necessary to implement
design patterns for creating robust and maintainable applications
Book DescriptionDesign patterns are fundamental techniques for
developing reusable and maintainable code. They provide a set of
proven solutions that allow developers to solve problems in
software development quickly. This book will demonstrate how to
leverage design patterns with real-world applications. Starting
with an overview of design patterns and best practices in
application design, you'll learn about some of the most fundamental
Julia features such as modules, data types, functions/interfaces,
and metaprogramming. You'll then get to grips with the modern Julia
design patterns for building large-scale applications with a focus
on performance, reusability, robustness, and maintainability. The
book also covers anti-patterns and how to avoid common mistakes and
pitfalls in development. You'll see how traditional object-oriented
patterns can be implemented differently and more effectively in
Julia. Finally, you'll explore various use cases and examples, such
as how expert Julia developers use design patterns in their open
source packages. By the end of this Julia programming book, you'll
have learned methods to improve software design, extensibility, and
reusability, and be able to use design patterns efficiently to
overcome common challenges in software development. What you will
learn Master the Julia language features that are key to developing
large-scale software applications Discover design patterns to
improve overall application architecture and design Develop
reusable programs that are modular, extendable, performant, and
easy to maintain Weigh up the pros and cons of using different
design patterns for use cases Explore methods for transitioning
from object-oriented programming to using equivalent or more
advanced Julia techniques Who this book is forThis book is for
beginner to intermediate-level Julia programmers who want to
enhance their skills in designing and developing large-scale
applications.
|
|