Download Concrete Abstractions: An Introduction to Computer Science by Max Hailperin PDF

By Max Hailperin

Scheme has been taught to each scholar taking computing device 'science' at MIT for the prior two decades, and it really is more and more used in the course of the global to educate that topic. The mainstream languages C++ and visible easy are thought of to be poorly designed, and C is simply too low point to be a good selection in a path meant to supply a complete advent to computing device technological know-how (which is going some distance past what the common individual calls 'programming').

Scheme is a variation of Lisp, that is the second one oldest machine language, after Fortran. it truly is, besides the fact that, a completely glossy language, and has strongly prompted the layout of different sleek languages like ML and Python.

The publication starts off in Scheme, then provides item orientated strategies and meeting language. It finishes with a transition to Java, that is, in fact, just like C++. This technique will supply a wider heritage than a customary textual content utilizing C++ or C could.

Show description

Read Online or Download Concrete Abstractions: An Introduction to Computer Science Using Scheme PDF

Similar database storage & design books

The Official Introduction to DB2(R) for z/OS(R): Covers DB2(R) Universal Database for z/OS(R) Version 8

The reputable advent to DB2 UDB for z/OS presents a entire evaluation of model eight of the DB2 UDB for z/OS product. The ebook serves a twin function: it provides new and potential clients a high-quality creation to key product positive factors and it covers fabric inside the DB2 kin basic examination, the 1st examination within the DB2 certification sequence.

Relational Database Writings 1991-1994

Readers acquainted with the 3 earlier volumes of database guru Chris Date's Relational Database Writings sequence will want no additional suggestion. The fourth quantity compiles Date's authoritative columns, articles, and papers on a variety of elements of relational technology--spanning the years 1991 to 1994.

Open source data warehousing and business intelligence

Pediatric surgical procedure, seventh variation - edited through Arnold G. Coran, Anthony Caldamone, N. Scott Adzick, Thomas M. Krummel, Jean-Martin Laberge, and Robert Shamberger - positive aspects accomplished, updated counsel on all elements of formative years surgical procedure, together with congenital malformations, tumors, trauma, and urologic difficulties.

Practical Database Design for the Web

Even though many net pros may have included a database right into a website ahead of, they won't have a lot event of designing them - this booklet will train you all you must find out about designing a database to be used with a website or internet program. From first ideas to designing a profitable internet database, this booklet will assist you get the main out of database layout.

Extra info for Concrete Abstractions: An Introduction to Computer Science Using Scheme

Sample text

In the factorial procedure, the argument decreases by 1 at each step. Sometimes, however, the argument needs to decrease in some other fashion. Consider, for example, the problem of finding the number of digits in the usual decimal way of writing an integer. How would we compute the number of digits in n, where n is a nonnegative integer? If n Ͻ 10, the problem is easy; the number of digits would be 1. 3 Further Examples 39 but the last digit. For example, the quotient when 1234 is divided by 10 is 123.

Rather, it computes no answer at all, because it works its way further and further from the base case, stopping only when the computer runs out of memory and reports failure. We say that the computational process doesn’t terminate. We’ve also used this procedure to introduce another feature of the Scheme programming language: comments. Any text from a semicolon to the end of the line is ignored by the Scheme system and instead is for use by human readers. The reasoning technique we’ve been using is so generally useful that it has a name: mathematical induction.

If n Ͻ 10, the problem is easy; the number of digits would be 1. 3 Further Examples 39 but the last digit. For example, the quotient when 1234 is divided by 10 is 123. This lets us define the number of digits in n in terms of the number of digits in a smaller number, namely, (quotient n 10). Putting this together, we have (define num-digits (lambda (n) (if (< n 10) 1 (+ 1 (num-digits (quotient n 10)))))) We could extend num-digits to negative integers using cond: (define num-digits (lambda (n) (cond ((< n 0) (num-digits (- n))) ((< n 10) 1) (else (+ 1 (num-digits (quotient n 10))))))) If we want to do more with the digits than count how many there are, we need to find out what each digit is.

Download PDF sample

Rated 4.12 of 5 – based on 34 votes