Cross-Cutting Themes Term 1

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/6

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

7 Terms

1
New cards

Being a Computer Scientist isn’t just about Programming

  • ‘Computer science is the study of computers and algorithmic processes, including their principles, their hardware and software designs, their applications, and their impact on society’

  • Involves a whole range of other skills - requirements engineering, design, ethical thinking, user research etc

  • Even if you don’t end up using all of these yourself, you’ll likely be working with people who do and need to be able to communicate with them

  • Problem solving is crucial, and this doesn’t just mean solving technical problems

2
New cards

Types of Problem Solving

  • Seeing the bigger picture

  • Identifying potential risks and unintended consequences

  • Understanding a current problem

  • Identifying requirements

  • Designing a solution that meets requirements

  • Negotiating trade-offs

3
New cards

A Computer Scientist has Legal and Ethical Obligations

  • Legal requirements govern behaviours

  • Ethics - moral principles. Ethics codes provide rules of conduct recognised by a given group, e.g. a professional body

  • Best practice - not just sticking to legal requirements as a bare minimum, but trying to do what is ethically right

4
New cards

Codes of Conduct/Codes of Ethics

  • BCS code of conduct

    • Professional competence and integrity - e.g., only completing work that is within your competency, commitment to continued professional development and learning

    • Public interest - e.g., ‘have due regard for public health, privacy, security and wellbeing of others and the environment’, not discriminating against others, ‘promote equal access to the benefit of IT’

    • Duty to the profession - e.g., upholding the profession’s reputation

  • ACM code of ethics

  • Codes of conduct suggest how members should behave, in relation to their employer and wider society

  • Legal frameworks

    • GDPR - EU’s data privacy law (2018): grants rights to ‘data subjects’ and dictates how personal data should be stored and used

    • Equality Act (2010): failure to design for inclusiveness and accessibility may constitute unfair discrimination

    • Copyright, Designs and Patents Act (1988): software copyright (covers licences etc), licences of use, etc

5
New cards

Consequences of breaking the law when it comes to personal data storage and usage

  • Major fines - 4% of turnover

  • British Airways - £183 million (2019)

  • Marriott Hotels - £99 million (2019)

  • Facebook (Cambridge analytical Scandal) - £500,000 (2018)

  • Reputational damage

  • Harm to end-users

6
New cards

Importance of Managing Risk

  • Anticipating and minimising unintended consequences

    • Many possible unintended consequences to be aware of:

      • Potential misuse, malevolent actors

      • Negative effects on wellbeing

      • Inadequate protection of privacy and security

    • Anticipating these risks and thinking about how to minimise them is a key part of what it means to be a problem-solver

  • Building dependable systems

    • Very important property for most systems

    • ‘Dependability is defined as that property of a computer system such that reliance can justifiably be placed on the service it delivers’

    • There are ways of enhancing dependability (through, e.g., removing faults, being fault-tolerant, etc)

  • Building error-tolerant systems

    • Design systems that minimise potential for human error, detect and correct human error, and tolerate human error

    • Norman: design for errors, assume errors will occur and plan for error recovery, e.g. make it easy to reverse actions

  • Significance of SDLC and requirements engineering

    • Good planning and analysis stages should enable consideration of potential risk

    • Incomplete requirements are a key cause of project failure, so identifying the right requirements is crucial

7
New cards

Importance of Considering End-Users

Vital to consider end-users throughout the SDLC

Why?

  • Computing - used by many people (no longer just technical professionals)

  • People have diverse needs, desires, capabilities and limitations

System should be accessible and have good usability

Accessibility:

  • ‘Digital accessibility means disregarding and building your digital offerings so that, regardless of a person's mental/physical ability, they can still interact with your website, app, or other digital product in a meaningful and equal way’

  • Accessible design is often good for everyone - concept of universal design

Usability:

  • Learnability - the system should be easy to learn

  • Efficiency - the system should be efficient to use

  • Memorability - the system should be easy to remember

  • Errors - the system should have a low error rate

  • Satisfaction - the system should be satisfying to use

However there are many obstacles:

  • Users may not know what they want, or struggle to articulate it

  • Users may not be aware of the technical possibilities and constraints

  • Tensions between different stakeholder and user needs