Learn to Program: Crafting Quality Code

Provided by:
9/10 stars
based on  37 reviews
Provided by:
Cost FREE , Add a Verified Certificate for $49
Start Date Upcoming
Learn to Program: Crafting Quality Code

Course Details

Cost

FREE,
Add a Verified Certificate for $49

Upcoming Schedule

  • Upcoming

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
4719 reviews

Course Description

Not all programs are created equal.  In this course, we'll focus on writing quality code that runs correctly and efficiently.  We'll design, code and validate our programs and learn how to compare programs that are addressing the same task.
Learn to Program: Crafting Quality Code course image
Reviews 9/10 stars
37 Reviews for Learn to Program: Crafting Quality Code

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
 profile image
 profile image

10/10 starsCompleted
  • 6 reviews
  • 3 completed
3 years ago
This is a sequel to the other Learn to Program course, and like that one, it is excellent for learning Python. Lectures are clear and understandable, and exercises are workable even for those with very little experience.
Was this review helpful? Yes0
 Flag
Diego Rosado profile image
Diego Rosado profile image
8/10 starsCompleted
  • 5 reviews
  • 5 completed
5 years, 6 months ago
It is a good course for starters. It gives you some good concepts from the very beginning and the exercises are quite funny. However if you have some experience in the field you might find it pretty easy.
Was this review helpful? Yes0
 Flag
Tian profile image
Tian profile image
10/10 starsCompleted
  • 1 review
  • 1 completed
5 years, 8 months ago
I was finding a online programing course, then here it is. I didn't catch up the courses session so I didn't earn any grades. But I learned what I want, I learned how to write code in python. Two instructors are awesome, their teaching style and video lectures are very great. Videos are clean and voice are articulate. If there will be the 3rd serie of learn to program, I will enroll it with no hesitate.
Was this review helpful? Yes0
 Flag
Johan G profile image
Johan G profile image
8/10 starsCompleted
  • 2 reviews
  • 1 completed
6 years, 1 month ago
I had very little previous experience with python and about none in regards to quality in any programming language. The course for me was a way to learn the basics of python. It really helped and I've actually had use of python since I took the course :)
Was this review helpful? Yes0
 Flag
Jeff Weakley profile image
Jeff Weakley profile image
9/10 starsCompleted
  • 2 reviews
  • 2 completed
6 years, 4 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 LPT1 Fundamentals course.
Was this review helpful? Yes4
 Flag
Jithin James profile image
Jithin James profile image
10/10 starsCompleted
  • 3 reviews
  • 2 completed
6 years, 4 months ago
i really loved it.I had taken its previous version Learn to Program: The Fundamentals.Similar to that, this was pretty nice one.loved the discussions and the professors.Thanks for offering this course.So, what's next..?I'm waiting....
Was this review helpful? Yes2
 Flag
Anthony Kolasny profile image
Anthony Kolasny profile image
10/10 starsCompleted
  • 4 reviews
  • 4 completed
6 years, 4 months ago
The instructors are clear and articulate. They provided meaningful examples, quizzes and assignments to guide and reinforce the lessons. I enjoyed taking the course and would highly recommend it to anyone interested in python programming.
Was this review helpful? Yes1
 Flag
