We may earn an affiliate commission when you visit our partners.
Dr Edward Anstead and Dr Simon Katan

This MOOC provides you with the foundational skill set required to write computer programs. If you are interested in learning how to write interactive, graphical programs from an introductory level in a real programming language, this is the course for you. You will begin by learning the basics of editing and running programs. Then you will learn how to create 2D graphics using shapes and coordinates. Finally, you will learn how to create interactive graphics that you can control with the mouse. You will even solve a set of interactive puzzles using your coding skills in the Sleuth game which has been created especially for this course. The course uses the Javascript language and the p5.js library.

Enroll now

What's inside

Syllabus

Your development environment
In this topic you will learn about three key concepts: • The toolkit we will use to develop programs.• Drawing using simple shapes and 2D coordinates.• The process and experience of writing code.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Introduces the basics of programming using the JavaScript language and the p5.js library
Suitable for beginners with no prior programming experience
Provides interactive puzzles to enhance learning and engagement
Covers essential concepts such as 2D graphics, variables, and interaction
Taught by Dr Edward Anstead and Dr Simon Katan, experienced instructors in programming education

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 programming with p5.js

According to learners, this course provides a highly positive introduction to programming, particularly for those with no prior experience. Many appreciated the focus on interactive, graphical programming using Javascript and the p5.js library, finding it an engaging and fun way to learn fundamental concepts. Students found the lectures clear and the pace suitable for beginners. The hands-on assignments and the unique Sleuth game project were frequently highlighted as strong points that helped solidify understanding. While ideal for novices, some with existing programming knowledge found it too basic, suggesting it's best suited for absolute beginners interested in a visual approach.
Learning is centered on Javascript and the p5.js library.
"Note that the language is Javascript and the focus is on the p5.js library."
"It's a great intro to JS/p5.js, but less of a general 'computer science' overview."
"Good if you're interested in this specific type of programming or web basics."
"The skills I learned are directly applicable to using p5.js for creative projects."
Lecture content is easy to follow and understand.
"The instructor explained concepts in a very clear and concise manner."
"Lectures broke down potentially complex topics into digestible parts."
"I found the video content easy to follow and helpful for grasping new ideas."
"The explanations were straightforward, which is crucial for beginners."
Practical tasks and the Sleuth game enhance learning.
"The hands-on coding assignments were incredibly helpful for practicing."
"The Sleuth game was challenging but a very rewarding final project."
"I loved the practical exercises; they immediately let me apply what I learned."
"Working on the Sleuth game helped solidify my understanding of interaction."
Teaches programming through visual and interactive projects.
"I really enjoyed learning programming by creating visual outputs with p5.js."
"The graphical aspect made the learning process much more engaging and less abstract."
"Using Javascript and p5.js was a fun introduction to creative coding and web possibilities."
"Learning to make things move and respond visually was a great motivator."
Highly suitable for those new to programming.
"This course was absolutely perfect for someone like me who was starting from scratch."
"It made programming concepts surprisingly accessible, even with no prior knowledge."
"If you've never coded before, this course is designed with you in mind and takes things step-by-step."
"I had zero programming background, and this course gave me a solid foundation to build upon."
May not be challenging enough for those with experience.
"If you already have some programming background, this course will likely be very basic."
"I had previous coding experience, and much of the material was review for me."
"It's strictly an introductory course; don't expect advanced topics."
"Wish it delved a bit deeper into some concepts for those who pick it up quickly."

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 Introduction to Computer Programming with these activities:
Install required software
Ensures that you have the tools ready to start the course and eliminates stress later when installing complicated software.
Show steps
  • Visit the course website.
  • Download the necessary software.
  • Install it.
Review the Javascript Language Guide
Provides a comprehensive reference for working with Javascript, which is the programming language being used in the course.
Show steps
  • Read about the Javascript language syntax.
  • Review the built-in functions and objects available in Javascript.
  • Practice writing Javascript code.
Follow tutorials on using p5.js
Provides hands-on guidance for using the p5.js library, which is the primary library for creating graphics in the course.
Show steps
  • Search for relevant tutorials online.
  • Follow step-by-step instructions provided in the tutorials.
  • Experiment with the code and explore different possibilities.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Complete coding challenges
