Concrete Abstractions


Book Description

CONCRETE ABSTRACTIONS offers students a hands-on, abstraction-based experience of thinking like a computer scientist. This text covers the basics of programming and data structures, and gives first-time computer science students the opportunity to not only write programs, but to prove theorems and analyze algorithms as well. Students learn a variety of programming styles, including functional programming, assembly-language programming, and object-oriented programming (OOP). While most of the book uses the Scheme programming language, Java is introduced at the end as a second example of an OOP system and to demonstrate concepts of concurrent programming.




Landscape


Book Description




Forming Abstraction


Book Description

Art produced outside hegemonic centers is often seen as a form of derivation or relegated to a provisional status. Forming Abstraction turns this narrative on its head. In the first book-length study of postwar Brazilian art and culture, Adele Nelson highlights the importance of exhibitionary and pedagogical institutions in the development of abstract art in Brazil. By focusing on the formation of the São Paulo Biennial in 1951; the early activities of artists Geraldo de Barros, Lygia Clark, Waldemar Cordeiro, Hélio Oiticica, Lygia Pape, and Ivan Serpa; and the ideas of critics like Mário Pedrosa, Nelson illuminates the complex, strategic processes of citation and adaption of both local and international forms. The book ultimately demonstrates that Brazilian art institutions and abstract artistic groups—and their exhibitions of abstract art in particular—served as crucial loci for the articulation of societal identities in a newly democratic nation at the onset of the Cold War.




Henri Lefebvre on Space


Book Description

Shows how Lefebvre's theory of space developed out of direct engagement with architecture, urbanism, and urban sociology.




The Dialectics of the Abstract and the Concrete in Marx's Capital


Book Description

The book presents an integral Marxist conception of the dialectics and methodology of scientific theoretical cognition, of the dialectical interrelation between the abstract and the concrete, of the unity of the historical and the logical, of the correlat




Language, Mind and Body


Book Description

Where is language? Centuries of efforts to 'incorporate' language lie behind current concepts of extended mind and embodied cognition. This book examines this question.




Abstract Domains in Constraint Programming


Book Description

Constraint Programming aims at solving hard combinatorial problems, with a computation time increasing in practice exponentially. The methods are today efficient enough to solve large industrial problems, in a generic framework. However, solvers are dedicated to a single variable type: integer or real. Solving mixed problems relies on ad hoc transformations. In another field, Abstract Interpretation offers tools to prove program properties, by studying an abstraction of their concrete semantics, that is, the set of possible values of the variables during an execution. Various representations for these abstractions have been proposed. They are called abstract domains. Abstract domains can mix any type of variables, and even represent relations between the variables. In this work, we define abstract domains for Constraint Programming, so as to build a generic solving method, dealing with both integer and real variables. We also study the octagons abstract domain, already defined in Abstract Interpretation. Guiding the search by the octagonal relations, we obtain good results on a continuous benchmark. We also define our solving method using Abstract Interpretation techniques, in order to include existing abstract domains. Our solver, AbSolute, is able to solve mixed problems and use relational domains. - Exploits the over-approximation methods to integrate AI tools in the methods of CP - Exploits the relationships captured to solve continuous problems more effectively - Learn from the developers of a solver capable of handling practically all abstract domains




How to Design Programs, second edition


Book Description

A completely revised edition, offering new design recipes for interactive programs and support for images as plain values, testing, event-driven programming, and even distributed programming. This introduction to programming places computer science at the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process, presenting program design guidelines that show the reader how to analyze a problem statement, how to formulate concise goals, how to make up examples, how to develop an outline of the solution, how to finish the program, and how to test it. Because learning to design programs is about the study of principles and the acquisition of transferable skills, the text does not use an off-the-shelf industrial language but presents a tailor-made teaching language. For the same reason, it offers DrRacket, a programming environment for novices that supports playful, feedback-oriented learning. The environment grows with readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks. This second edition has been completely revised. While the book continues to teach a systematic approach to program design, the second edition introduces different design recipes for interactive programs with graphical interfaces and batch programs. It also enriches its design recipes for functions with numerous new hints. Finally, the teaching languages and their IDE now come with support for images as plain values, testing, event-driven programming, and even distributed programming.




Publications


Book Description