Samir profile image
Samir profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
6 years, 4 months ago
No prior experience in programming, I started to learn python with the same teachers in the excellent "Learn to Program: The Fundamentals". I think that the second part of this class (which btw can be done by ppl who didn't take the #1 but with a little knowledge of python) is even more fun because you start learning by doing for real, with a lot of concrete uses of what you learn.
Was this review helpful? Yes1
 Flag
Moses N. profile image
Moses N. profile image
10/10 starsCompleted
  • 1 review
  • 1 completed
6 years, 4 months ago
Being fairly new to programming, I learned how to break down a problem into manageable sets. I am very excited and confident knowing that I can go to the next step without thinking of failing. For this course, unlike many others I've tried, I can say the authors went to the drawing board with me in mind.
Was this review helpful? Yes1
 Flag
Puneet Singh profile image
Puneet Singh profile image
7/10 starsCompleted
  • 2 reviews
  • 2 completed
6 years, 4 months ago
I work as a software developer and have completed LTP1 already... was expecting this course to be entirely different then LTP1, but it turned out to be a extension Doesn't mean that i didn't learn anything. This course expect participants to be familiar with concepts at least up-to whatever taught in LTP1, however some basic programming experience in python will do It talks about problem solving approach as well efficient program design to make things systematic and easier. You will also get to know the difference between good and average problem solving methods(algorithms) Most important part according to me was testing. The assignment 1 used peer grading and really gives a nice idea of how to write complete test cases. It really helps to develop an understanding about writing good test case. Course content is less and you'll feel like it was stopped abruptly. Still i like the course since its lightweight and can be completed. Plus ... I work as a software developer and have completed LTP1 already... was expecting this course to be entirely different then LTP1, but it turned out to be a extension Doesn't mean that i didn't learn anything. This course expect participants to be familiar with concepts at least up-to whatever taught in LTP1, however some basic programming experience in python will do It talks about problem solving approach as well efficient program design to make things systematic and easier. You will also get to know the difference between good and average problem solving methods(algorithms) Most important part according to me was testing. The assignment 1 used peer grading and really gives a nice idea of how to write complete test cases. It really helps to develop an understanding about writing good test case. Course content is less and you'll feel like it was stopped abruptly. Still i like the course since its lightweight and can be completed. Plus helps to get a bit to next level of python programming like OOP, Testing etc
Was this review helpful? Yes1
 Flag
Joanna profile image
Joanna profile image
9/10 starsCompleted
  • 7 reviews
  • 7 completed
6 years, 4 months ago
This course is a second part of a series. Is is designed for people with basic knowledge of Python and develops important programming skills, like thinking about algorithms (and understanding code by somebody else) or testing your code. Because it requires a low level of knowledge of Python, people with more experience may find it boring. In the first run many of the videos were damaged in a way that didn't make them useless, only irritating, but I expect that this will be fixed by the second run.
Was this review helpful? Yes1
 Flag
Giacomo Sorbi profile image
Giacomo Sorbi profile image
9/10 starsCompleted
  • 3 reviews
  • 3 completed
6 years, 4 months ago
Awesome course with very good teachers: not only they know their stuff, but they also know how to communicate it, even to newbies. I basically started Python here and on Codecademy and I was able to learn a lot with healthy challenges, captivating lessons and an overall feeling of achievement. Strongly recommended to other beginners and to self-taught coders which want to polish their skills with some insightful advice and some best practice.
Was this review helpful? Yes1
 Flag
Cristina profile image
Cristina profile image
9/10 starsCompleted
  • 5 reviews
  • 5 completed
6 years, 2 months ago
easy to follow, slow pace, excellent teachers, great consistency in code writing, teaches you good organizational skill when it comes to write code
Was this review helpful? Yes0
 Flag
Student profile image
Student profile image

Student

10/10 starsCompleted
6 years, 3 months ago
Teachers are excellent and they emphasize the test driven approach to programming. This is a good approach and differentiates the cource from others. Moderate in difficulty to beginners, but quite easy if you have more programming experience.
Was this review helpful? Yes0
 Flag
Student profile image
Student profile image

Student

10/10 starsCompleted
6 years, 3 months ago
If you ever heard about Test Driven Programming but don`t know exactly what it is or the value of this approach this course will teach you this and you will never again program any other way. Excellent course!
Was this review helpful? Yes0
 Flag
Maria Mayangsari-Todorova profile image
Maria Mayangsari-Todorova profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
6 years, 4 months ago
I gave full stars for this course because this course was simple but useful. I learned C++ in my college and used it for some works but strangely I didn't really know what OOP was. This course taught me understanding about OOP. Now I have to learn C# and it looks easy to me because of this course (this course was for Python but the fact it taught me more how to program well). I don't really care about the video's quality. I care about the content of the material and how they explained the material so for me the instructor's notes, the code examples, the videos, etc were just right. I recommend people who have basic programming and want to learn more to join this course.
Was this review helpful? Yes0
 Flag
Miriam Poger profile image
Miriam Poger profile image
2/10 starsCompleted
  • 1 review
  • 1 completed
6 years, 4 months ago
I can't honestly recommend this course or its predecessor "Learn to Program: The Fundamentals". From a pedagogical standpoint, the quality of these classes is very uneven. Although the video lectures seem well thought-out (apparently honed in the classroom), there's often no connection between them and the poorly-written exercises or assignments - which means spending a lot of time doing research or just hacking away to complete them. There was one peer- evaluated assignment, which was botched on several levels. First, we weren't given the rubric before submission (so had no idea what we were going to be judged on); second, some of the criteria were subjective (meaning we were graded according to someone's personal opinion, not whether our code actually worked or not); third, even the objective criteria were worded so poorly that students didn't understand what they were supposed to do (resulting in people losing points even when the... I can't honestly recommend this course or its predecessor "Learn to Program: The Fundamentals". From a pedagogical standpoint, the quality of these classes is very uneven. Although the video lectures seem well thought-out (apparently honed in the classroom), there's often no connection between them and the poorly-written exercises or assignments - which means spending a lot of time doing research or just hacking away to complete them. There was one peer- evaluated assignment, which was botched on several levels. First, we weren't given the rubric before submission (so had no idea what we were going to be judged on); second, some of the criteria were subjective (meaning we were graded according to someone's personal opinion, not whether our code actually worked or not); third, even the objective criteria were worded so poorly that students didn't understand what they were supposed to do (resulting in people losing points even when they had successfully fulfilled the requirements). In the future, I suggest Coursera use this assignment as a template for how NOT to conduct peer-assessment. If you're a beginner and you enjoy puzzles or gaming, I would recommend "An Introduction to Interactive Programming in Python". We did 8 peer-review projects with no problems - and it was a lot of fun.
Was this review helpful? Yes0
 Flag
Ahmad Albaqsami profile image
Ahmad Albaqsami profile image
10/10 starsCompleted
  • 9 reviews
  • 9 completed
6 years, 4 months ago
I have taken LTP: The fundamentals and from there I fell in Love with LTP from University of Toronto. As I expected I learned a lot of things in relation to Python. I liked the explanations they provided for the Algorithms part. The assessment (quizzes and programming assignments) were not too hard yet were not a breeze (basically the right amount of difficulty ) I was disappointed that the class was too short (4 weeks long with a 5th week that basically had no assessment to it). What I also liked about the class is that it is totally self-contained; meaning that what they teach is what you get assessed in (rather than wonder mindlessly through forums and forums to be able to do the programming assignments) I hope that there is a third installment from Jen and Paul.
Was this review helpful? Yes0
 Flag
Lech Ratynski profile image
Lech Ratynski profile image
8/10 starsCompleted
  • 1 review
  • 1 completed
6 years, 4 months ago
With great pleasure I want to express my satisfaction with participation in this course. Its particular value is that it focuses on issues about which little is said on the other courses. Of course with testing methods in the first place. On the other hand, the issues that are discussed in other courses, here are shown with a much different perspective, accessibly and persuasively. In my opinion, It should be stressed a very original and unique way of showing the certain properties of objects in the part on object- oriented-programming and creating own classes.
Was this review helpful? Yes0
 Flag
Michala Čadová profile image
Michala Čadová profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
6 years, 4 months ago
I am happy that I found the time to go through this course. I was surprise how much I learnt in comparison with the length of the lectures (usually the lectures I have taken for different subjects are much longer, but I learnt less). The quizzes and assignments perfectly extended what I have learnt during the lectures. What satisfies me a lot is that I was able to cope well with the final assignment and also that I am now quite successfully continuing with other Python course.
Was this review helpful? Yes0
 Flag
Anthony Geoghegan profile image
Anthony Geoghegan profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
6 years, 4 months ago
I have some experience in web programming and chose to do this course both to learn Python and to improve on my programming skills. I'm happy to say that my time was well spent in this regard. This course was a follow-up to "Learn to Program: The Fundamentals". While there was more time spent on designing and implementing algorithms, the course continued the emphasis on documenting functions before writing code by showing how to write effective tests so that you know when a function does what it should. Both the assignments really added to the learning process in this regard. Though the course uses Python, this "document and test first" approach used by the instructors translates well to other languages. The course also provided a good grounding to object oriented methodologies and showed how classes can be used to create new data types. The course was short (only 5 weeks) but the quality was excellent. Both instructors explained the... I have some experience in web programming and chose to do this course both to learn Python and to improve on my programming skills. I'm happy to say that my time was well spent in this regard. This course was a follow-up to "Learn to Program: The Fundamentals". While there was more time spent on designing and implementing algorithms, the course continued the emphasis on documenting functions before writing code by showing how to write effective tests so that you know when a function does what it should. Both the assignments really added to the learning process in this regard. Though the course uses Python, this "document and test first" approach used by the instructors translates well to other languages. The course also provided a good grounding to object oriented methodologies and showed how classes can be used to create new data types. The course was short (only 5 weeks) but the quality was excellent. Both instructors explained the concepts in an engaging and easy-to-understand manner. The questions used in the quizes consolidated and added to what was taught in the classes.
Was this review helpful? Yes0
 Flag
David Creer profile image
David Creer profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
6 years, 4 months ago
Before I took part in this course I had completed Learn to Program: The Fundamentals by UOT. From this course I felt that we learnt a lot of useful information and uses of Python (in somewhat more depth than Learn to Program: The Fundamentals and dealing with slightly more complicated projects). I really liked the overall syllabus of the course and I felt as though the lectures where excellent. The grading of the course however seemed to be aimed at mass completion rather than a real test of your abilities at this level. Generally I think however that this and the previous course in the same series (Learn to Program: The Fundamentals) have both been the best online courses 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
6/10 starsCompleted
  • 2 reviews
  • 2 completed
6 years, 4 months ago
Great course, But it should give more time and focus on OOP videos also was too short which is not enough
Was this review helpful? Yes0
 Flag
ia racy profile image
ia racy profile image
10/10 starsCompleted
  • 1 review
  • 1 completed
6 years, 4 months ago
An Excellent compact course, which leads you very wisely trough Python's-above ground level issues as sorting, OO programming, and auto testing to verify your code. The programing assignments are very focused and tuned, no hassle.
Was this review helpful? Yes0
 Flag
Wayne Davies profile image
Wayne Davies profile image
10/10 starsCompleted
  • 1 review
  • 1 completed
6 years, 4 months ago
Although I’ve listened and learned using online‐delivered lectures for the last three years, this was my first MOOC. I have to say that I was very impressed by the effort and professionalism put forth by course presenters. The video lectures were long enough to easily absorb in one sitting, and were delivered using superior technical communication. The exercises, although multiple choice, were well drafted and effectively tested taught knowledge and skills. The assignments were challenging, especially Assignment 2 involving object‐oriented programming. Python, a widely available computer language, was an excellent and affordable choice as learning tool.
Was this review helpful? Yes0
 Flag
Raven King profile image
Raven King profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
6 years, 4 months ago
I like PauI and Jen's approach to teaching. have learned so much in this programming course. I now know enough to write my own programs in python.
Was this review helpful? Yes0
 Flag
atoquero profile image
atoquero profile image
8/10 starsCompleted
  • 1 review
  • 1 completed
6 years, 4 months ago
Teachers and their explanations are very good. I think the course needs a third part: objects, database and graphical user interfaces If you have previous knowledge in programming the course is too easy. But the course is good
Was this review helpful? Yes0
 Flag
Lars Rahm profile image
Lars Rahm profile image
10/10 starsCompleted
  • 1 review
  • 1 completed
6 years, 4 months ago
As mostly a self taught programmer in web development languages, this course filled very important gaps for me with the topics of the design method, unit testing, and sorting techniques. I appreciate the instructors clear concise explanations and sample code, the pace was just right, too. This the first MOOC that I have completed and look forward to taking more with Jen and Paul.
Was this review helpful? Yes0
 Flag
Jerome Richalot profile image
Jerome Richalot profile image
10/10 starsCompleted
  • 1 review
  • 1 completed
6 years, 4 months ago
Was a self taught Python programmer without much experience. Not only did I learn tools and tricks of the trade but more importantly, I learnt a great development method. I found the design principle very interesting and discovered a whole new world with doctests and unittest. The course did meet my expectations. I would have liked it to be longer.
Was this review helpful? Yes0
 Flag
Muhammad Ahmed profile image
Muhammad Ahmed profile image
10/10 starsCompleted
  • 1 review
  • 1 completed
6 years, 4 months ago
The course is a sequel of Learn to Program: The Fundamentals. The course is awesome and helps the learners having basic knowledge of programming (python programming) to move towards a bit advance level. It covers OOP concepts and also invokes the ability of new programmer to think out different algorithms of performing common tasks. The course is rated wonderful....!
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.