Following is a list of questions to help you practice for the final individual exam. They are divided into the different topics covered throughout the semester. You should be able to answer all by following the lectures and reading the provided course literature. Most of the question on the exam will be selected from this list.
1. Web development
- Briefly describe the role of the following languages/concepts in front-end development: 1) HTML, 2) CSS, 3) JavaScript, and 4) JavaScript frameworks (such as React)
- Provide definitions of: front-end development, client-side development, back-end development, and server-side development.
- What is a JavaScript framework, and why do we use them? Name three examples and explain the differences between these.
- What is an Application programming interface (API)? Why is it relevant to software platforms?
- What is AJAX?
- What is a Design System?
2. Information systems and complexity
- What is the difference between complicated and complex systems?
- What do we mean when we say that information systems are socio-technical? Discuss how this perspective can be of benefit when understanding failure, success, and challenges with information technology.
- Give an example of an information system.
- What is the role of standards in information systems?
- If you were to introduce a new software system into a large organization with already existing information systems and practices: are there any possible challenges?
- What do we mean by system architecture?
- What is modularization and how is it related to platform architectures?
3. Platform Ecosystems – fundamental concepts
- What is the difference between transaction platforms and innovation platforms? Name some examples of both types.
- Tiwana (2013) and Baldwin & Woodard (2008) both define software platforms. How do they define them? And are there any differences in their definitions?
- Mention some examples of platform ecosystems. Select one and discuss how it meets the definition and characteristics of a platform ecosystem using concepts from the course literature.
- What is a boundary resource? What role do these play in platform ecosystems?
- What do we mean when we say that platforms are multi-sided?
- What do we mean by platform envelopment?
- What do we mean by platform forking?
- What do we mean by network effects and how is this concept relevant to platforms?
- What is the role of interfaces in a platform ecosystem? Why do we say that they need the be relatively stable?
- What do we mean by software architecture? Name some examples of different types/levels of architectures found in platform ecosystems.
- Discuss potential benefits associated with a platform architecture, for example in the areas of innovation, design, and implementation.
4. Generic Software Platforms and Design
- What benefits are associated with end-user involvement in software development?
- What is usability and why is it relevant to software development?
- What do we mean by generic software?
- Are there any challenges related to designing usable and locally relevant user interfaces and software features when developing, or implementing generic software?
- What do we mean by ‘design for design’ or ‘meta-design? Are these concepts relevant to software platform design?
- What do we mean by ‘design infrastructure’?
- Give some examples of resources that could be part of a design infrastructure?
- What advantages might platform architectures have in relation to the design of locally usable and relevant applications and user interfaces?
5. Web Services and Software licensing
REST
- What is REST? What characterizes the REST architectural style?
- What is the “Uniform interface” constraint in REST (as defined by Fielding)?
- What characterizes a RESTful web service/API as compared to other types of web services/APIs?
- Describe the REST maturity model. At what level in the maturity model would you place the DHIS2 API? You should discuss to what extent the DHIS2 API meets the criteria for each level in the model.
FOSS
- Define Free and Open Source Software (FOSS). What are the main differences between Free Software and Open Source Software?
- What is meant by FOSS compliance? Have you encountered any compliance issues in the group project work?
- What are the main categories of free and open source software (FOSS) licenses, and what are their key characteristics?
- What is the relevance of FOSS in a platform ecosystem, for app developers and platform owners?
- Define platform forking. How is it different from “regular” software project forks?
- How can (open source) software licenses function as a boundary resource?
6. Innovation and Platforms in the public sector
- Are there any characteristics of software platforms that might promote innovation?
- Discuss the relationship between platform openness and platform innovation by third-party complementers.
- How can platform leaders /platform owners shape innovation appropriability (i.e., the ability for third party complementors to capture value from their platform innovations/applications) in a software platform ecosystem?
- What are the current challenges to "platform thinking" in the public/government sector?
- What are the expected benefits of public sector software platforms?
7. Data Platforms and Artificial Intelligence (AI)
- Name some of the benefits a data platform can give when an organization wants to succeed with AI.
- What is the difference between Artificial intelligence (AI) and Machine learning (ML)?
- What are the typical stages in an ML development process, from beginning to end? Briefly explain the different stages.
- There are numerous challenges related to an AI development process. Name some of the most common challenges, and then choose one of the challenges and write more thoroughly about it.
- Mention some ethical issues that we may face when using AI. Choose one and discuss what might be the cause of the problem.
- Name some use-cases where machine learning has proved to be a success.
- Explain how machine learning algorithms learn using Lantz four components (Data Storage, Abstraction, Generalization, and Evaluation).
8. Project-related reflections
- Discuss real and/or potential benefits and challenges of developing an app within a platform ecosystem in your group project, compared to developing a stand-alone system from scratch.
- In your group project you have been creating functionality and user interfaces without talking directly with any real end-user. Are there any issues with this?