Learn to Program: Crafting Quality Code
Description
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
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.
About the Course
Most programs are used for years and are worked on by many people. Having programs that are easy to understand is essential, in the same way that a well-organized essay is far easier to follow than a disorganized one. We’ll show you an approach that helps to break down problems into smaller tasks that are easier to both solve and read. This design approach also makes it more straightforward to find and fix flaws. You'll be introduced to th…Frequently asked questions
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
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.
About the Course
Most programs are used for years and are worked on by many people. Having programs that are easy to understand is essential, in the same way that a well-organized essay is far easier to follow than a disorganized one. We’ll show you an approach that helps to break down problems into smaller tasks that are easier to both solve and read. This design approach also makes it more straightforward to find and fix flaws. You'll be introduced to the tools that professional programmers use; they're called "testing" and "debugging". For most complex problems, there are many programs that solve them. Some are inherently slower than others. You'll learn how to read two programs and compare them for efficiency.About the Instructor(s)
Jennifer Campbell is a Senior Lecturer in the Department of Computer Science at the University of Toronto. Although Jen has taught many different courses since joining UofT in 2003, she loves teaching introductory computer science, for which she has co-authored a textbook and engaged in curriculum design. In addition to her teaching, she pursues research in computer science education. Her current research projects explore student experiences in introductory computer science courses and the factors that contribute to success. When not teaching and learning, Jen spends time running and has completed two marathons.Paul Gries is a Senior Lecturer in the Department of Computer Science at the University of Toronto, where he has been teaching for over 13 years. During his time at UofT, Paul has won numerous teaching awards, including UofT’s most prestigious teaching award, the President’s Teaching Award, and a provincial award, the Ontario Confederation of University Faculty Association’s (OCUFA) Teaching Award. In addition to being an outstanding classroom teacher, Paul has also co-authored two textbooks and has been a leader in departmental curriculum design and renewal. His other talents include singing, sword fighting and consuming good scotch.
Recommended Background
This course assumes “Learn To Program: The Fundamentals”, or similar background.Course Format
The class consists of 1 to 2 hours of lecture each week, which are made up of videos that are generally shorter than 10 minutes each. Each video contains integrated quiz questions. There are also weekly standalone exercises that are not part of the video lectures and a (non-optional) final exam.FAQ
- Will I get a Statement of Accomplishment after
completing this class?
Yes. Students who successfully complete the class will receive a Statement of Accomplishment signed by the instructor.
- Can I do this course if I don’t know anything about
programming?
No, we expect this course to be taken by people who have some Python programming experience, such as “Learn To Program: The Fundamentals”.
- Is there a textbook?
Yes. We will provide more information about the book in early March.
- What resources will I need for this class?
We use the freely-available Python 3 and the IDLE development environment (which comes with Python 3). The download is available here: http://www.python.org/download/. Download the most recent release of Python 3.
Provided by:
University: University of Toronto
Instructor(s): Jennifer Campbell, Paul Gries
Share your review
Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate $1.- to Stichting Edukans.There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.