We may earn an affiliate commission when you visit our partners.
Course image
Dr. Jennifer Coy

Designed for the not-yet-experienced programmer, this course will provide you with a structured foundation for developing complex programs in the fields of computer science or data science. If you are a self-taught programmer with scattered bits of understanding, or a complete novice, this is the course for you.

Read more

Designed for the not-yet-experienced programmer, this course will provide you with a structured foundation for developing complex programs in the fields of computer science or data science. If you are a self-taught programmer with scattered bits of understanding, or a complete novice, this is the course for you.

Here, you will gain a thorough understanding of how to write programs to solve problems, through structured, scaffolded, hands-on exercises with many examples and opportunities to practice. You will learn the foundational concepts of computer science by developing programs in the python programming language (one of the most commonly used languages).

We will also use many of the most common python packages -- why reinvent the wheel when you can use well-tested, flexible, pre-built solutions? While these packages can save significant time, it is also important to understand how they do their magic, and if your particular problem is the right fit to be solved by these potential tools. You will encounter the following python packages: numpy, scipy, matplotlib, pandas, seaborn, re (for regular expressions), textblob, nltk, and others.

In the process of learning how to program, we will explore different topics at the introductory level, including natural language processing and data analytics.

By the end of this course, you will be confident in your ability to solve a problem using the python programming language -- and how to verify that your solution is accurate.

Enroll now

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Introduction to Programming and Python
Welcome to the course! In this module, we will explore what makes the python programming language so excellent to learn and begin to write our first python programs. We will learn about variables, how to use them, how a program makes decisions using if statements, and how to interact with the user through input() and print() functions.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides structured hands-on exercises and examples for practice, beneficial for novice programmers and self-taught individuals with scattered knowledge
Emphasizes the use of industry-standard Python packages, enhancing practicality and efficiency
Covers topics such as natural language processing and data analytics, expanding the scope of programming skills
Designed for beginners, providing a strong foundation for those starting their programming journey
Led by Dr. Jennifer Coy, an experienced instructor, ensuring quality instruction
Absence of explicit prerequisites, making it accessible to a broader audience

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Foundational python programming for beginners

According to learners, this course is a largely positive experience, particularly for absolute beginners seeking a structured foundation in Python. Students frequently praise the clear explanations and the engaging instructor, finding them instrumental in grasping new concepts. The course offers numerous hands-on exercises and practical examples, which are widely considered essential for effective learning and building a solid programming foundation. While it successfully prepares students to confidently approach problem-solving, some reviewers suggest that those with prior experience might find the pacing somewhat slow or wish for more advanced topics. It effectively introduces key Python packages relevant to data and natural language processing.
Perfectly structured for those with no prior coding experience.
"As a complete beginner, this course built my confidence from the ground up in programming."
"If you're new to programming, this is definitely the place to start; it holds your hand just enough."
"I had zero coding background, and now I feel like I can actually write small programs after this course."
Abundant practical exercises and coding challenges.
"The hands-on coding and projects are the strongest part of the course for me; I learned by doing."
"I found the exercises really helped solidify my understanding of each concept."
"The examples provided in the labs were incredibly helpful for getting started with real code."
Excellent explanations for foundational programming concepts.
"The instructor breaks down complex topics into easy-to-digest segments, making programming less daunting."
"Lectures are very clear and concise, especially for someone new to coding."
"I appreciated how the concepts were introduced with practical examples, making them stick."
Deeper understanding may require external resources.
"While it gives a solid foundation, I often had to look up external resources for more in-depth explanations."
"Could use more complex problems or advanced problem-solving strategies in the assignments."
"I felt the course covered breadth well but lacked the depth I needed for real-world applications."
May be slow or lack depth for those with some background.
"For someone with a bit of programming experience, some modules felt a bit too drawn out."
"I wished there were more advanced topics or challenges for those who grasp concepts quickly."
"While excellent for beginners, I found myself skipping some introductory parts as they were too basic."

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 Programming with these activities:
Review Basic Programming Concepts
Strengthen your foundation by reviewing basic programming concepts such as variables, data types, and control flow.
Browse courses on Programming Fundamentals
Show steps
  • Read articles or tutorials on basic programming.
  • Complete online exercises.
  • Practice writing simple programs.
Complete Python Codecademy Course
Reinforce your understanding of Python syntax and fundamentals by completing the Codecademy course on Python basics.
Browse courses on Python
Show steps
  • Sign up for the Codecademy Python course.
  • Complete the interactive lessons and exercises.
  • Practice writing Python code on your own.
Join a Python Study Group
Connect with other learners to discuss Python concepts, share knowledge, and work on projects together.
Browse courses on Python
Show steps
  • Find a Python study group online or in your community.
  • Attend regular meetings and participate in discussions.
  • Collaborate with group members on projects.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Develop a Simple Python Project
Apply your Python skills by creating a simple project, such as a calculator, a game, or a data visualization tool.
Browse courses on Python
Show steps
  • Brainstorm ideas for a project.
  • Design and implement the project.
  • Test and debug the project.
Explore Additional Python Libraries
Expand your Python knowledge by exploring additional libraries such as NumPy, SciPy, and matplotlib.
Browse courses on Python Libraries
Show steps
  • Identify Python libraries that align with your interests.
  • Find tutorials and documentation for the selected libraries.
  • Follow the tutorials and implement the concepts in your own projects.
Participate in a Python Coding Contest
Challenge yourself and test your Python skills by participating in a coding competition.
Browse courses on Python
Show steps
  • Find a Python coding contest that aligns with your skill level.
  • Practice solving coding problems.
  • Participate in the contest and submit your solutions.
Mentor Junior Python Developers
Share your knowledge and skills by mentoring junior Python developers, reinforcing your understanding and fostering community growth.
Browse courses on Python
Show steps
  • Sign up for a mentorship program.
  • Connect with mentees and provide guidance on Python topics.
  • Review mentees' code and provide feedback.
Contribute to an Open-Source Python Project
Engage with the Python community and contribute to open-source projects, fostering collaboration and deepening your understanding.
Browse courses on Python
Show steps
  • Find an open-source Python project that aligns with your interests.
  • Read the project's documentation and contribute to discussions.
  • Submit bug reports or feature requests.
  • Write code and submit pull requests.

Career center

Learners who complete Introduction to Programming will develop knowledge and skills that may be useful to these careers:
Data Analyst
Data Analysts are responsible for collecting, cleaning, and analyzing data to identify trends and patterns. They use their findings to help businesses make informed decisions. This course provides a solid foundation in programming, data analysis, and natural language processing, which are all essential skills for Data Analysts. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
Software Developer
Software Developers design, develop, and maintain computer applications. They use their programming skills to create software that meets the needs of users. This course provides a strong foundation in programming fundamentals, data structures, and algorithms, which are all essential skills for Software Developers. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
Data Scientist
Data Scientists are responsible for collecting, analyzing, and interpreting data to help businesses make informed decisions. They use their programming skills to develop machine learning models and other data-driven solutions. This course provides a solid foundation in programming, data analysis, and machine learning, which are all essential skills for Data Scientists. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
Business Analyst
Business Analysts help businesses improve their operations by analyzing data and identifying inefficiencies. They use their programming skills to develop data-driven solutions that can help businesses save money and improve efficiency. This course provides a solid foundation in programming, data analysis, and business process improvement, which are all essential skills for Business Analysts. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
Quantitative Analyst
Quantitative Analysts use their programming skills to develop mathematical models that can be used to predict financial risks and opportunities. This course provides a strong foundation in programming, mathematics, and statistics, which are all essential skills for Quantitative Analysts. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
Machine Learning Engineer
Machine Learning Engineers design and develop machine learning models that can be used to solve a variety of problems, such as fraud detection, customer segmentation, and natural language processing. This course provides a solid foundation in programming, machine learning, and data analysis, which are all essential skills for Machine Learning Engineers. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
Natural Language Processing Engineer
Natural Language Processing Engineers design and develop software that can understand and process human language. This course provides a solid foundation in programming, natural language processing, and machine learning, which are all essential skills for Natural Language Processing Engineers. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
Data Engineer
Data Engineers design and develop the infrastructure that is used to store, process, and analyze data. This course provides a solid foundation in programming, data analysis, and cloud computing, which are all essential skills for Data Engineers. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
Software Tester
Software Testers are responsible for testing software to ensure that it meets the requirements of users. They use their programming skills to develop test cases and automate testing processes. This course provides a solid foundation in programming, software testing, and quality assurance, which are all essential skills for Software Testers. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
Database Administrator
Database Administrators are responsible for managing and maintaining databases. They use their programming skills to develop database schemas and optimize database performance. This course provides a solid foundation in programming, database management, and data security, which are all essential skills for Database Administrators. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
Web Developer
Web Developers design and develop websites. They use their programming skills to create websites that are user-friendly and efficient. This course provides a solid foundation in programming, web development, and user experience design, which are all essential skills for Web Developers. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
IT Project Manager
IT Project Managers are responsible for planning and managing IT projects. They use their programming skills to develop project plans and track project progress. This course provides a solid foundation in programming, project management, and IT infrastructure, which are all essential skills for IT Project Managers. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
Technical Writer
Technical Writers create documentation for software and other technical products. They use their programming skills to understand the technical details of products and to write clear and concise documentation. This course provides a solid foundation in programming, technical writing, and user experience design, which are all essential skills for Technical Writers. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
Computer Support Specialist
Computer Support Specialists provide technical support to users of computers and other electronic devices. They use their programming skills to troubleshoot problems and to recommend solutions. This course provides a solid foundation in programming, computer hardware, and software, which are all essential skills for Computer Support Specialists. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.
Network Administrator
Network Administrators are responsible for designing and maintaining computer networks. They use their programming skills to configure network devices and to troubleshoot network problems. This course provides a solid foundation in programming, networking, and security, which are all essential skills for Network Administrators. The hands-on exercises and projects in this course will help you develop the skills you need to succeed in this role.

