Learn to Program: The Fundamentals

Provided by:
9/10 stars
based on  144 reviews
Provided by:
Cost FREE
Start Date On demand

Course Details

Cost

FREE

Upcoming Schedule

  • On demand

Course Provider

Coursera online courses
Coursera's online classes are designed to help students achieve mastery over course material. Some of the best professors in the world - like neurobiology professor and author Peggy Mason from the University of Chicago, and computer science professor and Folding@Home director Vijay Pande - will supplement your knowledge through video lectures. They will also provide challenging assessments, interactive exercises during each lesson, and the opportunity to use a mobile app to keep up with yo...
Coursera's online classes are designed to help students achieve mastery over course material. Some of the best professors in the world - like neurobiology professor and author Peggy Mason from the University of Chicago, and computer science professor and Folding@Home director Vijay Pande - will supplement your knowledge through video lectures. They will also provide challenging assessments, interactive exercises during each lesson, and the opportunity to use a mobile app to keep up with your coursework. Coursera also partners with the US State Department to create “learning hubs” around the world. Students can get internet access, take courses, and participate in weekly in-person study groups to make learning even more collaborative. Begin your journey into the mysteries of the human brain by taking courses in neuroscience. Learn how to navigate the data infrastructures that multinational corporations use when you discover the world of data analysis. Follow one of Coursera’s “Skill Tracks”. Or try any one of its more than 560 available courses to help you achieve your academic and professional goals.

Provider Subject Specialization
Humanities
Sciences & Technology
4679 reviews

Course Description

Behind every mouse click and touch-screen tap, there is a computer program that makes things happen. This course introduces the fundamental building blocks of programming and teaches you how to write fun and useful programs using the Python language.
Reviews 9/10 stars
144 Reviews for Learn to Program: The Fundamentals

Ratings details

  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.

Sort By
Hamideh Iraj profile image
Hamideh Iraj profile image
10/10 starsCompleted
  • 70 reviews
  • 60 completed
5 years ago
I really love this course. I am familiar with programming and this course is an opportunity for me to learn python. It is really well-designed: max of 7 videos per week, short and easy to understand videos ,suitable for an introductory course. Exercises and assignments are all you need to practice to learn any week contents. Only those who want to learn programming from the very beginning should check to see whether they are easy with this or need a more elaborated course.
Was this review helpful? Yes0
 Flag
No one of consequence profile image
No one of consequence profile image
6/10 starsTaking Now
  • 30 reviews
  • 18 completed
5 years, 6 months ago
This course has many fine qualities, but in my view, it is not the one to take to get you excited about programming. The lectures are both monochrome and monotone, and they focus heavily on the mechanics of programming. Unfortunately, they do not capture the thrill of creating new things, nor are you ever given a project of any significance. This class is the equivalent of doing layup drills without ever actually playing a basketball game. I would recommend Udacity's Introduction to CS ahead of this course. That said, this one has a few advantages. For one, it encourages you to use the interactive Python interpreter, which is a very good practice, especially while you're learning. It also introduces and makes use of pythontutor.com, which is very helpful to visualize the execution of a program. Lastly, they put notes in the margin of the video, which are quite helpful as a reference. Because of these strengths, I think this class cou... This course has many fine qualities, but in my view, it is not the one to take to get you excited about programming. The lectures are both monochrome and monotone, and they focus heavily on the mechanics of programming. Unfortunately, they do not capture the thrill of creating new things, nor are you ever given a project of any significance. This class is the equivalent of doing layup drills without ever actually playing a basketball game. I would recommend Udacity's Introduction to CS ahead of this course. That said, this one has a few advantages. For one, it encourages you to use the interactive Python interpreter, which is a very good practice, especially while you're learning. It also introduces and makes use of pythontutor.com, which is very helpful to visualize the execution of a program. Lastly, they put notes in the margin of the video, which are quite helpful as a reference. Because of these strengths, I think this class could make a decent supplement to Udacity's course if you'd like some clarification on the finer points.
Was this review helpful? Yes0
 Flag
Alice Dor profile image
Alice Dor profile image
2/10 starsDropped
  • 1 review
  • 0 completed
