We may earn an affiliate commission when you visit our partners.
Course image
Nick Parlante

CS101 is a self-paced course that teaches the essential ideas of Computer Science for a zero-prior-experience audience. Computers can appear very complicated, but in reality, computers work within just a few, simple patterns. CS101 demystifies and brings those patterns to life, which is useful for anyone using computers today.

Read more

CS101 is a self-paced course that teaches the essential ideas of Computer Science for a zero-prior-experience audience. Computers can appear very complicated, but in reality, computers work within just a few, simple patterns. CS101 demystifies and brings those patterns to life, which is useful for anyone using computers today.

In CS101, participants play and experiment with short bits of "computer code" to bring to life to the power and limitations of computers. Everything works within the browser, so there is no extra software to download or install. CS101 also provides a general background on computers today: what is a computer, what is hardware, what is software, what is the internet. Anyone who has the ability to use a web browser may be successful in this course. No previous computer science experience is required.

What you'll learn

  • The nature of computers and code, what they can and cannot do
  • How computer hardware works: chips, cpu, memory, disk
  • Necessary jargon: bits, bytes, megabytes, gigabytes
  • How software works: what is a program, what is "running"
  • How digital images work
  • Computer code: loops and logic
  • Big ideas: abstraction, logic, bugs
  • How structured data works
  • How the internet works: ip address, routing, ethernet, wi-fi
  • Computer security: viruses, trojans, and passwords, oh my!
  • Analog vs. digital
  • Digital media, images, sounds, video, compression

Three deals to help you save

What's inside

Learning objectives

  • The nature of computers and code, what they can and cannot do
  • How computer hardware works: chips, cpu, memory, disk
  • Necessary jargon: bits, bytes, megabytes, gigabytes
  • How software works: what is a program, what is "running"
  • How digital images work
  • Computer code: loops and logic
  • Big ideas: abstraction, logic, bugs
  • How structured data works
  • How the internet works: ip address, routing, ethernet, wi-fi
  • Computer security: viruses, trojans, and passwords, oh my!
  • Analog vs. digital
  • Digital media, images, sounds, video, compression

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Appropriate for professionals at the start of their career
Appropriate for learners who want to career-change to tech
Appropriate for learners who are curious about technology
Introduces essential computer science concepts with clear and engaging visuals
Offers a conversational and approachable tone
Self-paced and interactive learning environment

Save this course

Save Computer Science 101 to your list so you can find it easily later:
Save

Reviews summary

Good for beginners

Learners say the Computer Science 101 class is appropriate for beginners. They recommend it for those who are new to programming and who have some basic computer skills. Students say this class teaches the fundamentals of computer science, including how programming works. Students say this class is understandable and has benefited them.
Covers the basics of computer science.
"I learned about the basic fundamentals of computer science"
"it gives me insight about how programming works"
"it helps me a lot specially for beginners like me"
Good for those new to programming.
"The course is really easy for someone who had played around with a computer for a bit and knows just the programming basics."
"I learned and benefitted a lot from this course."
"I learned about the basic fundamentals of computer science(cs101) and it gives me insight about how programming works it helps me a lot specially for beginners like me"

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 Computer Science 101 with these activities:
Tutorial: Introduction to the Python Programming Language
Develop a solid understanding of Python for this course, covering basic syntax, data types, and control flow.
Show steps
  • Enroll in online courses or consult documentation to learn Python basics.
  • Practice writing and executing simple Python programs.
Study: 'Head First Java, 2nd Edition' by Kathy Sierra and Bert Bates
Enhance your understanding of Java, including object-oriented programming concepts, data structures, and algorithms, to complement the course material.
Show steps
  • Purchase or borrow the book.
  • Allocate time for regular reading and note-taking.
  • Complete the exercises and examples provided in the book.
Review Data Representations
Review the fundamental data representations that you will use to represent code and data during this course to ensure a solid foundation.
Show steps
  • Refer to your notes or textbooks to refresh concepts about bits, bytes, and binary representations.
Six other activities
Expand to see all activities and additional details
Show all nine activities
Practice Code Evaluation
Evaluate code snippets and run tests on small code problems to reinforce the process of translating code into computer instructions.
Show steps
  • Use online coding platforms to solve beginner-level coding problems.
Participate in Code Review Sessions
Engage in code review sessions with peers to enhance coding skills, identify and correct errors, and learn from different perspectives.
Show steps
  • Organize study groups with other learners in the course.
  • Share your code with peers for review and feedback.
  • Review and provide feedback on the code of other participants.
