Duke University
Designing Larger Python Programs for Data Science
Duke University

Designing Larger Python Programs for Data Science

Taught in English

Course

Gain insight into a topic and learn the fundamentals

Genevieve M. Lipp
Nick Eubank
Kyle Bradbury

Instructors: Genevieve M. Lipp

Beginner level

Recommended experience

41 hours to complete
3 weeks at 13 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • How to plan program decomposition using top down design.

  • How to integrate discrete pieces of Python code into a larger, more functional, and complex program.

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

July 2024

Assessments

1 assignment

See how employees at top companies are mastering in-demand skills

Placeholder
Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

There are 4 modules in this course

This module, you’ll learn how to apply the concepts you’ve learned previously to analyze larger programs. Additionally, we’ll go through the process of program decomposition, to break up a complicated program into smaller steps that we can solve easier. After all of those pieces, we’ll put our pieces together in a programming assignment that combines a lot of the smaller programs we’ve created throughout the module.

What's included

6 videos2 readings4 programming assignments

This Module, you’ll learn about Monte Carlo methods, which are a common technique we use to simulate a lot of possible outcomes. We’ll also introduce you to the Poker Project that you’ll be working on for the rest of the course. In this module we’ll focus on how we can write code to simulate different possible outcomes for a hand of poker, and the individual programming problems we’ll need to solve to make a complete poker simulation. You’ll create some of these smaller solutions in this module, and receive feedback on these individual pieces before we move onto synthesizing some of these parts together in the next module.

What's included

1 video2 readings3 programming assignments

This module, you will learn about writing test cases and debugging in a Python program, and apply it to your poker project! Additionally we’ll move forward to the logical evaluation part of the poker project, where you’ll write the code that will allow your program to decide what a winning hand would be, and use some data science techniques to help clean up the data generated by Monte Carlo methods. Similarly to the last unit, you’ll write these individual parts of the program and get feedback on those, before we move on to the next unit, where we’ll synthesize all of these pieces into a complete poker hand simulation.

What's included

1 reading1 assignment3 programming assignments

This module, we’ll integrate all of the individual sections of Python code that we’ve written throughout the course into one larger program. This will likely require a bit of troubleshooting and forethought to get all of your previous bits of code working, but you will leverage the test cases and skills you learned in the previous module to accomplish this. We’ll also go over object references, a way that we can directly reference a piece of memory, to efficiently update the information that the various parts of your program will be using. After all of this, we’ll give feedback on your final poker project, and then we’ll ask you to do a short reflection on your poker project and the experience you had creating a larger program from its discrete components.

What's included

1 video1 reading2 programming assignments1 discussion prompt

Instructors

Genevieve M. Lipp
Duke University
10 Courses259,507 learners

Offered by

Duke University

Recommended if you're interested in Software Development

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

New to Software Development? Start here.

Placeholder

Open new doors with Coursera Plus

Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions