We may earn an affiliate commission when you visit our partners.
Course image
David Joyner

This course starts from the beginning, covering the basics of how a computer interprets lines of code; how to write programs, evaluate their output, and revise the code itself; how to work with variables and their changing values; and how to use mathematical, boolean, and relational operators.

Read more

This course starts from the beginning, covering the basics of how a computer interprets lines of code; how to write programs, evaluate their output, and revise the code itself; how to work with variables and their changing values; and how to use mathematical, boolean, and relational operators.

By the end of this course, you'll be able to write small programs in Python that use variables, mathematical operators, and logical operators. For example, you could write programs that carry out complex mathematical operations, like calculating the interest rate necessary to reach a savings goal, recommending apparel options based on weather patterns, or calculating a grade based on multiple percentages.

Structurally, the course is comprised of several parts. Instruction is delivered via a series of short (2-3 minute) videos. In between those videos, you'll complete both multiple choice questions and coding problems to demonstrate your knowledge of the material that was just covered.

Three deals to help you save

What's inside

Learning objectives

  • How a computer processes programming code
  • The write-run-debug cycle of writing code, running it, and revising it based on its output.
  • Procedural programming, or how to write sequential lines of code.
  • Variables, their types, and their role in complex programs.
  • Mathematical operators for arithmetic operations, exponents, and more.
  • Relational operators for evaluating relative values or set membership.
  • Boolean operators for resolving complex logical statements.

Syllabus

Chapter 1: Computing. The fundamentals of how computers work, what program code is, and how to get setup for the rest of the course.
Chapter 2: Programming. The basic principles of computer programming: writing and running code, evaluating results, and compiling vs. executing.
Read more
Chapter 3: Debugging. The common results of running program code, and how to use those results to inform revision of your code.
Chapter 4: Procedural Programming. The fundamental approach to program code: writing sequences of lines of code that run in order to accomplish an objective.
Chapter 5: Variables. Creating and modifying variables, tracing how their values may change as a program runs, and understanding the role of data types.
Chapter 6: Logical Operators. Working with relational (greater than, less than, equal to) and logical (and, or, not) operators to make decisions in code.
Chapter 7: Mathematical Operators. Adding addition, subtraction, multiplication, division, modulus, and exponents to your code, and seeing how they work with unexpected data types.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches essential programming concepts from the ground up, making it suitable for beginners without any prior coding knowledge
Utilizes a structured approach with short videos, interactive questions, and coding problems, providing a practical learning experience
Taught by an experienced instructor who clearly explains complex concepts, making it easy to follow
Provides a solid foundation in programming principles, making it a good starting point for those interested in further exploring the field
Focuses on writing small programs, which may not be suitable for those seeking to develop large-scale projects

Save this course

Save Computing in Python I: Fundamentals and Procedural Programming to your list so you can find it easily later:
Save

Reviews summary

Python principles and programming

This course introduces learners to the fundamentals of computing and programming using Python. It begins with the basics of computing theory, gradually introducing Python programming skills. Throughout the course, learners gain hands-on experience through coding challenges, practice problems, and graded assignments. The instructor clearly explains complex topics and provides thorough explanations, making the course suitable for beginners or those seeking a brush-up on fundamentals.
Learners with no prior programming experience find the course to be beginner-friendly, with clear explanations and a systematic approach to teaching the concepts.
"This is a really good introduction to programming using Python."
"This is a great introductory course that I started with zero knowledge of programming or computing."
Learners appreciate the comprehensiveness of the course content, which covers the basics of computing theory, logical operators, and Python programming concepts.
"The materials are very good along with in-course practices which aren't available for free in many other similar courses."
"I found that several practices are not that easy."
The course offers ample opportunities to practice and reinforce the concepts learned through coding problems, practice questions, and graded assignments, which helps learners gain proficiency in Python programming.
"There are plenty of practice problems, the problem sets allow for ample experimentation and "learning by trying", and the final exam is very reasonable."
learners gain a strong understanding of computing concepts before delving into Python programming, which builds a solid foundation for further learning.
"This course takes the time to build on the things they are trying to teach, which seemed repetitive at first, but I grew to appreciate as I felt like I was gaining real knowledge."
"It really creates a solid solid foundation of knowledge that you could later easily apply later to other areas of computing as well as further developing your Python skills."
The instructor, David Joyner, is highly praised for his clear explanations, engaging teaching style, and ability to make complex topics accessible.
"David's explanations are relatable and approachable."
"David Joyner is an excellent professor."

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 Computing in Python I: Fundamentals and Procedural Programming with these activities:
Read 'Automate the Boring Stuff with Python'
Gain a comprehensive understanding of Python programming by reading this highly acclaimed book, which covers a wide range of topics from basic syntax to advanced techniques.
Show steps
  • Purchase or borrow the book.
  • Set aside dedicated time for reading.
  • Take notes and highlight important concepts.
  • Complete the exercises provided in the book.
