We may earn an affiliate commission when you visit our partners.
Course image
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
Drawing in 2D
In this topic you will learn about three key concepts: • Set of 2D drawing functions in p5.js • Colour representation and styles • Debugging with the console
Variables, objects and interaction
In this topic you will learn about three concepts: • Variables and data • Simple interaction • Code organisation

Good to know

Know what's good
, what to watch for
, 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

Save Introduction to Computer Programming to your list so you can find it easily later:
Save

Reviews summary

Intro to computer programming: engaging assignments for beginners

learners say the Introduction to Computer Programming course is a largely positive learning experience. The course instructors are knowledgeable and engaging, and the practical assignments using p5.js help students apply their learning. However, some students found the difficulty level to be high, especially for beginners. Additionally, there were some issues with the course layout and the Sleuth assessment, which could be improved for future learners.
while the course is designed for beginners, some learners found the difficulty level to be high. However, other learners with no prior programming experience found the course to be a good introduction to the subject.
"This course is very basic and simple enough for every body. Don't have to have prior experience in coding."
"It was exactly as advertised, for absolute beginners like me. It was interesting, and frustrating to code through this class, and thus, I learnt a lot from it."
"This has been a great course, though not much it is explained in it and there is a lot of self learning through other means that is required I think it helped me a lot to discover that I am capable of facing this coding challenges."
learners say the interactive and creative assignments in p5.js help them apply their learning and make the learning experience more enjoyable.
"Great to learn the basics of Javascript and using the p5.js library through solving a puzzle game."
"This course is very super and good the assignment is very nice and I enjoyed in that"
"This course was incredibly challenging. I loved it. It's a great introduction to what we will do as programmers."
learners report that the course layout is confusing and that the Sleuth assessment should be placed later in the course. Additionally, some learners struggled with understanding the course terminology.
"I am a computer programmer with 25 years of experience and the worst way to teach programming."
"The course itself is great and I have no faults with it. But the whole Sleuth Assignment was rather Frustrating and Tedious."
"Also, the programming assignment had some errors and issues that made it impossible to complete."

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