Introduction to the Art of Programming Using Scala


Book Description

With its flexibility for programming both small and large projects, Scala is an ideal language for teaching beginning programming. Yet there are no textbooks on Scala currently available for the CS1/CS2 levels. Introduction to the Art of Programming Using Scala presents many concepts from CS1 and CS2 using a modern, JVM-based language that works we




Computer Science


Book Description

While the development of Information Technology has been obvious to all, the underpinning computer science has been less apparent. Subrata Dasgupta provides a thought-provoking introduction to the field and its core principles, considering computer science as a science of symbol processing.




Karel++


Book Description

This creative approach to learning C++ programming introduces readers to Karel the Robot and then shows them how to design programs that instruct Karel to perform complex tasks. Karel's world is essentially a practice field on which readers learn valuable lessons about creating and debugging program. The programs instruct the robot to move and manipulate its environment using object orientation.







Contemporary Art: A Very Short Introduction


Book Description

"Bloodied toy soldiers, gilded shopping carts, and Lego concentration camps. Contemporary art is supposed to be a realm of freedom where artists shock, break taboos, and switch between confronting viewers with works of great profundity and jaw-dropping triviality. But away from shock tactics in the gallery, there are many unanswered questions. What is contemporary about contemporary art? What effect do politics and big business have on art? And who really runs the art world?" "Previously published as Art Incorporated, this controversial and witty Very Short Introduction is an exploration of the global art scene that will change the way you see contemporary art."--BOOK JACKET.




The Art of R Programming


Book Description

R is the world's most popular language for developing statistical software: Archaeologists use it to track the spread of ancient civilizations, drug companies use it to discover which medications are safe and effective, and actuaries use it to assess financial risks and keep economies running smoothly. The Art of R Programming takes you on a guided tour of software development with R, from basic types and data structures to advanced topics like closures, recursion, and anonymous functions. No statistical knowledge is required, and your programming skills can range from hobbyist to pro. Along the way, you'll learn about functional and object-oriented programming, running mathematical simulations, and rearranging complex data into simpler, more useful formats. You'll also learn to: –Create artful graphs to visualize complex data sets and functions –Write more efficient code using parallel R and vectorization –Interface R with C/C++ and Python for increased speed or functionality –Find new R packages for text analysis, image manipulation, and more –Squash annoying bugs with advanced debugging techniques Whether you're designing aircraft, forecasting the weather, or you just need to tame your data, The Art of R Programming is your guide to harnessing the power of statistical computing.




The Art of Computer Programming


Book Description

Donald Knuth is Professor Emeritus of the Art of Computer Programming at Stanford University, and is well-known worldwide as the creator of the Tex typesetting language. Here he presents the third volume of his guide to computer programming.




Introduction to Computation and Programming Using Python, second edition


Book Description

The new edition of an introductory text that teaches students the art of computational problem solving, covering topics ranging from simple algorithms to information visualization. This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of data science for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT's OpenCourseWare) and was developed for use not only in a conventional classroom but in in a massive open online course (MOOC). This new edition has been updated for Python 3, reorganized to make it easier to use for courses that cover only a subset of the material, and offers additional material including five new chapters. Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming. This edition offers expanded material on statistics and machine learning and new chapters on Frequentist and Bayesian statistics.




Beyond Karel J Robot


Book Description

Beyond Karel J Robot trades comprehensive coverage of Java low level detail for an understanding of how a language like Java is used to build real programs. It's organization is not that of a reference work, but an enfolding of interesting and necessary concepts used by real programmers. A number of users have asked for more material in the spirit of Karel J Robot. The original book is intended for only the beginning weeks of a course, which leaves some the dilemma of what to do for the rest of the term. This volume is an attempt to discuss some additional ideas as well as some more Java features. The chapter numbering begins where Karel J Robot leaves off and we will frequently make mention of what was learned there. However, we begin to leave the robot world here and will discuss many ideas from beyond that world. The two volumes together should form the basis of a first course in computing using Java. While I have generally followed the guidelines of the College Board recommendations for the APCS AB advanced placement course, I have not attempted to be encyclopedic. We will see int, double, char, etc., but no attempt was made to provide all the rules and caveats of such things. Many books that call themselves text-books seem to me to be, instead, reference works, with everything gathered together nicely to ease looking up information, rather than books to learn from. Instead, I have attempted to show, for the most part, how the features of Java are used to build real programs. This is a book about writing programs, including some quite interesting and difficult programs. You may struggle with some of this material, but the struggle will take you to a better place. I hope you agree that it is worth the work you will put in to it.




An Introduction to Functional Programming Through Lambda Calculus


Book Description

Well-respected text for computer science students provides an accessible introduction to functional programming. Cogent examples illuminate the central ideas, and numerous exercises offer reinforcement. Includes solutions. 1989 edition.