We may earn an affiliate commission when you visit our partners.
Simon Allardice

This is an accessible, language-agnostic course on the fundamentals of programming. Learn how to get started programming - in any language.

Read more

This is an accessible, language-agnostic course on the fundamentals of programming. Learn how to get started programming - in any language.

If you want to begin programming, start here. In this fast-paced and entertaining course, What Is Programming, you'll learn the fundamentals, the essential ideas, and the concepts for success in any programming language. First, you'll learn how to write a computer program and learn how to get the computer to understand it. Next, you'll learn all about the syntax - or rules of programming languages. Finally, you'll explore how to make real-world programming easier, from libraries to frames, to SDKs and APIs. By the end of this course, you will not only be on your way to becoming a software developer, but will also have learned how to work with them, manage them, or live with one.

Basically programming is writing instructions that tell a computer what to do and how to do it. There are several languages that can be used for programming, such as JavaScript, C, and Python, each with their own specific set of rules, but also following many universal programming principles.

Programming can be used for an almost endless list of things, but ultimately it helps automate tasks and perform them quickly, effectively, and accurately. Programming languages are used to develop softwares, websites, applications, and so much more.

In this programming basics course you will learn about:

This course is for absolute beginners to the world of programming! If you've never written a line of code in your life, this is the place to start. Also for those who just want to review the basics of programming.

Absolutely not! This course assumes zero prior knowledge of or exposure to computer programming. Start learning basic computer programming here!

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Course Overview
Introduction
The Rules of Programming Languages
Working with Data
Read more
Managing Program Flow
Making Things Modular
Programming in the Real World

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores core programming concepts and rules, which is standard in software development
Provides a comprehensive introduction to programming regardless of language choice
Taught by Simon Allardice, who has extensive experience in teaching programming
This course is suitable for absolute beginners with no prior knowledge of programming
Develops foundational understanding of programming, which is a valuable skill for both personal and professional growth

Save this course

Save What Is Programming? to your list so you can find it easily later:
Save

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 What Is Programming? with these activities:
Review basic math concepts
Strengthen your understanding of math concepts to support your programming skills.
Browse courses on Mathematics
Show steps
  • Review basic arithmetic operations
  • Practice solving algebraic equations
  • Try some basic geometry problems
Read 'Head First Java'
Gain a comprehensive understanding of Java programming concepts.
Show steps
  • Purchase or borrow a copy of 'Head First Java'
  • Read the chapters and complete the exercises
  • Take notes and highlight important concepts
Build a programming resources collection
Organize and expand your programming knowledge by gathering valuable resources.
Browse courses on Programming Basics
Show steps
  • Create a digital or physical notebook
  • Collect links to helpful articles, tutorials, and documentation
  • Organize the resources into categories or topics
Six other activities
Expand to see all activities and additional details
Show all nine activities
Join a study group or online forum
Connect with other learners to discuss concepts, exchange ideas, and get feedback.
Browse courses on Programming Basics
Show steps
  • Find a study group or online forum
  • Introduce yourself and share your goals
  • Participate in discussions and ask questions
Follow online tutorials on programming basics
Supplement your learning with interactive tutorials to reinforce concepts.
Browse courses on Programming Basics
Show steps
  • Find reputable online tutorials
  • Follow the tutorials step-by-step
  • Practice the concepts covered in the tutorials
Practice writing simple programs
Get hands-on experience writing code and experimenting with different programming concepts.
Browse courses on Programming Basics
Show steps
  • Choose a programming language and environment
  • Write a simple program to print 'Hello, world!'
  • Experiment with different data types and variables
Create a presentation on a programming language
Deepen your understanding of a programming language by explaining it to others.
Browse courses on Programming Basics
Show steps
  • Choose a programming language to present on
  • Research the language's features and capabilities
  • Create a presentation outline
  • Develop the presentation content
  • Practice presenting your presentation
Build a simple website
Apply your programming skills to create a small web application.
Browse courses on Web Development
Show steps
  • Choose a website idea and design
  • Set up a development environment
  • Build the website's structure and layout
  • Add functionality and interactivity
  • Test and deploy your website
Participate in coding challenges or hackathons
Test your programming skills and learn from others in a competitive environment.
Browse courses on Programming Basics
Show steps
  • Find coding challenges or hackathons that align with your skill level
  • Register and participate in the event
  • Collaborate with others or work independently
  • Submit your solutions

Career center

