Skip to Main Content
General Resources
Android Game Programming: A developer's guide by Horton, John
Gain the knowledge to design and build highly interactive and amazing games for your phone and tablet from scratch. Create games that run at super-smooth 60 frames per second with the help of these easy-to-follow projects. Understand the internals of a game engine by building one and seeing the reasoning behind each of the components.
Call Number: Online
ISBN: 9781787125780
Publication Date: 2016
The Art of Assembly Language by Randall Hyde
Widely respected by hackers of all kinds, The Art of Assembly Language teaches programmers how to understand assembly language and how to use it to write powerful, efficient code. Using the proven High Level Assembler (HLA) as its primary teaching tool, The Art of Assembly Language leverages your knowledge of high level programming languages to make it easier for you to quickly grasp basic assembly concepts. Among the most comprehensive references to assembly language ever published, The Art of Assembly Language, 2nd Edition has been thoroughly updated to reflect recent changes to the HLA language. All code from the book is portable to the Windows, Linux, Mac OS X, and FreeBSD operating systems.
Call Number: Online
ISBN: 9781593272074
Publication Date: 2010
Implementing Domain Specific Languages with Xtext and Xtend by Lorenzo Bettini
Leverage the latest features of Xtext and Xtend to develop a domain-specific language.Integrate Xtext with popular third party IDEs and get the best out of both worlds.Discover how to test a DSL implementation and how to customize runtime and IDE aspects of the DSLWho This Book Is ForThis book is targeted at programmers and developers who want to create a DSL with Xtext. They should have basic familiarity with Eclipse and its functionality. Previous experience with compiler implementation can be advantageous. However, this book will explain all the development stages of a DSL.What You Will LearnWrite an Xtext grammar for a DSLUse Xtend to customize all aspectsWrite constraint checks using the validator mechanismCustomize the UIWrite a code generator and an interpreter for a DSLTest the DSL implementation with JUnitMaster the Xtext scoping mechanism for symbol resolutionBuild your Xtext DSL with Maven/Tycho and GradleUse an Xtext editor in a web application and in IntelliJUnderstand best practices in DSL implementationsGet familiar with XbaseManually maintain the EMF model for an Xtext DSLIn DetailXtext is an open source Eclipse framework for implementing Domain-Specific Languages (DSLs) together with their integration in the Eclipse IDE. Xtext covers all aspects of a language infrastructure, including the parser, code generator, interpreter, and more. This book will enable you to implement DSLs efficiently, together with their IDE tooling, with Xtext and Xtend. Opening with a brief coverage of Xtext features involved in DSL implementation, the book will then introduce you to Xtend (a language that's completely interoperable with Java). You will then explore the typical programming development workflow with Xtext starting from the grammar of the DSL. The book will then explain the main concepts of Xtext, such as validation, code generation, and customizations of runtime and UI aspects. You will learn how to test a DSL implemented in Xtext with JUnit and advanced concepts such as type checking and scoping. The book will show you how to build and test your DSL with Maven/Tycho and Gradle, and how an Xtext DSL editor can also be used in a web application and in IntelliJ. You will also familiarize yourself with Xbase. At the end of the book, you will also learn how to manually maintain the EMF model for an Xtext DSL.
Call Number: Online
ISBN: 9781786464965
Publication Date: 2016
Logics and Languages for Reliability and Security - Volume 25 NATO Science for Peace and Security Series - D by J. Esparza (Editor); B. Spanfelner (Editor)
Software-intensive systems are today an integral part of many everyday products. Whilst they provide great benefits in terms of ease of use and allow for new applications, they also impose enormous responsibilities. It is vital to ensure that such applications work correctly and that any data they use remains secure. Increasing the reliability of such systems is an important and challenging research topic in current computer science.This volume presents a number of papers which formed the basis for lectures at the 2009 summer school Formal Logical Methods for System Security and Correctness. The topics include: program analysis and verification by abstract interpretation, principles and applications of refinement types, multi-valued automata and their applications, mechanized semantics with applications to program proof and compiler verification and using security policies to write secure software, among others.This book delivers an interesting and valuable overview of state-of-the-art in logic- and language-based solutions to system reliability and security to anyone concerned with the correct functioning of software systems.
Call Number: Online
ISBN: 9781607500995
Publication Date: 2010
Object-Oriented Programming Languages and Event-Driven Programming by Dorian P. Yeager
Essential concepts of programming language design and implementation are explained and illustrated in the context of the object-oriented programming language (OOPL) paradigm. Written with the upper-level undergraduate student in mind, the text begins with an introductory chapter that summarizes the essential features of an OOPL, then widens the discussion to categorize the other major paradigms, introduce the important issues, and define the essential terms. After a brief second chapter on event-driven programming (EDP), subsequent chapters are built around case studies in each of the languages Smalltalk, C++, Java, C#, and Python. Included in each case study is a discussion of the accompanying libraries, including the essential container classes. For each language, one important event-driven library is singled out and studied. Sufficient information is given so that students can complete an event-driven project in any of the given languages. After completing the course the student should have a solid set of skills in each language the instructor chooses to cover, a comprehensive overview of how these languages relate to each other, and an appreciation of the major issues in OOPL design. Key Features: *Provides essential coverage of Smalltalk origins, syntax, and semantics, a valuable asset for students wanting to understand the hybrid Objective C language *Provides detailed case studies of Smalltalk, Java, C++, C#, and Python and features a side-by-side development of the Java and C++ languages--highlighting their similarities and differences *Sets the discussion in a historical framework, tracing the roots of the OOPLs back to Simula 67. *Provides broad-based coverage of all languages, imparting essential skills as well as an appreciation for each language's design philosophy *Includes chapter summary, review questions, chapter exercises, an appendix with event-driven projects, and instructor resources
Call Number: Online
ISBN: 9781936420377
Publication Date: 2014
Programming Distributed Computing Systems by Carlos A. Varela
An introduction to fundamental theories of concurrent computation and associated programming languages for developing distributed and mobile computing systems. Starting from the premise that understanding the foundations of concurrent programming is key to developing distributed computing systems, this book first presents the fundamental theories of concurrent computing and then introduces the programming languages that help develop distributed computing systems at a high level of abstraction. The major theories of concurrent computation--including the p-calculus, the actor model, the join calculus, and mobile ambients--are explained with a focus on how they help design and reason about distributed and mobile computing systems. The book then presents programming languages that follow the theoretical models already described, including Pict, SALSA, and JoCaml. The parallel structure of the chapters in both part one (theory) and part two (practice) enable the reader not only to compare the different theories but also to see clearly how a programming language supports a theoretical model. The book is unique in bridging the gap between the theory and the practice of programming distributed computing systems. It can be used as a textbook for graduate and advanced undergraduate students in computer science or as a reference for researchers in the area of programming technology for distributed computing. By presenting theory first, the book allows readers to focus on the essential components of concurrency, distribution, and mobility without getting bogged down in syntactic details of specific programming languages. Once the theory is understood, the practical part of implementing a system in an actual programming language becomes much easier.
Call Number: Online
ISBN: 9780262018982
Publication Date: 2013
Real Time Programming: Languages, Specification and Verification by R. K. Shyamasundar; S. Ramesh
The primary aim of this monograph is to present the current research efforts that have gone into/or going on in the systematic design of real-time programs. Such an effort would help researchers and users in the area to get a clear picture of the issues of specification, verification and design of real-time reactive programs. It will clearly enable us to identify languages that can be used for different kinds of applications. Obviously, in an upcoming area like this, this presentation is far from complete.The quintessence of the monograph can be captured by the following question:How can we design and develop Robust Reactive (real-time) Programs?We address this question in this monograph through the various underlying issues listed, such as characteristics of real-time/reactive programs, reactive programming languages, verification and refinements.
Call Number: Online
ISBN: 9789810225667
Publication Date: 1998
Systematic Program Design: From Clarity to Efficiency by Yanhong Annie Liu
"A systematic program design method can help developers ensure the correctness and performance of programs while minimizing the development cost. This book describes a method that starts with a clear specification of a computation and derives an efficient implementation by step-wise program analysis and transformations. The method applies to problems specified in imperative, database, functional, logic, and object-oriented programming languages with different data, control, and module abstractions. Designed for courses or self-study, this book includes numerous exercises and examples that require minimal computer science background, making it accessible to novices. Experienced practitioners and researchers will appreciate the detailed examples in a wide range of application areas including hardware design, image processing, access control, query optimization, and program analysis. The last section of the book points out directions for future studies"-- Provided by publisher.
Call Number: Online
ISBN: 9781107036604
Publication Date: 2013
Theory of Computation by George Tourlakis
"In the (meta)theory of computing, the fundamental questions of the limitations of computing are addressed. These limitations, which are intrinsic rather than technology dependent, may immediatly rule out the existence of algorithmic solutions for some problems while for others they rule out efficient solutions. The author's approach is anchored on the concrete (and assumed) practical knowledge about general computer programming, attained readers in a first year programming course, as well as the knowledge of discrete mathematics at the same level. The book develops the metatheory of general computing and builds on the reader's prior computing experience. Metatheory via the programming formalism known as Shepherdson-Sturgis Unbounded Register Machines (URM)--a straightforward abstraction of modern highlevel programming languages--is developed. Restrictions of the URM programming language are also discussed. The author has chosen to focus on the highlevel language approach of URMs as opposed to the Turing Machine since URMs relate more directly to programming learned in prior experiences. The author presents the topics of automata and languages only after readers become familiar, to some extent, with the (general) computability theory including the special computability theory of more "practical" functions, the primitive recursive functions. Automata are presented as a very restricted programming formalism, and their limitations (in expressivity) and their associated languages are studied. In addition, this book contains tools that, in principle, can search a set of algorithms to see whether a problem is solvable, or more specifically, if it can be solved by an algorithm whose computations are efficient. Chapter coverage includes: Mathematical Background; Algorithms, Computable Functions, and Computations; A Subset of the URM Language: FA and NFA; and Adding a Stack to an NFA: Pushdown Automata"-- Provided by publisher.
Call Number: Online
ISBN: 9781118014783
Publication Date: 2012
Topics in Programming Languages by Luis Manuel Cabrita Pais Homem
Topics in Programming Languages'explores the arch from the formation of alphabet and classical philosophy to artificial programming languages in the structure of one argumentative topics list: as if it were philosophy interpreted and programmed. One such endeavour is taken to tend toward phonetics and sounds of speech analysis with λ-calculus, and, ultimately, Prolog - the programming language of choice in artificial intelligence - born of the natural language processing reverie and delusion.
Call Number: Online
ISBN: 9781909287723
Publication Date: 2013
Using OpenCL Programming Massively Parallel Computers by J. Kowalik (Editor); T. Puzniakowski (Editor)
In 2011 many computer users were exploring the opportunities and the benefits of the massive parallelism offered by heterogeneous computing. In 2000 the Khronos Group, a not-for-profit industry consortium, was founded to create standard open APIs for parallel computing, graphics and dynamic media. Among them has been OpenCL, an open system for programming heterogeneous computers with components made by multiple manufacturers. This publication explains how heterogeneous computers work and how to program them using OpenCL. It also describes how to combine OpenCL with OpenGL for displaying graphical effects in real time. Chapter 1 describes briefly two older de facto standard and highly successful parallel programming systems: MPI and OpenMP. Collectively, the MPI, OpenMP, and OpenCL systems cover programming of all major parallel architectures: clusters, shared-memory computers, and the newest heterogeneous computers. Chapter 2, the technical core of the book, deals with OpenCL fundamentals: programming, hardware, and the interaction between them. Chapter 3 adds important information about such advanced issues as double-versus-single arithmetic precision, efficiency, memory use, and debugging. Chapters 2 and 3 contain several examples of code and one case study on genetic algorithms. These examples are related to linear algebra operations, which are very common in scientific, industrial, and business applications. Most of the book's examples can be found on the enclosed CD, which also contains basic projects for Visual Studio, MinGW, and GCC. This supplementary material will assist the reader in getting a quick start on OpenCL projects.
Call Number: Online
ISBN: 9781614990291
Publication Date: 2012
Web Developers Reference Guide by Joshua Johanan; Talha Khan; Ricardo Zea
Understand the essential elements of HTML, CSS, and JavaScript, including how and when to use themWalk through three of the best and most popular web development frameworks – jQuery, Bootstrap, and AngularJSReferences for any function you will need in your day-to-day web developmentWho This Book Is ForThis book is perfect for beginners, but more advanced web developers will also benefit. Laid out so you can refer to as much or as little as you need to, with this book you can exhaustively explore essential concepts for modern web developers.What You Will LearnExplore detailed explanations of all the major HTML elements and attributes, illustrated with examplesThoroughly explore CSS properties and functions and master their usageFind clear, concise descriptions of JavaScript syntax and expressionsRecognize various JavaScript design patterns and learn the basics of JavaScript object-orientated programmingImplement the latest ECMAScript 6 for client-side scripting in your web applicationsDiscover new ways to develop your website's frontend quickly and easily using BootstrapWrite JavaScript extensibly using jQuery―JavaScript's feature-rich libraryDelve into the key Node.js modules used in JavaScript server-side programmingAccess AngularJS's important modules, controllers, directives, and services quicklyIn DetailHTML, CSS, and JavaScript have come a long way since their inception to become the most widely used and powerful programming languages in the world today and the backbone of many complex web applications. Many frameworks have also been created to speed up and enhance the development of websites, such as Bootstrap, jQuery, and AngularJS. They help to make immersive web applications that provide a truly enjoyable experience.This comprehensive reference guide takes you through each topic in web development and highlights the most popular and important elements of each area. Starting with HTML, you will learn key elements and attributes and how they relate to each other. Next, you will explore CSS pseudo-classes and pseudo-elements, followed by CSS properties and functions. This will introduce you to many powerful and new selectors. You will then move on to JavaScript. This section will not just introduce functions, but will provide you with an entire reference for the language and paradigms. You will discover more about three of the most popular frameworks today―Bootstrap, which builds on CSS; jQuery, which builds on JavaScript; and AngularJS, which also builds on JavaScript. Finally, you will take a walk through Node.js, which is a server-side framework that allows you to write programs in JavaScript.
Call Number: Online
ISBN: 9781783552139
Publication Date: 2016
Programming Languages
Boost. Asio C++ Network Programming by John Torjo
What you want is an easy level of abstraction, which is just what this book provides in conjunction with Boost.Asio. Switching to Boost.Asio is just a few extra #include directives away, with the help of this practical and engaging guide.This book is great for developers that need to do network programming, who don't want to delve into the complicated issues of a raw networking API. You should be familiar with core Boost concepts, such as smart pointers and shared_from_this, resource classes (noncopyable), functors and boost::bind, boost mutexes, and the boost date/time library. Readers should also be familiar with “blocking” versus “non-blocking” operations.
Call Number: Online
ISBN: 9781782163268
Publication Date: 2013
Boost C++ Application Development Cookbook by Antony Polukhin
This book follows a cookbook approach, with detailed and practical recipes that use Boost libraries.This book is great for developers new to Boost, and who are looking to improve their knowledge of Boost and see some undocumented details or tricks. It's assumed that you will have some experience in C++ already, as well being familiar with the basics of STL. A few chapters will require some previous knowledge of multithreading and networking. You are expected to have at least one good C++ compiler and compiled version of Boost (1.53.0 or later is recommended), which will be used during the exercises within this book.
Call Number: Online
ISBN: 9781849514880
Publication Date: 2013
C++ Multithreading Cookbook by Milos Ljumovic
The book is an easy-to-follow guide for creating multi-threaded applications using C++. Each topic is thoroughly explained with multiple illustrations. Many algorithms, such as Dinning Philosophers Problem give you thorough explanations that will help you to understand and solve concurrent tasks. The book is intended for enterprise developers and programmers who wish to make use of C++ capabilities to learn the multithreaded approach. Knowledge of multithreading along with experience in C++ is an added advantage. However it is not a prerequisite.
Call Number: Online
ISBN: 9781783289790
Publication Date: 2014
Learning Object-Oriented Programming in C# 5. 0 by B. M. Harwani
Learning object-oriented programming in C♯ 5.0 is a uniquely practical, hands-on guide to the powerful features of C♯ 5.0, one of the most common, general-purpose object-oriented programming languages in use today. The examples and projects in this book progress from easy to advanced, covering the principles and benefits of object-oriented programming for developing real-world applications. With the expert guidance of programmer, author, and teacher B.M. Harwani, you will explore: object-oriented programming fundamentals; advanced class features such as generics and operator overloading; web services, LINQ, multiple threading, and security features;.NET features, including assemblies, interfaces, delegates, events; web application development, and ADO.NET; and much more. Expand your programming skills today with Learning object-oriented programming in C♯ 5.0, a refreshingly helpful guide to developing with C♯.'--
Call Number: Online
ISBN: 9781285854564
Publication Date: 2014
Modern C++ Programming Cookbook by Marius Bancila
Explore the most important language and library features of C++17, including containers, algorithms, regular expressions, threads, and more,Get going with unit testing frameworks Boost.Test, Google Test and Catch,Extend your C++ knowledge and take your development skills to new heights by making your applications fast, robust, and scalable.Who This Book Is ForIf you want to overcome difficult phases of development with C++ and leverage its features using modern programming practices, then this book is for you. The book is designed for both experienced C++ programmers as well as people with strong knowledge of OOP concepts.What You Will LearnUnderstand the standard support for threading and concurrency and learn how to put them to work on daily basic tasksLook in depth at the C++17 filesystem libraryWork with various types of string and look at the various aspects of compilationExplore functions, lambda expressions and callable objects with a focus on modern featuresLeverage the standard library and work with containers, algorithms, and iterators I/O, time and utilitiesSolve text searching and replacement problems using regular expressionsUse the new utility additions to the standard library to solve common problems developers encounter, including string_view, any, optional, and variant typesExplore the widely-used testing frameworks for C++ and implement various useful patterns and idiomsIn DetailC++ is one of the oldest and most widely used programming languages. Fast, efficient, and flexible, it is used to solve many problems. The latest versions of C++ have seen programmers change the way they code, giving up on the old-fashioned C-style programming and adopting modern C++ instead.Beginning with the modern language features, each recipe addresses a specific problem, with a discussion that explains the solution and offers insight into how it works. You will learn about concepts such as concurrency, variadic templates, lambda expressions, regular expressions, streams and filesystem utilities, algorithms and iterators, move semantics and performance, exception handling, testing, and more in the form of recipes. These recipes will ensure you can make your applications secure and fast.By the end of the book, you will understand the newer aspects of C++ 11/14/17 and will be able to overcome tasks that are time-consuming or would break your stride while developing.
Call Number: Online
ISBN: 9781786465184
Publication Date: 2017
Qt5 C++ GUI Programming Cookbook by Lee Zhi Eng
Learn to make use of Qt5 to design and customize the look-and-feel of your applicationImprove the visual quality of your application by utilizing the graphic rendering system and animation system provided by Qt5A good balance of visual presentation and its contents will make an application appealing yet functionalWho This Book Is ForThis book intended for those who want to develop software using Qt5. If you want to improve the visual quality and content presentation of your software application, this book will suit you best.What You Will LearnCustomize the look and feel of your application using the widget editor provided by Qt5Change the states of the GUI elements to make them appear in a different formAnimating the GUI elements using the built-in animation system provided by Qt5Draw 3D graphics in your application by implementing OpenGL, an industry-standard graphical library, in your projectBuild a mobile app that supports touch events and export it to your deviceParse and extract data from an XML file, then present it on your software's GUIAccess MySQL and SQLite databases to retrieve data and display it on your software's GUIIn DetailWith the advancement of computer technology, the software market is exploding with tons of software choices for the user, making their expectations higher in terms of functionality and the look and feel of the application. Therefore, improving the visual quality of your application is vital in order to overcome the market competition and stand out from the crowd.This book will teach you how to develop functional and appealing software using Qt5 through multiple projects that are interesting and fun. This book covers a variety of topics such as look-and-feel customization, GUI animation, graphics rendering, implementing Google Maps, and more. You will learn tons of useful information, and enjoy the process of working on the creative projects provided in this book.
Call Number: Online
ISBN: 9781783280278
Publication Date: 2016
Clojure for Domain-Specific Languages by Ryan D. Kelker
An example-oriented approach to develop custom domain-specific languages.If you've already developed a few Clojure applications and wish to expand your knowledge on Clojure or domain-specific languages in general, then this book is for you. If you're an absolute Clojure beginner, then you may only find the detailed examples of the core Clojure components of value. If you've developed DSLs in other languages, this Lisp and Java-based book might surprise you with the power of Clojure.
Call Number: Online
ISBN: 9781782166504
Publication Date: 2013
Clojure for Java Developers by Eduardo Diaz
Write apps for the multithreaded world with Clojure's flavor of functional programmingDiscover Clojure's features and advantages and use them in your existing projectsThe book is designed so that you'll be able put to use your existing skills and software knowledge to become a more effective Clojure developerWho This Book Is ForThis book is intended for Java developers who are looking for a way to expand their skills and understand new paradigms of programming. Whether you know a little bit about functional languages, or you are just getting started, this book will get you up and running, using your existing skills in Clojure and functional programming.What You Will LearnUnderstand the tools of the Clojure world and how they relate to Java tools and standards (such as Maven)Get to grips with immutable data structures, and what makes them feasible for everyday programmingWrite simple multi-core programs using Clojure's core concepts, such as atoms, agents and refsUnderstand that in Clojure, code is data, and take advantage of that fact by generating and manipulating code with macrosLearn how Clojure interacts with Java, how class loaders work, and how to use Clojure from Java or the other way aroundDiscover a new, more flexible meaning of polymorphism and understand that OOP is not the only way to get itUnravel the enigma of Leiningen – the building tool for ClojureIn DetailClojure offers the chance to write high quality, multi-core software faster than ever, without having to leave your current platform.This book aims to unleash the true potential of the Clojure language so you can apply it in your projects. It begins with the installation and setup of the Clojure environment before moving on to explore the language in-depth. Get acquainted with its various features, such as functional programming, concurrency, and so on with the help of example projects. Additionally, you will also learn how the tool works, and how it interacts with the Java environment.By the end of this book, you will have a firm grasp of Clojure and its features, and use them effectively to write more robust programs.
Call Number: Online
ISBN: 9781785281501
Publication Date: 2016
Learning ClojureScript by Rafik Naccache; W. David Jarvis; Allen Rohner
Set up interactive development workflows for the browser or Node.js thanks to the ClojureScript ecosystemLearn the basics of interactive single page web app development taking advantage of the functional nature of ClojureScriptDelve into advanced rich web application development concepts such as Om, along with core.async, using zippers and logic programming, and preparing code for production with testing or optimizing via the Google Closure CompilerWho This Book Is ForThis book is for web application developers who want to benefit from the power of ClojureScript to get an agile and highly productive development platform targeting JavaScript in the browser.What You Will LearnUnderstand how the ClojureScript compiler operatesSet up interactive development workflows for ClojureScriptGrasp the basics of the ClojureScript language, including basic syntax, data structures, variable scoping, namespaces, and finally the powerful sequence abstractionDelve into advanced concepts such as functional programming, macro writing, asynchronous programming and app routingDevelop simple single page web applicationsExplore techniques to make your web apps aware of the external world through external or embedded database access or OAuth 2 integrationPrepare your work for production, getting insights into schema validation, writing portable Clojure/ClojureScript code, and testingIn DetailClojureScript is an expressive language that makes it possible to easily tackle complex software development challenges. Its bias toward interactive development has made it a powerful tool, enabling high developer productivity.In this book, you will be guided through ClojureScript language concepts. Beginning with the basics, we'll introduce you to functional programming design patterns as well as a tutorial on writing ClojureScript macros. After that, we'll dive deep into the subject of single page web applications, showcasing how to build a simple one before covering various possible enhancements. We'll then move on to studying more advanced ClojureScript examples, including how to get the most mileage out of a number of popular ClojureScript libraries.
Call Number: Online
ISBN: 9781785887635
Publication Date: 2016
Mastering Clojure by Akhil Wali
Learn to handle data using sequences, reducers, and transducers in ClojureExplore the lesser known and more advanced features, constructs, and methodologies of the Clojure language and its ecosystem, such as asynchronous channels, actors, logic programming, and reactive programmingSharpen your Clojure skills through illustrative and comprehensive examplesWho This Book Is ForIf you're looking to learn more about the core libraries and dive deep into the Clojure language, then this book is ideal for you. Prior knowledge of the Clojure language is required.What You Will LearnMaximize the impact of parallelization, functional composition, and process transformation by composing reducers and transducersProcess and manipulate data using sequences, reducers, and transducers in ClojureModify and add features to the Clojure language using macrosExplore concepts from category theory and logic programming in ClojureOrchestrate parallelism and concurrency using built-in primitives as well as community libraries in ClojureHandle data with asynchronous and reactive programming methodologies and leverage it using the core.async libraryTest your code with unit tests, specs, and type checksTroubleshoot and style your code to make it more maintainableIn DetailClojure is a general-purpose language from the Lisp family with an emphasis on functional programming. It has some interesting concepts, such as immutability, gradual typing, thread-safe concurrency primitives, and macro-based metaprogramming, which help to create modern, performant, and scalable applications.Mastering Clojure will start off by exploring the details of sequences, concurrency primitives, and macros, followed by parallel, asynchronous, and reactive programming techniques. Packed with examples, this book will give you a walkthrough of orchestrating concurrency and parallelism. Later on, we'll discuss the advantages of Clojure's powerful macro system and how it also supports other programming paradigms, such as pure functional programming and logic programming. We also explain how reducers and transducers can be used to handle data in a more performant manner. Lastly, we'll show you how to test and troubleshoot your code to allow you to deploy the code faster.
Call Number: Online
ISBN: 9781785889745
Publication Date: 2016
Dart Cookbook by Ivo Balbaert
If you are a Dart developer looking to sharpen your skills, and get insight and tips on how to put that knowledge into practice, then this book is for you. You should also have a basic knowledge of HTML, and how web applications with browser clients and servers work, in order to build dynamic Dart applications.
Call Number: Online
ISBN: 9781783989621
Publication Date: 2014
Learning Dart by Dzenan Ridjanovic; Ivo Balbaert
Mastering Dart by Projects'is a step-by-step guide that aims to give you hands-on knowledge about programming in Dart using an example-based approach.If you want to become a web developer, or perhaps you already are a web developer but you want to add Dart to your tool belt, then this book is for you. This book assumes that you have at least some knowledge of HTML and how web applications work. Some previous programming experience, preferably in a modern language like C#, Java, Python, Ruby, or JavaScript, will also give you a head start. You can also work with Dart on your preferred platform, be it Linux, Mac OS X, or Windows.
Call Number: Online
ISBN: 9781849697422
Publication Date: 2013
Learning JQuery: Create Better Interaction, Design and Web Development with Simple JavaScript Techniques by Jonathan Chaffer; Karl Swedberg
This is a practical hands-on book with clear instructions and lot of code examples. It takes a simple approach, guiding you through different architectural topics using realistic sample projects. A single project is implemented using different architectural styles to make the reader understand the details of each style. There are also many small independent code samples to explain design patterns, WCF, and localization. This book is for people familiar with the ASP.NET framework using either C# or VB.NET. You don't need to be an ASP.NET guru – the book is ideal for novice and intermediate developers. If reading about application architecture usually confuses you or sends you to sleep, then this book will be perfect for you! In short, any ASP.NET programmer who is confused or disoriented reading different books or materials on architectures wondering how and what to implement in their application, will definitely benefit from this book!
Call Number: Online
ISBN: 9781849516549
Publication Date: 2011
Undocumented Secrets of MATLAB-Java Programming by Yair M. Altman
Preface The Matlab programming environment uses Java for numerous tasks, including networking, data-processing algorithms, and graphical user-interface (GUI). Matlab's internal Java classes can often be easily accessed and used by Matlab users. Matlab also enables easy access to external Java functionality, either third-party or user-created. Using Java, we can extensively customize the Matlab environment and application GUI, enabling the creation of very esthetically pleasing applications. Unlike Matlab's interface with other programming languages, the internal Java classes and the Matlab-Java interface were never fully documented by The MathWorks (TMW), the company that manufactures the Matlab product. This is really quite unfortunate: Java is one of the most widely used programming languages, having many times as many programmers as Matlab. Using this huge pool of knowledge and components can significantly improve Matlab applications. As a consultant, I often hear clients claim that Matlab is a fine programming platform for prototyping, but is not suitable for real-world modern-looking applications. This book aimed at correcting this misconception. It shows how using Java can significantly improve Matlab program appearance and functionality and that this can be done easily and even without any prior Java knowledge. In fact, many basic programming requirements cannot be achieved (or are difficult) in pure Matlab, but are very easy in Java. As a simple example, maximizing and minimizing windows is not possible in pure Matlab, but is a trivial one-liner using the underlying Java codeʹ:"--Provided by publisher.
Call Number: Online
ISBN: 9781439869031
Publication Date: 2011
Julia 1.0 Programming: Dynamic and High Performance Programming to Build Fast Scientific Applications by Balbaert, Ivo
Enter the exciting world of Julia, a high-performance language for technical computingKey FeaturesLeverage Julia's high speed and efficiency for your applicationsWork with Julia in a multi-core, distributed, and networked environmentApply Julia to tackle problems concurrently and in a distributed environmentBook DescriptionThe release of Julia 1.0 is now ready to change the technical world by combining the high productivity and ease of use of Python and R with the lightning-fast speed of C++. Julia 1.0 programming gives you a head start in tackling your numerical and data problems. You will begin by learning how to set up a running Julia platform, before exploring its various built-in types. With the help of practical examples, this book walks you through two important collection types: arrays and matrices. In addition to this, you will be taken through how type conversions and promotions work. In the course of the book, you will be introduced to the homo-iconicity and metaprogramming concepts in Julia. You will understand how Julia provides different ways to interact with an operating system, as well as other languages, and then you'll discover what macros are. Once you have grasped the basics, you'll study what makes Julia suitable for numerical and scientific computing, and learn about the features provided by Julia. By the end of this book, you will also have learned how to run external programs. This book covers all you need to know about Julia in order to leverage its high speed and efficiency for your applications.What you will learnSet up your Julia environment to achieve high productivityCreate your own types to extend the built-in type systemVisualize your data in Julia with plotting packagesExplore the use of built-in macros for testing and debugging, among other usesApply Julia to tackle problems concurrentlyIntegrate Julia with other languages such as C, Python, and MATLABWho this book is forJulia 1.0 Programming is for you if you are a statistician or data scientist who wants a crash course in the Julia programming language while building big data applications. A basic knowledge of mathematics is needed to understand the various methods that are used or created during the course of the book to exploit the capabilities that Julia is designed with.
Call Number: Online
ISBN: 9781788990059
Publication Date: 2016
Julia: High Performance Programming by Balbaert, Ivo
Leverage the power of Julia to design and develop high performing programsAbout This BookGet to know the best techniques to create blazingly fast programs with JuliaStand out from the crowd by developing code that runs faster than your peers'codeComplete an extensive data science project through the entire cycle from ETL to analytics and data visualizationWho This Book Is ForThis learning path is for data scientists and for all those who work in technical and scientific computation projects. It will be great for Julia developers who are interested in high-performance technical computing.This learning path assumes that you already have some basic working knowledge of Julia's syntax and high-level dynamic languages such as MATLAB, R, Python, or Ruby.What You Will LearnSet up your Julia environment to achieve the highest productivitySolve your tasks in a high-level dynamic language and use types for your data only when neededApply Julia to tackle problems concurrently and in a distributed environmentGet a sense of the possibilities and limitations of Julia's performanceUse Julia arrays to write high performance codeBuild a data science project through the entire cycle of ETL, analytics, and data visualizationDisplay graphics and visualizations to carry out modeling and simulation in JuliaDevelop your own packages and contribute to the Julia CommunityIn DetailIn this learning path, you will learn to use an interesting and dynamic programming language―Julia! You will get a chance to tackle your numerical and data problems with Julia. You'll begin the journey by setting up a running Julia platform before exploring its various built-in types. We'll then move on to the various functions and constructs in Julia. We'll walk through the two important collection types―arrays and matrices in Julia.You will dive into how Julia uses type information to achieve its performance goals, and how to use multiple dispatch to help the compiler emit high performance machine code. You will see how Julia's design makes code fast, and you'll see its distributed computing capabilities.By the end of this learning path, you will see how data works using simple statistics and analytics, and you'll discover its high and dynamic performance―its real strength, which makes it particularly useful in highly intensive computing tasks. This learning path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:Getting Started with Julia by Ivo BalvaertJulia High Performance by Avik SenguptaMastering Julia by Malcolm SherringtonStyle and approachThis hands-on manual will give you great explanations of the important concepts related to Julia programming.
Call Number: Online
ISBN: 9781787125704
Publication Date: 2016
Julia Cookbook by Jalem Raj Rohit
Follow a practical approach to learn Julia programming the easy wayGet an extensive coverage of Julia's packages for statistical analysisThis recipe-based approach will help you get familiar with the key concepts in JuliWho This Book Is ForThis book is for data scientists and data analysts who are familiar with the basics of the Julia language. Prior experience of working with high-level languages such as MATLAB, Python, R, or Ruby is expected.What You Will LearnExtract and handle your data with Julia using TSVs and CSVsUncover the concepts of metaprogramming in JuliaConduct statistical analysis with StatsBase.jl and Distributions.jlBuild and customize your data science models and apply them to various data science modelsSolve common problems of handling data arrays, distributions, estimation, and sampling techniquesFind out how to visualize your data with GadflyExplore big data concepts in JuliaUnderstand how to use the MapReduce frameworkIn DetailWant to handle everything that Julia can throw at you and get the most of it every day? This practical guide to programming with Julia for performing numerical computation will make you more productive and able work with data more efficiently. The book starts with the main features of Julia to help you quickly refresh your knowledge of functions, modules, and arrays. We'll also show you how to utilize the Julia language to identify, retrieve, and transform data sets so you can perform data analysis and data manipulation.Later on, you'll see how to optimize data science programs with parallel computing and memory allocation. You'll get familiar with the concepts of package development and networking to solve numerical problems using the Julia platform.This book includes recipes on identifying and classifying data science problems, data modeling, data analysis, data manipulation, metaprogramming, multidimensional arrays, and parallel computing. By the end of the book, you will acquire the skills to work more effectively with your data.
Call Number: Online
ISBN: 9781785882012
Publication Date: 2016
Julia High Performance by Avik Sengupta
Learn to code high reliability and high performance programsStand out from the crowd by developing code that runs faster than your peers'codesThis book is intended for developers who are interested in high performance technical programming.Who This Book Is ForThis book is for beginner and intermediate Julia programmers who are interested in high performance technical computing. You will have a basic familiarity with Julia syntax, and have written some small programs in the language.What You Will LearnDiscover the secrets behind Julia's speedGet a sense of the possibilities and limitations of Julia's performanceAnalyze the performance of Julia programsMeasure the time and memory taken by Julia programsCreate fast machine code using Julia's type informationDefine and call functions without compromising Julia's performanceUnderstand number types in JuliaUse Julia arrays to write high performance codeGet an overview of Julia's distributed computing capabilitiesIn DetailJulia is a high performance, high-level dynamic language designed to address the requirements of high-level numerical and scientific computing. Julia brings solutions to the complexities faced by developers while developing elegant and high performing code.Julia High Performance will take you on a journey to understand the performance characteristics of your Julia programs, and enables you to utilize the promise of near C levels of performance in Julia.You will learn to analyze and measure the performance of Julia code, understand how to avoid bottlenecks, and design your program for the highest possible performance. In this book, you will also see how Julia uses type information to achieve its performance goals, and how to use multiple dispatch to help the compiler to emit high performance machine code. Numbers and their arrays are obviously the key structures in scientific computing – you will see how Julia's design makes them fast. The last chapter will give you a taste of Julia's distributed computing capabilities.
Call Number: Online
ISBN: 9781785880919
Publication Date: 2016
Introduction to Python Programming and Developing GUI Applications with PyQT by B. M. Harwani
Teaches Python programming step-by-step through practical examples that readers can see in action right away. It begins with a solid introduction of Python from scratch, covering loops, control structures, sequences, functions, classes, and exception handling. Thereafter, the book explores file handling and GUI application development in PyQT, the powerful cross-platform GUI layout and forms builder that allows programmers to rapidly design and build widgets and dialogs. This is a great book for newbie programmers interested in learning Python
Call Number: Online
ISBN: 9781435460973
Publication Date: 2011
Maya Programming with Python Cookbook by Adrian Herbez
Improve your modelling skills and reduce your scripting problems using Python in MayaLearn to communicate with web applications using Python for easier team developmentA quick and practical answer to every problem you can have whilst scripting in Maya with PythonWho This Book Is ForThis book is for anyone that wants to use Python to get more out of Maya. It's expected that you have a decent familiarity with Maya's interface and toolset. Knowledge of Python or other programming languages is helpful, but not required.What You Will LearnFind out how to use Python scripting to automate tedious tasksCreate functional user interfaces to make scripts easy to share with othersAdd new functionality to Maya via the power of scriptingImport and export arbitrary data into and out of MayaImprove your workflow and your team's workflowCreate custom controls to make rigs that are easy to work withImplement a system to render 3D assets for isometric gamesIn DetailMaya is the premier tool for creating 3D content for film and games, but its complexity can sometimes be overwhelming. Python is a powerful scripting language with extensive support and a wide range of libraries. By using Maya's built-in support for Python scripting, it is possible to do much more, and in less time.This book is about creating powerful tools to make your Maya workflow easier, faster, and better integrated into production environments. Through a series of concrete examples, you will learn how to leverage the power of Python at every stage of a project- from modeling and texturing, to rigging and animation, and finally rendering. You will also learn how to interface Maya with larger pipelines, by reading and writing custom data and communicating with web servers. Whether you're an individual user that needs to get the most out of Maya in the least amount of time, or part of a team that needs to develop custom tools for their pipeline, this book will give you what you need.
Call Number: Online
ISBN: 9781785283987
Publication Date: 2016
Python Web Scraping - Second Edition by Katharine Jarmul; Richard Lawson
A hands-on guide to web scraping using Python with solutions to real-world problemsCreate a number of different web scrapers in Python to extract informationThis book includes practical examples on using the popular and well-maintained libraries in Python for your web scraping needsWho This Book Is ForThis book is aimed at developers who want to use web scraping for legitimate purposes. Prior programming experience with Python would be useful but not essential. Anyone with general knowledge of programming languages should be able to pick up the book and understand the principals involved.What You Will LearnExtract data from web pages with simple Python programmingBuild a concurrent crawler to process web pages in parallelFollow links to crawl a websiteExtract features from the HTMLCache downloaded HTML for reuseCompare concurrent models to determine the fastest crawlerFind out how to parse JavaScript-dependent websitesInteract with forms and sessionsWrite a beautifulsoup scraper to extract content from a static web pageImplement Python threads for concurrent code executionInvestigate headers and cookies for clues about automationIn DetailThe Internet contains the most useful set of data ever assembled, largely publicly accessible for free. However, this data is not easily reusable. It is embedded within the structure and style of websites and needs to be carefully extracted. Web scraping is becoming increasingly useful as a means to gather and make sense of the wealth of information available online.This book is the ultimate guide to using the latest features of Python 3.x to scrape data from websites. In the early chapters, you'll see how to extract data from static web pages. After covering the basics, you'll get hands-on practice in building a more sophisticated crawler using browsers, crawlers, and concurrent scrapers.You'll determine when and how to scrape data from a JavaScript-dependent website using PyQt and Selenium. You'll get a better understanding of how to submit forms on complex websites protected by CAPTCHA. You'll also learn how to create class-based scrapers with Scrapy libraries and implement your learning on real websites.By the end of the book, you will have explored testing websites with scrapers, remote scraping, best practices, working with images, and many other relevant topics.
Call Number: Online
ISBN: 9781786462589
Publication Date: 2017
Raspberry Pi Computer Architecture Essentials by Andrew K. Dennis
Explore Raspberry Pi 2's hardware through the Assembly, C/C++, and Python programming languagesExperiment with connecting electronics up to your Raspberry Pi 2 and interacting with them through softwareLearn about the Raspberry Pi 2 architecture and Raspbian operating system through innovative projectsWho This Book Is ForRaspberry Pi Computer Architecture Essentials is for those who are new to and those who are familiar with the Raspberry Pi. Each topic builds upon earlier ones to provide you with a guide to Raspberry Pi's architecture. From the novice to the expert, there is something for everyone.What You Will LearnSet up your Raspberry Pi 2 and learn about its hardwareWrite basic programs in Assembly language to learn about the ARM architectureUse C and C++ to interact with electronic componentsFind out about the Python language and how to use it to build web applicationsInteract with third-party microcontrollersExperiment with graphics and audio programmingExpand Raspberry Pi 2's storage mechanism by using external devicesDiscover Raspberry Pi 2's GPIO pins and how to interact with themIn DetailWith the release of the Raspberry Pi 2, a new series of the popular compact computer is available for you to build cheap, exciting projects and learn about programming.In this book, we explore Raspberry Pi 2's hardware through a number of projects in a variety of programming languages. We will start by exploring the various hardware components, which will provide a base for the programming projects and guide you through setting up the tools for Assembler, C/C++, and Python. We will then learn how to write multithreaded applications and Raspberry Pi 2's multi-core processor. Moving on, you'll get hands-on by expanding the storage options of the Raspberry Pi beyond the SD card and interacting with the graphics hardware. Furthermore, you will be introduced to the basics of sound programming while expanding upon your knowledge of Python while building a web server. Finally, you will learn to interact with third-party microcontrollers.From writing your first Assembly language application to programming graphics, this title guides you through the essentials.
Call Number: Online
ISBN: 9781784397975
Publication Date: 2016
Raspberry Pi Media Center by Sam Nazarko
Constructed as a set of simple-to-follow, step-by-step instructions, this book will take you through numerous aspects of creating a fully functional media center with your Raspberry Pi. It is an easy-to-follow yet comprehensive guide to setting a complete media center experience using the revolutionary ARM GNU/Linux board.This book does not require any prior knowledge of the Raspberry Pi, but it does assume you are computer literate and comfortable with Mac OS X, Linux, or Windows and concepts such as installing software.
Call Number: Online
ISBN: 9781782163022
Publication Date: 2013
Raspberry Pi User Guide by Eben Upton; Gareth Halfacree
Learn the Raspberry Pi 3 from the experts! Raspberry Pi User Guide, 4th Edition is the "unofficial official" guide to everything Raspberry Pi 3. Written by the Pi's creator and a leading Pi guru, this book goes straight to the source to bring you the ultimate Raspberry Pi 3 manual. This new fourth edition has been updated to cover the Raspberry Pi 3 board and software, with detailed discussion on its wide array of configurations, languages, and applications. You'll learn how to take full advantage of the mighty Pi's full capabilities, and then expand those capabilities even more with add-on technologies. You'll write productivity and multimedia programs, and learn flexible programming languages that allow you to shape your Raspberry Pi into whatever you want it to be. If you're ready to jump right in, this book gets you started with clear, step-by-step instruction from software installation to system customization. The Raspberry Pi's tremendous popularity has spawned an entire industry of add-ons, parts, hacks, ideas, and inventions. The movement is growing, and pushing the boundaries of possibility along with it--are you ready to be a part of it? This book is your ideal companion for claiming your piece of the Pi. Get all set up with software, and connect to other devices Understand Linux System Admin nomenclature and conventions Write your own programs using Python and Scratch Extend the Pi's capabilities with add-ons like Wi-Fi dongles, a touch screen, and more The credit-card sized Raspberry Pi has become a global phenomenon. Created by the Raspberry Pi Foundation to get kids interested in programming, this tiny computer kick-started a movement of tinkerers, thinkers, experimenters, and inventors. Where will your Raspberry Pi 3 take you? The Raspberry Pi User Guide, 3rd Edition is your ultimate roadmap to discovery. -- ONIX annotation.
Call Number: Online
ISBN: 9781119264361
Publication Date: 2016
Programming in Scala, Third Edition by Martin Odersky; Lex Spoon; Bill Venners
Artima is very pleased to publish a new edition of the best-selling book on Scala, written by the designer of the language, Martin Odersky. Co-authored by Lex Spoon and Bill Venners, this book takes a step-by-step tutorial approach to teaching you Scala. Starting with the fundamental elements of the language, Programming in Scala introduces functional programming from the practitioner's perspective, and describes advanced language features that can make you a better, more productive developer.
Call Number: Online
ISBN: 9780981531687
Publication Date: 2016
Scala Functional Programming Patterns by Atul S.Khot
Understand functional programming patterns by comparing them with the traditional object-oriented design patternsWrite robust, safer, and better code using the declarative programming paradigmAn illustrative guide for programmers to create functional programming patterns with ScalaWho This Book Is ForIf you have done Java programming before and have a basic knowledge of Scala and its syntax, then this book is an ideal choice to help you to understand the context, the applicable traditional design pattern, and the Scala way. Having previous knowledge of design patterns will help, though it is not strictly necessary.What You Will LearnGet to know about functional programming and the value Scala's FP idioms bring to the tableSolve day-to-day programming problems using functional programming idiomsSolve day-to-day programming problems using functional programming idiomsCut down the boiler-plate and express patterns simply and elegantly using Scala's concise syntaxTame system complexity by reducing the moving partsWrite easier to reason concurrent code using the actor paradigm and the Akka libraryApply recursive thinking and understand how to create solutions without mutationReuse existing code to compose new behaviorCombine the object-oriented and functional programming approaches for effective programming using ScalaIn DetailThis book begins with the rationale behind patterns to help you understand where and why each pattern is applied. You will discover what tail recursion brings to the table and learn to create solutions without mutations. It explains the concept of memorization and infinite sequences for on-demand computation. This book also takes you through Scala's stackable traits and dependency injection, a popular technique, for producing loosely-coupled software systems.You will also explore how to curry favors to your code and simplify it by deconstruction via pattern matching. You will learn to do pipeline transformations using higher order functions, such as the pipes and filters pattern, further guiding you through the increasing importance of concurrent programming and the pitfalls of traditional code concurrency. Lastly, the book takes a paradigm shift to show you the different techniques that functional programming brings to your plate.This book is an invaluable source to help you understand and perform functional programming and solve common programming problems using Scala's programming patterns.
Call Number: Online
ISBN: 9781783985845
Publication Date: 2015
Tcl/Tk: A Developer's Guide by Clif Flynt
Newly updated with over 150 pages of material on the latest Tcl extensions, Tcl/Tk: A Developer's Guide is a unique practical tutorial for professional programmers and beginners alike. Starting with a clear picture of the basics, Tcl/Tk covers the variety of tools in this'Swiss army knife'of programming languages, giving you the ability to enhance your programs, extend your application's capabilities, and become a more effective programmer. This updated edition covers all of the new features of version 8.6, including object-oriented programming and the creation of megawidgets, existing data structure implementations, themed widgets and virtual events. Extensive code snippets and online tutorials in various languages will give you a firm grasp on how to use the Tcl/Tk libraries and interpreters and, most importantly, on what constitutes an effective strategy for using Tcl/Tk. Includes the latest features of Tcl/Tk 8.6Covers Tcl development tools, popular extensions, and packages to allow developers to solve real-world problems with Tcl/Tk immediatelyProvides straightforward explanations for beginners and offers tips, style guidelines, and debugging techniques for advanced users
Call Number: Online
ISBN: 9780123847171
Publication Date: 2012
Beginning R by Mark Gardener
Conquer the complexities of this open source statistical language R is fast becoming the de facto standard for statistical computing and analysis in science, business, engineering, and related fields. This book examines this complex language using simple statistical examples, showing how R operates in a user-friendly context. Both students and workers in fields that require extensive statistical analysis will find this book helpful as they learn to use R for simple summary statistics, hypothesis testing, creating graphs, regression, and much more. It covers formula notation, complex statistics, manipulating data and extracting components, and rudimentary programming. R, the open source statistical language increasingly used to handle statistics and produces publication-quality graphs, is notoriously complex This book makes R easier to understand through the use of simple statistical examples, teaching the necessary elements in the context in which R is actually used Covers getting started with R and using it for simple summary statistics, hypothesis testing, and graphs Shows how to use R for formula notation, complex statistics, manipulating data, extracting components, and regression Provides beginning programming instruction for those who want to write their own scripts Beginning R offers anyone who needs to perform statistical analysis the information necessary to use R with confidence.
Call Number: Online
ISBN: 9781118164303
Publication Date: 2012
CoffeeScript Programming with JQuery, Rails, and Node. Js by Michael Erasmus
It's a quick guide for programming CoffeeScript and then diving into programming with Rails, jQuery, and Node.js. This book is for web developers who would like to learn programming with CoffeScript. It is also for developers who have some experience in JavaScript and are curious to learn CoffeScript and build applications with it.
Call Number: Online
ISBN: 9781849519588
Publication Date: 2012
D Cookbook by Adam Ruppe
A recipepacked reference guide filled with practical tasks that are concisely explained to develop and broaden the user's abilities with the D programming language. If you are an experienced programmer who is looking to explore a language that offers plenty of advantages over more established programming languages, this is the book for you. We assume that you are already familiar with general programming language basics, but you do not need to be a proficient user of D.
Call Number: Online
ISBN: 9781783287215
Publication Date: 2014
Functional Programming Using F# by Michael R. Hansen; Hans Rischel
Getting started In this chapter we will introduce some of the main concepts of functional programming languages. In particular we will introduce the concepts of value, expression, declaration, recursive function and type. Furthermore, to explain the meaning of programs we will introduce the notions: binding, environment and evaluation of expressions. The purpose of the chapter is to acquaint the reader with these concepts, in order to address interesting problems from the very beginning. The reader will obtain a thorough knowledge of these concepts and skills in applying them as we elaborate on them throughout this book. There is support of both compilation of F# programs to executable code and the execution of programs in an interactive mode. The programs in this book are usually illustrated by the use of the interactive mode. The interface of the interactive F# compiler is very advanced as e.g. structured values like tuples, lists, trees and functions can be communicated directly between the user and the system without any conversions. Thus, it is very easy to experiment with programs and program designs and this allows us to focus on the main structures of programs and program designs, i.e. the core of programming, as input and output of structured values can be handled by the F# system"-- Provided by publisher.
Call Number: Online
ISBN: 9781107019027
Publication Date: 2013
Gradle Essentials by Kunal Dabir; Abhinandan
Write beautiful build scripts for various types of projects effortlesslyBecome more productive by harnessing the power and elegance of the Gradle DSLLearn how to use Gradle quickly and effectively with this step-by-step guideWho This Book Is ForThis book is for Java and other JVM-based language developers who want to use Gradle or are already using Gradle on their projects.No prior knowledge of Gradle is required, but some familiarity with build-related terminologies and an understanding of the Java language would help.What You Will LearnMaster the Gradle DSL by identifying the building blocksLearn just enough Groovy for GradleSet up tests and reports for your projects to make them CI readyCreate library, stand-alone, and web projectsCraft multi-module projects quickly and efficientlyMigrate existing projects to a modern Gradle buildExtract common build logic into pluginsWrite builds for languages such as Java, Groovy, and ScalaIn DetailGradle is a modern, advanced build automation tool. It inherits the best elements of the past generation of build tools, but it also differs and innovates to bring terseness, elegance, simplicity, and the flexibility to build.Starting with your first build file, this book will gently guide you through its topics in a step-by-step fashion. You will learn to compile, unit test and package Java projects, build web-applications that run on Servlet containers like Jetty, Tomcat. You will write custom tasks, declare dependencies and write the multi-project builds. You will also learn variety of topics such as migrating from Ant and Maven based projects, publishing artifacts, integration testing, code coverage, running Gradle on CI Servers like Jenkins and writing Gradle plugins. By the end, you'll build polyglot projects in Groovy and Scala with Gradle.You will also learn the key aspects of Groovy that are essential to understand the Gradle build files. The unique approach taken in this book to explain Gradle DSL with help of Groovy and Gradle API will make Gradle DSL more accessible and intuitive for you.
Call Number: Online
ISBN: 9781783982363
Publication Date: 2015
Learning Cython Programming by Philip Herron
Learn how to extend C applications with pure Python codeGet more from Python – you'll not only learn Cython, you'll also unlock a greater understanding of how to harness PythonPacked with tips and tricks that make Cython look easy, dive into this accessible programming guide and find out what happens when you bring C and Python together!Who This Book Is ForThis book is for developers who are familiar with the basics of C and Python programming and wish to learn Cython programming to extend their applications.What You Will LearnReuse Python logging in CMake an IRC bot out of your C applicationExtend an application so you have a web server for rest callsPractice Cython against your C++ codeDiscover tricks to work with Python ConfigParser in CCreate Python bindings for native librariesFind out about threading and concurrency in relation to GILExpand Terminal Multiplexer Tmux with CythonIn DetailCython is a hybrid programming language used to write C extensions for Python. Combining the practicality of Python and the speed and ease of the C language, Cython is an exciting language that's worth learning if you want to build fast applications with ease.This new edition of Learning Cython Programming shows you how to get started, taking you through the fundamentals so you can begin to experience its unique powers.You'll find out how to get set up, before exploring the relationship between Python and Cython. You'll also look at debugging Cython, before moving on to C++ constructs, Python threading, and GIL in Cython. Finally, you'll learn about object initialization and compile time, and gain a deeper insight into Python 3, which will help you not only become a confident Cython developer, but a much more fluent Python developer too.
Call Number: Online
ISBN: 9781783551675
Publication Date: 2016
Learning Elixir by Kenny Ballou
Explore the functional paradigms of programming with Elixir through use of helpful examplesConcise step-by-step instructions to teach you difficult technical conceptsBridge the gap between functional programming and ElixirWho This Book Is ForThis book targets developers new to Elixir and Erlang, in order to make them feel comfortable in functional programming with Elixir. Although no knowledge of Elixir is assumed, some programming experience with mainstream object-oriented programming languages such as Ruby, Python, Java, and C# would be beneficial.What You Will LearnExplore Elixir to create resilient, scalable applicationsCreate fault-tolerant applicationsBecome better acquainted with Elixir code and see how it is structured to build and develop functional programsGain an understanding of effective OTP principlesDesign and program distributed applications and systemsWrite and create branching statements in ElixirLearn to do more with less using Elixir's metaprogrammingBecome familiar with the facilities Elixir provides for metaprogramming, macros, and extending the Elixir languageIn DetailElixir, based on Erlang's virtual machine and ecosystem, makes it easier to achieve the scalability, concurrency, fault tolerance, and high availability goals that are pursued by developers using any programming language or programming paradigm. Elixir is a modern programming language that utilizes the benefits offered by Erlang VM without really incorporating the complex syntaxes of Erlang. Learning Elixir will teach many things that are beneficial to programming as a craft, even if at the end of the day you aren't using Elixir. This book will teach you concepts and principles important to any complex, scalable, and resilient application. Applications are historically difficult to reason about, but using the concepts in this book, they will become easy and enjoyable. It will show you the functional programming ropes to enable you to create better and more scalable applications, and you will explore how Elixir can help you reach new programming heights. Furthermore, you will learn the basics of metaprogramming: modifying and extending Elixir to suit your needs.
Call Number: Online
ISBN: 9781785881749
Publication Date: 2015
Learning Jupyter by Dan Toomey
Learn to write, execute, and comment your live code and formulae all under one roof using this unique guideThis one-stop solution on Project Jupyter will teach you everything you need to know to perform scientific computation with easeThis easy-to-follow, highly practical guide lets you forget your worries in scientific application development by leveraging big data tools such as Apache Spark, Python, R etcWho This Book Is ForThis book caters to all developers, students, or educators who want to execute code, see output, and comment all in the same document, in the browser. Data science professionals will also find this book very useful to perform technical and scientific computing in a graphical, agile manner.What You Will LearnInstall and run the Jupyter Notebook system on your machineImplement programming languages such as R, Python, Julia, and JavaScript with Jupyter NotebookUse interactive widgets to manipulate and visualize data in real timeStart sharing your notebook with colleaguesInvite your colleagues to work with you in the same notebookOrganize your notebook using Jupyter namespacesAccess big data in Jupyter to analyze a big data setGet to grips with the Jupyter Notebook, which allows you to create and share documents that contain live code, equations, visualizations, and explanatory textIn DetailJupyter Notebook is a web-based environment that enables interactive computing in notebook documents. It allows you to create and share documents that contain live code, equations, visualizations, and explanatory text. The Jupyter Notebook system is extensively used in domains such as data cleaning and transformation, numerical simulation, statistical modeling, machine learning, and much more.This book starts with a detailed overview of the Jupyter Notebook system and its installation in different environments. Next, we'll help you learn how to integrate Jupyter with different programming languages, such as R, Python, JavaScript, and Julia, and explore the various versions and packages that are compatible with the Notebook system. Moving ahead, you master interactive widgets, namespaces, and working with Jupyter in a multiuser mode.Towards the end, you will use Jupyter with a big data set and apply all the functionalities learned throughout the book.
Call Number: Online
ISBN: 9781785884870
Publication Date: 2016
Mastering Concurrency in Go by Nathan Kozyra
A practical approach covering everything you need to know to get up and running with Go, starting with the basics and imparting increasingly more detail as the examples and topics become more complicated. The book utilizes a casual, conversational style, rife with actual code and historical anecdotes for perspective, as well as usable and extensible example applications. This book is intended for systems developers and programmers with some experience in either Go and/or concurrent programming who wish to become fluent in building high-performance applications that scale by leveraging single-core, multicore, or distributed concurrency.
Call Number: Online
ISBN: 9781783983483
Publication Date: 2014
Modern Fortran: Style and Usage by Norman S. Clerman; Walter Spector
Fortran is one of the oldest high-level languages and remains the premier language for writing code for science and engineering applications. This book is for anyone who uses Fortran, from the novice learner to the advanced expert. It describes best practices for programmers, scientists, engineers, computer scientists and researchers who want to apply good style and incorporate rigorous usage in their own Fortran code or to establish guidelines for a team project. The presentation concentrates primarily on the characteristics of Fortran 2003, while also describing methods in Fortran 90/95 and valuable new features in Fortran 2008. The authors draw on more than a half century of experience writing production Fortran code to present clear succinct guidelines on formatting, naming, documenting, programming and packaging conventions and various programming paradigms such as parallel processing (including OpenMP, MPI and coarrays), OOP, generic programming and C language interoperability.
Call Number: Online
ISBN: 9780521514538
Publication Date: 2011
Node Cookbook by David Mark Clements
As part of Packt's cookbook series, this book is packed with practical recipes that will get you working efficiently with Node from the start. Each chapter focuses on a different aspect of working with Node. If you have some knowledge of JavaScript and want to build fast, efficient, scalable client-server solutions, then Node Cookbook is for you. Experienced users of Node will improve their skills although even if you have not worked with Node before, these practical recipes will make it easy to get started.
Call Number: Online
ISBN: 9781849517188
Publication Date: 2012
Professional Swift by Michael Dippery
Transition from Objective-C to the cleaner, more functional Swift quickly and easily. Professional Swift shows you how to create Mac and iPhone applications using Apple's new programming language. This code-intensive, practical guide walks you through Swift best practices as you learn the language, build an application, and refine it using advanced concepts and techniques. Organized for easy navigation, this book can be read end-to-end for a self-paced tutorial, or used as an on-demand desk reference as unfamiliar situations arise. The first section of the book guides you through the basics of Swift programming, with clear instruction on everything from writing code to storing data, and Section II adds advanced data types, advanced debugging, extending classes, and more. You'll learn everything you need to know to make the transition from Objective-C to Swift smooth and painless, so you can begin building faster, more secure apps than ever before.-- Source other than Library of Congress.
Call Number: Online
ISBN: 9781119016779
Publication Date: 2015
Scratch Cookbook by Brandon Milonovich
A practical approach with hands-on recipes to learn more about Scratch and its features.Scratch Cookbook is great for people who are still relatively new to programming but wish to learn more. It assumes you know the basics of computer operation. The methods of using Scratch are worked through quickly with a focus on more advanced topics, though readers can move at their own pace to learn all the techniques they need.
Call Number: Online
ISBN: 9781849518420
Publication Date: 2013