• Complain

it-ebooks - Computer Science Field Guide

Here you can read online it-ebooks - Computer Science Field Guide 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: Romance novel. 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.

it-ebooks Computer Science Field Guide
  • Book:
    Computer Science Field Guide
  • Author:
  • Publisher:
    iBooker it-ebooks
  • Genre:
  • Year:
    2017
  • Rating:
    4 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Computer Science Field Guide: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Computer Science Field Guide" 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 Computer Science Field Guide? Find out the surname, the name of the author of the book and a list of all author's works by series.

Computer Science Field Guide — 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 "Computer Science Field Guide" 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
1. INTRODUCTION
1.1. WHATS THE BIG PICTURE?

Why is it that people have a love-hate relationship with computers? Why are some people so fanatical about particular types of computers, while others have been so angry at digital devices that they have been physically violent with them? And what does this have to do with computer science? And what is computer science anyway?

Im glad you asked! Put simply, computer science is about tools and techniques for designing and building applications that are very fast, have great interfaces, are reliable, secure, helpful even fun.

A lot of people confuse computer science with programming. It has been said that computer science is no more about programming than astronomy is about telescopes (Mike Fellows). Programming is the tool that computer scientists use to bring great ideas to life, but just knowing how to give programmed instructions to a computer isnt enough to create software that delights and empowers people.

For example, computers can perform billions of operations every second, and yet people often complain that they are too slow. Humans can perceive delays of about one tenth of a second, and if your program takes longer than that to respond it will be regarded as sluggish, jerky or frustrating. Youve got well under a second to delight the user! If you are searching millions of items of data, or displaying millions of pixels (megapixels), you cant afford to do things the wrong way, and you cant just tell your users that they should buy a faster computer ... theyll probably just go out and buy someones faster software instead!

Heres some advice from Fred Wilson, who has invested in many high profile tech companies:

First and foremost, we believe that speed is more than a feature. Speed is the most important feature. If your application is slow, people wont use it. I see this more with mainstream users than I do with power users. I think that power users sometimes have a bit of sympathetic eye to the challenges of building really fast web apps, and maybe theyre willing to live with it, but when I look at my wife and kids, theyre my mainstream view of the world. If something is slow, theyre just gone.... speed is more than a feature. Its a requirement.

Fred Wilson (Source)

A key theme in computer science is working out how to make things run fast, especially if you want to be able to sell your software to the large market of people using old-generation smartphones, or run it in a data centre where you pay by the minute for computing time. You cant just tell your customers to buy a faster device you need to deliver efficient software.

Try using the following two calculators to make a simple calculation. They both have the same functionality (they can do the same calculations), but which is nicer to use? Why?

(This book has many interactives like this. If the first calculator doesnt work properly, you may need to use a more recent browser. The interactive material in this book works in most recent browsers; Google Chrome is a particularly safe bet.)

The second calculator above is slower, and that can be frustrating. But it has a fancier interface buttons expand when you point to them to highlight what youre doing. Does this make it easier to use? Did you have problems because the C and = keys are so close?

How interfaces work is a core part of computer science. The aesthetics images and layout are important, but whats much more crucial is the psychology of how people interact. For example, suppose the OK and Cancel buttons in dialogue boxes were occasionally reversed. You would always need to check carefully before clicking on one of them, instead of using the instinctive moves youve made countless times before. There are some very simple principles based on how people think and behave that you can take advantage of to design systems that people love.

Making software that can scale up is another important theme. Imagine youve built a web interface and have attracted thousands of customers. Everything goes well until your site goes viral overnight, and you suddenly have millions of customers. If the system becomes bogged down, people will become frustrated waiting for a response, and tomorrow you will have no customers theyll all have moved on to someone elses system. But if your programs are designed so they can scale up to work with such large amounts of data your main problem will be dealing with offers to buy your company!

Some of these problems can be solved by buying more equipment, but that can be an expensive and wasteful option (not just for cost, but because of the impact on the environment, including the wasted power used to do the processing inefficiently). With mobile computing its even more important to keep things lean and efficient heavy duty programs chew up valuable battery life, and processing and memory must be used sparingly as these affect the size, weight and even heat dissipation of devices.

And if your system continues be successful, pretty soon people will be trying to hack into it to steal valuable customer data or passwords. How can you design systems so that you know they are secure from such attacks and your customers can trust you with their personal information or business transactions?

All these questions and more are addressed by the field of computer science. The purpose of this guide is to introduce you to those ideas so that you have a better idea of whether this field is for you. It is aimed at high-school level, and is intended to bring you to the point where you have a good overview of the field, and are well prepared for further in-depth study to become an expert.

Weve broken computer science up into a whole lot of topics that youll often find in curricula around the world, such as algorithms, human-computer interaction, compression, cryptography, computer graphics, and artificial intelligence. The reality is that all these topics interact, so be on the lookout for the connections.

This guide isnt a list of facts for you to memorise, or to copy and paste into projects! It is mainly a guide to things you can do experiences that will engage you with the topics. In fact, we wont go through all the topics in great detail, but will give you references to websites and books that explain things thoroughly. The idea of this guide is to give you enough background to understand the topics, and to do something meaningful with them.

And what about programming? You can get through this whole guide without doing any programming, although well suggest exercises. Ultimately, however, all the concepts here are reflected in programs that people write. If you want to learn programming there are many excellent courses available. It takes time and practice, and is well worth doing in parallel with working through the topics in this guide. There are a number of free online systems and books that you can use to teach yourself programming. A database of options for learning to program is being compiled by code.org, where there is also a popular video of some well-known high-fliers in computing which is good to show classes. Here are some other sources that might suit you:

  • The NCEA year 12 workbook is a book (two actually) on programming in Java and Python, written for the NZ achievement standards. The authors are developing a second book for the year 13 programming standard.
  • CodeAvengers is an online system where you can work through challenges that will introduce you to programming in Javascript. This system matches the NZ programming achievement standards from level 1 to 3.
  • Interactive Python has a free online book called How to Think Like a Computer Scientist: Interactive Edition (also referred to as Think Python) which teaches the Python language, and enables students to edit and run Python examples within the web browser. The original book is open source and is also available in various non-interactive versions.
Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Computer Science Field Guide»

Look at similar books to Computer Science Field Guide. 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 «Computer Science Field Guide»

Discussion, reviews of the book Computer Science Field Guide 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.