Practice Logical Reasoning
Solve problems that require logical reasoning and deductive thinking. This skill is essential for understanding the flow of code and debugging complex codebases.
Show steps
  • Enroll in online courses or purchase books that provide logical reasoning puzzles and exercises.
  • Join online forums or discussion groups dedicated to logical reasoning and critical thinking.
Create Visual Explanations
Create visual representations of complex concepts, such as algorithms or data structures, to enhance understanding and retention.
Show steps
  • Use online tools or software to create diagrams, flowcharts, or mind maps.
  • Present your visual explanations to a friend, family member, or online community for feedback.
Project: Develop a Simple Website
Apply your knowledge of HTML, CSS, and JavaScript to create a functional website, demonstrating your understanding of web development concepts.
Show steps
  • Plan and design the website, including its layout and content.
  • Code the website using HTML, CSS, and JavaScript.
  • Test and debug the website to ensure it functions properly.
  • Deploy the website to a hosting platform.
Participate in Coding Competitions
Challenge yourself in coding competitions to apply your skills, learn from others, and gain recognition for your problem-solving abilities.
Show steps
  • Identify online coding competition platforms that align with your skill level.
  • Practice solving coding problems regularly.
  • Participate in competitions and analyze your performance to identify areas for improvement.

Career center

Learners who complete Computer Science 101 will develop knowledge and skills that may be useful to these careers:
Computer Science Teacher
Computer Science Teachers teach computer science to students at all levels, from elementary school to college. They develop and implement lesson plans, teach students about computer science concepts, and help students to develop their problem-solving and critical thinking skills. This course provides a foundation in computer science, including the nature of computers and code and how computer hardware and software work. This knowledge can be helpful for Computer Science Teachers who need to understand the underlying principles of computer science and how to teach them to students.
Computer Hardware Engineer
Computer Hardware Engineers design, develop, and test computer hardware components, such as processors, memory, and storage devices. They also work on the integration of hardware components into computer systems. This course provides a foundation in computer hardware, including how chips, CPUs, memory, and disk drives work. This knowledge can be helpful for Computer Hardware Engineers who need to understand the underlying hardware of the systems they design and develop.
Computer and Information Research Scientist
Computer and Information Research Scientists conduct research in the field of computer science. They develop new theories and algorithms and design and implement new computer systems. This course provides a foundation in computer science, including the nature of computers and code and how computer hardware and software work. This knowledge can be helpful for Computer and Information Research Scientists who need to understand the underlying principles of computer science and how to apply them to new problems.
Data Scientist
Data Scientists collect, analyze, and interpret data to help businesses make informed decisions. They use a variety of statistical and machine learning techniques to extract insights from data. This course provides a foundation in computer science, including how to work with structured data and how to use computer code to analyze data. This knowledge can be helpful for Data Scientists who need to understand the underlying principles of data science and how to apply them to business problems.
Web Developer
Web Developers design and develop websites. They work on a variety of website projects, from small personal websites to large enterprise websites. This course provides a foundation in computer software, including how programs work and what "running" means. This knowledge can be helpful for Web Developers who need to understand the software development process and how to create efficient and reliable websites.
Software Developer
Software Developers design, develop, and maintain software applications. They work on a variety of software projects, from small personal applications to large enterprise systems. This course provides a foundation in computer software, including how programs work and what "running" means. This knowledge can be helpful for Software Developers who need to understand the software development process and how to create efficient and reliable software applications.
Computer Software Engineer
Computer Software Engineers design, develop, and maintain software applications. They work on a variety of software projects, from small personal applications to large enterprise systems. This course provides a foundation in computer software, including how programs work and what "running" means. This knowledge can be helpful for Computer Software Engineers who need to understand the software development process and how to create efficient and reliable software applications.
IT Manager
IT Managers plan, implement, and manage information technology (IT) systems for organizations. They work with business leaders to understand their business needs and then design and implement systems that meet those needs. This course provides a foundation in computer systems, including how the internet works and how to secure computer systems. This knowledge can be helpful for IT Managers who need to understand the different components of IT systems and how to integrate them into a cohesive system.
Information Systems Manager
Information Systems Managers plan, implement, and manage information systems for organizations. They work with business leaders to understand their business needs and then design and implement systems that meet those needs. This course provides a foundation in computer systems, including how the internet works and how to secure computer systems. This knowledge can be helpful for Information Systems Managers who need to understand the different components of computer systems and how to integrate them into a cohesive system.
Computer Systems Analyst
Computer Systems Analysts design, develop, and implement computer systems. They work with clients to understand their business needs and then design and implement systems that meet those needs. This course provides a foundation in computer systems, including how the internet works and how to secure computer systems. This knowledge can be helpful for Computer Systems Analysts who need to understand the different components of computer systems and how to integrate them into a cohesive system.
Network Administrator
Network Administrators manage and maintain computer networks. They ensure that networks are available, reliable, and secure. This course provides a foundation in computer networks, including how the internet works and how to configure and manage networks. This knowledge can be helpful for Network Administrators who need to understand the different components of networks and how to manage them effectively.
Technical Writer
Technical Writers create and maintain technical documentation, such as user manuals, technical reports, and white papers. They work with engineers and other technical experts to gather information and then write clear and concise documentation that can be understood by non-technical readers. This course provides a foundation in computer science, including the nature of computers and code and how computer hardware and software work. This knowledge can be helpful for Technical Writers who need to understand the underlying principles of computer science and how to write about them clearly and concisely.
Database Administrator
Database Administrators manage and maintain databases. They ensure that databases are available, reliable, and secure. This course provides a foundation in structured data, including how to create and manage databases. This knowledge can be helpful for Database Administrators who need to understand the different types of databases and how to manage them effectively.
Information Security Analyst
Information Security Analysts plan and implement security measures to protect an organization's computer systems and networks. They also respond to security breaches and incidents. This course provides a foundation in computer security, including how to protect against viruses, trojans, and other threats. This knowledge can be helpful for Information Security Analysts who need to understand the different types of security threats and how to protect against them.
User Experience (UX) Designer
User Experience (UX) Designers design and evaluate user interfaces for websites, apps, and other products. They work with users to understand their needs and then design interfaces that are easy to use and navigate. This course provides a foundation in computer science, including how computer code works and how to create digital images. This knowledge can be helpful for UX Designers who need to understand the underlying principles of computer science and how to apply them to the design of user interfaces.