Review Core Python Concepts
Review the fundamental concepts of Python, including data types, variables, operators, and control flow, to strengthen your understanding before starting the course.
Browse courses on Python Basics
Show steps
  • Go through your notes or online resources.
  • Solve practice problems or coding exercises.
  • Attend a refresher workshop or tutorial.
Python Resource Compilation
Gather and organize useful resources such as tutorials, documentation, code snippets, and online courses to support your Python learning journey.
Show steps
  • Identify categories of resources you need.
  • Search for and collect relevant resources from various sources.
  • Organize your resources into a structured format.
  • Share your compilation with others.
Six other activities
Expand to see all activities and additional details
Show all nine activities
Explore Python Libraries
Enhance your Python skills by exploring libraries like NumPy, Matplotlib, and Pandas to expand your capabilities in data analysis and visualization.
Show steps
  • Identify a library that aligns with your interests or course projects.
  • Find tutorials or documentation on the library.
  • Follow the tutorials to learn the library's functions and applications.
  • Implement the library in a small project or coding exercise.
Practice Debugging Techniques
Solve programming problems and practice debugging your code to reinforce your understanding of error handling and problem solving.
Show steps
  • Find a coding problem on a platform like LeetCode or HackerRank.
  • Attempt to solve the problem on your own.
  • If you encounter errors, use debugging tools to identify and fix them.
  • Review your solution to ensure it meets the problem requirements.
Pair Programming Exercises
Collaborate with a peer to work on programming exercises. This will foster problem-solving, communication, and code review skills.
Show steps
  • Find a classmate with similar interests or skill level.
  • Choose a programming exercise that challenges both of you.
  • Take turns driving the code, discussing design, and reviewing each other's work.
  • Reflect on your collaboration and identify areas for improvement.
Attend Python Meetups
Connect with other Python enthusiasts, share knowledge, and learn about industry trends by attending local meetups or online events.
Show steps
  • Find Python meetups in your area or online.
  • Attend the meetups regularly.
  • Participate in discussions and ask questions.
  • Network with other attendees and speakers.
Participate in Python Coding Challenges
Test your Python skills and compete with others by participating in online or local coding challenges, such as CodeChef or HackerEarth.
Show steps
  • Find coding competitions or platforms that interest you.
  • Practice and prepare beforehand.
  • Participate in the competitions.
  • Analyze your performance and learn from your mistakes.
Build a Python Project Portfolio
Develop a portfolio of Python projects to demonstrate your skills, creativity, and problem-solving abilities.
Show steps
  • Identify projects that align with your interests and career goals.
  • Plan and design your projects.
  • Implement and test your projects.
  • Document your projects and share them on platforms like GitHub.

Career center