Reading list

We've selected 23 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 Programming.
Collection of recipes that cover a wide range of Python programming topics. It great resource for Python programmers of all levels.
Practical guide to Python programming, covering the basics of the language as well as more advanced topics such as data structures, object-oriented programming, and web scraping. It is written in a clear and accessible style, and it is packed with examples and exercises that will help you learn to use Python effectively.
Provides a comprehensive introduction to machine learning using Python and popular libraries such as Scikit-Learn, Keras, and TensorFlow. It covers concepts such as data preprocessing, machine learning models, and deep learning and is suitable for both beginners and experienced practitioners.
Comprehensive introduction to Python programming and computer science. It covers a wide range of topics, including data types, control flow, functions, and object-oriented programming.
Fast-paced, project-based introduction to Python programming. It covers the basics of the language as well as more advanced topics such as data visualization, web scraping, and machine learning. It is written in a clear and concise style, and it is packed with examples and exercises that will help you learn to use Python effectively.
Deep dive into the Python programming language. It covers advanced topics such as decorators, generators, and metaprogramming. It is written in a clear and concise style, and it is packed with examples and exercises that will help you learn to use Python effectively.
Comprehensive introduction to machine learning with Python. It covers a wide range of topics, including supervised learning, unsupervised learning, and deep learning.
Comprehensive introduction to deep learning with Python. It covers a wide range of topics, including convolutional neural networks, recurrent neural networks, and generative adversarial networks.
Provides an introduction to the Python programming language for data science. It assumes no prior programming experience and covers data types, operators, control flow, functions, classes and modules, and data science basics, including data manipulation, data visualization, and machine learning.
Presents foundational knowledge in natural language processing (NLP) and provides a bridge between theory and application. It covers fundamental NLP methods and algorithms, including statistical models, machine learning, and deep learning.
Provides a conceptual foundation of data analytics and practical insights into data-driven decision-making. It covers topics such as data visualization, data mining, supervised and unsupervised machine learning, text mining, and predictive modeling.
Great resource for beginners who want to learn how to use Python to automate tasks and solve problems.
Practical guide to data analysis using Python. It covers a wide range of topics, including data manipulation, visualization, and statistical modeling.
Comprehensive guide to natural language processing using Python. It covers a wide range of topics, including text processing, machine learning, and deep learning.
Practical guide to machine learning using Python. It covers a wide range of topics, including data preparation, feature engineering, model selection, and evaluation.
Practical guide to using Python for financial applications. It covers a wide range of topics, including data analysis, machine learning, and algorithmic trading.
Comprehensive guide to web development using Python and Django. It covers a wide range of topics, including web development fundamentals, Django architecture, and advanced Django topics.

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