Intro to CS 9-10-14-17 Flashcards

0
Q

Steuctured Query Language (SQL)

A
  • Logic programming language
  • By IBM
  • Used to frame database queries
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

Problem specification

p.456

A

Involves developing a clear, concise and unambiguous statement of the exact problem the software isnto solve

  • purpose: describes how a program behaves in ALL circumstances and includes limitations (time, memory)
  • becomes a contract between developer and customer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Algorithm selection

p.458

A

Creates/develops and evaluates the most efficient algorithm to solve the problem, complet the task

-Invludes a description of the algorithms chosen or developped and analyses their efficiency

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Expectations of a high-level language

p.427

A
  • No need to manage details of the movement of data items within memory or where those items are stored
  • Can take a macroscopic view of the task
  • Portable rather than machine specific (compiler takes care of translation for a specific machine)
  • Statements are closer to natural language and use standard mathematic notation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Code library

A

Code for useful and often performed tasks, stored

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Maintenance

p.461

A

The process of adapting an existing software product

-Reflects that software development is indeed a cycle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Compiler tougher job than Assembler

p.429

A
  • Assembly language instruction = at most one machine language instruction
  • High-level programming language instruction = can explode into many assembly language instructions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

ANSI (American National Standard Institute) & ISO (International Organization for Standardization)

A

Develop standards for programming languages

Using nonstandard features = risk sacrificing portability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Coding

p.459

A

The process of translating the detailed designs into computer code

-Lists the program code itself

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

High-level language transitions for translation

p.428

A

-High-level language program

  • Compiler (low-level code)
  • *Interpretor**
  • Assembler (object code)
  • Linker (complete object code)
  • Loader (complete object code loaded in memory)
  • Hardware (results)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
Program design (divide-and-conquer strategy)
**p.458**
A

How it is to be done

  • Divide the task into subtasks and into sub-subtasks
  • Complete details about each module: what it is to do, what information it needs to do it, what the rest of the program need from it when it is done
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Debugging errors

A
  • Syntax error: when program fails to follow the correct syntax rules
  • Runtime errors: Occurs when program is running (ex: parsing a double to integer)
  • Logical errors: Wrong answer, produced result is wrong
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Javascript

A
  • Can be embedded in Web pages to make thise pages active/dynamic rather than static
  • In that case, contained within the
     and 
    of HTML documents
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Translator that converts high-level language

p.428

A

Compilers/interpretors

-Converts to source code into low-level code
(source code -> object code)

-Turns over the rest of the job to an assembler of that low-level language
(object code -> binary)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

High-level language syntax

A

Rules for exactly how statements must be written

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Assembly language disadvantages

p.427

A
  • Must manually manage the movement of data between memory locations and registers
  • Must take a microscopic view of a task
  • Is machine specific
  • Statements are not natural-language-like
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Testing, verification and benchmarking

p.460

A

Empirical testing, design a special set of test cases (test suite) that exercises all different logical paths and runs the program using the test data

-All testing, verification and benchmarking results are put to paper as evidence

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Feasibility study

p.455

A

What are the relative costs and benefits of the following choices ?

-Purpose: to make all project stakeholders aware of the costs, risks and benefits of various develoment paths as a guide to deciding the approach to use

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Procedural languages examples

A
  • Plankalkül: never implemented, Konrad Zuse
  • FORTRAN: FORmula TRANslation, IBM, used by engineers, GO TO controversy
  • COBOL: COmmon Business-Oriented Language, Group Admiral Grace Murray Hopper, (Master and transaction files), Y2K crisis, used in legacy code
  • C: Dennis Ritchie, Originally for systems programming
  • C++: Bjarne Stroustrup, C with Object Oriented Programming
  • Ada: After Ada Byron Lovelace, (Straw,Wooden,Tin,Iron,Steelmans), for building systems that really matter, defence
  • Java: originally called Oak, Sun Microsystems Inc., applications and applets, portability
  • Python: Guido van Rossum, open source, originally for system administration and Web interface, relaxed syntax
  • C#: garbage collection
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Debugging

