Lecture Definitions Flashcards Preview

CS10 > Lecture Definitions > Flashcards

Flashcards in Lecture Definitions Deck (76)
Loading flashcards...
1

Domain

the class of input a function accepts.

2

Range

all the possible return values of a function.

3

Abstraction

Act of leaving out of consideration one or more properties of a complex object so as to attend to others.

4

Generalisation

The process of formulating general concepts by abstracting common properties of instance.

5

Command

No outputs, meant for side effects

6

Reporter (function)

Any type of output

7

Predicate (function)

boolean output

8

function definition

-Take in 0 or more inputs ad return only 1 output
-the same inputs MUST yield the same outputs
*Rules: no state, no mutation, no side effects

9

why use functions?

-allow for the generalization of code
-they can be composed together to make even more magnificent things
-they allow for functional programming (increased speeds etc)

10

Functional Programming

-programming only using functions (not commands)
-as they don't have state they an run on multiple systems at the same time with allows for faster computing and cloud computing.

11

Recursion

Technique for defining functions that use themselves to complete their own definition.

12

Overflow

when the number of represented things exceeds the number of digits allocated for it

13

Roundoff

True real number can't be stored exactly (due to fixed number of bits)

14

1 nibble

4 bits

15

1 hexadigit

16 things

16

8 bits

1 byte

17

1 byte

8 bits

18

2 hexadgits

256 things

19

N bits

2^N things

20

Computing tools and techniques...

are used to create computational artifacts (e.g. IDEs: integrated development environments)
enhance process of finding a solution to a problem.

21

Effective collaboration teams practice:

interpersonal communication, consensus building, conflict resolution, negotiation.

22

Programming Paradigms

the concepts and abstractions used to represent the elements of a program and the steps that compose a computation
or:
a way to classify the style of programming

23

functional model of programing

Computation as evaluation of functions. (therefore posses rules of functions)

24

Imperative Programming

Sequential programming (computation as a series of steps)
-rules: allows mutations, allows assignment

25

Is functional style code an example of imperative style code or is imperative style code an example of functional style code?

functional style code is a subset f imperative style code.

26

What is OOP

Object Orientated Programming.
Programming which requires sending of messages between objects to simulate the temporal evolution of a set of real world phenomena.
Objects are data structures which have a local state and methods (behaviors) which you ask of them.
Eg (java, c++)

27

What are Classes and instances?

used in OOP.
Instances are examples of classes e.g. Dan Garcia is instance of Professor.
Inheritance saves code by arranging heirarchical classes e.g. pianist special case of musician etc.

28

Who is Dr Ivan Sutherland?

"Father of computing graphics" who wrote sketchpad

29

Declarative Programming

Programming by expressing what computation desired without specifying how it carries it out.
Often a series of assertions and queries.

30

Algorithm

A series of steps used to solve a particular problem
or
Precise sequences of instructions for processes that an e executed by a computer and are implemented using precise programming languages

31

What is the Luhn algorithm?

Algorithm for credit card verification number.

32

what is deflate?

Algorithm which provides lossless data compression.

33

What are the building blocks of algorithms

sequencing (do this then do that)
selection (use booleans to select which parts to do)
iteration (repeat until)
recursion

34

Properties of algorithm

-algs can be combined
-knowledge of standard algs can help build new algs
-ensuring old lags are correct is necessary for creating new algs
-different lags can be developed for same problem
-developing new lag to solve a problem can yield insight into problems

35

Language for algorithms

-natural languages, pseudo code
-visual and text based programing languages

36

What is the difference between Algorithms and functions

Algs= conceptual definitions of who to accomplish a task. they are language agnostic
Functions= implementation of algorithms in a particular language

37

Programming languages

C/C++ = good for programming that is close to hardware
Java/C# = portable code
Python/Perk/TclTK = fast to write and portable

38

Turing Completeness

If a language is turing complete i it can simulate a Universal Turing Machine.
Therefore all languages which are turing complete are equally powerful.

39

When is an algorithm correct?

When every input reports the correct output and doesn't run forever or cause an error.

40

What is a GWAP?

A game with a purpose.
This is is a game that produces some sort of useful or valuable output as a result of playing it. In the case of Google Image Labeler (the ESP game), playing the game helps Google identify what the subject of a picture is.

41

Who is Luis von Ahn?

Leader of the GWAP movement

42

Koans

= paradoxes
They describe a world that is developing but hasn’t yet fully emerged

43

What are the 7 Koans?

=paradoxes
1. It's all just bits
2. Perfection is normal
3. There is want in the midst of plenty
4.Processing is power
5. More of the same
6. Nothing goes away
7. Bits move faster than thought

44

Jack Kilby

Inventor of the first integrated circuit (1957)

45

John Bardeen and Walter Brattain

Inventor of the first transistor (half an inch tall) in 1947

46

planar transistor

components are etched directly onto a semiconductor substrate. then metal film applied which adheres the raised parts of the semiconductor materials

47

Wh invented planar transistors?

Jean Hoerni developed the technique for creating planar transistors in 1959.

48

Seven steps of search engines

1) Gather information
2) Keep copies
3) Build an Index
4) Understand the query
5) Relevance of each possible result
6) Ranking of best relevant results
7) Present results

49

Koomey's law

Amount of energy required by fixed computing load drops every 18 months

50

Deadlock

Two programs/thread wait for other to finish

51

Race condition

two programs/threads try to access the same piece of data at the same time

52

Amdhal's law

Applications can almost never be completely parallelized, some serial code remains because you require something to be done first.

53

Deep mind

Company that trained machines to play Atari games

54

John McCarthy's definition of AI

"Getting a computer to do things which when done by humans are said to involve intelligence."

55

Different components of AI

-machine learning
-formal logic
-big data

56

Iterative design cycle

Evaluate-->Design--> prototype--->

57

How to understand users to improve HCI

-choosing existing practices
-create scenarios of actual use (capture commonalities of actual use)
-build models to gain insight

58

What is HCI?

human computer interaction

59

How much code is devoted to user interface (UI) ?

48%

60

Different eras of computing

Mainframe computing
Personal Computing
Ubiquitous

61

Brian Harvey on Copyright

We're going to make a bargain with creators. We're going to give you a limited time monopoly to profit form your idea in return for sharing your idea with us"

62

DMCA

Digital Millenium Copyright Act

63

Tom Mitchell

A machine learns if after an experience it performs better

64

Algortihm types for machine learning

-Supervised learning
-Unsupervised learning
-reinforced learning

65

What was TCP?

Invented by Robert Kahn and Vint Cerf in 1973 = now part of the Internet Protocol Suite

66

DNS

Domain Name System
Translates names to IP addresses

67

IP adress

Enables connecting new devices to internet.
IPV6 using Ox now being introduced

68

IETF

Internet Engineering Task Force
Develop and oversee standrads such as HTTP, IP, SMTP

69

Mosaic

1st popular WWW browser

70

Packets

Blocks of bits data is sent in across internet

71

Bandwith

A measure of bit rate—the amount of data (measured in bits b) that can be sent in a fixed time. Usually b/s

72

Latency

The time elapsed between a transmission and receipt of request. Usually measured in ms

73

Symmetric encryption

A method of encryption involving one key for encryption and decryption

74

Public key encryption

=not symmetric
=an encryption method that is widely used because of the functionality it provides

75

Lossless compression

Entropy compression reduces data by removing redundant information.

76

Lossy compression

Eg MP3.
Removes irrelevant information
Not fully reversible