We may earn an affiliate commission when you visit our partners.
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!

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.

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

Traffic lights

Read about what's good
what should give you pause
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

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Introduction to computer science concepts

According to learners, this course provides a positive and clear introduction to fundamental computer science concepts for absolute beginners. Students praise the lectures for making complex ideas like abstraction, networks, and how the web works accessible. While serving as a solid foundation for those new to the field or curious about everyday tech, some reviewers note that the course may be too basic and lacks sufficient depth for learners with prior technical knowledge or those seeking advanced understanding for a career. Feedback on assignments and quizzes is mixed, but overall, it is considered a good starting point.
Mixed feedback on practical application.
"The quizzes were okay, but sometimes felt tricky or slightly misaligned with the video content."
"Wish there were more hands-on coding or practical tasks to apply the concepts."
"Assignments reinforced the concepts reasonably well, but felt somewhat light."
Best fit for absolute beginners/curious.
"Ideal course for someone curious about how computers work in their daily life, not necessarily a tech career."
"This is perfect if you're considering computer science but aren't ready for complex math or coding yet."
"Not recommended if you already have a technical background; you'll likely find it too introductory."
Makes complex ideas like abstraction accessible.
"The concept of abstraction was well-explained; I grasp it now thanks to this course."
"Really liked how state and modularity were broken down into easily understandable parts."
"Learning about networks and the internet in this way was surprisingly straightforward and demystifying."
Excellent starting point for novices.
"Great starting point for absolute beginners, explained fundamental ideas simply and clearly."
"I had no background in tech, and this course finally made sense of computer basics for me."
"Perfect if you're just starting your journey to understand how computers work daily."
Not detailed enough for advanced learners.
"As someone with some prior technical knowledge, I found this course a bit too basic for my needs."
"It's a good overview, but I was hoping for more technical specifics on how components interact."
"If you want to dive deep into *how* things work fundamentally, this is only a first step."

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.
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.
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.
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.
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.
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.
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.
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.
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.

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

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser