Take your teaching online
In this free course, Take your teaching online, you will gain knowledge fundamental to delivering effective teaching online. You will hear about the experiences of real educators, be introduced to cutting edge research, and understand the ideas and tools that shape how we teach and learn online. You will also learn useful methods that will guide you to test out these new ideas in your own practice.
Author(s):
Objectives for Section 4 After studying this section you should be able to do the following. Recognise and use the terminology: function, signature, domain, semantics, input set, output set, precondition, postcondition. Suggest appropriate signatures and preconditions for functions corresponding to a variety of processes on numbers, characters and sequences, including those with more than one input and those that return a Boolean value. For
4.3 Character code functions Many programming languages provide two functions associated with the character codes (see Table 2). We shall call these functions ASC and CHR. ASC takes a character as input, and returns the integer giving the ASCII code of the input character. CHR returns the character whose ASCII code is the input inte
Processes that can be applied to data Having looked at some forms of data, we now turn our attention to processes that can be applied to data. Each process that we consider in this section will input data of a specified form, and will result in a corresponding value. For example, one process, which we will call ASC, takes a character as input, and has as its resulting value the integer giving the ASCII code of the input character (as listed in Author(s):
3.4 Representing data in applications Suppose that you are designing software for some application. You will be working with a programming language that enables you to communicate instructions to a computer. In this programming language, certain forms of data will already be represented electronically. These will include common forms of data, such as numbers, characters and sequences. In any particular application, you are likely also to be concerned with forms of data that are peculiar to that application. Having identified some
Learning outcomes After studying this course, you should be able to: understand ways in which data may be stored and processed distinguish between different forms of data, and use notations introduced in the course to show different forms of data appreciate that fine details may be important when interpreting formal notation (for example, different types of brackets may be used to distinguish between different forms of data) interpret a given function
4.2.2 ATM layer The primary functions of the ATM layer are associated with the routing and switching of ATM cells. Because ATM cells are packets, the switches are packet switches and the switching operation can be called forwarding, but by convention, because the ATM layer provides a connection-oriented service, the term ‘forwarding’ is generally not used. The path cells take and the resources allocated to them depend on their service category. This is determined when a virtual connection is
3.5.1 IPv4 Addresses The allocation of addresses on the Internet is controlled by the Internet Assigned Numbers Authority (IANA), although authority is delegated to several local registries. IPv4 addresses may be interpreted in two ways. Initially, they were divided into distinct ranges of addresses called classes, but this proved to be inflexible and now a more flexible scheme, called classless addressing, dominates IPv4 internetworks. I shall describe both ways of interpreting IPv4 addresses because the limitat
3.4 Transmission control protocol (TCP) As I outlined in the previous section, peer entities in clients and servers exchange HTTP protocol data units when they wish to transfer a resource over the web. I gave very little detail about this because I wanted to focus on the general features of protocols in the application layer of the TCP/IP model. The HTTP protocol data units are transferred from the sender host to the receiver host by calling on the services of the transport layer. In the case we are considering, the transport layer
3.2 Domain name system Applications use easy-to-remember names for hosts on the Internet, but before sending any data to a host an application in the source host must translate its name for the destination host to the numerical network address. The Internet is divided into domains, and an authority in each domain is responsible for allocating names. However, the domains may be divided into sub-domains and the responsibility of allocating sub-domain names may be delegated to other authorities. In this way the
3.1 What does TCP/IP protocol architecture do? The Internet is a worldwide public internetwork, which allows computers to communicate with each other even though they may have different manufacturers and different operating systems. The origins of the Internet lie in a project of the US Defense Advanced Research Project Agency in the 1970s, where it was intended to foster communication between research institutions rather than operate for profit. However, a substantial amount of traffic carried by the Internet is now related to com
2.4 Examples of layer functions There are several functions that can be performed at one or more of the OSI layers. Some of the more common ones are discussed below.
Connection control
For connection-oriented services, a connection must be established between peer entities. A connection has three phases: connection set-up, data transfer and connection clear. If the peer protocol supports connections, each protocol data unit type corresponds to a primitive type; for instance, a connection request primiti
2.2 Vertical communication Figure 6 shows the OSI view of adjacent layers. The interface between two layers in the same system is called a service access point (SAP). One of the features of a service access point is that it has an identifier, or an address, which allows each communication between adjacent layers to be uniquely identified. The processes that communicate across the interface are called entities. These are typically software routines, but may also be hardware components. The notation in Figu
2.1 Layers of communication An internetwork is a network of networks, composed of terminals, switches and communication media. The overall objective of an internetwork is to allow communication between two (or more) networks. This simple description hides the complications that arise in real networks, in which the types of medium vary, transmission errors occur, transmission links fail, switches fail or become congested, equipment is produced by different manufacturers, networks are owned and maintained by differ
Learning outcomes After studying this course, you should be able to: evaluate technical descriptions of communication protocols and demonstrate an understanding of their operation describe the characteristics of circuit-switched and packet-switched networks, and of connectionless and connection-oriented modes in packet-switched networks describe the role played by primitives in the OSI reference model explain how ‘vertical’ and ‘horizontal’ com
5.5.5 Summary In this section I've briefly considered the very contentious question of what digital representations mean, but this debate must be left to another course. I have also described some of the devices that take digital information back into the analogue world of sight and sound, presenting it in a form that is meaningful to human eyes and ears.
5.5 Types of output devices We can make a start by appealing to your own general knowledge. You have a computer; list the output devices that it uses. 4.2.4 Keyboards Every computer comes with a keyboard. They are still the main way of taking text across the boundary into the computer. The one I'm using to type this course has 109 keys. Under each key is a pressure sensor that detects when the key has been pressed and sends an electronic signal into the computer. There, a small program called the BIOS (Basic Input/Output System) translates the signal into the appropriate numeric code. Other software stores that code in a suitable place in the memory. 3.1 Ghosts of departed quantities They are neither finite quantities, or quantities infinitely small, nor yet nothing. May we not call them the ghosts of departed quantities? (Bishop G. Berkeley, The Analyst) This section follows up the ideas presented in and aims to: define the terms analogue, discrete and digital; look briefly at the human perceptual system, which e 2.4.4 Manipulation Suppose I take a digital photograph of myself for my website. Horrified by my wrinkled, baggy appearance, what can I do? Actually, with the right software I can do more or less anything I like: I can smooth out the wrinkles; I can restore the grey hair to its former splendour; I can even put in a background of books to give me a scholarly appearance. In fact, I can so improve the picture that if you met the real me you probably wouldn't recognise me. ‘Massaging’ my photographic imag
Exercise 16
Dis