We may earn an affiliate commission when you visit our partners.
Course image
David J. Malan and Brian Yu

An introduction to programming using Scratch, a visual programming language via which aspiring programmers can write code by dragging and dropping graphical blocks (that resemble puzzle pieces) instead of typing out text. Used at the start of Harvard College's introductory course in computer science, CS50, Scratch was designed at MIT's Media Lab, empowering students with no prior programming experience to design their own animations, games, interactive art, and stories. Using Scratch, this course introduces students to fundamentals of programming, found not only in Scratch itself but in traditional text-based languages (like Java and Python) as well. Topics include: functions, which are instructions that perform tasks; return values, which are results that functions provide; conditions, via which programs can decide whether or not to perform some action; loops, via which programs can take action again and again; variables, via which programs can remember information; and more. Ultimately, this course prepares students for subsequent courses in programming.

Read more

An introduction to programming using Scratch, a visual programming language via which aspiring programmers can write code by dragging and dropping graphical blocks (that resemble puzzle pieces) instead of typing out text. Used at the start of Harvard College's introductory course in computer science, CS50, Scratch was designed at MIT's Media Lab, empowering students with no prior programming experience to design their own animations, games, interactive art, and stories. Using Scratch, this course introduces students to fundamentals of programming, found not only in Scratch itself but in traditional text-based languages (like Java and Python) as well. Topics include: functions, which are instructions that perform tasks; return values, which are results that functions provide; conditions, via which programs can decide whether or not to perform some action; loops, via which programs can take action again and again; variables, via which programs can remember information; and more. Ultimately, this course prepares students for subsequent courses in programming.

Scratch is developed by the Lifelong Kindergarten Group at the MIT Media Lab. See scratch.mit.edu.

Two deals to help you save

What's inside

Learning objectives

  • Functions
  • Events
  • Values
  • Conditions
  • Loops
  • Variables
  • Abstraction

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores programming fundamentals with a visual language, accessible to beginners
Provides a strong foundation for subsequent courses in programming
Developed at MIT's Media Lab, known for innovation and creativity
Instructors are highly regarded for their work in computer science education
Offers hands-on practice with interactive materials
Covers essential programming concepts such as functions, loops, and variables

Save this course

Save CS50's Introduction to Programming with Scratch to your list so you can find it easily later:
Save

Reviews summary

Intro to scratch programming

According to students, this is a great course for beginners who wish to learn the basics of programming. Reviews indicate that the assignments are fun and engaging. The majority of students enjoyed the course, and many remarked on how easy it was to navigate.
Course assignments are enjoyable
"It was helpful and I recommend to the people who want to learn form scratch. I relly enjoyed learning about it."
Platform is user-friendly
"It's easy to navigate and how like how they made it to be accessible by everyone"
Well suited for beginners
"Excellent beginner programming course!"
"It was helpful and I recommend to the people who want to learn form scratch."
Experience may not be recognized professionally
"Was Boring and When putting it on Job Resume the job actually denied me because of this. They said it was too babyish to be doing at 38"

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 CS50's Introduction to Programming with Scratch with these activities:
Review basic programming concepts
Revisit the basics of programming to ensure a strong foundation before embarking on this course.
Browse courses on Programming Concepts
Show steps
  • Review basic data types and structures
  • Practice writing simple programs
Review Scratch and Its Basics
Refresh your knowledge of the basics of programming concepts, which are needed to succeed in this course.
Browse courses on Scratch
Show steps
  • Review the documentation for Scratch.
  • Complete online tutorials on the basics of Scratch.
  • Create a simple game or animation using Scratch to test your understanding of the basics.
Follow Guided Tutorials to Learn Scratch
Follow guided tutorials to deepen your understanding of Scratch programming concepts and techniques.
Browse courses on Scratch
Show steps
  • Search for online tutorials that cover the fundamentals of Scratch.
  • Follow the tutorials step-by-step, creating your own Scratch projects as you learn.
  • Experiment with the concepts you learn in the tutorials by modifying your projects.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Participate in a Scratch study group