Learners who complete Computing in Python I: Fundamentals and Procedural Programming will develop knowledge and skills that may be useful to these careers:
Computer Programmer
Computer Programmers write and maintain computer programs. This course provides a solid foundation in the principles of computer programming, including data structures and algorithms. The course's focus on variables, mathematical operators, and logical operators will help Computer Programmers write efficient and reliable code for a variety of applications.
Software Developer
Software Developers design, develop, and maintain software applications. This course provides a solid foundation in the principles of computer programming, including procedural programming and debugging techniques. The course's focus on mathematical and logical operators will help Software Developers write efficient and reliable code.
Data Scientist
Data Scientists use data to solve problems and make predictions. This course provides a strong foundation in the fundamentals of computer programming, which is essential for Data Scientists to understand how data is processed and analyzed. The course's emphasis on variables, mathematical operators, and logical operators will enable Data Scientists to develop and implement algorithms for data analysis and interpretation.
Systems Analyst
Systems Analysts design and implement computer systems. This course provides a strong foundation in the fundamentals of computer programming, which is essential for Systems Analysts to understand how computer systems work. The course's emphasis on variables, mathematical operators, and logical operators will help Systems Analysts write efficient and reliable code for system development and implementation.
Database Administrator
Database Administrators manage and maintain databases. This course provides a solid foundation in the principles of computer programming, including data structures and algorithms. The course's focus on variables, mathematical operators, and logical operators will help Database Administrators write efficient and reliable code for database management and administration.
Data Analyst
A Data Analyst is responsible for collecting, cleaning, and analyzing data to extract meaningful insights. This course provides a strong foundation in the fundamentals of computer programming, which is essential for a Data Analyst to understand how data is processed and analyzed. The course's emphasis on variables, mathematical operators, and logical operators will enable Data Analysts to develop and implement algorithms for data analysis and interpretation.
Quality Assurance Analyst
Quality Assurance Analysts test and evaluate software applications to ensure they meet quality standards. This course provides a strong foundation in the fundamentals of computer programming, which is essential for Quality Assurance Analysts to understand how software applications work. The course's emphasis on variables, mathematical operators, and logical operators will help Quality Assurance Analysts write efficient and reliable code for testing and evaluation.
Web Developer
Web Developers create and maintain websites and web applications. This course provides a strong foundation in the fundamentals of computer programming, which is essential for Web Developers to understand how websites and web applications are built and function. The course's emphasis on variables, mathematical operators, and logical operators will enable Web Developers to develop and implement code for websites and web applications.
Information Security Analyst
Information Security Analysts protect computer systems and networks from unauthorized access and attacks. This course provides a strong foundation in the fundamentals of computer programming, which is essential for Information Security Analysts to understand how computer systems and networks work. The course's emphasis on variables, mathematical operators, and logical operators will help Information Security Analysts write efficient and reliable code for security applications.
Business Analyst
Business Analysts use data to analyze and improve business processes. This course provides a strong foundation in the fundamentals of computer programming, which is essential for Business Analysts to understand how data is processed and analyzed. The course's emphasis on variables, mathematical operators, and logical operators will enable Business Analysts to develop and implement algorithms for data analysis and interpretation.
Technical Writer
Technical Writers create documentation for computer hardware and software. This course provides a strong foundation in the fundamentals of computer programming, which is essential for Technical Writers to understand the technical concepts they are writing about. The course's emphasis on variables, mathematical operators, and logical operators will help Technical Writers write clear and concise documentation for a variety of audiences.
Computer Systems Analyst
Computer Systems Analysts design and implement computer systems. This course may be useful for Computer Systems Analysts to understand the technical aspects of computer systems design and implementation. The course's emphasis on variables, mathematical operators, and logical operators will help Computer Systems Analysts write efficient and reliable code for system development and implementation.
Project Manager
Project Managers plan and manage the development and implementation of computer systems. This course may be useful for Project Managers to understand the technical aspects of software development and implementation. The course's emphasis on variables, mathematical operators, and logical operators will help Project Managers communicate effectively with technical staff.
Network Administrator
Network Administrators install, maintain, and troubleshoot computer networks. This course may be useful for Network Administrators to understand the technical aspects of computer networks. The course's emphasis on variables, mathematical operators, and logical operators will help Network Administrators configure and troubleshoot network devices and protocols.
Computer Support Specialist
Computer Support Specialists provide technical support to users of computer systems and networks. This course may be useful for Computer Support Specialists to understand the technical aspects of computer systems and networks. The course's emphasis on variables, mathematical operators, and logical operators will help Computer Support Specialists troubleshoot and resolve technical issues.

Reading list

We've selected 12 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 Computing in Python I: Fundamentals and Procedural Programming.
Though conceptually similar to other supplemental readings, this book stands out as one of the more useful resources available for beginners interested in making personal projects using Python code.
This resource may be of value to learners in this course who are seeking further information on the conceptual aspects of computer science at a beginner friendly level.
Provides a more advanced look into the Python programming language and some of the tools and techniques used by professional software engineers that may inspire learners who are getting started on their programming journey.
An excellent book that provides more detailed instruction on writing clean and professional Python code.
Provides a comprehensive set of code recipes and examples that can be utilized to solve real world problems in Python programming.
An excellent reference book for Python programmers of all skill levels.
A book with a conceptual overlap with the course's content, that dives deeper into Python's data analysis related functionality.

Share

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

Similar courses

Here are nine courses similar to Computing in Python I: Fundamentals and Procedural Programming.
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