![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Programming languages
This easy-to-use, classroom-tested textbook covers the C programming language for computer science and IT students. Designed for a compulsory fundamental course, it presents the theory and principles of C. More than 500 exercises and examples of progressive difficulty aid students in understanding all the aspects and peculiarities of the C language. The exercises test students on various levels of programming and the examples enhance their concrete understanding of programming know-how. Instructor's manual and PowerPoint slides are available upon qualifying course adoption
Classroom-tested by tens of thousands of students, this new edition of the bestselling intro to programming book is for anyone who wants to understand computer science. Learn about design, algorithms, testing, and debugging. Discover the fundamentals of programming with Python 3.6--a language that's used in millions of devices. Write programs to solve real-world problems, and come away with everything you need to produce quality code. This edition has been updated to use the new language features in Python 3.6. No programming experience required! Incremental examples show you the steps and missteps that happen while developing programs, so you know what to expect when you tackle a problem on your own. Inspired by "How to Design Programs" (HtDP), discover a five-step recipe for designing functions, which helps you learn the concepts--and becomes an integral part of writing programs. In this detailed introduction to Python and to computer programming, find out exactly what happens when your programs are executed. Work with numbers, text, big data sets, and files using real-world examples. Create and use your own data types. Make your programs reliable, work with databases, download data from the web automatically, and build user interfaces. As you use the fundamental programming tools in this book, you'll see how to document and organize your code so that you and other programmers can more easily read and understand it. This new edition takes advantage of Python 3.6's new features, including type annotations on parameters, return types and variable declarations, and changes to string formatting. Most importantly, you'll learn how to think like a professional programmer. What You Need: You'll need to download Python 3.6, available from https://python.org. With that download comes IDLE, the editor we use for writing and running Python programs. (If you use Linux, you may need to install Python 3.6 and IDLE separately.)
Advance Praise for Partnering with Microsoft: 'Partnering with Microsoft is the first great book about the breathtaking culture, opportunity and roadmap for joining Microsoft's 850,000 partners cutting an impressive B swath in the marketpl
Solve real-life programming problems with a fraction of the code that pure object-oriented programming requires. Use Scala and Clojure to solve in-depth problems with two sets of patterns: object-oriented patterns that become more concise with functional programming, and natively functional patterns. Your code will be more declarative, with fewer bugs and lower maintenance costs. Functional languages have their own patterns that enable you to solve problems with less code than object-oriented programming alone. This book introduces you, the experienced Java programmer, to Scala and Clojure: practical, production-quality languages that run on the JVM and interoperate with existing Java. By using both the statically typed, type-inferred Scala and the dynamically typed, modern Lisp Clojure, you'll gain a broad understanding of functional programming. For each pattern, you'll first see the traditional object-oriented solution, and then dig into the functional replacements in both Scala and Clojure. These patterns are common in the functional world and deserve to become part of your problem-solving toolkit. On the object-oriented side, you'll see many common patterns, such as Command, Strategy, and Null Object. On the functional side, you'll learn core functional patterns such as Memoization, Lazy Sequence, and Tail Recursion. Each pattern helps you solve a common programming problem. Working through them gives you a set of patterns you can use to solve problems you come across while writing programs. Finally, you'll learn how to work your existing Java code into new Scala or Clojure projects. You can start off small, adding functional code little by little, so you can complement your existing knowledge with Scala and Clojure as these languages gain popularity on the JVM.
This book explains how to use the symbolic differentiation system D* for applications in computer games and engineering simulation. The authors describe how to create procedural 3D geometric models, link them together to form multibody physical systems, and simulate and display their physical behavior in real time. The symbolic differentiation capabilities of D* can be used in a wide variety of technical applications, including computer graphics, engineering, and mechanical simulation. Two Lagrangian physics simulation and procedural 3D geometric modeling are developed in great detail.
For courses in computer programming. Evaluates the fundamentals of contemporary computer programming languages Concepts of Computer Programming Languages introduces students to the fundamental concepts of computer programming languages and provides them with the tools necessary to evaluate contemporary and future languages. Through a critical analysis of design issues, the text teaches students the essential differences between computing with specific languages, while the in-depth discussion of programming language structures also prepares them to study compiler design. The 12th Edition includes new material on contemporary languages like Swift and Python, replacing discussions of outdated languages.
An open process of restandardization, conducted by the IEEE, has led to the definitions of the new VHDL standard. The changes make VHDL safer, more portable, and more powerful. VHDL also becomes bigger and more complete. The canonical simulator of VHDL is enriched by new mechanisms, the predefined environment is more complete, and the syntax is more regular and flexible. Discrepancies and known bugs of VHDL'87 have been fixed. However, the new VHDL'92 is compatible with VHDL'87, with some minor exceptions. This book presents the new VHDL'92 for the VHDL designer. New features are explained and classified. Examples are provided, each new feature is given a rationale and its impact on design methodology, and performance is analyzed. Where appropriate, pitfalls and traps are explained. The VHDL designer should quickly be able to find the feature needed to evaluate the benefits it brings, to modify previous VHDL'87 code to make it more efficient, more portable, and more flexible. This text should be a useful update for all VHDL designers and managers involved in electronic design.
The authoritative resource to writing clear and idiomatic Go to solve real-world problems Google's Go team member Alan A. A. Donovan and Brian Kernighan, co-author of The C Programming Language, provide hundreds of interesting and practical examples of well-written Go code to help programmers learn this flexible, and fast, language. It is designed to get you started programming with Go right away and then to progress on to more advanced topics. Basic components: an opening tutorial provides information and examples to get you off the ground and doing useful things as quickly as possible. This includes: command-line arguments gifs URLs web servers Program structure: simple examples cover the basic structural elements of a Go program without getting sidetracked by complicated algorithms or data structures. Data types: Go offers a variety of ways to organize data, with a spectrum of data types that at one end match the features of the hardware and at the other end provide what programmers need to conveniently represent complicated data structures. Composite types: arrays slices maps structs JSON test and HTML templates Functions: break a big job into smaller pieces that might well be written by different people separated by both time and space. Methods: declarations with a pointer receiver struct embedding values and expressions Interfaces: write functions that are more flexible and adaptable because they are not tied to the details of one particular implementation. Concurrent programming: Goroutines, channels, and with shared variables. Packages: use existing packages and create new ones. Automated testing: write small programs that check the code. Reflection features: update variables and inspect their values at run time. Low-level programming: step outside the usual rules to achieve the highest possible performance, interoperate with libraries written in other languages, or implement a function that cannot be expressed in pure Go. Each chapter has exercises to test your understanding and explore extensions and alternatives. Source code is freely available for download and may be conveniently fetched, built, and installed using the go get command.
A complete guide for the developer or student, this text provides an overview of general concepts and terminology, investigates the salient features of the reference processor, thoroughly explores the services and features of the reference RTOS, and culminates with a major case study. Perfect for embedded systems programmers, software engineers, electrical engineers, or firmware engineers with a programming background in C or C++.
Software "style" is about finding the perfect balance between
overhead and functionality... elegance and maintainability...
flexibility and excess. In "Exceptional C++ Style," legendary C++
guru Herb Sutter presents 40 new programming scenarios designed to
analyze not only the what but the why and help you find just the
right balance in your software. Organized around practical problems
and solutions, this book offers new insight into crucial C++
details and interrelationships, and new strategies for today's key
C++ programming techniques--including generic programming, STL,
exception safety, and more. You'll find answers to questions like:
What can you learn about library design from the STL itself?How do
you avoid making templated code needlessly non-generic?Why
shouldn't you specialize function templates? What should you do
instead? How does exception safety go beyond try and catch
statements?Should you use exception specifications, or not? When
and how should you "leak" the private parts of a class?How do you
make classes safer for versioning? What's the real memory cost of
using standard containers?How can using const really optimize your
code?How does writing inline affect performance? When does code
that looks wrong actually compile and run perfectly, and why should
you care?What's wrong with the design of std:: string? "Exceptional
C++ Style" will help you design, architect, and code with
style--and achieve greater robustness and performance in all your
C++ software.
Humans learn best from feedback-we are encouraged to take actions that lead to positive results while deterred by decisions with negative consequences. This reinforcement process can be applied to computer programs allowing them to solve more complex problems that classical programming cannot. Deep Reinforcement Learning in Action teaches you the fundamental concepts and terminology of deep reinforcement learning, along with the practical skills and techniques you'll need to implement it into your own projects. Key features * Structuring problems as Markov Decision Processes * Popular algorithms such Deep Q-Networks, Policy Gradient method and Evolutionary Algorithms and the intuitions that drive them * Applying reinforcement learning algorithms to real-world problems Audience You'll need intermediate Python skills and a basic understanding of deep learning. About the technology Deep reinforcement learning is a form of machine learning in which AI agents learn optimal behavior from their own raw sensory input. The system perceives the environment, interprets the results of its past decisions, and uses this information to optimize its behavior for maximum long-term return. Deep reinforcement learning famously contributed to the success of AlphaGo but that's not all it can do! Alexander Zai is a Machine Learning Engineer at Amazon AI working on MXNet that powers a suite of AWS machine learning products. Brandon Brown is a Machine Learning and Data Analysis blogger at outlace.com committed to providing clear teaching on difficult topics for newcomers.
An invaluable companion to the author's best selling CNC Programming Handbook, this book is a general introduction to the subject of macros (known as Custom Macros or User Macros). Its purpose is to make you aware of what macros are, how to develop them, and how to use them effectively. It also explores important related subjects and identifies several other helpful topics in this increasingly important and exciting field of CNC programming. Offers many practical do's and don'ts while covering all the popular Fanuc control systems exclusively. Provides the basis for exploring in great depth the extremely wide and rich field of programming tools that macros are. Numerous examples and sample programs are used throughout that serve as practical applications of the techniques presented and as the basis of ready-to-run macro programs. Includes a CD containing all of the sample programs.
A coherent and integrated account of the leading UML 2 semantics work and the practical applications of UML semantics development With contributions from leading experts in the field, the book begins with an introduction to UML and goes on to offer in-depth and up-to-date coverage of: The role of semantics Considerations and rationale for a UML system model Definition of the UML system model UML descriptive semantics Axiomatic semantics of UML class diagrams The object constraint language Axiomatic semantics of state machines A coalgebraic semantic framework for reasoning about interaction designs Semantics of activity diagrams Verification of UML models State invariants Model transformation specification and verification Additionally, readers are provided with expert guidance on how to resolve semantic problems and a section on applications of UML semantics with model analysis. "UML 2 Semantics and Applications" is an ideal resource for researchers and tool-builders working in UML, among others. It is also an excellent textbook for postgraduate teaching and research.
Appropriate for all courses in Tcl/Tk scripting, and many courses in Unix shell scripting. Practical Programming in Tcl/Tk, Fourth Edition is the definitive guide to Tcl/Tk programming for developers at all levels—including experienced Perl and Python programmers who want to use Tk to build high-quality, cross-platform user interfaces. Thoroughly updated for Tcl/Tk 8.4, this book brings together comprehensive, authoritative coverage of every Tcl and Tk command in the core toolkits, along with detailed examples that demonstrate the best ways to use the Tcl/Tk toolkit. Extensive new Tcl/Tk 8.4 coverage includes: the Tcl/Tk virtual filesystem (VFS); spinbox, panedwindow, labelframe, and other new widgets; and improved internationalization support. The book includes an exceptionally clear introduction to the unique Tcl programming model, as well as practical coverage of cross-platform development for Unix, Windows, and Macintosh; Web application development with the TclHttpd web server; and much more. The accompanying CD-ROM contains all sample code from the book, as well as the latest binary distributions of Tcl/Tk, Tcl extensions, and an extensive collection of Tcl/Tk freeware.
For freshman/sophomore-level courses in Assembly Language Programming, Introduction to Computer Organization, and Introduction to Computer Architecture. Students using this text will gain an understanding of how the functional components of modern computers are put together and how a computer works at the machine language level. MIPS architecture embodies the fundamental design principles of all contemporary RISC architectures. By incorporating this text into their courses, instructors will be able to prepare their undergraduate students to go on to upper-division computer organization courses.
Packed with C++ code examples and screen shots, .NET Programming with Visual C++ explains the .NET framework and managed extensions to C++, and provides a complete reference to the basic and advanced types contained in .NET Framework System namesp
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.
Developments in Lisp technology have been accelerated by a number of factors, including the increased interest in Artificial Intelligence and the emergence of Common Lisp. Advanced Lisp Technology, the fourth volume in the Advanced Information Processing Technology series, brings together various Japanese researchers working in the field of Lisp technology and reflects the growing interest in parallel and distributed processing. The book is divided into four parts. The first examines Lisp systems design and implementation in a wide variety of parallel and distributed computing environments, which provide the base system with constructs for parallel computation. The second part consists of papers on language features such as evaluation strategy for parallel symbolic computation, extension of first-class continuations for parallel Scheme systems, and lightweight process for real-time symbolic computations. The papers in the third part discuss memory management and garbage collection, and the fourth group of papers consider the programming environment. Graduates, researchers and professional programmers involved with programming language systems, list processing and garbage collection will find this book a valuable compilation of recent research in these fields.
Originally published in 1966. Professor Rescher's aim is to develop a "logic of commands" in exactly the same general way which standard logic has already developed a "logic of truth-functional statement compounds" or a "logic of quantifiers". The object is to present a tolerably accurate and precise account of the logically relevant facets of a command, to study the nature of "inference" in reasonings involving commands, and above all to establish a viable concept of validity in command inference, so that the logical relationships among commands can be studied with something of the rigour to which one is accustomed in other branches of logic.
The Foundational Hands-On Skills You Need to Dive into Data Science "Freeman and Ross have created the definitive resource for new and aspiring data scientists to learn foundational programming skills." -From the foreword by Jared Lander, series editor Using data science techniques, you can transform raw data into actionable insights for domains ranging from urban planning to precision medicine. Programming Skills for Data Science brings together all the foundational skills you need to get started, even if you have no programming or data science experience. Leading instructors Michael Freeman and Joel Ross guide you through installing and configuring the tools you need to solve professional-level data science problems, including the widely used R language and Git version-control system. They explain how to wrangle your data into a form where it can be easily used, analyzed, and visualized so others can see the patterns you've uncovered. Step by step, you'll master powerful R programming techniques and troubleshooting skills for probing data in new ways, and at larger scales. Freeman and Ross teach through practical examples and exercises that can be combined into complete data science projects. Everything's focused on real-world application, so you can quickly start analyzing your own data and getting answers you can act upon. Learn to Install your complete data science environment, including R and RStudio Manage projects efficiently, from version tracking to documentation Host, manage, and collaborate on data science projects with GitHub Master R language fundamentals: syntax, programming concepts, and data structures Load, format, explore, and restructure data for successful analysis Interact with databases and web APIs Master key principles for visualizing data accurately and intuitively Produce engaging, interactive visualizations with ggplot and other R packages Transform analyses into sharable documents and sites with R Markdown Create interactive web data science applications with Shiny Collaborate smoothly as part of a data science team Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
The huge proliferation of security vulnerability exploits, worms, and viruses place an incredible drain on both cost and confidence for manufacturers and consumers. The release of trustworthy code requires a specific set of skills and techniques, but this information is often dispersed and decentralized, encrypted in its own jargon and terminology, and can take a colossal amount of time and data mining to find. Written in simple, common terms, Testing Code Security is a consolidated resource designed to teach beginning and intermediate testers the software security concepts needed to conduct relevant and effective tests. Answering the questions pertinent to all testing procedures, the book considers the differences in process between security testing and functional testing, the creation of a security test plan, the benefits and pitfalls of threat-modeling, and the identification of root vulnerability problems and how to test for them. The book begins with coverage of foundation concepts, the process of security test planning, and the test pass. Offering real life examples, it presents various vulnerabilities and attacks and explains the testing techniques appropriate for each. It concludes with a collection of background overviews on related topics to fill common knowledge gaps. Filled with cases illustrating the most common classes of security vulnerabilities, the book is written for all testers working in any environment, and it gives extra insight to threats particular to Microsoft Windows (R) platforms. Providing a practical guide on how to carry out the task of security software testing, Testing Code Security gives the reader the knowledge needed to begin testing software security for any project and become an integral part in the drive to produce better software security and safety.
Illustrating the relevance of linear approximation in a variety of fields, Numerical Linear Approximation in C presents a unique collection of linear approximation algorithms that can be used to analyze, model, and compress discrete data. Developed by the lead author, the algorithms have been successfully applied to several engineering projects at the National Research Council of Canada. Basing most of the algorithms on linear programming techniques, the book begins with an introductory section that covers applications, the simplex method, and matrices. The next three parts focus on various L1, Chebyshev, and least squares approximations, including one-sided, bounded variables, and piecewise. The final section presents the solution of underdetermined systems of consistent linear equations that are subject to different constraints on the elements of the unknown solution vector. Except in the preliminary section, all chapters include the C functions of the algorithms, along with drivers that contain numerous test case examples and results. The accompanying CD-ROM also provides the algorithms written in C code as well as the test drivers. To use the software, it is not required to understand the theory behind each function.
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.
This book presents the basic knowledge and illustrative examples to build dynamic and robust web applications using the .NET Framework technology. It stresses the use of code-behind procedural coding and useful for those interested in web application development and to visual basic programmers.
Fearlessly change the design of your iOS code with solid unit tests. Use Xcode's built-in test framework XCTest and Swift to get rapid feedback on all your code - including legacy code. Learn the tricks and techniques of testing all iOS code, especially view controllers (UIViewControllers), which are critical to iOS apps. Learn to isolate and replace dependencies in legacy code written without tests. Practice safe refactoring that makes these tests possible, and watch all your changes get verified quickly and automatically. Make even the boldest code changes with complete confidence. Manual code and UI testing get slower the deeper your navigation hierarchy goes. It can take several taps just to reach a particular screen, never mind the actual workflow tests. Automatic unit testing offers such rapid feedback that it can change the rules of development. Bring testing to iOS development, even for legacy code. Use XCTest to write unit tests in Swift for all your code. iOS developers typically reserve unit tests for their model classes alone. But that approach skips most of the code common to iOS apps, especially with UIViewControllers. Learn how to unit test these view controllers to expand your unit testing possibilities. Since good unit tests form the bedrock for safe refactoring, you're empowered to make bold changes. Learn how to avoid the most common mistakes Swift programmers make with the XCTest framework. Use code coverage to find holes in your test suites. Learn how to identify hard dependencies. Reshape the design of your code quickly, with less risk and less fear. |
You may like...
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, …
Paperback
(1)R751 Discovery Miles 7 510
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R3,940
Discovery Miles 39 400
|