All Cards Flashcards

(234 cards)

1
Q

What is software

A

Collection of computer programs and related data telling a computer what to do and how to do it

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

What is engineering

A

The way something has been designed and built

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

What is software engineering

A

Methods and tools to design, build and maintain the instructions for telling a computer what to do

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

What is the 7-step software development process

A

Analysis, design, implementation, building, testing, deployment and maintenance

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

What is object-oriented programming

A

Method of implementation in which programs are organised as cooperative collections of objects

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

What is object-oriented analysis

A

Method of analysis that examines requirements from the perspective of the classes and objects

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

What is abstraction

A

Generalisations that define certain key characteristics and behaviour

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

What is a class

A

A class represents a key concept within the system; it holds data and behaviour

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

What is an object

A

A different instance of a class

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

What is encapsulation

A

Exposing what a class can do but not how. Allows you to hide specific information and control access to the internal state of the object

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

Why encapsulate code

A

To hide implementation, reduce dependencies, debug easier, make the code more manageable

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

What are getters/setters

A

THey are used to provide controlled access to internal data fields

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

What is the relationship between subclass and superclass

A

Subclass can hold all the data and perform all actions of the superclass

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

What is polymorphism

A

Allows us to request the same action from objects yet allow for it to be executed in different ways depending on the object

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

What is an abstract class

A

High level “blueprints” for objects, they are conceptual

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

What is an interface

A

A purely abstract class that defines only behaviour

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

What is UML

A

Unified Modelling Language, a formal graphical language comprising a set of diagrams for describing software systems

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

How to represent a class in UML

A

A box split into 3 sections: class name, attributes (variables), functions

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

How to denote visibility of an attribute or method

A

+ for public, - for private

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

How to show association in UML

A

Solid line, target end links to the class, name of association on time, numeracy of association on bottom

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

What is composition in UML and how to show it

A

One class cannot exist without the other. A filled diamond head is linked to the higher value class that can exist without the other

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

What is aggregation in UML and how to show it

A

One class contains objects in another class but doesn’t have control over the lifecycle of the objects. An empty diamond head.

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

How to model abstract methods and classes in UML

A

Italics or “abstract” in brackets

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

What is an interface in UML and how to show it

A

