![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Programming languages
Client-Centered Software Development: The CO-FOSS Approach introduces a method to creating a customized software product for a single client, either from scratch or by reusing open source components. The clients are typically non-profit humanitarian, educational, or public service organizations. This approach has been used in undergraduate courses where students learn the principles of software development while implementing a real-world software product. This book provides instructors, students, clients, and professional software developers with detailed guidance for developing a new CO-FOSS product from conceptualization to completion. Features Provides instructors, students, clients, and professional software developers with a roadmap for the development of a new CO-FOSS product from conceptualization to completion Motivates students with real-world projects and community service experiences Teaches all elements of the software process, including requirements gathering, design, collaboration, coding, testing, client communication, refactoring, and writing developer and user documentation Uses source code that can be reused and refitted to suit the needs of future projects, since each CO-FOSS product is free and open source software Provides links to a rich variety of resources for instructors and students to freely use in their own courses that develop new CO-FOSS products for other non-profits.
Program 3D Games in C++: The #1 Language at Top Game Studios Worldwide C++ remains the key language at many leading game development studios. Since it's used throughout their enormous code bases, studios use it to maintain and improve their games, and look for it constantly when hiring new developers. Game Programming in C++ is a practical, hands-on approach to programming 3D video games in C++. Modeled on Sanjay Madhav's game programming courses at USC, it's fun, easy, practical, hands-on, and complete. Step by step, you'll learn to use C++ in all facets of real-world game programming, including 2D and 3D graphics, physics, AI, audio, user interfaces, and much more. You'll hone real-world skills through practical exercises, and deepen your expertise through start-to-finish projects that grow in complexity as you build your skills. Throughout, Madhav pays special attention to demystifying the math that all professional game developers need to know. Set up your C++ development tools quickly, and get started Implement basic 2D graphics, game updates, vectors, and game physics Build more intelligent games with widely used AI algorithms Implement 3D graphics with OpenGL, shaders, matrices, and transformations Integrate and mix audio, including 3D positional audio Detect collisions of objects in a 3D environment Efficiently respond to player input Build user interfaces, including Head-Up Displays (HUDs) Improve graphics quality with anisotropic filtering and deferred shading Load and save levels and binary game data Whether you're a working developer or a student with prior knowledge of C++ and data structures, Game Programming in C++ will prepare you to solve real problems with C++ in roles throughout the game development lifecycle. You'll master the language that top studios are hiring for-and that's a proven route to success.
Powerful, flexible, easy to use-small wonder that the use of MAPLE® continues to increase, particularly since the latest releases of MAPLE. The built-in nature of its numerical and graphical facilities gives MAPLE a distinct advantage over traditional programming languages, yet to date, no textbook has used that advantage to introduce programming concepts. Moreover, few books based on MAPLE's latest versions even exist.
One of the attractive aspects of C++ is that it offers good facilities for object-oriented programming (OOP), but, as a hybrid language, it also supports procedural programming. The significance of this for programmers is that it offers more flexibility allowing them to shift to object-oriented programming if and when they feel the need to do so. In this regard, C++ differs from some purely object-oriented languages, such as Smalltalk, Eiffel and Java. This book offers practical guidance on how to programme in both styles. The C++ language and its standard library have gone through a good many improvements and extensions during their evolution. This third edition has therefore been completely revised in accordance with the C++ language revision, which is embodied in the ANSI/ISO C++ Standard. For example, the new, important type string is used throughout the book and the Standard Template Library (STL) is introduced to readers at an early stage and discussed in more detail later on. All example programs and the solutions to the exercises can be downloaded from the website. http://home.wxs.nl/ ~ammeraal/ Solutions for some of these exercises can be found in the appendix.
Designed for use in a second course on linear algebra, Matrix Theory and Applications with MATLAB covers the basics of the subject-from a review of matrix algebra through vector spaces to matrix calculus and unitary similarity-in a presentation that stresses insight, understanding, and applications. Among its most outstanding features is the integration of MATLAB throughout the text. Each chapter includes a MATLAB subsection that discusses the various commands used to do the computations in that section and offers code for the graphics and some algorithms used in the text.
Expanded to include a broader range of problems than the bestselling first edition, Finite Element Method Using MATLAB: Second Edition presents finite element approximation concepts, formulation, and programming in a format that effectively streamlines the learning process. It is written from a general engineering and mathematical perspective rather than that of a solid/structural mechanics basis.
"This book is a great way to both start learning data science through the promising Julia language and to become an efficient data scientist."- Professor Charles Bouveyron, INRIA Chair in Data Science, Universite Cote d'Azur, Nice, France Julia, an open-source programming language, was created to be as easy to use as languages such as R and Python while also as fast as C and Fortran. An accessible, intuitive, and highly efficient base language with speed that exceeds R and Python, makes Julia a formidable language for data science. Using well known data science methods that will motivate the reader, Data Science with Julia will get readers up to speed on key features of the Julia language and illustrate its facilities for data science and machine learning work. Features: Covers the core components of Julia as well as packages relevant to the input, manipulation and representation of data. Discusses several important topics in data science including supervised and unsupervised learning. Reviews data visualization using the Gadfly package, which was designed to emulate the very popular ggplot2 package in R. Readers will learn how to make many common plots and how to visualize model results. Presents how to optimize Julia code for performance. Will be an ideal source for people who already know R and want to learn how to use Julia (though no previous knowledge of R or any other programming language is required). The advantages of Julia for data science cannot be understated. Besides speed and ease of use, there are already over 1,900 packages available and Julia can interface (either directly or through packages) with libraries written in R, Python, Matlab, C, C++ or Fortran. The book is for senior undergraduates, beginning graduate students, or practicing data scientists who want to learn how to use Julia for data science. "This book is a great way to both start learning data science through the promising Julia language and to become an efficient data scientist." Professor Charles Bouveyron INRIA Chair in Data Science Universite Cote d'Azur, Nice, France
For courses in Java Programming. Introducing the fundamental concepts of programming with JavaScript A brand new textbook by Eric Roberts, Understanding Programming through JavaScript focuses on the fundamental concepts of programming, and is written for students with no prior knowledge or experience. It draws on a rich pedagogical heritage-including the immersive Karel the Robot microworld, time-testing programming guidelines, and a logical, step-by-step organization-to give them the foundational skills needed to pursue other coding languages, or a career in computer programming. Using the text, students will build their skills and develop live, interactive web applications that really work on web browsers, providing both instant feedback and gratification. This new text includes chapter openers that humanize computing, review questions for student self-testing, and many other valuable features.
This book is a vital tool for Web site developers and administrators who need to understand the law, the requirements of the disabled, and the processes of site evaluation and implementation. It includes an authoritative compendium of development tools and utilities and is packed with examples demonstrating techniques for adjusting HTML tags, scripts, and other code to improve accessibility. This is a critical resource in helping companies comply with the "effective communication" requirement of the Americans with Disabilities Act.
This book represents the proceedings of the 9th SDL Forum which was
held in Montreal, Quebec, Canada, during the week of June 21-25,
1999. The 9th SDL Forum presents papers on the past and future
development of the MSC and SDL languages.The volume presents
information on experience with the use of these languages in
industrial development projects, on tools and techniques for using
these languages in the software and hardware development process,
and other aspects of these languages.
This book demonstrates how Processing is an excellent language for beginners to learn the fundamentals of computer programming. Originally designed to make it simpler for digital artists to learn to program, Processing is a wonderful first language for anyone to learn. Given its origins, Processing enables a multimodal approach to programming instruction, well suited to students with interests in computer science or in the arts and humanities. The book uses Processing's capabilities for graphics and interactivity in order to create examples that are simple, illustrative, interesting, and fun. It is designed to appeal to a broad range of readers, including those who want to learn to program to create digital art, as well as those who seek to learn to program to process numerical information or data. It can be used by students and instructors in a first course on programming, as well as by anyone eager to teach them self to program. Following a traditional sequence of topics for introducing programming, the book introduces key computer science concepts, without overwhelming readers with extensive detail. Additional exercises are available, as are other supplementary materials for instructors looking to introduce even more computer science concepts associated with the topics. Several online chapters are also provided that introduce slightly more advanced topics in Processing, such as two-dimensional arrays, manipulation of strings, and file input and output. The conversational style and pace of the book are based upon the authors' extensive experience with teaching programming to a wide variety of beginners in a classroom. No prior programming experience is expected.
Developed from the author's many years of teaching computing courses, Programming in C plus plus for Engineering and Science guides students in designing programs to solve real problems encountered in engineering and scientific applications. These problems include radioactive decay, pollution indexes, digital circuits, differential equations, Internet addresses, data analysis, simulation, quality control, electrical networks, data encryption, beam deflection, and many other areas. To make it easier for novices to develop programs, the author uses an object-centered design approach that helps students identify the objects in a problem and the operations needed; develop an algorithm for processing; implement the objects, operations, and algorithm in a program; and test, correct, and revise the program. He also revisits topics in greater detail as the text progresses. By the end of the book, students will have a solid understanding of how C plus plus can be used to process complex objects, including how classes can be built to model objects. Web ResourceThe book's website at http://cs.calvin.edu/books/c plus plus/engr-sci provides source code, expanded presentations, links to relevant sites, reference materials, lab exercises, and projects. For instructors, solutions to exercises and PowerPoint slides for classroom use are available upon qualifying course adoption.
This book can be used as an experiment and reference book for algorithm design courses, as well as a training manual for programming contests. It contains 247 problems selected from ACM-ICPC programming contests and other programming contests. There's detailed analysis for each problem. All problems, and test datum for most of problems will be provided online. The content will follow usual algorithms syllabus, and problem-solving strategies will be introduced in analyses and solutions to problem cases. For students in computer-related majors, contestants and programmers, this book can polish their programming and problem-solving skills with familarity of algorithms and mathematics.
Your Python code may run correctly, but you need it to run faster. Updated for Python 3, this expanded edition shows you how to locate performance bottlenecks and significantly speed up your code in high-data-volume programs. By exploring the fundamental theory behind design choices, High Performance Python helps you gain a deeper understanding of Python's implementation. How do you take advantage of multicore architectures or clusters? Or build a system that scales up and down without losing reliability? Experienced Python programmers will learn concrete solutions to many issues, along with war stories from companies that use high-performance Python for social media analytics, productionized machine learning, and more. Get a better grasp of NumPy, Cython, and profilers Learn how Python abstracts the underlying computer architecture Use profiling to find bottlenecks in CPU time and memory usage Write efficient programs by choosing appropriate data structures Speed up matrix and vector computations Use tools to compile Python down to machine code Manage multiple I/O and computational operations concurrently Convert multiprocessing code to run on local or remote clusters Deploy code faster using tools like Docker
For problems that require extensive computation, a C++ program can race through billions of examples faster than most other computing choices. C++ enables mathematicians of virtually any discipline to create programs to meet their needs quickly, and is available on most computer systems at no cost. C++ for Mathematicians: An Introduction for Students and Professionals accentuates C++ concepts that are most valuable for pure and applied mathematical research. This is the first book available on C++ programming that is written specifically for a mathematical audience; it omits the language's more obscure features in favor of the aspects of greatest utility for mathematical work. The author explains how to use C++ to formulate conjectures, create images and diagrams, verify proofs, build mathematical structures, and explore myriad examples. Emphasizing the essential role of practice as part of the learning process, the book is ideally designed for undergraduate coursework as well as self-study. Each chapter provides many problems and solutions which complement the text and enable you to learn quickly how to apply them to your own problems. Accompanying downloadable resources provide all numbered programs so that readers can easily use or adapt the code as needed. Presenting clear explanations and examples from the world of mathematics that develop concepts from the ground up, C++ for Mathematicians can be used again and again as a resource for applying C++ to problems that range from the basic to the complex.
Jumpstart your MFC programming without the tedious study of C plus plus! Now you can learn C plus plus and MFC together -- learning C plus plus principles on a need-to-know basis. Author Richard Raposa has refined this tutorial over years of teaching Windows programming in quick
"Computational Physics" is designed to provide direct experience in the computer modeling of physical systems. Its scope includes the essential numerical techniques needed to "do physics" on a computer. Each of these is developed heuristically in the text, with the aid of simple mathematical illustrations. However, the real value of the book is in the eight Examples and Projects, where the reader is guided in applying these techniques to substantial problems in classical, quantum, or statistical mechanics. These problems have been chosen to enrich the standard physics curriculum at the advanced undergraduate or beginning graduate level. The book will also be useful to physicists, engineers, and chemists interested in computer modeling and numerical techniques. Although the user-friendly and fully documented programs are written in FORTRAN, a casual familiarity with any other high-level language, such as BASIC, PASCAL, or C, is sufficient. The codes in BASIC and FORTRAN are available on the web at http: //www.computationalphysics.info (Please follow the link at the bottom of the page). They are available in zip format, which can be expanded on UNIX, Window, and Mac systems with the proper software. The codes are suitable for use (with minor changes) on any machine with a FORTRAN-77 compatible compiler or BASIC compiler. The FORTRAN graphics codes are available as well. However, as they were originally written to run on the VAX, major modifications must be made to make them run on other machines.
This is the second edition of the first introductory textbook written for the FORTRAN 90 standard. It remains suitable for the novice scientific programmer, drawing on a larger number of examples and exercises in this new edition.
Build complex embedded systems faster and with lower costs by: Knowing when and how much simulation testing is appropriate Applying engineering methods to simulation design and development Using the best tools available to develop simulations. Va
Parts 1-4 of Robert Sedgewick's work provide extensive coverage of fundamental data structures and algorithms for sorting, searching, and related applications. They reflect the third edition's greater emphasis on abstract data types (ADTs). Coverage includes more than 100 key algorithms for sorting, selection, priority queue ADT implementations, and symbol table ADT (searching) implementations. Also included are new implementations of binomial queues, multiway radix sorting, Batcher's sorting networks, randomized BSTs, splay trees, skip lists, and multiway tries. Increased quantitative information gives students a more solid basis for comparing algorithms, and hundreds of new exercises reinforce their learning. Algorithms and data structures described in the book are expressed in concise implementations in C, so that students can both appreciate their fundamental properties and test them on real applications.
As Cavalli and Sarma astutely remarked in the introduction to this volume, it is quite remarkable that SDL '97 may have the first participant younger than SDL itself. SDL '97 provides the opportunity to reflect the course SDL has taken and why it has been successful over two decades where other languages addressing the same market have failed. SDL now also has a permanent companion in MSC (Message Sequence Charts). MSC today is a language in its own right and has its areas of application both in conjunction with SDL and independently or in combination with other techniques. MSC has strong structuring concepts to specify message sequences for large systems and can be used to develop scenarios, which is extremely useful for test and design environments. The SDL Forum today really is the SDL and MSC Forum.
This second edition of Compact Numerical Methods for Computers presents reliable yet compact algorithms for computational problems. As in the previous edition, the author considers specific mathematical problems of wide applicability, develops approaches to a solution and the consequent algorithm, and provides the program steps. He emphasizes useful applicable methods from various scientific research fields, ranging from mathematical physics to commodity production modeling. While the ubiquitous personal computer is the particular focus, the methods have been implemented on computers as small as a programmable pocket calculator and as large as a highly parallel supercomputer. New to the Second Edition Presents program steps as Turbo Pascal code Includes more algorithmic examples Contains an extended bibliography The accompanying software (available by coupon at no charge) includes not only the algorithm source codes, but also driver programs, example data, and several utility codes to help in the software engineering of end-user programs. The codes are designed for rapid implementation and reliable use in a wide variety of computing environments. Scientists, statisticians, engineers, and economists who prepare/modify programs for use in their work will find this resource invaluable. Moreover, since little previous training in numerical analysis is required, the book can also be used as a supplementary text for courses on numerical methods and mathematical software.
Barry Kauler explains the exacting details of Windows programming at the systems level, revealing architectural details that Microsoft has never publicly documented. Ideal for software developers who are moving applications from 3.x to Win95, the book gives how-to information and systems programming tips and tricks. The companion disk contains all example programs, source code, and utilities in the book. |
![]() ![]() You may like...
Models for Smooth Infinitesimal Analysis
Ieke Moerdijk, Gonzalo E. Reyes
Hardcover
R4,585
Discovery Miles 45 850
The Floer Memorial Volume
Helmut Hofer, Clifford H. Taubes, …
Paperback
R2,991
Discovery Miles 29 910
Monoidal Categories and Topological…
Vladimir Turaev, Alexis Virelizier
Paperback
R5,156
Discovery Miles 51 560
An Introduction to Differential Geometry…
Philippe G. Ciarlet
Hardcover
R2,993
Discovery Miles 29 930
|