p.459

A

The process of locating and correcting program errors

  • Frustrating, agonizing and time-consuming
  • Careful attention in design phase can reduce debugging phase
  • Includes notes on the problems found and on how the code was changed to solve them
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Software engineering

A

Large-scale software development projects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

HyperText Markup Language (HTML)

A
  • Not programming but rather giving the Web browser instructions in how to display text
  • Used to create HTML documenta that , when viewed with Web browser software, become Web pages
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Many different programming languages

A

Many different tasks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

High-level language semantics

A

The meaning if correctly written statements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Testing methods

A
  • Unit testing: On each individual module
  • Integration testing: To see that each module works together
  • Regression testing: To insure that any change done to the program hasn’t introduced a new error
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Integrated Development Environment (IDE)

A

Software that probides:

  • Text editor
  • File manager
  • Compiler
  • Linker
  • Loader
  • Debugger
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Documentation

p.461

A

Included in every step of the software development life cycle

  • Internal documentation: meaningfull names, comments and separation of program into modules
  • External documentation: Included in each step. Finished program documentation written in two forms
    1. Technical documentation: for programmers who would have to modify it to understand the code
    2. User documentation: Helps users run the program (FAQs, online tutorials)
27
Q

Program written in high-level language

A
  • Source code

- Not sold to users

28
Q

Linker

A

Inserts request object code from code libraries into the object code for the requesting program

29
Q

Microsoft .NET Framework

A

A giant collection of tools for software development (e.g. code libraries)

Part of Common Language Runtime (CLR) that handles garnage collection on any language that uses .NET platform

  • .NET programs compiled into Microsoft Intermediate Language(MSIL)
  • MSIL compiled by just-in-time (JIT) compiler into machine language
30
Q

Executable modules

A
  • Resulting object code after translated

- Sold to users

31
Q

High-level programming language generation

A

3rd generation

32
Q

How do procedural languages differ ?

p.470

A

They differ in:

  • The details of assigning a new value to a variable
  • The mechanisms the language provides for directing the flow of control through conditional and looping statements
  • The way programs can be broken down into modules to handle separate tasks
  • How those modules share information
33
Q

The software engineering supposed life cycle (Waterfall model)

A
  • Feasibility study
  • Problem specification
  • Program design
  • Algorithm selection or development, and analysis
  • Coding
  • Debugging
  • Testing, verification and benchmarking
  • Documentation
  • Maintenance
34
Q

Reasons why the program developer doesn’t usually give the user the source code
p.445

A
  • User could make tiny modifications and sell it as a “new” program
  • Prevent the user from changing the code and then complaining that the software is defective
  • If source code distributed, users would need their own translators to fet the executable module needed to run on their machines
35
Q

Procedural languages (or imperative languages)

A
  • Consists of sequences of statements that manipulate data items
  • Follows directly from the Von Neumann computer architecture
36
Q

Agile Software Development

A

Problem specification is never a “done deal”

  • Flexible
  • Ready response

to meet a shifting and ever-changing target

37
Q

Device driver

A

A program to interact with an I/O device

38
Q

Attribute in Databases

A

Each category of information

39
Q

Transmission of Web pages between client/server

A

is stateless

No information about this exchange is permanently retained by the server

Thats where cookies come in

40
Q

Units of data hierarchy

A
  • Bits
  • Bytes
  • Fields (single box, column)
  • Record (row/tuple)
  • Data file (related records)
  • Database
41
Q

Middleware

A

Software that allows separate, existing programs, to communicate and work together seamlessly

42
Q

Why E-Commerce ?

A
  • Broaden customer basee
  • Recapture customers you are losing to competitors with online stores
  • Better serve your existing customer base
  • Better integrate departments/functions within your existin business