5 years, 7 months ago
I bet the previous reviews are from programmers on some other languages, not newbies.... Well, I was a total newbie in programming and really thought this course would get me there, alas! First of all, the instructors voices drove me nuts - esp. the female sounds robotic. Second, the lectures are short and easy (good thing), however, once you start struggling with the excerises of the assignments, you figure out lectures are definitely not enough. The Assignment itself was proposed to be done in a counterintuitive way, so I never got to the point of figuring out what I shall be following the monkey instructions instead of using my own head on a task that is way better tailored to what they were actually lecturing... Very dissappointed. Only the second course on Coursera that I had to drop *out of 6 taken and completed!
Was this review helpful? Yes0
 Flag
Puneet Singh profile image
Puneet Singh profile image
8/10 starsCompleted
  • 2 reviews
  • 2 completed
5 years, 11 months ago
I work as a software developer and have a good understanding of programming stuff. I'm quite familiar with c, java and also worked with Ruby which is quite similar to python. However i was looking for a Python Primer (may be because of its popularity) and this course felt like the right thing. In addition i also joined one python based course on eDX in parallel which is like almost 1 semester long. Needless to say, this course worked perfectly for me i got almost 100% of effort invested in this course. On contrary with eDX though i came close, but still i left it due to shortage of time and too much workload. I think this course is good enough if you are looking for a python intro. The best thing about course is short easy to grasp lectures which makes handling the workload easy enough. I don't like to leave course in between but sometimes you have to when you can't balance it with your work. It happened with eDX and i'm happy that t... I work as a software developer and have a good understanding of programming stuff. I'm quite familiar with c, java and also worked with Ruby which is quite similar to python. However i was looking for a Python Primer (may be because of its popularity) and this course felt like the right thing. In addition i also joined one python based course on eDX in parallel which is like almost 1 semester long. Needless to say, this course worked perfectly for me i got almost 100% of effort invested in this course. On contrary with eDX though i came close, but still i left it due to shortage of time and too much workload. I think this course is good enough if you are looking for a python intro. The best thing about course is short easy to grasp lectures which makes handling the workload easy enough. I don't like to leave course in between but sometimes you have to when you can't balance it with your work. It happened with eDX and i'm happy that this time it didn't.
Was this review helpful? Yes2
 Flag
Samir profile image
Samir profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
5 years, 11 months ago
I started to learn python with this course as a absolute beginner in computer science. I really enjoyed the pedagogy behind the class and the teachers are really nice. I definitely learned a lot but it was still not too time consuming which was a good point for me as. This course is followed by another one which is even better called "Learn to Program: Crafting Quality Code"
Was this review helpful? Yes1
 Flag
Jithin James profile image
Jithin James profile image
10/10 starsCompleted
  • 3 reviews
  • 2 completed
5 years, 11 months ago
i loved it.really good for beginners.Learned a whole lot new stuff.Understood many new topics, through discussions and the course structure is also too helpful.
Was this review helpful? Yes1
 Flag
Maria Mayangsari-Todorova profile image
Maria Mayangsari-Todorova profile image
9/10 starsCompleted
  • 2 reviews
  • 2 completed
5 years, 11 months ago
If you want to learn Python in easy and good way, this course is the answer! :) I didn't know what Python was. And after this course, I love Python!
Was this review helpful? Yes0
 Flag
Phil Bach profile image
Phil Bach profile image
2/10 starsCompleted
  • 1 review
  • 1 completed
5 years, 11 months ago
I wish I could give this course a positive review. The instructors do a poor job of trying to teach their slipshod curriculum. The exercises were not particularly valuable. Their own textbook was markedly inferior to many others readily available. The course did motivate me to study programming and Python. I did this, not by suffering through the rest of their course, but through many other web resources, including a far superior intro course on Udacity.
Was this review helpful? Yes0
 Flag
Michala Čadová profile image
Michala Čadová profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
5 years, 11 months ago
I started to learn python with this course as a programming beginner (I don´t count Matlab which helped me concerning the math and logic). I definitely learned a lot but it was still not too time consuming. And then I was able to go on with the next course "Learn to Program: Crafting Quality Code" with no problem.
Was this review helpful? Yes0
 Flag