Join a study group with fellow students to exchange ideas, share knowledge, and work through challenges together.
Browse courses on Scratch
Show steps
  • Find or create a Scratch study group
  • Attend regular meetings
  • Contribute to discussions
  • Help other group members with their projects
Solve coding puzzles
Sharpen your problem-solving skills by tackling coding puzzles that require logical thinking and algorithmic solutions.
Browse courses on Problem Solving
Show steps
  • Find a coding puzzle website or platform
  • Select a puzzle that interests you
  • Attempt to solve the puzzle
  • Review your solution and identify areas for improvement
Build a simple Scratch project
Create a small Scratch project to apply the concepts you learn in class and reinforce your understanding of the platform.
Browse courses on Scratch
Show steps
  • Design a simple game, animation, or interactive story
  • Create a new Scratch project
  • Code your project using Scratch blocks
  • Test and debug your project
  • Share your project with others
Solve Scratch Coding Challenges
Solve coding challenges to practice applying Scratch concepts and improve your programming skills.
Show steps
  • Find online resources or books that provide Scratch coding challenges.
  • Select challenges that align with the topics you are learning in the course.
  • Solve the challenges by writing Scratch code.
  • Review your solutions and identify areas for improvement.

Career center

Learners who complete CS50's Introduction to Programming with Scratch will develop knowledge and skills that may be useful to these careers:
Web Developer
Web Developers create websites and web applications. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for web development. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in web development.
Computer Programmer
Computer Programmers write code to create software applications. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for computer programming. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in computer programming.
Software Engineer
Software Engineers design, develop, and maintain software applications. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for software engineering. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in software engineering.
Network Administrator
Network Administrators design, develop, and maintain computer networks. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for network administration. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in network administration.
Information Technology Specialist
Information Technology Specialists support and maintain computer systems. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for information technology support. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in information technology support.
Technical Writer
Technical Writers create documentation for software applications. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for technical writing. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in technical writing.
Computer Support Specialist
Computer Support Specialists provide technical support to users of computer systems. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for computer support. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in computer support.
Security Analyst
Security Analysts design, develop, and implement security measures to protect computer systems. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for security analysis. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in security analysis.
Computer Technician
Computer Technicians repair and maintain computer systems. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for computer repair. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in computer repair.
Software Tester
Software Testers test software applications to find and fix bugs. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for software testing. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in software testing.
Computer Systems Analyst
Computer Systems Analysts design, develop, and implement computer systems. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for computer systems analysis. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in computer systems analysis.
Data Scientist
Data Scientists use data to solve problems and make decisions. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for data science. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in data science.
Computer Operator
Computer Operators operate and maintain computer systems. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for computer operation. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in computer operation.
Database Administrator
Database Administrators design, develop, and maintain databases. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for database administration. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in database administration.
IT Auditor
IT Auditors review and evaluate computer systems to ensure that they are secure and compliant with regulations. This course can help you get started in this field by teaching you the fundamentals of programming, which are essential for IT auditing. You'll learn about functions, events, values, conditions, loops, variables, and abstraction, all of which are important concepts in IT auditing.

Reading list

We've selected 14 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 CS50's Introduction to Programming with Scratch.
These coding cards are a great way to introduce young learners to the basics of programming. They are designed to be used with ScratchJr, a programming language designed for young children. They are a great way to get kids started with programming.
Teaches the basics of programming using Scratch. It covers topics such as variables, functions, loops, and conditionals. It great way to learn the basics of programming in a fun and engaging way.
Great introduction to programming for teens. It covers the basics of programming in a fun and engaging way. It great way to get teens started with programming.
Great introduction to programming for beginners. It covers the basics of programming in a fun and engaging way. It great way to get started with programming.
Teaches the basics of programming using Python, which more traditional text-based programming language.
Provides guidance on writing clean and maintainable code, which is an important skill for programmers.
This classic book provides a comprehensive overview of computer programming.
Provides a collection of 10 easy Scratch projects that can be used to practice programming skills.

Share

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

Similar courses

Here are nine courses similar to CS50's Introduction to Programming with Scratch.
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