43
Q

How customers will know the URL to your company Web site ?

A
  • Conventional advertising
  • Obvious domain name
  • Search engine
  • Portal
44
Q

Database advantages

A
  • Redces the amount of redundant information stored
  • Minimizes the amount of work required to maintain consistency
  • Gives the user or software, the ability to combine and manipulate data easily
45
Q

Database integrity rules

A
  • Entity integrity: no primary key value, or component of a composite primary key value can be missing
  • Data integrity: Values for anparticular attribute must come from the appropriate category of information
  • Referential integrity: Any value of a foreign key attribute in a given table must match a value in the corresponding primary keys of the related table
46
Q

Primary key in database

A

An attribute or combination of attributes that uniquely identifies a row/tuple

Composite primary key = combination

47
Q

Site map or Navigation bar

A

Can provide a high-level overview of your site architecture to make it easier to navigate through it

48
Q

Disk defragmentation

A

Improves access time by reloading separate pieces of a file that were originally stored randomly on the disk as space was available at the time so that they occupy contiguous storage

49
Q

An example of query language

A

SQL (Structured Query Language)

50
Q

Distributed databases

A

Allow the physical data to reside at separate and independent locations that are electronically networked together

51
Q

Risks involved with E-Commerce

A
  • Move your in-store customers online without overall gain
  • Exposed to online competition, will you have something unique to offer ?
  • Does your existing customer base need or want anything that you don’t/can’t provide in your traditional business environment ?
  • What part of your existing customer base will never shop online ?
  • Are the employees in your Shipping and Accounting Department in agreement or do they feel threatened by change ?
52
Q

Spoofing

A

Practice of impersonating a legitimate site for the purposes of stealing money or stealing identity

53
Q

Cookies

A

A small text file that the Web server sends to the user’s browser and that gets stored on the user’s hard drive.

Contains personal information about the user (name, address, time of visit, what was looked at, what was bought)

54
Q

E-Commerce costs

A

If not already acquired what will it cost:

  • All necessary hardware, software and infrastructures to host a business Web site
  • All personnel and skills to build and maintain a Web site
  • All legal expertise manage issues such as: protecting intellectual property, navigating regulations/tarifs/taxes in the various places, legally handling customer data
  • Potential cost of diverting ressources away from existing traditional business
  • Adequate security to protect sensitive onlinr data
55
Q

Three relational database operations

A
  • Project: Pick out a vertain attribute from a set of tuple
  • Restrict: Pick out tuples that meet a certain condition
  • Join: Match tuples from two different relational tables using a common attribute
56
Q

Foreign key

A

Primary key of another table used to relate both of them

57
Q

Online transaction steps

A
  • Getting there
  • Cookies (recommendations and such)
  • Commiting an online purchase (assure secure transmission of information)
  • Payment processing
  • Order fulfillment (inventory, shipping, pick up, deliver)
58
Q

Deontological

A

Focuses on the duties of the person acting and the way the act impinges on the rights of others

59
Q

Dialectic

A

Move back and forth from different viewpoints, tryin to make both sides win

-Ethicists depend on that to try to make better and better ethical decisions

60
Q

Important questions you should ask yourself when you recognize an ethical problem
(paramedic ethics)

A
  • Who (actors)
  • What (gains and loss, utilitarian)
  • Duties and responsibilities of actors (deontology)
  • Is it comparable to another (analogy)
  • Make a decision or revisit a step
61
Q

Fundamental question in ethics

A

What criteria to use when measuring the rightness or wrongness of a particular act

62
Q

Analogy

A

Comparing two things

63
Q

Consequentialism

A

Focuses on the consequences of an act to determine if the act is good or bad

-Utilitarianism
(happiness before, after)

64
Q

Ethics

A

The study of how to decide if somrthing is morally right or wrong

65
Q

Hacktivism

A

Hacking intended as political actvism