it-ebooks - UCB CS61AS SICP with Racket
Here you can read online it-ebooks - UCB CS61AS SICP with Racket full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2017, publisher: iBooker it-ebooks, genre: Children. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:
Romance novel
Science fiction
Adventure
Detective
Science
History
Home and family
Prose
Art
Politics
Computer
Non-fiction
Religion
Business
Children
Humor
Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.
UCB CS61AS SICP with Racket: summary, description and annotation
We offer to read an annotation, description, summary or preface (depends on what the author of the book "UCB CS61AS SICP with Racket" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.
UCB CS61AS SICP with Racket — read online for free the complete book (whole text) full work
Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "UCB CS61AS SICP with Racket" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.
Font size:
Interval:
Bookmark:
From: CS61AS Textbook
Before we start Lesson 0.1, we'll have to get your lab account set up. You'll find the instructions here. If you are not currently enrolled in CS 61AS, skip to Step 11.
Once you've finished, move on to the next section!
Welcome to CS 61AS! In this lesson, we'll explore the basics of the Racket programming languageand look at the Big Ideas behind this course.
This so-called "textbook" consists of 17 lessons, most of which are based onthe classic text Structure and Interpretation of Computer Programs, which gives this course its name.
A lesson is composed on multiple sections, or pages.Use the table of contents on the right to navigate through the lesson.
Lessons are structured so that you learn by exploring, making mistakes, asking questions, and trying things out.
If you're reading this lesson in lab, you can raise your hand at any time to ask a questiona lab assistantwill come to your aid promptly.
Note: All links in the following paragraphs are completely optionalreading and are included solely for the interest and amusement of the reader.
There isn't one right answer. Computer science means a lot of differentthings to a lot of different people. For some, it means building a webapplication that allows you to connect and keep up with yourfriends. For others, it means engineering self-driving cars. For yetothers, it means lots and lots of math. And so on.
Generally speaking, computer science answers the followingquestions:
- What can we compute?
- How do we compute it?
- What can we do with that?
In this sense, computer science isn't about computersthat's closer toelectrical engineeringand it isn't really a sciencescientistsdiscover, we invent.
Computer scientists are like engineers: we build cool stuff, and we solve problems.
All interesting problems in computer science are inherently complexas are their solutions.
Consider your web browser, the program you're using to view this page.Clearly, it solves an interesting problem. It's also highly complex:when you type in a URL, your browser has to determine whichserver to contact, ask that server to give it the webpage you're looking for,download the webpage, interpret the webpage, and display it on your screen.Each of these steps contains its own complex parts.
How does all of this fit together? In one word: abstraction!Abstraction allows us to treat a complicated process as a single unit,and to use that unit in an even more complex process.
We already use abstraction in our daily lives: To drive a car, we have to know how to steer and operate the pedals, but we don't have to know how the engine and drivechain work. To bake an apple pie, we need a recipe and an oven, but we need not grow our own apples or understand how they are grown. And to use the internet, we don't have to understand the protocols for requesting webpagesour browser abstracts that process away, so that anyone can browse the web quickly and easily.
In this course, we'll explore techniques for creating abstractions to solve problems.
Notice that in the previous page, there was little mention of programminglanguages. That's becausein the grand scheme of things, programming languages don't matter. They onlymatter because, for any given problem, one language might let us solve theproblem in fewer lines of code over another, or one language might let ussolve the problem more efficiently, and so on.
What of the problem of teaching computer science? Which language should we usefor that? We have chosen Racket, a dialect of Lisp.We'll show basics of the language today, after which you can start thinking about computer science. As you learn more computer science, we'll incrementally show you more of the language.
Let's begin.
- In Racket, parentheses (also known as parens) matter.
- When you ask a procedure to perform its action, you call it. This is also called invoking a procedure. Whenever you invoke a procedure, you must wrap the procedure call (the call to the procedure) in a set of parentheses.
- Everytime we invoke a procedure, we must follow prefix notation: the name of the procedure we're invoking is always the leftmost item in the parentheses.All of the other things are arguments to that procedurethings we feed in to the procedure in order to get our answer.
Here's an example of an expression that demonstrates the three rules above:
(+ 1 2)
In this example, we're feeding the arguments 1
and 2
into the procedure +
, which adds numbers.We should expect the answer to be 3.
Of course, a language is no good if no one speaks it. For programminglanguages, the dialog is usually between the programmer and a computer. Aninterpreter is a program that translates a particular language intoactions and computations that the computer performs. Interpreters are one wayto make computers do things, such as computing large prime numbers or counting all the distinct words used in all of Shakespeare's plays.
Let's start our Racket interpreter. We do this by opening a terminal and then typing in racket
and hitting Enter.You've just started the Racket interpreter!
You can now type Racket expressions for the interpreter to evaluate:
-> (+ 1 2)3
Type each example below into the interpreter to try it out.Before entering each example, take a moment and think about what the output should be.Some of these examples cause errorswhy do they do that? (If something errors, the interpreter will output an error message.)
5(+ 2 3)(+ 5 6 7 8)(+ (* 3 4) 5)(+)+(sqrt 16)(/ 3 2)(/ 3 0)'hello(first 'hello)(first hello)(butfirst 'hello)(bf 'hello)(first (bf 'hello))(first 274)(+ (first 23) (last 45))(define pi 3.14159)pi'pi(+ pi 7)'(good morning)'(+ 2 3)
In this section, we learned the basics of Racket. We also tried our hands at the Racket interpreter.
This class is full of Big Ideas! Here are the first two:
- The purpose of this course is to help you learn.
- The staff are here to help you succeed.
If at any point you feel like this isn't the case, speak up!The following are all effective methods for getting help:
- Speak to a staff member in lab
- Post on Piazza
- Go to a TA's office hours
- Email a TA
In 61AS, we will explore many Big Ideas that underlie all of Computer Science. Here are some of the big ones:
- Functions: To start off with, we'll think of programs as combinations of functions.We'll examine what a function is and what we can use them for.
- Data: Data is another thing essential to programs. Making data the central focus of our programs leads to powerful results.
- State: We'll then answer the question, "How do we program assuming we can change things over time?"
- Interpreters: We go into how an interpreter works, and we'll even write our own. We'll also consider a few other interpreters and see what they all have in common.
Font size:
Interval:
Bookmark:
Similar books «UCB CS61AS SICP with Racket»
Look at similar books to UCB CS61AS SICP with Racket. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.
Discussion, reviews of the book UCB CS61AS SICP with Racket and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.