Choices of resources Flashcards
What are the 2 types of hardware of a computer?
- Components- essential to function
2. Peripherals- non essential to computer function
List main components of a computer
- CPU-(Central processing unit)- Performs basic arithmetical, logical and I/O operations of a computer system
- RAM- (Random access memory) Applications and data in current use are kept so they can be quickly reached by the device’s (volatile) processor
- ROM- (Read only memory)- boot up programs
- Bus- connects CPU to other components
List the main peripherals of a computer
- Mouse, keyboard, monitor, hard drive….
What are the 6 considerations when choosing hardware?
- Cost
- Current and future hardware needs of the department
- Potential compatibility issues
- Security concerns
- Long-term IT strategy
- Training needs (set up and maintenance)
What are the 3 most popular OS?
- Windows
- Mac
- Linux
What are the benefits and drawbacks of choosing a windows OS?
Benefits-
- well supported
- User friendly
- Large hardware choices
Drawbacks
- Security issues- vulnerable to malware (patient safety)
- Limited access to open source software
What are the benefits and drawbacks to a Mac OS?
Benefits
1. More secure than Windows (Unix based)
2. Large library of open source applications
3. User friendly
Drawbacks
1. Expensive
2. Less supports (all handed by Apple)
What are the benefits and drawbacks of using a Linux OS?
Benefits
- Secure
a. Not as susceptible to malware - Open source (free)
- Large community support
- Wide range of distribution choices (Centos, Fedora, Alpine)
- Runs on almost all hardware
Drawbacks
- Certain ‘off the shelf’ applications are not compatible
- Lack of prebuilt linux machines, so includes additional build step
- Less user friendly
What considerations need to be made when choosing a development language?
- Current experience within the team
2. Time to market (python fast development time)
What is the difference between a compiled and an interpreted language?
Compiled- Code translated into machine code before run time
Interpreted- Code translated into machine code during execution- easier to debug!
What is the difference between a statically type language and a dynamically typed language?
Static type language- type variables checked before run time- FASTER! e.g. GO
dynamic typing- checks variable types at run time e.g. Python
What is python? what are the pros and cons?
High level programming language
Pro-
- extensive libraries
- improved productivity- simple and library use
- simple and easy to read (hello world-JAVA)
Con-
- speed limitation
- under-developed database access layers
Package manager s
Package managers automate the process of installing, upgrading, configuring and removing programs (dependencies)
OS level
1. Linux e.g. yum, apk
Application level
- Python e.g. anaconda, pip
- Perl e.g. CPAN
- PHP e.g. PEAR
What are the advantages and dis-advantages of off-the-shelf-applications?
Advantages
- Cheaper
- Immediately available
- Lower training costs
- Community support
- More functionality (the developers are try to meet the needs of as many users as possible)
- Upgrades
Disadvantages
- Compromise (may have to compromise on your requirements)
- May be over complicated
- You are not in control
- Per user fees and licencing
What are the advantages and disadvantages of bespoke applications?
Advantages
- Tailored to your needs
- More flexible (with changing requirements)
- No-per-user cost
- Not tied in
- Competitive advantage (competitors won’t have the same software)
Disadvantages
- Higher initial costs
- Takes longer