Topics from the International Baccalaureate (IB) 2014 Computer Science Guide.
PLANNING AND INSTALLATION | FLIP CARDS
Identify the context for which a new system is planned
New computer systems in organizations are planned in response to various contexts, including changing business needs, technological advancements, cost savings, scalability requirements, security and compliance needs, and the need to replace outdated legacy systems. These systems can help organizations to stay competitive, increase efficiency, improve customer service, comply with regulations, and meet the growing needs of the organization.
Describe the need for change management
Change management is crucial for the successful implementation of new computer systems in organizations. It helps to mitigate resistance to change, minimize disruption for employees, manage the complexity of implementation, align stakeholders, and identify opportunities for continuous improvement.
Outline compatibility issues resulting from situations including legacy systems or business mergers
Compatibility issues can arise during the implementation of new computer systems due to legacy systems or business mergers. These issues include data and application compatibility, as well as hardware and system integration issues. It is crucial for organizations to identify and address these issues through careful planning and management to ensure the successful implementation of new computer systems.
Compare the implementation of systems using a client’s hardware with hosting systems remotely
The implementation of computer systems using a client's hardware or hosting systems remotely has advantages and disadvantages. Local hosting with client hardware offers greater control and customization but can be more expensive and difficult to maintain. Remote hosting can be cost-effective and scalable, but may result in dependence on the provider and limited customization options. The choice between these approaches depends on the organization's specific needs and requirements.
Evaluate alternative installation processes
There are four methods of implementing new computer systems in organizations: parallel running, pilot running, direct changeover, and phased conversion. Each method has its own advantages and disadvantages, and organizations should choose the one that best meets their specific needs based on factors such as system complexity, impact on business operations, availability of resources, and the need for a gradual or immediate transition.
Discuss problems that may arise as a part of data migration
Data migration involves transferring data from one system to another, and it can be complex and challenging. Common problems that can arise during data migration include data loss or corruption, incomplete data, data accuracy issues, security risks, time and cost, and system downtime. To minimize these risks, organizations should carefully plan and execute the process, conduct a data audit, test the process, and provide training and support to users. They should also consider using migration tools and services and have a contingency plan in place to address any problems.
Suggest various types of testing
Testing is essential for the successful implementation of new computer systems. User acceptance testing, debugging, and beta testing are common types of testing used to identify and fix errors or defects, refine the system before full implementation, and ensure that the system meets the needs of the organization. Thorough testing helps to reduce the risk of errors, improve system performance, and enhance the user experience.
USER FOCUS | FLIP CARDS
Describe the importance of user documentation
User documentation is crucial for any software or system implementation project as it serves as a guide for users to understand how to use the system effectively. The quality of user documentation significantly impacts the success of a new system implementation in several ways, including higher user adoption, reduced need for expensive training sessions, lower number of support requests, improved user satisfaction, and continuous improvement. Good user documentation is essential for a smooth and successful implementation, while poor documentation can lead to confusion and a low rate of adoption.
Evaluate different methods of providing user documentation
The text discusses various methods for providing user documentation, including online help, user manuals, video tutorials, and knowledge bases. Each method has its advantages and disadvantages, and the best option depends on factors such as system complexity, target audience, and available resources. Online help provides accessibility, searchability, and multimedia content, while user manuals offer portability and in-depth information. Video tutorials are easy to follow and provide a visual representation of the system, while knowledge bases provide a centralized location for accessing information.
Evaluate different methods of delivering user training.
Different methods of delivering training have their own advantages and disadvantages, and the choice of the best method will depend on the specific needs of the training program and its participants. Common methods include self-instruction, formal classes, and remote/online training. Self-instruction allows for learning at one's own pace but lacks interaction with a trainer. Formal classes provide structure and accountability but require scheduling at a specific time and place. Remote/online training provides flexibility and the ability to interact with a trainer and other learners but requires a reliable internet connection. The complexity of the material being taught, preferred learning style, and resources available should be considered when choosing a training method.
SYSTEM BACKUP | FLIP CARDS
Identify a range of causes of data loss
Data loss can be caused by malicious activities such as virus or malware attacks, ransomware attacks, human error, or hardware failure, as well as natural disasters like floods, fires, earthquakes, power surges, and outages. To minimize the impact of data loss, it is important to have backup and recovery plans in place.
Outline the consequences of data loss in a specified situation
Data loss can result in significant financial loss, reputation damage, legal consequences, loss of intellectual property, loss of productivity, and emotional stress. In the case of medical records, data loss can lead to serious consequences such as patient safety risks, legal liability, loss of trust, duplication of tests and treatments, and delays in treatment. Therefore, it is crucial for organizations to have a robust backup and recovery plan in place to prevent data loss and protect patient information.
Describe a range of methods that can be used to prevent data loss
The methods for preventing data loss include regular backups, data encryption, firewalls, physical security measures, access controls, disaster recovery planning, and regular software updates. By using these measures, individuals and organizations can protect their important data and minimize the risk of data loss.
SOFTWARE DEVELOPMENT | FLIP CARDS
Describe strategies for managing releases and updates
The deployment stage is the final stage of the software development life cycle, where the software is installed and made available to end-users. It involves several activities such as installation, configuration, testing, training, documentation, and maintenance. Managing software releases involves different strategies such as agile release management, branching and merging, continuous integration and deployment, rollback strategies, and staging environments. Updates and patches can be made available through manual downloads, automatic updates, System Center Configuration Manager, deployment tools, or cloud-based updates. Organizations can choose the best method that fits their needs and infrastructure for efficient and secure deployment of updates and patches.
COMPONENTS OF A COMPUTER SYSTEM | FLIP CARDS
Define the terms: hardware, software, peripheral, network, human resources
Hardware: Hardware refers to the physical components of a computer system, including the central processing unit (CPU), memory, storage devices, and input/output (I/O) devices such as a keyboard, mouse, and monitor.
Software: Software refers to the programs and instructions that run on a computer and control the hardware. Software can be categorized into two main types: system software, which includes the operating system and device drivers, and application software, which includes productivity tools, games, and other programs.
Peripheral: A peripheral is a device that is attached to a computer system to enhance its functionality. Peripherals can be external, such as printers and external hard drives, or internal, such as sound cards and graphics cards.
Network: A network is a group of two or more computers or devices that are connected to each other to exchange data and resources. Networks can be local area networks (LANs), wide area networks (WANs), or the Internet.
Human Resources: Human Resources (HR) refers to the department or function within an organization that is responsible for managing personnel, including recruiting and hiring, training, and employee benefits. HR also deals with employee relations, compensation, and compliance with labour laws
Describe the roles that a computer can take in a networked world
The "networked world" is a term that refers to a world where devices are connected to each other through networks. The Internet is the largest example of a networked world, connecting billions of devices worldwide. Clients request services or resources from servers, which provide these services to other devices on the network. Email servers provide email services, DNS servers translate domain names into IP addresses, routers forward data packets between networks, and firewalls monitor and control incoming and outgoing network traffic to prevent unauthorized access. The networked world has transformed the way we live, work, and communicate, but it also presents new challenges such as cybersecurity risks and privacy protection that must be addressed.
Discuss the social and ethical issues associated with a networked world
A networked world comes with social and ethical issues such as privacy concerns, cyberbullying, freedom of speech, intellectual property, and the digital divide. Personal information can be easily collected and shared, leading to hacking and unauthorised use. The anonymity of the internet has led to cyberbullying, while balancing free speech with protection from harm is a complex issue. Sharing copyrighted material has led to questions about fair use and intellectual property rights. The digital divide is another issue, with unequal access to technology and the internet leading to unequal access to education and economic opportunities. A combination of technical solutions, social responsibility, public education, and laws and regulations are required to address these issues.
SYSTEM DESIGN AND ANALYSIS | FLIP CARDS
Identify the relevant stakeholders when planning a new system
Stakeholders are individuals or groups with vested interests and concerns in a new computer system project, including end-users, business owners, IT department, project team, vendors, regulators, and customers. It is important to consider stakeholders throughout the System Development Life Cycle (SDLC) to ensure the project's success. Benefits of considering stakeholders include aligning goals, improving decision-making, increasing buy-in, and improving communication.
Describe methods of obtaining requirements from stakeholders
Different methods can be used to obtain requirements from stakeholders in a system development project, such as surveys, interviews, direct observations, focus groups, and workshops. Surveys can gather information from a large number of stakeholders, while interviews provide a more interactive way of gathering information. Direct observations can provide insights into stakeholders' work processes, and focus groups can provide a collaborative forum for stakeholders to provide feedback. Workshops can help identify and prioritize requirements, and the best method depends on the project's needs and the stakeholders' preferences.
Describe appropriate techniques for gathering the information needed to arrive at a workable solution
The planning phase of a new system development project involves examining current systems, competing products, and organizational capabilities to ensure that the new system meets the needs of the stakeholders and has the best chance of success. Questionnaires, interviews, direct observation, and reading documentation are effective methods of gathering information on current systems, with each method having its own advantages and disadvantages. A combination of these methods can provide a more comprehensive understanding of the current system, and it is important for the project team to select the most appropriate methods and involve stakeholders throughout the process.
Construct suitable representations to illustrate system requirements
Describe the purpose of prototypes to demonstrate the proposed system to the client
Prototyping is the process of creating a preliminary version of a proposed system to demonstrate its functionality and design to the client. Prototypes can help to improve communication, solicit feedback, validate assumptions, demonstrate functionality, and accelerate development. The purpose of prototypes is to provide a tangible representation of the proposed system, allowing stakeholders to visualize and interact with it and provide feedback to ensure that the system meets their needs. Prototyping is a critical step in the development process and can help to increase the chances of success of the final system.
Discuss the importance of iteration during the design process
Iterating a sequence of steps to refine and improve a design is essential in the design process. Iteration allows the project team to gradually improve the design, respond to feedback, build momentum, encourage creativity, and reduce risk. Iteration helps to improve quality and effectiveness, identify and resolve issues early, and maintain focus and commitment. By encouraging creative problem-solving, iteration can identify innovative solutions, and reduce the risk of failure by testing and refining the design before committing to full-scale development.
Explain the possible consequences of failing to involve the end-user in the design process
End-user involvement is crucial in the design process of a system. Failing to involve end-users in the design process can lead to poor usability, low adoption, resistance to change, unmet requirements, and missed opportunities. End-users have a unique perspective on the way they perform their work, and their involvement can ensure that the system meets their needs, is efficient and effective, and has the best chance of success.
Discuss the social and ethical issues associated with the introduction of new IT systems.
The introduction of new IT systems can raise social and ethical issues, including privacy, job displacement, the digital divide, bias and discrimination, and cybersecurity. It is important to consider these issues and take steps to mitigate their impact and ensure that new IT systems are designed and deployed responsibly and ethically.
HUMAN INTERACTION | FLIP CARDS
Define the term usability
Usability refers to the ease with which people can use a computer system or technology to accomplish their goals. It encompasses factors such as the design of the user interface, accessibility, user's level of expertise, and overall user experience. Usability is crucial in the design and development of all types of computer systems, and is evaluated using methods such as user testing, expert reviews, and heuristic evaluations. The goal is to create technology that is easy to learn, use, and remember, and that supports the user's goals and needs in the most effective and efficient way possible.
Identify a range of usability problems with commonly used digital devices
Usability problems commonly encountered with digital devices include complex user interfaces, poor accessibility, unintuitive design, inadequate documentation, limited customization options, poor error handling, inadequate feedback, slow performance, and unreliable software. To address these issues, HCI researchers and practitioners aim to create more usable and accessible technology that supports the needs and goals of users.
Identify methods that can be used to improve the accessibility of systems
Improving the accessibility and usability of systems is important in Human-Computer Interaction (HCI). There are several methods to achieve this, including user-centered design, adherence to accessibility guidelines and standards, alternative input and output methods, user testing, assistive technology, designing for simplicity, and regular evaluation and improvement. These methods can help to ensure that technology is accessible and usable for people with a wide range of abilities, including those with disabilities.
Identify a range of usability problems that can occur in a system
Usability problems can occur in various systems, such as e-ticketing, online payroll, scheduling, and voice recognition. Difficult navigation, slow performance, security concerns, complex user interface, inadequate feedback, limited customization options, unreliable software, recognition errors, and privacy concerns are some of the problems that users might encounter. To improve the usability of these systems, HCI researchers and practitioners use methods such as user-centered design, accessibility guidelines and standards, alternative input and output methods, user testing, assistive technology, design for simplicity, and regular evaluation and improvement.
Discuss the moral, ethical, social, economic and environmental implications of the interaction between humans and machines
The interaction between humans and machines has various moral, ethical, social, economic, and environmental implications. The development and use of technology can raise questions about responsibility, privacy, security, and societal impact. Technology can bring people together but also exacerbate social inequalities and cause economic changes. The production and use of technology can have environmental impacts, and technology can affect human psychology, including prolonged screen time and social media's impact on self-esteem and body image. It is essential to consider these implications and take steps to minimize negative impacts and maximize benefits.