• Complain

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.

No cover
  • Book:
    UCB CS61AS SICP with Racket
  • Author:
  • Publisher:
    iBooker it-ebooks
  • Genre:
  • Year:
    2017
  • Rating:
    5 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

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.

it-ebooks: author's other books


Who wrote UCB CS61AS SICP with Racket? Find out the surname, the name of the author of the book and a list of all author's works by series.

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.

Light

Font size:

Reset

Interval:

Bookmark:

Make
UCB CS61AS SICP with Racket

From: CS61AS Textbook

0.1 - Introduction to Racket and CS61AS
First Day Instructions
Before We Begin...

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!

Lesson 0.1 Intro
Welcome!

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.

About This Text

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.

Intro to Computer Science

Note: All links in the following paragraphs are completely optionalreading and are included solely for the interest and amusement of the reader.

What Is Computer Science?

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:

  1. What can we compute?
  2. How do we compute it?
  3. 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.

Complexity and Abstraction

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.

Intro to Racket
Introduction

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.

Basic Rules
  1. In Racket, parentheses (also known as parens) matter.
  2. 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.
  3. 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.

The Racket Interpreter

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
What Will Racket Output?

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)
Takeaways

In this section, we learned the basics of Racket. We also tried our hands at the Racket interpreter.

The Big Ideas Behind CS 61AS

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
Big Ideas

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.
Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

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.


Reviews about «UCB CS61AS SICP with Racket»

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.