Defines the same behaviour to different classes. Shown with dotted arrow with arrow head on interface. Interface block with “«interface»” above it

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
What are the two main types of UML diagrams
Sequence and communication diagrams
26
Describe the sequence diagram
Objects on top row. Vertical axis corresponds to time travelling down. What a method requires an objects, block lines are drawn to each object's dotted line and return values are in dotted lines.
27
Describe a communication diagram
Shows method floe between objects by numbering method calls using block arrow lines
28
What is a design pattern
Software systems of similar architectural structures occuring repeatedly
29
What are some types of design patterns
Observer, memento, iterator and Model View Controller (MVC)
30
What is a composite design pattern
We want to operate on individual items or groups in a common way
31
What is a decorator
Allows to add functionality without changing the original class
32
What is a disadvantage of a decorator
Can make it hard to resolve the identity of objects due to long chains of small objects that point to each other
33
What is an observer
Allows multiple objects to maintain a consistent view on the state of an object
34
What is the model view controller (MVC)
Design pattern than separates data. Model is observer view is composite, controller is strategy
35
What is passive mode for MVC
The controller is the only class that affects the model. Controller updates model and view. Model gets data from view
36
What is active mode
Controller is not the only class that affects the model. The model notifies other classes of changes and the view sends the changed state to the model
37
What is the software life cycle
Analysis, design, implementation, building, testing, deployment and maintenance
38
What are the main roles in a traditional software team
Architect, project manager, lead programmer, programmer and test
39
What is the spiral model
Allows to manage risk after the project has started, each spiral is a phase, iterative development, incremental refinement
40
What is the evolutionary model
Iterative and incremental delivery
41
What is a regression test
Compare outputs of the previous test with known values, make sure components function correctly
42
What are the top and bottom sides of the testing quadrant
Top is business facing and bottom is technology facing
43
What are the left and right sides of the testing quadrant
Left is supporting the team and right is critique the product
44
What is in the technology-facing / supporting the team quadrant
Unit tests, component tests and deployments tests maintained by developers
45
What is in the business-facing / supporting the team quadrant
Acceptance tests: verifying that the system meets the acceptance criteria of the requested application, should be written by customers
46
What is in the business-facing / critiquing quadrant
Testing scenarios, usability, user acceptance, beta testing (give your application to the real user)
47
What is in the technology-facing / critiquing quadrant
Performance and load tests, security, capacity, modifiability
48
What are profiling tools
Allows to analyse software performance, tracking memory allocation, time required to execute program methods for bottlenecks
49
What is the driving factor for extreme programming
Improve software quality and responsiveness to changing requirements, reduce cost of change
50
What are extreme programming values
Communication, simplicity, feedback, courage and respect
51
What are extreme programming principles
Humanity, economics, mutual benefit, self-similarity, improvement, diversity and reflection
52
What are some primary extreme programming practices
Sit together for communication, create a sense of "team", buddy programming, weekly cycle and quarterly planning, incremental design
53
What are the main points from the manifesto for agile software development
Individuals and interactions, working software, customer collaboration, responding to change
54
What are the main practices of continuous integration
Single source repo, automate build, keep build fast, everyone can see what's happening, make your build self-testing
55
What is part of the deployment pipeline
First: developers commit changes into their source repo, run tests, and assemble executable code. Second: longer running automated acceptance tests. Third: independent deployment of builds via pipeline branches
56
Types of research in HCI
Data analysis problems (accounts of phenomena), conceptual problems (connecting phenomena to theoretical constructs; hypotheses, theories, models), constructive problems (constructing interactive systems)
57
What is interaction
The reciprocal influence between people and an interactive system
58
What is a user interface
Parts of an interactive system that the user comes into contact with
59
What is evaluation
To attribute some human-related value to an artifact, prototype, system or process
60
What is market pull
Sensing there is market demand for a new offering
61
What is technology push
New technology injected into the market, generating new demand for something
62
How is HCI human-centred
Focuses on who uses and is affected by its use. Requirement to understand users, to engage with people, ethical consideration. System should match people.
63
What are some variants of evaluation
Verification, validation and testing
64
What are the types of understanding
Theories (help understand phenomena), concepts (name phenomena with additional characteristics), taxonomies (system of elements of how people think, feel or act), models (simplifications of reality), guidelines (theoretical knowledge summarized into rules of thumb
65
What are the types of understanding
Theories (help understand phenomena), concepts (name phenomena with additional characteristics), taxonomies (system of elements of how people think, feel or act), models (simplifications of reality), guidelines (theoretical knowledge summarized into rules of thumb
66
What are the areas of understanding
Perception, motor control, cognition, needs, experience, communication, collaboration
67
How to apply our understanding of people
Direct what to pay attention to, explain empirical findings, make design decisions, explore design space, predict people's behaviour
68
What three primary processes contribute to human perception
Expectation, attention, sensory information
69
What is sensation
Physiological process that produces information about the environment for perception
70
What are the three forms of sensory modality
Vision, hearing, tactition
71
What are relevant human sensory properties
Information rate, parallelism, sensitivity, receptive field, adaptation
72
What are elementary perceptual tasks
Discrimination, detection, recognition, estimation, search
73
What are the windows of visibility
Visible spectrum of light, field of view, contrast, foveated vision
74
What are different forms of eye movement
Fixations, saccades, smooth pursuit
75
What are common visual grouping rules (Gestalt laws)
Proximity, common area, similarity, continuation
76
What is visual attention
Focusing of perceptual processing on a region or object in the perceptual field
77
Change blindness
Failure of a user to detect a change within the the visual field due to a visual disruption
78
What is inattentional blindness
Failure to detect a change within the visual field without visual disruption
79
What is visual saliency
Probability with which visual features attract attention
80
What are elements of an HCI motor task
End-effector, degrees-of-freedom, open-loop, closed-loop, aimed movement, interception tasks, speed-accuracy tradeoff
81
What is Fitts' law
Models the movement time (MT) it takes to acquire a target with index of difficulty (ID) MT = a + b (ID) ID = log_2(D/W + 1)
82
What is throughput
Number of bits a user can communicate independent of a specific target
83
What are the measures of throughput
TP = ID/MT or TP = 1/b, where ID is index of difficulty, MT is movement time, b is a regression coefficient from Fitts' Law
84
What is a crossing task
Target acquisition task
85
What is a steering task
Moving a cursor within a tunnel constraint
86
What is the time taken for a user to steer a cursor through a tunnel
T = a + b (integral sign) ds/W(s) ds/dT = W(s)/b where W(s) is width of tunnel at s
87
What is the index of difficulty for steering
ID = (integral) ds/W(s)
88
What are the 5 parts of cognition
Memory, attention, reasoning, decision-making and control
89
What are some psychological needs for interactive systems
Relatedness, meaning, stimulation, competence, popularity, security
90
What is collaboration
Mutually beneficial relationship between parties who work toward common goals
91
What is cooperation
Division of labour, each person is responsible for some part of problem solving
92
What is the aim of user research
Obtain concrete, empirical knowledge about users
93
What are the goals of user research
Insight about people (skills, personalities, abilities, beliefs), activities, contexts of use( physical, social, historical), technologies
94
What are various user research methods
Interview, contextual inquiry, observation, surveys, diaries, log file analysis, archived data
95
What are the different interview structures
Structured, unstructured, semi-structured
96
Describe an open-ended interview
A semi-structured method, flexible in content and structure, has continuity, both parties need full attention
97
Describe a micro-phenomenological interview
Semi-structured method for understanding the lived experience of users, content-free questions
98
What are the principles of contextual inquiry
Context, partnership, interpretation, focus
99
How to analyse interviews
Transcription, organise and condensate interviews, verification and clarifications, reporting of outcomes
100
What is field research
Research users observed in activities without researchers being present, no bias
101
What is observation
Researcher is positioned to perceive and make note of activities
102
What is survey research
Researcher designs a questionnaire for users to understand behaviours, experiences, needs, attitudes
103
What are four sources of nonreactive (unobtrusive) data
Traces (logfiles), direct traces (recordings), archive data
104
What are logfiles
Device, user-interface, or application events recorded by system
105
What are archival data
Data found in public repositories or individual's records
106
What is a persona
Description of an idealized, non-existing person that represents a group
107
What is the equation for self-information
I(m) = -log2(P(m)) where m is in bits
108
What is entropy
Average bits required to communicate a message when using optimal coding scheme
109
What is redundancy
Difference between average actual bits for communication and average bits required for communication using an optimal coding scheme
110
What is perplexity
Weighted average number of choices a random variable has to make PP = 2^H
111
What is mutual information
Expresses the number of bits about a random variable that can be obtained by observing another random variable
112
What is the equation for entropy
H = -SUM( P(m) log2(P(m))
113
What is dialogue
Modelled as exchanges between two or more users
114
What is gulf-of-execution
Knowing what to do to have a desired state change in the computer. Form intention, specify action, execute action.
115
What is gulf-of-evaluation
Knowing what the current state in the system is by interpreting the system output
116
What is mixed-initiative interaction
Organising interaction in dialogue where both the computer and the human can take initiative by coupling an automated service with direct manipulation
117
What are the principles of mixed-initiative interfaces
Developing automation, consider uncertainty in user's goal, inferring ideal action in light of costs and benefits, continuing to learn, minimising cost of poor guesses
118
What is utility, related to tool use
Interactive system concerns its match with the tasks users want to do. The relation between functionality and the user's needs
119
What is usability, related to tool use
How easily computer-based tools may be operated
120
What is acceptability, related to tool use
Whether users choose to use the tool or not, assuming they are given the choice. Practical and social acceptability
121
What is accessibility, related to tool use
Ensure products may be used by a large group of users in diverse situations
122
What is automation
Allocation of tasks to machines such as error correction, enhancement of photos, recommendations
123
What are the types of automation
Acquisition (registering data), analysis, decision, action, adaptive (vary depending on context)
124
What are the effects of automation
Affect mental workload, situation awareness, complacency, skill degradation
125
What is personalisation
Changing appearance of interactive systems (non-functional changes)
126
What is tailoring
Users intentionally modifying the functionality of interactive systems
127
What are the three types of tailoring
Customisation, integration (add new functionality by linking existing components), extension (add new code or program)
128
What is appropriation
Adaptation which may change workflows and organisational processes
129
What are the main guidelines for appropriation
Allow interpretation, provide visibility, expose intentions, configuration, encourage sharing, learn from appropriation
130
What are the main design objectives when making a user interface
Usability, accessibility, efficiency, learnability, explorability, consistency
131
What is a direct control user interface
Allows user to select absolute coordinates on displays
132
What is an indirect control user interface
Enables the user to control a cursor on a display
133
What is an uncertain control user interface with an example
Input devices with high uncertainty due to high noise, such as switches, gyroscopes, accelerometers
134
What is visual encoding and the two types
Way to show nominal, ordered or quantitative variable; visual marks and visual channels
135
What are visual marks
Primitive geometric shapes such as points, lines and areas
136
What are visual channels
Position of mark, colour, shape, size, orientation
137
What are haptics
Enables users to perceive touch, forces on their body such as vibration or force feedback
138
What is a command-line interface comprised of
A prompt, a command and n parameters
139
What is a prompt in command-line
A system-generated indication that the system is awaiting a command from the user
140
What are hypertexts
Text that allow the user to retrieve further information when interacted with
141
What are notational systems
Systems with novel graphical elements that are composed according to novel visual grammars
142
What some cognitive dimensions of notation
Viscosity, visibility, hidden dependencies, consistency
143
What is a direct manipulation interface
Physical actions of labelled buttons, rapid reversible incremental actions, effects are visible immediately, meaningful visual metaphors
144
What does the small size of mobile user interfaces affect
Input, output, visual hierarchy, viewport, enables portability
145
What is ubiquitous computing
Computing should come in different sizes, each suitable for a particular task
146
What does it mean to be user-centered in design
User focus, user involvement, prototyping, evaluation in context, holistic design
147
What are the rationales for design
Improve, create, inform, produce knowledge
148
What is divergent thinking
Attempts to identify distant, novel solutions, thus diverging from the solution at hand
149
What is convergent thinking
Attempts to improve existing solutions iteratively by making local adjustments rather than novel solutions
150
What is cognitive heuristic (also known as availability heuristic)
A rule of thumb used to identify a quick solution to a complex problem
151
What is bias
Assignment of an undue weight to a particular idea or object
152
What is design fixation
Means being mentally locked to a particular solution and being unable to generate alternatives
153
What makes a well-defined design task
Design decisions, design space, objectives, constraints
154
What is a wicked problem
Unfavourable properties of a problem are extreme to such an extent that the problem-solution alignment is not a meaningful question to ask
155
What are the six reasons for a variety of design practices
Designers need to be creative, has multiple objectives, choices are made under uncertainty, has many contextual factors, consist of many stakeholders, design is a collaborative effort
156
What is prototyping used in HCI
Studying the feasibility of an idea, presenting an idea in a concrete form for others
157
What are the five practices for scaling up prototyping to larger projects
Test core concepts quickly, use maker tools to produce prototypes within the team, augment functions with videos to help communicate the point, use higher-fidelity prototypes to do systems testing, use real data if possible when simulating how the system works
158
What is in-action vs out-action reflective practice
Reflections that occur while designing versus reflections outside of design
159
What is remembering vs gathering reflective practice
Reflection that focuses on the past versus the collection of new materials
160
What is a design rationale
Statement about the reasons why a particular decision was made in design
161
What is design critique
Practice of reflection, evaluation, knowledge sharing and accountability
162
What are the four core phases of user-centered design processes
User research, requirements, design, evaluation
163
What are the ten phases of usability engineering
Know the user, competitive analysis, setting usability goals, design stage, coordinated design, guidelines and heuristics, prototyping, empirical user testing, iterative design, collecting feedback from the field
164
What is agile development
Emphasis on rapid iteration or design sprints over requirements-based engineering
165
What are the five stages of human factors engineering
Ideation, requirements, design, testing, maintenance
166
What is a task diagram
Hierarchical representation of tasks and conditions for carrying them out
167
What is an information diagram
Representation of documentation as nodes and relationships between them as links
168
What is an organisational diagram
Representation of people and their roles in an organisation
169
What is a system diagram
To understand how data is transformed through processes in the system, shows where data is stored
170
What is a process diagram
Shows how series and parallel processes and activities are structured as a series of steps
171
What is a communication diagram
Way to represent flow of information between users
172
What is functional modelling
Allows the design team to reason about required functionality without premature commitment to a specific solution
173
What is a function in functional modelling
A solution-neutral description of what a system needs to carry out
174
What is a function carrier in functional modelling
A solution that specifies how a system might carry out a function
175
What is a FAST diagram
Function analysis systems technique. Decomposes higher-order functions at a higher abstraction level to lower-order functions at lower abstraction level
176
Describe the axes of a FAST diagram
Horizontal is level of abstraction, high on the left (lower abstraction means more concrete design). Vertical axis is time
177
What is a morphological chart
Table which each row is a function and each column is a different solution for that function
178
What is concept evaluation
Score conceptual designs against relevant criteria
179
What is verification
Process of ensuring requirements have been met
180
What is validation
Process of ensuring the system is fulfilling its purpose for the intended users
181
What is a VCRM
Verification cross-reference matrix. Row-by-row method for how to verify individual requirements
182
What are the columns of a VCRM
Requirement ID, requirement, verification method, allocation, success criteria
183
What are some verification methods
Inspection, demonstration, test, analysis
184
What is a mistake
Error due to an incorrect intention
185
What is a slip
Error due to user failing to carry out an action correctly
186
What is the SRK model
Skills, Rules and Knowledge. Model to understand the performance of skilled users
187
What are signals in SRK model
Continuous control signals that affect skill-based behaviour
188
What are signs in SRK model
Perceived information to guide the user's actions
189
What are symbols in SRK model
Relates concepts to functional properties of the system
190
What is the equation for risk
Risk = likelihood x impact
191
What are the five steps for risk management
Hazard identification, risk estimation, risk evaluation, risk control, risk monitoring
192
What is the SWIFT technique
Structured What-IF Technique. Team-based risk assessment method to ask questions to stimulate thinking about risks
193
What is an example set of columns for a SWIFT analysis
Identifier, what-if question, hazard and risk, relevant controls, risk ranking, action notes
194
What is FMEA analysis
Failure Mode and Effects Analysis. Analyse human error at both individual and team level
195
What is an example set of columns for FMEA analysis
Identifier, component, failure mode, causes, probability, severity, risk, recovery, action notes
196
What is a fault tree
Diagrammatic method for identifying and analysing factors contributing to a fault
197
What is a risk matrix and what are the axes
A simple technique for communicating risk. The two axes are impact and likelihood
198
What is a macro
A collection of user actions grouped together into a program
199
What are formal methods
Methods that use rigorous mathematical models to specify, develop and verify a system
200
What are Nielson's heuristics (meaning rules of thumb)
Visibility of system, match between system and real world, user control and freedom, consistency, error prevention, recognition rather than recall, flexibility, minimalist design, help diagnose errors, documentation
201
How to report usability problems
Frequency, severity rating, persistence, cause, redesign suggestion
202
What is KLM in KLM-GOMS
KLM = keystroke level model
203
What is GOMS in KLM-GOMS
Goals, operators, methods, selection rules
204
What is KLM-GOMS
Subset of GOMS that only includes operators and methods. KLM predicts task completion times by summing up execution times for different operators
205
What are some KLM-GOMS standard operators
K, T(N), P, B, BB, H, M, W(t)
206
What is K in KLM-GOMS operators
Key on keyboard = 0.28s
207
What is T(n) in KLM-GOMS operators
Type sequence of n characters = n x K
208
What is P in KLM-GOMS operators
Point mouse to target on display = 1.1s
209
What is B in KLM-GOMS operators
Press or release mouse button = 0.1s
210
What is BB in KLM-GOMS operators
click (down then up_ of mouse button = 0.2s
211
What is H in KLM-GOMS operators
Move hands between mouse and keyboard = 0.4s
212
What is M in KLM-GOMS operators
Mental act of routine thinking = 1.2s
213
What is W(t) in KLM-GOMS operators
Wait time for system response = t
214
What is a research hypothesis
Statement that links changes in independent variables to dependent variabls
215
What is between-subjects experimental design
Participants are only exposed to one condition in the experiment
216
What is within-subject experimental design
Participants are exposed to all conditions in the experiment
217
What is a latin square
n different conditions are positioned in an nxn array so that every condition occurs exactly once in every row and every column
218
What is an asymmetrical skill-transfer effect
This effect arises when exposure to one condition induces more learning that the other condition
219
What is internal validity
Measured changes in the dependent variables are solely due to changes in the independent variables
220
What is external validity
The experimental task is generalisable to a wide variety of usage contexts outside the experimental setting
221
What are other evaluation methods
Field evaluation of prototypes, pilot studies, deployment studies, think-aloud studies
222
Describe the two-axis model of collaboration technology
Left: synchronous, Right: asynchronous, Top: co-located, Bottom: Remote
223
What is in the synchronous co-located box in the two-axis model for collaboration technology
Tabletop group interaction
224
What is in the asynchronous co-located box in the two-axis model for collaboration technology
Public display message board
225
What is in the synchronous remote box in the two-axis model for collaboration technology
Video conferencing
226
What is in the asynchronous remote box in the two-axis model for collaboration technology
Email
227
What is between-subjects design
Participants are only exposed to one condition in the experiment
228
What is within-subjects design
Participants are exposed to all conditions in the experiment
229
What are the sections of the Business Model Canvas
Key partners, key activities, key resources, value propositions, customer relationships, customer segments, channels, cost structure, revenue streams
230
What are the user research strategy principles
Tradeoff between realism precision generalisability, triangulation (multiple research methods to study same phenomenon), research method bounds what can be learned from them
231
What is the say/do problem
What users say they do might differ from what they actually do
232
What are system-based automation evaluation criteria
Automation reliability, costs of decision and action outcomes
233
What are some market types
Existing marking, new market, low-cost proposition, niche proposition, international idea arbitrage
234
Describe the deployment pipeline for CI/CD
First stage: developers commit changes to main repository, compiles code, tests, creates installers. Second stage: longer running automated acceptance tests. Third: pipeline branches to independent deployment of builds to different environment, tester should see all release builds