Reading list

We've selected 15 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 Computer Science 101.
This textbook provides a rigorous introduction to the theory of computation, covering topics such as automata, Turing machines, computability, and complexity. It foundational book for students interested in theoretical computer science.
This textbook provides a comprehensive overview of artificial intelligence, covering topics such as search, planning, natural language processing, and computer vision. It valuable resource for students and professionals interested in artificial intelligence and machine learning.
This textbook provides a rigorous introduction to discrete mathematics, covering topics such as sets, relations, graphs, and algorithms. It valuable resource for students and professionals interested in the mathematical foundations of computer science.
This classic algorithms textbook introduces fundamental algorithms and data structures, along with their analysis and applications. It valuable resource for students and professionals who want to deepen their understanding of algorithm design and implementation.
This textbook provides a comprehensive overview of machine learning, covering topics such as supervised learning, unsupervised learning, and reinforcement learning. It valuable resource for students and professionals interested in artificial intelligence and machine learning.
This textbook provides a comprehensive overview of the fundamental principles of computing systems, covering topics such as computer architecture, operating systems, networks, and databases. It valuable resource for students and professionals interested in understanding the foundations of computing.
This textbook provides a comprehensive overview of database systems, covering topics such as data modeling, query processing, and transaction management. It valuable resource for students and professionals interested in database design and implementation.
This textbook provides a comprehensive overview of computer graphics, covering topics such as 2D and 3D graphics, rendering, and animation. It valuable resource for students and professionals interested in computer graphics and visualization.
This textbook provides a comprehensive overview of web development, covering topics such as HTML, CSS, JavaScript, and web programming. It valuable resource for students and professionals interested in web design and development.
This textbook provides a comprehensive overview of software engineering, covering topics such as software design, software development, and software testing. It valuable resource for students and professionals interested in software engineering and software development.
This textbook provides a comprehensive overview of computer networks, covering topics such as network architecture, protocols, and applications. It valuable resource for students and professionals interested in networking and telecommunications.
This textbook provides a comprehensive introduction to computer science and programming using Python. It covers core concepts such as data types, control flow, functions, and object-oriented programming, making it a valuable resource for beginners.

Share

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

Similar courses

Here are nine courses similar to Computer Science 101.
How Computers Work
Most relevant
Design a CPU
Image and Video Processing: From Mars to Hollywood with a...
Introduction to Java Programming: Writing Good Code
Humanitarian Action in the Digital Age
Digital Design
Ingles Indispensable de Software Programador Informatica...
Data Structures and Algorithms in Python
Build a Modern Computer from First Principles: From Nand...
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