syllabus: How Computers Work [CM1030]
Course Description
This course will introduce you to the fundamental concepts you will need to understand how modern computer systems work. They are the basic knowledge that will underpin your learning as a computer scientist. They will help you understand how computers work from the low level hardware to the architecture of complex web application.
The course will build up a picture of how computers work starting with basic ideas like abstraction and modularity. It will then cover a wide range of topics, including:
- How data is represented in computers
- Computer Hardware: how CPUs, Memory and other devices interact and execute programs
- Computer Operating Systems: their various components and how they manage multiple applications
- Networks: how computers communicate over the internet and how web sites work
- Machine Learning and AI: How the cutting edge of computer sciences is using data to accomplish amazing feats like machines that can recognise faces or understand speech
Throughout this course you will be applying these ideas to understanding the real computers systems that you use on a daily basis.
Course Goals and Objectives
Upon successful completion of this course, you will be able to:
- Describe and illustrate contemporary practice in a range of areas of computing technology
- Outline the elements that make up a computer system and describe their purpose
- Explain the functioning of a computer system in terms of an abstract notional machine
- Analyse and predict the behaviour of a computer system using a notional machine
- Reason about computer systems in terms of a wide range of components and levels of abstraction such as hardware, operating systems, networks and data representations
Textbook and Readings
The essentials readings for this course will come from the following text book, which you will be able access from within some lessons on Coursera platform:
Brookshear, J.G. and D. Brylow Computer science: an overview. (Harlow: Pearson Education, 2015) 12th edition (Global edition).
This course does not require you to read the whole book; you will be given specific readings for each topic from these texts are listed with direct links on the Readings page for each topic.
You will also be asked to do some independent research from online sources or using the University of London digital library.
Course Outline
The course consists of ten topics divided into 20 weeks that focus on key concepts. The last 2 weeks of the 22 week session will involve final assessment preparation.
Topic | Learning Objectives |
---|---|
Topic 1: How a Computer Works | Describe and illustrate, to a basic level, contemporary practice in a range of areas of computing technology. |
Explain the functioning of a computer systems in terms of notional machine based on state, computer architecture and hierarchy. | |
Analyse and predict the behaviour of a computer system using a notional machine based on state, computer architecture and hierarchy. | |
Topic 2: How the Web Works | Describe and illustrate typical web application design. |
Explain the functioning of a web application in terms of an abstract notional machine. | |
Analyse and predict the behaviour of a web application using a notional machine. | |
Topic 3: Data representation | Describe and illustrate how different forms of data are represented on a computer. |
Outline forms of data storage and describe their purpose . | |
Understand the effect of storage and data representation on the operation of computer systems. | |
Topic 4: Computer Architecture | Outline the elements of a computer process and describe their purpose . |
Explain the functioning of a computer system in terms of an abstract notional machine of a processor. | |
Analyse and predict the behaviour of a computer system using a notional machine of a processor. | |
Topic 5: Operating Systems | Describe and illustrate common functions of an operating system. |
Outline the components of an operating system and describe their purpose. | |
Reason about computer systems in terms of the functioning of its operating system | |
Topic 6: Operating System Processes | Describe and illustrate the functioning of processes within a modern operating system. |
Explain the functioning of a set of computer programmes in terms of an abstract notional machine of a multi-process operating system . | |
Analyse and predict the behaviour of a computer system using a notional machine of a multi-process operating system . | |
Topic 7: Networks | Describe and illustrate a number of network architectures and protocols. |
Reason about how different situations require different network design. | |
Reason about how the design of a network affects its security . | |
Topic 8: The Internet | Describe and illustrate how local networks are connected to form a global internet and how communication is possible in such a network. |
Outline the elements that make up a web, or other internet, application . | |
Explain the functioning of a web, or other internet, application based on an abstraction notional machine of internet communication and clients/server systems . | |
Topic 9: Machine Learning | Describe and illustrate different artificial intelligence and machine learning problems and techniques. |
Explain the training and use of a machine learning model in terms of an abstract notional machine of the learning process . | |
Train and debug a machine learning system based on a notional machine model of that system. | |
Topic 10: Data Science | Describe and illustrate how data is collected, analysed and used. |
Use a notional machine for machine learning to inform collecting a dataset suitable use in training. | |
Reason about the effect of data sets used on the function of machine learning systems . |
Learning Activities of This Course
The course is comprised of the following elements:
- Lecture videos - In each topic the key concepts will be presented through a collection of short video lectures. You may stream these videos for playback within the browser by clicking on their titles or download the videos.
- Readings - Each topic may include several suggested readings. These are a core part of your learning, and, together with the videos, will cover all of the concepts you need for this course.
- Practice Quizzes - Each module will include practice quizzes, intended for you to assess your understanding of the topics. You will be allowed unlimited attempts at each practice quiz. Each attempt may present a different selection of questions to you. There is no time limit on how long you take to complete each attempt at the quiz. These quizzes do not contribute toward your final score in the class.
- Graded Quizzes - Each topic (2 weeks) will include 1 end of topic quiz. In topics 1-5, the end of topic quiz will contribute to your coursework grade. End of topic quizzes in the second half of the course will not contribute to your final grade, but will provide important practice for your exam. You will be allowed maximum three attempts per each quiz. Your highest score will be used when calculating your final score in the summative quiz.
- Peer Reviewed Assignments - Each topic (apart form the final two topics) includes one peer reviewed assignment. These exercises will test your understanding of the concepts in the course by applying them to understanding real world software or computer systems. You will read a short prompt, then write a short written essay in response. You will then be required to review three of your peers' submissions. Peer reviewed assignments will not contribute to your final grade, but they will be valuable practice for your coursework and exam.
- Discussion Prompt - Each topic includes discussion prompts. You will see the discussion prompt alongside other items in the lesson. Each prompt provides a space for you to respond. After responding, you can see and comment on your peers' responses. All prompts and responses are also accessible from the general discussion forum and the module discussion forum.
- Interactive simulations - Some of the topics will include interactive software which help you understand certain types of computer system by interacting with simulations of them. Some of these will be like game-like. We hope they will be fun, but they also aim to provide you with valuable practical learning. The topics on machine learning will include a complete machine learning software platform that will give you practical experience of machine learning without having to know all of the technical details.
How to Pass This Course
The course has two major assessments each worth 50% of your grade:
- Coursework: this consists of several activities that you do on the Coursera platform and which will be assessed halfway through course (after week 10)
- Written examination: you will take this at an examination centre in your country.
There are also several activities that are graded but have 0 weight. That means that they will not count towards your final grade, but they are a key part of your learning and you need to do them.
The mark shown on the Coursera platform is your coursework mark and you should remember that the exam counts for another 50%.
The coursework consists of several activities. Below is a detailed breakdown of all of the marks:
Activity | Required? | Deadline week | Estimated time per module | % of final grade |
---|---|---|---|---|
End of topic quizzes for topics 1-5 | Yes | 1-10 | 1-2 hours | 10% |
Mid-point test | Yes | 10 | 1 hour | 10% |
Written, staff graded coursework | Yes | 10 | Approximately 20 hours | 30% |
Written examination | Yes | 22 | 2 hours 15 minutes | 50% |
Comments
Post a Comment