Practice writing code in a specific language and develop problem-solving strategies.
Show steps
  • Review the coding challenges.
  • Start working on a coding challenge.
  • Debug and test your code.
  • Submit your code.
Join a study group with peers
Provides opportunities to collaborate with peers, discuss concepts, and learn from each other.
Show steps
  • Find a study buddy or group to join.
  • Set regular meeting times.
  • Discuss the course material, ask questions, and work on problems together.
Solve the Sleuth puzzles
Enhances problem-solving skills and deepens understanding of the programming concepts taught in the course.
Show steps
  • Read the instructions for the Sleuth puzzles.
  • Analyze the puzzle.
  • Write code to solve the puzzle.
  • Test and refine your solution.
Develop a simple interactive game using p5.js
Demonstrates mastery of the programming concepts and graphics skills taught in the course.
Show steps
  • Design the game.
  • Write the code for the game.
  • Test and refine the game.
  • Publish the game.

Career center

Learners who complete Introduction to Computer Programming will develop knowledge and skills that may be useful to these careers:
Backend Developer
Backend Developers use their programming skills to create and maintain the structure and organization of websites and applications.. As a Backend Developer, you will work primarily in JavaScript and the p5.js library, which This course uses the Javascript language and the p5.js library. You will work with variables, objects, and interaction, all of which are essential skills for Backend Developers. After taking this course, you will have a strong foundation in the skills necessary to succeed as a Backend Developer.
Computer Programmer
Computer Programmers use programming languages such as JavaScript and p5.js library to create and maintain software and applications.. As a Computer Programmer, you will work primarily with the p5.js library, which This course uses the Javascript language and the p5.js library. You will work with variables, objects, and interaction, all of which are essential skills for Computer Programmers. After taking this course, you will have a strong foundation in the skills necessary to succeed as a Computer Programmer.
Front-End Developer
Front End Developers use programming languages such as Javascript to create and maintain the visual and interactive elements of websites and applications.. As a Front End Developer, you will work primarily with JavaScript, which This course uses the Javascript language and the p5.js library. You will work with variables, objects, and interaction, all of which are essential skills for Front End Developers. After taking this course, you will have a strong foundation in the skills necessary to succeed as a Front End Developer.
Mobile Developer
Mobile Developers use programming languages such as JavaScript and p5.js library to create and maintain mobile applications.. As a Mobile Developer, you will work primarily with JavaScript and the p5.js library, which This course uses the Javascript language and the p5.js library. You will work with variables, objects, and interaction, all of which are essential skills for Mobile Developers. After taking this course, you will have a strong foundation in the skills necessary to succeed as a Mobile Developer.
Software Developer
Software Developers use programming languages such as JavaScript and the p5.js library to create and maintain software and applications.. As a Software Developer, you will work primarily with JavaScript and the p5.js library, which This course uses the Javascript language and the p5.js library. You will work with variables, objects, and interaction, all of which are essential skills for Software Developers. After taking this course, you will have a strong foundation in the skills necessary to succeed as a Software Developer.
Web Developer
Web Developers use programming languages such as JavaScript and the p5.js library to create and maintain websites and applications.. As a Web Developer, you will work primarily with JavaScript and the p5.js library, which This course uses the Javascript language and the p5.js library. You will work with variables, objects, and interaction, all of which are essential skills for Web Developers. After taking this course, you will have a strong foundation in the skills necessary to succeed as a Web Developer.
Data Analyst
Data Analysts use programming languages such as JavaScript and the p5.js library to analyze and interpret data.. As a Data Analyst, you may work with JavaScript and the p5.js library to visualize data, which This course uses the Javascript language and the p5.js library. While not a common job duty for a Data Analyst, taking this course may be useful as you build your programming skills.
IT Consultant
IT Consultants use their programming skills to help businesses improve their IT systems and processes.. As an IT Consultant, you may work with JavaScript and the p5.js library to create and maintain software and applications, which This course uses the Javascript language and the p5.js library. While not a common job duty for an IT Consultant, taking this course may be useful as you build your programming skills.
Project Manager
Project Managers use their programming skills to plan, execute, and track projects.. As a Project Manager, you may work with JavaScript and the p5.js library to create and maintain software and applications, which This course uses the Javascript language and the p5.js library. While not a common job duty for a Project Manager, taking this course may be useful as you build your programming skills.
Quality Assurance Analyst
Quality Assurance Analysts use their programming skills to test and ensure the quality of software and applications.. As a Quality Assurance Analyst, you may work with JavaScript and the p5.js library to create and maintain software and applications, which This course uses the Javascript language and the p5.js library. While not a common job duty for a Quality Assurance Analyst, taking this course may be useful as you build your programming skills.
System Analyst
System Analysts use their programming skills to analyze and design software and applications.. As a System Analyst, you may work with JavaScript and the p5.js library to create and maintain software and applications, which This course uses the Javascript language and the p5.js library. While not a common job duty for a System Analyst, taking this course may be useful as you build your programming skills.
Technical Writer
Technical Writers use their programming skills to create and maintain technical documentation.. As a Technical Writer, you may work with JavaScript and the p5.js library to create and maintain software and applications, which This course uses the Javascript language and the p5.js library. While not a common job duty for a Technical Writer, taking this course may be useful as you build your programming skills.
User Experience Designer
User Experience Designers use their programming skills to design and improve the user experience of software and applications.. As a User Experience Designer, you may work with JavaScript and the p5.js library to create and maintain software and applications, which This course uses the Javascript language and the p5.js library. While not a common job duty for a User Experience Designer, taking this course may be useful as you build your programming skills.
Database Administrator
Database Administrators use their programming skills to manage and maintain databases.. As a Database Administrator, you may work with JavaScript and the p5.js library to create and maintain software and applications, which This course uses the Javascript language and the p5.js library. While not a common job duty for a Database Administrator, taking this course may be useful as you build your programming skills.
Network Administrator
Network Administrators use their programming skills to manage and maintain computer networks.. As a Network Administrator, you may work with JavaScript and the p5.js library to create and maintain software and applications, which This course uses the Javascript language and the p5.js library. While not a common job duty for a Network Administrator, taking this course may be useful as you build your programming skills.

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 Introduction to Computer Programming .
Provides an engaging introduction to the fundamentals of JavaScript and programming concepts. It widely recommended text for beginners and can serve as a valuable companion to the course.
Processing programming language and environment closely related to p5.js. provides a comprehensive guide to using Processing for creating visual art and interactive projects.
While this book focuses on Java, it offers a comprehensive overview of programming concepts and principles that are applicable to JavaScript. It can provide a solid foundation for understanding the core ideas behind programming.
Focuses on the good practices and patterns of JavaScript. It provides valuable insights into writing clean and maintainable JavaScript code, which can be beneficial for students looking to improve their coding skills.
This beginner-friendly book introduces programming concepts through engaging activities and projects. It can be a helpful resource for those with little to no programming experience.
Provides a thorough overview of object-oriented concepts and their application in JavaScript. It can be helpful for students looking to enhance their understanding of object-oriented programming.
Provides a comprehensive guide to software development best practices. It covers topics such as requirements engineering, design patterns, and testing. While not specific to JavaScript, it offers valuable insights for those interested in writing high-quality and maintainable code.
This classic series of books provides a comprehensive and in-depth treatment of computer programming fundamentals. While it is not specifically geared towards JavaScript, it offers a wealth of knowledge for those interested in gaining a deeper understanding of programming.
This textbook provides a comprehensive overview of the field of computer graphics, covering fundamental concepts and algorithms. While it is not specific to JavaScript, it can provide valuable insights for those interested in the technical aspects of graphics programming.
Introduces functional programming concepts and techniques in JavaScript. It can be a valuable resource for those interested in exploring advanced programming paradigms.
This classic textbook provides a comprehensive introduction to algorithms and data structures. While not directly related to JavaScript, it can provide a solid foundation for understanding efficient programming techniques.
Explores the history and culture of open source software development. It provides insights into the collaborative nature of software development and the role of community in shaping technology.

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