Anthony Geoghegan profile image
Anthony Geoghegan profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
5 years, 11 months ago
I have some experience in web programming and chose to do this course both to learn Python. I'm happy to say that my time was well spent in this regard and after completing the course, I felt I had a solid grounding in Python. While not a beginner myself, I thought the instructors did a great job of explaining what variables are. Their Python Visualizer did a great job of showing how variables point to locations in memory and how the values in these memory locations change as a program executes. I thought this was very useful as a lot of beginners have trouble differentiating variable values from variable references - particularly when passed to a function as an argument. Their function design recipe is a useful technique for writing functions with an emphasis on documenting them before writing any code so that you've fully thought about what you want your function to do before implementing it. The quality of the tuition was excellen... I have some experience in web programming and chose to do this course both to learn Python. I'm happy to say that my time was well spent in this regard and after completing the course, I felt I had a solid grounding in Python. While not a beginner myself, I thought the instructors did a great job of explaining what variables are. Their Python Visualizer did a great job of showing how variables point to locations in memory and how the values in these memory locations change as a program executes. I thought this was very useful as a lot of beginners have trouble differentiating variable values from variable references - particularly when passed to a function as an argument. Their function design recipe is a useful technique for writing functions with an emphasis on documenting them before writing any code so that you've fully thought about what you want your function to do before implementing it. The quality of the tuition was excellent. Both instructors explained the concepts in an engaging and easy-to-understand manner. The questions used in the quizzes consolidated and added to what was taught in the classes while the programming assignments presented interesting and enjoyable challenges.
Was this review helpful? Yes0
 Flag
David Creer profile image
David Creer profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
5 years, 11 months ago
Before I took part in this course I had completed a few small online courses in this subject field. From this course I felt that I learnt the basics of Python and some of the projects where quite demanding for a new programmer. I really liked the overall syllabus of the course and I felt as though the lectures where excellent. I also thought the course was of a good length and very comprehensive. Generally I think that this course is one of the best online course I have come across so far in this subject field and I would thoroughly recommend it to anyone wanting to learn to program .
Was this review helpful? Yes0
 Flag
Mohamed Tarek profile image
Mohamed Tarek profile image
8/10 starsCompleted
  • 2 reviews
  • 2 completed
5 years, 11 months ago
It was great i liked it too much i manged to get python with no prior experiences at all the instructors was great too
Was this review helpful? Yes0
 Flag
Ktob Ahmed profile image
Ktob Ahmed profile image
10/10 starsCompleted
  • 1 review
  • 1 completed
5 years, 11 months ago
I am a Computer Science student, which means I am familiar with some programming languages and techniques that could make this course easier for me. But, in the other hand, I have no idea about Python. Taking this course helped me a lot to get a good understanding about Python and how it works, that was more than I expected. I liked the way the course was presented, especially practices because usually theoretical methods are boring whereas combining them with practice turned the course really amazing. Finally, as scientists like the formal things, I would like to describe this course using a simple equation, as follow : Jen + Paul = Python. Good luck everybody, and have a nice time.
Was this review helpful? Yes0
 Flag
nadrimajstor profile image
nadrimajstor profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
5 years, 11 months ago
I'm working in IT industry, however I have no previous formal education or other experience on this topic. I had tried other courses and struggled a lot to comprehend material. This course helped me alot in understanding all of the basics concepts and how and why all of the bits and pieces fits together. In contrast to MITx course, here lecturers did a excellent job in presenting material with constant regard to the intended audience and made learning a really enjoyable experience.
Was this review helpful? Yes0
 Flag
Froilán Rivero profile image
Froilán Rivero profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
5 years, 11 months ago
Great Learning opportunity if it is your first time with Python THIS is the course to take great exercises , videos and such a dynamic and entertaining environment. Go ahead take it!
Was this review helpful? Yes0
 Flag
A profile image
A profile image
9/10 starsCompleted
  • 1 review
  • 1 completed
