Save
Busy. Please wait.
Log in with Clever
or

show password
Forgot Password?

Don't have an account?  Sign up 
Sign up using Clever
or

Username is available taken
show password


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.
Your email address is only used to allow you to reset your password. See our Privacy Policy and Terms of Service.


Already a StudyStack user? Log In

Reset Password
Enter the associated with your account, and we'll email you a link to reset your password.
focusNode
Didn't know it?
click below
 
Knew it?
click below
Don't Know
Remaining cards (0)
Know
0:00
Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how

Programming Paradigm

midterm

QuestionAnswer
What is an imperative programming language? A language that uses statements to change a program's state. Procedural programming is a type of imperative programming. Assignment in these languages is a side effect. Java is an imperative language. First do this, and then do that.
Examples of imperative programming languages? FORTRAN, C, Pascal
What is a functional programming language? They take a functional approach to problem solving. Functional programming is a form of declarative programming. Avoids changing-state and mutable data.
What is dynamic scope? A variable's value or state is governed by the most recent elaborated binding (declaration).
Give an example of a logical programing language? Prolog. - it is very declarative.
Give the side effect of imperative declaration changes the state of the machine.
Define mutual recursion Two functions that are defined in terms of each other.
Define a statically typed language. A language is statically typed if the type of a variable is known at compile time. For some languages this means that you as the programmer must specify what type each variable is (e.g.: Java, C, C++);
Define dynamic typing. The typing is done during execution.
Define an abstract data type? ADT classifying data structures based on how they are used and the behaviors they provide. They do not specify how the data structure must be implemented or laid out in memory, but simply provide a minimal expected interface and set of behaviors.
What is a primitive data type? The primitive data type is the basic building block of data. They hold one single value. They represent a characters, integers, reals, or boolean.
What are some composite structure types ? arrays, sets, strings, lists, tree, file or record.
Name some languages that use disjoint unions and the types? Pascal: variant record, ML: union type, ADA discrminated record
What is a disjoint union? values are tagged to indicate which set they are from. #(S + T) = #(S) + #(T)
Functions are always typed as a _______ing? mapping. From argument set to return value set.
What is the mapping for? silly(x: real, y: int){ return 0.0; } val silly: (real x int) ----> real
What is a higher order function? A function is said to be a higher-order function (also called a functional form) if it takes a function as an argument, or returns a function as a result.
What is type inference? refers to the automatic deduction of the data type of an expression in a programming language.
What is currying functions? Currying is when you break down a function that takes multiple arguments into a series of functions that take part of the arguments. fun add(a, b) return a + b then to fun add(a) { return fun (b){ return a + b } }
Name the LISP data abstraction types constructors, selectors, inquisitors (recognizers), readers,
What is lazy evaluation? Lazy evaluation is when expressions are evaluated only when called, and only once.
FP functional programs are simply _______? functions without variables.
name some models of computing systems? simple operational model (turing machines), applicative models (lambda calculus), von nuemann models.
What is strongly typed? Java is a strongly typed language or ML, where every assignment and expression variable must be of the same type.
Describe functional programming paradigm. It is simpler and cleaner than imperative. Originates from the mathematical discipline.
Created by: aiur100
Popular Science sets

 

 



Voices

Use these flashcards to help memorize information. Look at the large card and try to recall what is on the other side. Then click the card to flip it. If you knew the answer, click the green Know box. Otherwise, click the red Don't know box.

When you've placed seven or more cards in the Don't know box, click "retry" to try those cards again.

If you've accidentally put the card in the wrong box, just click on the card to take it out of the box.

You can also use your keyboard to move the cards as follows:

If you are logged in to your account, this website will remember which cards you know and don't know so that they are in the same box the next time you log in.

When you need a break, try one of the other activities listed below the flashcards like Matching, Snowman, or Hungry Bug. Although it may feel like you're playing a game, your brain is still making more connections with the information to help you out.

To see how well you know the information, try the Quiz or Test activity.

Pass complete!
"Know" box contains:
Time elapsed:
Retries:
restart all cards