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.
In the Extra Help, you will continue to learn how to tackle any Greek sentence as a ‘trunk with branches’. Extra Material introduces some of the different jobs that the Greek dative case can do.
Here are summarised all the reasoning rules given throughout the text, all in one place. A quick search for “What’s the rule for that?” can therefore be done here.
In Extra Help you will extend the use of participles (from Chapter 7) with your grasp of how all adjectives decline (including Chapters 12 and 13). In the Extra Material you’ll think further about what Greek authors communicate when they choose to use a participle.
In addition to the Old Testament’s Primary History, we have a Chronistic History comprised of 1–2 Chronicles and Ezra–Nehemiah. The two histories contain some of the same materials. We will see that the Chronistic History, however, includes events of the postexilic community down to the late fifth century bce. With the Persian Empire as the background, we will note also a different perspective, characterized by different themes, stylistic devices, portions written in Aramaic, and particular emphases on the Davidic dynasty and Israel’s religious practices associated with Jerusalem.
Chronicles and Ezra–Nehemiah are sequenced differently in various canons, indicating independent collections, but we will see that they are linked literarily by the edict of King Cyrus. This historical event marked the return of Israelite exiles from Babylon to Jerusalem, now part of the Persian province Yehud, and the subsequent restoration and rebuilding of a community. Indeed, these books are significant in the Old Testament for the way in which they confirm the postexilic community as the legitimate successor of preexilic Israel.
Three “design patterns” induced by concurrency are introduced and explained. The first is the use of primitive test-and-set or compare-and-swap operations, implemented directly in hardware, to implement very specific atomic actions. The design pattern arising there is the “await” statement, generalising both. The second design pattern is the use of await statements themselves to implement locks and unlocks that create critical sections. The third (though not elaborated here) is the importance of the “synchronised methods” that are a principal feature of currency control in some modern high-level programming languages. Deadlock, livelock and starvation –all three new programming risks introduced by concurrency– are explained and motivated. It is pointed out that even while-loops, now universally accepted but once controversial, were once design patterns as well.
As a first example of a transformation trading simplicity for efficiency, it’s shown in detail how to take the Fibonacci-number program from its simple, but slow O(N) formulation to a blinding fast O(log N) version that –on its own– is completely incomprehensible. It is correct, but you can’t see that at all by just browsing its concrete code. Your conviction that it is nevertheless correct is based on your step-by-step careful reasoning in the data-refinement style introduced here.
In this chapter we will move into the heart of the Pentateuch and explore narrative highlights from the books of Exodus and Numbers. The story begins in Egypt, where God’s people are enslaved. Yahweh reveals himself through a burning bush to Moses and instructs him to confront the pharaoh. Ten plagues challenge the Egyptian pantheon, but they also reveal the unique nature of Yahweh. He delivers his people and leads them into the desert wilderness, en route to the promised land. The journey is punctuated by episodes of Israelite rebellion, Yahweh’s responses, and tabernacle plans, but most importantly, by another covenant – Yahweh’s covenant with Israel at Mount Sinai.
We will observe that archaeology does not provide answers to many historical questions we might have regarding this ancient people and their wilderness sojourn, but it has brought to light Near Eastern political treaties remarkably similar to those of Israel. In striking contrast, no other nation perceived of its deity as a treaty partner. Yahweh, the all-sufficient covenant-making God, demanded a loyalty and exclusivity that marked the radically new idea of Israel’s monolatrous henotheism, and ultimately its concept of monotheism.
In Extra Help we discover Principal Parts and invite you to read an entire NT book: Philemon. In the Extra Material we will examine the significance of aspect in the imperative.
A key feature of the formally motivated approach is the use of loop invariants, and they are introduced here. Not only do they help to write loops correctly the first time, but they sometimes even guide the programmer towards what the loop’s code should be, guaranteeing its eventual correctness at every step. In this chapter, techniques for finding invariants are explained, and each technique is illustrated by examples of programs they help to construct.
To show the startling effect our approach can have on code quality, a single exercise –slightly tricky but still first-year level– is programmed using three different approaches. The first is how a good student might proceed: it takes nine lines, but uses an extra array and needs diagrams to check it. The second solves the same problem, but applies a teacher-supplied insight to remove the extra array (still needing eight lines of code). The third uses the methods of this text, again on the same problem, but no diagrams or extra array are needed. The resulting program is only four lines long, and is correct by construction.
This chapter examines the life of Jesus of Nazareth and how his teachings, style of life, and legacy shaped western thought. Emphasizing Jesus as both a historical figure and a moral exemplar, it explores how early followers remembered him and how later premodern readers interpreted him through close readings of the New Testament. Drawing especially on the Gospel of Mark and the Sermon on the Mount in Matthew, the chapter shows how Jesus gained authority not through institutional power but through humility, parables, miraculous acts, and a radical ethical vision. He preached inward sincerity over outward ritual, taught that all people possess dignity in the eyes of God, and urged his followers to model their lives on his own. Key themes include divine justice, the challenge of wealth and status, and the contrast between worldly and heavenly authority. Jesus emerges as a moral teacher, healer, and disruptor of conventional hierarchies. His parables and aphorisms – especially those in the Sermon on the Mount – became foundational to Christian ethics. The chapter concludes by noting how Jesus’ model of life and speech created a movement that profoundly transformed the cultural and moral framework of the West.
In Extra Help you will see how easy it is to understand the perfect system using the pattern we have followed so far for the verb. In the Extra Material you’ll discover the range of uses of the perfect system.
A well known example of a catastrophically failing program fragment is studied, one that was deployed world-wide. We’ll see how the failure could have been avoided by using the informal yet rigorous methods explained here, i.e. those based on formal methods but applied informally, as explained in the following chapters.
We also give a brief introduction to requirements, specifications, assertions, pre- and postconditions, invariants, variants and infinite loops, all of which are studied in greater detail later on.
Flowcharts and commenting style are contrasted and, in particular, we suggest how to improve program documentation in general, writing comments that state “What’s true here” rather than “What this code did”.
This chapter begins with an in-depth exploration of neuroanatomy, including macroscopic features like the cerebral cortex, brain stem, and basal ganglia, as well as the pathways between the brain and body such as the spinal cord and cranial nerves. Against this background, four potential applications are introduced: first, the creation of motor prosthetics that use brain activity to control artificial limbs; second, the development of sensory prosthetics to restore vision or hearing; third, the artificial reactivation of memories through targeted brain stimulation; and fourth, the treatment of anxiety by incorporating either neuroimaging or brain stimulation. Each application is framed in terms of the modularity debate, which focuses on whether specific psychological functions can be localized to distinct brain regions. These four examples illustrate some cases in which it is useful to localize a behavioral function within a single region, but also where it may be more useful to appreciate either the diversity that exists within a region or the coordination that exists across regions.