5 years, 11 months ago
I've been a full time programmer for over 10 years, and I already knew the Python language when I started this course. I took the course in order to work alongside a friend who decided to learn to program. I wanted to be able to help him if he had trouble, and I've found that, even with my experience, it is hard to help beginners with their courses because it's not always clear what particular nuances the instructors include, and without that knowledge, I can end up just confusing the student. So. That's why a professional programmer might bother to take an intro course. Moving on. What I liked: this course was excellent for the true beginner. It introduces concepts at a pace that is not overwhelming, which is great because the concepts are often overwhelming in and of themselves. What I didn't like: the lecturers were a little monotone in their delivery. To deal with this, I would watch at 1.25x or 1.5x speed. If I missed something ... I've been a full time programmer for over 10 years, and I already knew the Python language when I started this course. I took the course in order to work alongside a friend who decided to learn to program. I wanted to be able to help him if he had trouble, and I've found that, even with my experience, it is hard to help beginners with their courses because it's not always clear what particular nuances the instructors include, and without that knowledge, I can end up just confusing the student. So. That's why a professional programmer might bother to take an intro course. Moving on. What I liked: this course was excellent for the true beginner. It introduces concepts at a pace that is not overwhelming, which is great because the concepts are often overwhelming in and of themselves. What I didn't like: the lecturers were a little monotone in their delivery. To deal with this, I would watch at 1.25x or 1.5x speed. If I missed something it was always easy to rewind a bit to catch what I missed. Overall: the student has a enough time to really dig in an master the basics. The lectures are short and focused, yet they form a cohesive whole. I have recommended this course to several friends who are interested in learning to program.
Was this review helpful? Yes0
 Flag
Joanna profile image
Joanna profile image
9/10 starsCompleted
  • 7 reviews
  • 7 completed
5 years, 11 months ago
This is a great course for people, who know a thing or two about computers, but never programmed. I do belong here, but for highly inteligent people (like me) it may be too easy. I found the excersises boring and super-easy, mostly because at this level everything can be done by copy-paste. I think the Assignments had too detailed instructions, but from what I saw in the fora, people still had trouble completing them. The lecture videos are short and sometimes I had to play them 3-4 times before I understood what was happening, but short and concise lectures are a merit for MOOCs, where it costs you nothing to replay the video.
Was this review helpful? Yes0
 Flag
