To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
This chapter addresses how you can approach an early programming exercise. What do you need to know, and to have available, before you can start? How can you make some progress, even if you do not immediately know how to complete the exercise? What should you do if you get confused?
Few things are more frustrating than constructing a program that is almost correct, only to lose it at the last minute through a mistake. This chapter discusses manual processes for undoing mistaken edits and for saving your best program so far, and how to take the next step to using a version-control system or configuration management system. It also covers how to manage code that you have written that is not useful right now, but may be so later.
The possible emulation of human creativity by various models of artificial intelligence systems is discussed in this chapter. In some instances, the degree of originality of creations using algorithms may surprise even human beings themselves. For this reason, copyright protection of ‘works’ created by autonomous systems is proposed, which would take account of both the fundamental contributions of computer science researchers and the investment in human and economic resources that give rise to these ‘works’.
Rapid progress in AI and robotics is challenging the traditional boundaries of law. Algorithms are widely employed to make decisions that have an increasingly far-reaching impact on individuals and society, potentially leading to manipulation, biases, censorship, social discrimination, violations of privacy and property rights, and more. This has sparked a global debate on how to regulate AI and robotics.
This chapter discusses the most fundamental aspects of programming language theory, to help you situate the language you are learning in the landscape of all programming languages. It covers compilation versus interpretation, different approaches to type systems, structuring mechanisms, and the importance of finding a reputable body of code in your language to use as a model.
Nowadays everything revolves around digital data. They are, however, difficult to capture in legal terms due to their great variety. They may be either valuable goods or completely useless. They may be regarded as syntactic or semantic. However, it is the particularly sensitive data protected by data protection law that are highly valuable and interesting for data-trading, big-data and artificial-intelligence applications in the European data market. The European legislator appears to favour both a high level of protection of personal data, including the principle of ‘data minimisation’, and a free flow of data. The GDPR includes some free-flow elements, but especially legislation on trading and usage of non-personal data is currently under discussion. The European legislator faces key challenges regarding the (partly) conflicting objectives reflected in data protection law and data economic law. This contribution assesses the current state of legal discussions and legislative initiatives at the European level.
Machine-learning algorithms are used to profile individuals and make decisions based on them. The European Union is a pioneer in the regulation of automated decision-making. The regime for solely automated decision-making under Article 22 of the General Data Protection Regulation (GDPR), including the interpretative guidance of the Article 29 Working Party (WP29, replaced by the European Data Protection Board under the GDPR), has become more substantial (i.e., less formalistic) than was the case under Article 15 of the Data Protection Directive. This has been achieved by: endorsing a non-strict concept of ‘solely’ automated decisions; explicitly recognising the enhanced protection required for vulnerable adults and children; linking the data subject’s right to an explanation to the right to challenge automated decisions; and validating the ‘general prohibition’ approach to Article 22(1). These positive developments enhance legal certainty and ensure higher levels of protection for individuals. They represent a step towards the development of a more mature and sophisticated regime for automated decision-making that is committed to helping individuals retain adequate levels of autonomy and control, whilst meeting the technology and innovation demands of the data-driven society.
To be considered good, a program needs to do what it is supposed to do. The next most important property is that it should be clearly understandable by a human reader, because that is necessary when you want to improve it in any way. More controversial is the question of whether a good program must be concise. As a student you will naturally want to get high marks. Finally, anyone who writes programs needs to be aware of ethics.
This chapter is about how to showcase your skills to their best advantage in coursework. What are markers looking for in each kind of coursework, and how can you make sure you get as many marks as possible?
This chapter explains who the book is for – broadly, anyone learning to program, especially in early programming courses at university or college – and explains its approach.
This chapter introduces the notion of “wake neutrality” of artificial intelligence devices and reviews its implication for wake-word approaches in open conversational commerce (OCC) devices such as Amazon’s Alexa, Google Home and Apple’s Siri. Examples illustrate how neutrality requirements such as explainability, auditability, quality, configurability, institutionalization, and non-discrimination may impact the various layers of a complete artificial intelligence architecture stack. The legal programming implications of these requirements for algorithmic law enforcement are also analysed. The chapter concludes with a discussion of the possible role of standards bodies in setting a neutral, secure and open legal programming voice name system (VNS) for human-to-AI interactions to include an “emotional firewall.”
High-frequency trading has become important on financial markets and is one of the first areas in algorithmic trading to be intensely regulated. This chapter reviews the EU approach to regulation of algorithmic trading, which can be taken as a blueprint for other regulations on algorithms by focusing on organizational requirements such as pre- and post-trade controls and real-time monitoring.
This paper proposes a set of novel indices for evaluating the kinematic performance of a 3-RRS (R and S denote revolute and spherical joint respectively, R denotes active joint.), parallel mechanism whose translational and rotational movements are strongly coupled. First, the indices are formulated using the decoupled overall Jacobian matrix, which is developed using coordinate transformation. Then, the influences of the homogeneous dimensionless parameters on these indices are investigated. In addition, the dimension synthesis of the 3-RRS parallel mechanism is carried out by minimizing the mean value of the kinematic performance indices and their standard deviation. The results demonstrate that the established approach facilitates good global kinematic performance of the parallel mechanism.