Learners who complete What Is Programming? will develop knowledge and skills that may be useful to these careers:
Software Developer
Software Developers are responsible for designing, developing, and maintaining computer programs. They work on a variety of projects, from small personal applications to large enterprise systems. A course like What Is Programming? can provide a solid foundation for Software Developers, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as Software Developers.
Computer Programmer
Computer Programmers write and maintain computer programs. They work on a variety of projects, from small personal applications to large enterprise systems. A course like What Is Programming? can provide a strong foundation for Computer Programmers, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as Computer Programmers.
Web Developer
Web Developers design and develop websites and web applications. They work with a variety of technologies, including HTML, CSS, JavaScript, and server-side languages. A course like What Is Programming? can provide a strong foundation for Web Developers, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as Web Developers.
Data Scientist
Data Scientists use programming, statistics, and machine learning to extract insights from data. They work on a variety of projects, from developing predictive models to creating data visualization dashboards. A course like What Is Programming? can provide a strong foundation for Data Scientists, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as Data Scientists.
Data Analyst
Data Analysts collect, clean, and analyze data to help businesses make informed decisions. They work with a variety of tools and technologies, including programming languages, statistical software, and data visualization tools. A course like What Is Programming? can provide a strong foundation for Data Analysts, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as Data Analysts.
Machine Learning Engineer
Machine Learning Engineers design, develop, and deploy machine learning models. They work on a variety of projects, from developing new algorithms to creating machine learning applications. A course like What Is Programming? can provide a strong foundation for Machine Learning Engineers, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as Machine Learning Engineers.
IT Manager
IT Managers plan, implement, and manage an organization's IT systems. They work with a variety of technologies, including hardware, software, and networks. A course like What Is Programming? can provide a strong foundation for IT Managers, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as IT Managers.
Technical Writer
Technical Writers create documentation for software and hardware products. They work with a variety of technologies, including programming languages, operating systems, and software applications. A course like What Is Programming? can provide a strong foundation for Technical Writers, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as Technical Writers.
Project Manager
Project Managers plan, execute, and close projects. They work with a variety of stakeholders, including clients, team members, and vendors. A course like What Is Programming? can provide a may be useful for Project Managers, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as Project Managers.
Product Manager
Product Managers plan, develop, and launch new products. They work with a variety of teams, including engineering, marketing, and sales. A course like What Is Programming? can provide a may be useful for Product Managers, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as Product Managers.
Business Analyst
Business Analysts analyze business processes and systems to identify areas for improvement. They work with a variety of stakeholders, including business leaders, IT professionals, and end users. A course like What Is Programming? can provide a may be useful for Business Analysts, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as Business Analysts.
Quality Assurance Analyst
Quality Assurance Analysts test software and hardware products to ensure that they meet requirements. They work with a variety of technologies, including programming languages, operating systems, and software applications. A course like What Is Programming? can provide a may be useful for Quality Assurance Analysts, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as Quality Assurance Analysts.
Systems Analyst
Systems Analysts design and implement computer systems. They work with a variety of technologies, including programming languages, operating systems, and software applications. A course like What Is Programming? can provide a may be useful for Systems Analysts, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as Systems Analysts.
User Experience Designer
User Experience Designers design and develop user interfaces for software and hardware products. They work with a variety of technologies, including programming languages, design tools, and user research methods. A course like What Is Programming? can provide a may be useful for User Experience Designers, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as User Experience Designers.
Information Technology Specialist
Information Technology Specialists provide technical support to users of computer systems. They work with a variety of technologies, including programming languages, operating systems, and software applications. A course like What Is Programming? can provide a may be useful for Information Technology Specialists, as it introduces the fundamentals of programming and the essential ideas and concepts necessary for success in the field. By learning the syntax of programming languages and how to make real-world programming easier, students can develop the skills needed to succeed as Information Technology Specialists.

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 What Is Programming?.
Multi-volume series that covers a wide range of topics in computer science. It valuable resource for anyone who wants to learn more about the foundations of computer science.
Classic in the field of algorithms and data structures. It covers a wide range of topics, including sorting, searching, and graph algorithms. While it is more theoretical than some of the other books on this list, it great resource for anyone who wants to learn more about the foundations of computer science.
Is considered a classic in computer science education, and covers a wide range of programming concepts, including data structures, algorithms, and programming paradigms. While it uses the Scheme programming language, the concepts it teaches are applicable to any programming language.
Comprehensive guide to software development. It covers everything from planning and design to testing and deployment. While it bit long and dense, it valuable resource for anyone who wants to learn how to develop high-quality software.
Comprehensive introduction to algorithms. It covers a wide range of topics, including sorting, searching, graph algorithms, and dynamic programming. While it is written in Java, the concepts it teaches are applicable to any programming language.
Comprehensive introduction to data structures and algorithms. It covers a wide range of topics, including sorting, searching, graph algorithms, and dynamic programming. While it is written in Python, the concepts it teaches are applicable to any programming language.
Comprehensive introduction to discrete mathematics. It covers a wide range of topics, including set theory, logic, graph theory, and number theory. While it is not specific to programming, it valuable resource for anyone who wants to learn more about the mathematical foundations of computer science.
Is an introduction to the Java programming language. It covers a wide range of topics, including basic syntax, object-oriented programming, and data structures. While it is written in Java, the concepts it teaches are applicable to any programming language.
Practical guide to writing clean and maintainable code. It covers a wide range of topics, including naming conventions, code formatting, and refactoring. While it is not specific to any particular programming language, it valuable resource for anyone who wants to learn how to write better code.
Great introduction to the Java programming language. It uses a fun and engaging approach to teaching programming concepts, and covers everything from basic syntax to object-oriented programming.
Is an introduction to computing. It covers a wide range of topics, including computer hardware, software, and networking. While it is not specific to any particular programming language, it valuable resource for anyone who wants to learn more about the basics of computing.
Is an introduction to computer science. It covers a wide range of topics, including computer hardware, software, and networking. While it is not specific to any particular programming language, it valuable resource for anyone who wants to learn more about the basics of computer science.
Classic in the field of software engineering. It discusses the challenges of developing large software systems, and offers advice on how to avoid common pitfalls.

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