Jeff Weakley profile image
Jeff Weakley profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
5 years, 11 months ago
I have taken a number of MOOC computer courses. Udacity and Edx. Had some amazing teachers and learned so much. But as someone with no background in computing, Jen and Paul's courses are the best for me because they explain in the same way you might break down a problem to write a software program. It's not easy but the information is there if you want to learn it. I highly recommend these teachers and their courses. (I also took their LPT2 Crafting Quality Code course.
Was this review helpful? Yes0
 Flag
Brian profile image
Brian profile image
4/10 starsCompleted
  • 8 reviews
  • 6 completed
6 years ago
This class should only be taken by people completely new to programming with ZERO experience. If you have any previous experience, this class is pretty much a waste of time. Although it does not require much time. Each week consists of 30-60 minutes of lectures. There are only two actual code-writing assignments. The weekly quizzes are mostly tedious and annoying to complete. In my opinion, the best way to learn how to program is to actually write code, and there is very little of that in this course. I would say that even if you are completely new to programming, your time would be better spent taking another introductory python course, such as the Interactive Programming in Python on Coursera, or the edX Object Oriented Programming course, where there are significantly more assignments that require the student to write code.
Was this review helpful? Yes0
 Flag
JT profile image
JT profile image
9/10 starsCompleted
  • 3 reviews
  • 3 completed
6 years ago
You will learn A LOT in this class. This is the best introductory programming class I have taken, and they don't mess around. You will learn everything you should learn to get started with Python 3.3 (and of course the principles apply to other languages as well). They go over things that other courses don't really mention, like good documentation, how to design a program, and how the computer runs through the program and handles the memory. Truly enlightening. It is rather fast paced, and I think it really helps to have at least a tiny bit of experience in programming, a total newbie who doesn't know the difference between an integer and a floating point will probably struggle to keep up.
Was this review helpful? Yes1
 Flag
Manoj Kumar profile image
Manoj Kumar profile image
10/10 starsDropped
  • 3 reviews
  • 2 completed
6 years ago
I have not enrolled this course for Certificate but to brushup my Python skills. So just went over couple of videos. This is very Short, Simple, Sweet course if you want to learn some basic Python and Programming in general. I enrolled myself to second Part of this Series "Learn to Program: Crafting Quality Code" and as expected it is very good at least till now (first week :P)
Was this review helpful? Yes0
 Flag
Kelsey Layos profile image
Kelsey Layos profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
6 years, 4 months ago
I work in IT but have a non-technical background. I work with programmers; I'm not a programmer myself. I took this course both to help me professionally (I'd like a better understanding of what I am asking people to do; I'd like it to be easier for programming staff to explain issues/challenges to me) and personally (this is something I want to learn for my own edification). The course is very well-structured. The instructors have done a very effective job of dividing topics into videos of a good length for individual learning and the embedded quizzes are well designed to reinforce learning (at least, it worked well for me). I found this course very effective for getting basic, foundational knowledge. I simultaneously took another coursera course on programming in Python (An Introduction to Interactive Programming in Python, Rice University, Joe Warren, Scott Rixner, John Greiner, Stephen Wong) which I thought went well with this - ... I work in IT but have a non-technical background. I work with programmers; I'm not a programmer myself. I took this course both to help me professionally (I'd like a better understanding of what I am asking people to do; I'd like it to be easier for programming staff to explain issues/challenges to me) and personally (this is something I want to learn for my own edification). The course is very well-structured. The instructors have done a very effective job of dividing topics into videos of a good length for individual learning and the embedded quizzes are well designed to reinforce learning (at least, it worked well for me). I found this course very effective for getting basic, foundational knowledge. I simultaneously took another coursera course on programming in Python (An Introduction to Interactive Programming in Python, Rice University, Joe Warren, Scott Rixner, John Greiner, Stephen Wong) which I thought went well with this - the Toronto class is great at the basics; the Rice class is less effective in communicating the basic lessons, but the mini projects are challenging and really helped that knowledge coalesce for me. If you're a novice who'd like an intro to programming, I think this course is a great place to start.
Was this review helpful? Yes1
 Flag
Tim profile image
Tim profile image
9/10 starsCompleted
  • 1 review
  • 1 completed
6 years, 5 months ago
Firstly, let me preface this by saying that I've spent the past year studying C, Python (very briefly), Perl and Java at my university so I already have a pretty good foundation. This made learning the course easier to handle. This course began about 7 weeks ago but I only signed up earlier this week. As such, I didn't have the option to attempt the exercises because the deadline already passed. What I have done is go through all the video lectures and quizzes 1-5 so my review will reflect those parts. For people new to programming, the learning curve may be a tad steep especially when the concept of 'pointers' is explained from the very start but I feel this only serves to benefit the student in the long term and get them to start thinking about the underlying mechanisms behind the code. It definitely crystalised my understanding. The lecturers use of the code visualiser, clear step-by-step explanations for the layman and annotation... Firstly, let me preface this by saying that I've spent the past year studying C, Python (very briefly), Perl and Java at my university so I already have a pretty good foundation. This made learning the course easier to handle. This course began about 7 weeks ago but I only signed up earlier this week. As such, I didn't have the option to attempt the exercises because the deadline already passed. What I have done is go through all the video lectures and quizzes 1-5 so my review will reflect those parts. For people new to programming, the learning curve may be a tad steep especially when the concept of 'pointers' is explained from the very start but I feel this only serves to benefit the student in the long term and get them to start thinking about the underlying mechanisms behind the code. It definitely crystalised my understanding. The lecturers use of the code visualiser, clear step-by-step explanations for the layman and annotations were extremely helpful but sometimes, they would explain code over and over again in subsequent lectures. Eg. one lecture talks about ranges and the student should understand what it does before continuing onto the next lecture. It's not necessary to describe what range does in subsequent lectures. It just slows the pacing of lectures and distracts from learning new concepts. On the plus side, I really liked the interactive multiple choice questions presented mid lecture. One person commented on the monotony of the lecturers and although it has some merit, it shouldn't detract those genuinely interested from doing this course. Apart from that, I felt this was a solid and well structured course for beginners who really want to learn good habits and practices in programming. The quizzes (multiple choice) really test your understanding of the syntax and semantics.
Was this review helpful? Yes1
 Flag
Sateesh Kumar profile image
Sateesh Kumar profile image
10/10 starsCompleted
  • 1 review
  • 1 completed
6 years, 4 months ago
Myself a metallurgy graduate having 0 knowledge of programming/coding. Though you get bored, you learn the basics without any difficulty, everything is pretty clearly explained backed up with quizzes and assignments! If you want to get going start with CS101 by Nick Parlante then this and you already feel like being a computer programmer :-)
Was this review helpful? Yes0
 Flag

Rating Details


  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.