We may earn an affiliate commission when you visit our partners.
Course image
Prof Marco Gillies

Computers are everywhere, they aren't just the desktops and laptops we use for work but the phones in our pockets and even the watches on our wrists are also computers. You probably use a computer every day and in fact you are reading this on a computer!

Read more

Computers are everywhere, they aren't just the desktops and laptops we use for work but the phones in our pockets and even the watches on our wrists are also computers. You probably use a computer every day and in fact you are reading this on a computer!

Just because we use computers all the time, doesn't mean that we understand them, or find them easy to use. Computer Science is the science of computers, it is the field of knowledge that experts use to understand computer systems. Knowing a little computer science will help you understand the computers all around you.

This isn't a how-to course for a particular piece of software, instead you will learn some fundamental concepts that you can apply to any software or computer system. You'll apply these concepts to the kind of computer systems we use every day, including word processing applications, e-commerce, the internet and web sites. You will learn how to apply computer science concepts to solve problems in daily computer use and generally be a better computer user.

Taking this course could be the start of your career in computer science, and the course is an introduction to the Bachelors in Computer Science from University of London, but it is also for you if you just want to learn a little computer science to help you better understand the computers you use in your ordinary life.

Enroll now

What's inside

Syllabus

Abstraction
This week starts your journey into understanding computer science. You will think about how computer science can help you understand the technology you use every day and you will also learn one of the most important concepts in computer science: abstraction.
Read more
State, modularity and applications
In this week you will learn about the computer science concepts of state and modularity and how they can help you understand the computer applications that you use every day.
Networks
This week you will learn about how computers communicate with each other over networks, including the internet. You will also learn about some of the security threats that the internet entails and how they can be avoided.
How the web works
In this week you will apply all of the computer science concepts you have learned in this course to understanding how modern websites work.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores concepts critical to understanding software engineering
Taught by an experienced professor with a background in computer science
Introduces fundamental computer science concepts
Suitable for beginners with little to no prior experience in computer science
Covers topics highly relevant to everyday use of computers
Utilizes a mix of media, including videos and discussions

Save this course

Save How Computers Work to your list so you can find it easily later:
Save

Reviews summary

Intro to computer science

Learners say this course covers the very basics of how computers and the internet work. The lectures are engaging and use everyday language that's great for new learners. Students say accessing your certificate can be slow, and some think the videos are repetitive.
Course does a great job breaking down the fundamentals of computer science, like networks and the internet.
"E​xcellent course. I like how the teacher explains concepts simply for all level of learners to understand."
"Amazing course once you start this you'll get a basic introduction about computers, How the webpages work."
"Hat's off to University of London for providing this course in simply way and fun manner"
It can take a few days to receive your official certificate after completing the course.
"Too bad. I completed the course 3 days ago and till now i didnt get the certificate."
"I did id verification. But i cant get the certificate."
Some quizzes cover info that isn't in the videos.
"The quizzes sometimes contain questions that weren't covered in the content."
"And as always, with this kind of course, the questions are worded to trip you up, not test if you understood the content covered."
Content is a bit too simple, and some topics aren't covered in enough detail.
"There is a lot of casual talking and when the interesting concepts are introduced they are hastily dismissed and not well developed."
"I'm still wondering what a notional machine really is (and modules ?)."
"You would be better just reading the introduction of the book cited "computer science - an overview""

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in How Computers Work with these activities:
Practice basic computer concepts
Understanding basic computer concepts will help you understand the more advanced concepts introduced in the course.
Browse courses on Computer Basics
Show steps
  • Identify the different parts of a computer system, including hardware and software.
  • Understand how to use a computer to perform basic tasks, such as creating and editing documents, browsing the internet, and sending emails.
Watch a tutorial on how to use a word processing program
Watching a tutorial on how to use a word processing program will help you get started with using the program.
Browse courses on Word Processing
Show steps
  • Find a tutorial on how to use a word processing program.
  • Watch the tutorial and follow along with the instructions.
Practice using a web browser to access websites
Practicing using a web browser will help you become more comfortable with the internet.
Browse courses on Web Browsing
Show steps
  • Open a web browser and navigate to a website.
  • Use the search bar to find information on the website.
  • Click on links to navigate to different pages on the website.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Discuss computer science concepts with classmates
Discussing computer science concepts with classmates will help you understand the concepts more deeply.
Show steps
  • Find a group of classmates who are also interested in computer science.
  • Meet with your classmates regularly to discuss computer science concepts.
  • Share your knowledge and learn from your classmates.
Create a diagram of a computer network
Creating a diagram of a computer network will help you visualize how computers communicate with each other.
Browse courses on Computer Networks
Show steps
  • Draw a diagram of a simple computer network, including computers, routers, and switches.
  • Label the different components of the network and describe their functions.
Volunteer at a computer science organization
Volunteering at a computer science organization will help you gain practical experience and make connections with other computer science professionals.
Show steps
  • Find computer science organizations that offer volunteer opportunities.
  • Apply for a volunteer position.
  • Attend volunteer training.
  • Volunteer at events or projects.
Create a presentation on a computer science topic
Creating a presentation on a computer science topic will help you learn more about the topic and improve your presentation skills.
Show steps
  • Choose a computer science topic that you are interested in.
  • Research the topic and gather information from credible sources.
  • Create a presentation that is visually appealing and easy to understand.
  • Practice your presentation so that you can deliver it confidently.
  • Present your presentation to your classmates or colleagues.
Contribute to an open source computer science project
Contributing to an open source computer science project will help you gain practical experience and learn from other developers.
Show steps
  • Find an open source computer science project that you are interested in.
  • Read the project documentation and contribute to the project in a meaningful way.
  • Submit a pull request to the project.
  • Work with the project maintainers to get your pull request merged.

Career center

Learners who complete How Computers Work will develop knowledge and skills that may be useful to these careers:
Software Developer
Software developers typically need at least a bachelor's degree in computer science or a related field. This course provides a strong foundation in computer science concepts such as programming languages and software design, which are essential for success as a software developer.
Software Engineer
Software engineers typically need at least a bachelor's degree in computer science or a related field. This course provides a strong foundation in computer science concepts such as programming languages and software design, which are essential for success as a software engineer.
Web Developer
Web developers typically need at least a bachelor's degree in computer science or a related field. This course provides a strong foundation in computer science concepts such as HTML, CSS, and JavaScript, which are essential for success as a web developer.
Information Security Analyst
Information security analysts typically need at least a bachelor's degree in computer science or a related field. This course provides a strong foundation in computer science concepts such as networks and security, which are essential for success as an information security analyst.
Computer Systems Analyst
Computer systems analysts typically need at least a bachelor's degree in computer science or a related field. This course provides a strong foundation in computer science concepts such as abstraction, state, and modularity, which are essential for success as a computer systems analyst.
Network Administrator
Network administrators typically need at least a bachelor's degree in computer science or a related field. This course provides a strong foundation in computer science concepts such as networks and protocols, which are essential for success as a network administrator.
Information Technology Manager
Information technology managers typically need at least a bachelor's degree in computer science or a related field. This course provides a strong foundation in computer science concepts such as IT infrastructure and management, which are essential for success as an information technology manager.
Systems Administrator
Systems administrators typically need at least a bachelor's degree in computer science or a related field. This course provides a strong foundation in computer science concepts such as operating systems and virtualization, which are essential for success as a systems administrator.
Webmaster
Webmasters typically need at least a bachelor's degree in computer science or a related field. This course provides a strong foundation in computer science concepts such as web design and administration, which are essential for success as a webmaster.
Database Administrator
Database administrators typically need at least a bachelor's degree in computer science or a related field. This course provides a strong foundation in computer science concepts such as data structures and algorithms, which are essential for success as a database administrator.
Computer and Information Research Scientist
Computer and information research scientists typically need a master's degree or doctorate. This course may be useful to you as it provides a foundational understanding of computer science concepts applicable to research and development.
Data Scientist
Data scientists typically need at least a master's degree in computer science or a related field. This course may be useful to you as it provides a foundational understanding of computer science concepts applicable to data science, such as data analysis and machine learning.
Project Manager
Project managers typically need at least a bachelor's degree in business or a related field. This course may be useful to you as it provides a foundational understanding of computer science concepts applicable to project management, such as project planning and risk management.
Teacher
Teachers typically need at least a bachelor's degree in education or a related field. This course may be useful to you as it provides a foundational understanding of computer science concepts applicable to teaching, such as curriculum development and instructional methods.
Technical Writer
Technical writers typically need at least a bachelor's degree in English or a related field. This course may be useful to you as it provides a foundational understanding of computer science concepts applicable to technical writing, such as software documentation and user manuals.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in How Computers Work.
Classic reference on computer science. It covers a wide range of topics, from basic algorithms to advanced data structures. It valuable resource for anyone who wants to learn more about the foundations of computer science.
Provides a comprehensive overview of web application security, covering topics such as SQL injection, cross-site scripting, and CSRF. It good choice for those who want to learn more about how to protect web applications from attack.
Classic textbook on algorithms, covering a wide range of topics from basic data structures to advanced algorithms. It valuable resource for anyone interested in learning more about algorithms.
Provides a comprehensive overview of algorithms, covering topics such as sorting, searching, and graph algorithms. It good choice for those who want to learn more about how to design and implement efficient algorithms.
Provides a comprehensive introduction to data structures and algorithms in Java. It good choice for those who want to learn more about how to implement algorithms in a programming language.
Provides practical advice on how to write clean code. It covers topics such as naming conventions, code organization, and refactoring. It good choice for those who want to improve the quality of their code.
Provides insights into the software development process. It covers topics such as project management, team dynamics, and software engineering. It good choice for those who want to learn more about how to manage software projects.
Provides insights into the human side of software development. It covers topics such as motivation, team dynamics, and communication. It good choice for those who want to learn more about how to manage people in a software development environment.
Provides a comprehensive overview of computer networks, covering topics such as network protocols, routing, and security. It good choice for those who want to learn more about how networks work.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to How Computers Work.
Computer Science 101
Most relevant
Problem Solving Using Computational Thinking
Machine Learning for All
Graph Theory Algorithms
Computer Architecture & Organization Part 1 : Cache Memory
Computer Architecture & Organization Part 2 : Hard Disk
QC101 Quantum Computing & Intro to Quantum Machine...
Computer Literacy & Basic Computer Skills for Productivity
Introduction to Software Side Channels and Mitigations
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser