We may earn an affiliate commission when you visit our partners.
Brendan Younger

This course will show you how to generate recommendations for your users, filter messages based on users' preferences, decide which web page performs best, keep track of timings in your application, and discover groups among items.

Read more

This course will show you how to generate recommendations for your users, filter messages based on users' preferences, decide which web page performs best, keep track of timings in your application, and discover groups among items.

This course will show you how to generate recommendations for your users, filter messages based on users' preferences, decide which web page performs best, keep track of timings in your application, and discover groups among items. These techniques are at the heart of many of the largest search engines and online retailers, but can be used to good effect for smaller companies. Throughout the course, the emphasis will be on examining and extending working sample code. The algorithms will be presented intuitively and you do not need any advanced math background.

This course is no longer available. Find something similar by browsing:
Machine Learning Recommendation Systems AB Testing Time Series Analysis Cluster Analysis

What's inside

Syllabus

Instrumentation: Streaming Metrics
Optimizing Conversion: A/B Testing
Recommendations: Item-based Recommendations
Personalized Recommendations: Naive Bayesian Classifier
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides the tools to explore a variety of use cases for machine learning
Teaches foundational skills for data scientists or anybody curious about data, exploring use cases that translate well to business analytics
Offers hands-on labs and interactive materials for reinforcement
Recommended as a prerequisite before taking course
Some of the provided use cases might quickly become obsolete

Save this course

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

Reviews summary

Practical software measurement techniques

According to students, "Better Software Through Measurement" is a largely practical course that excels at providing clear and intuitive explanations for complex topics like A/B testing, recommendation systems, and clustering, often without requiring an advanced math background. Learners particularly praise its hands-on approach, emphasizing working sample code and direct applicability to professional roles. However, some students note that the course's depth might be superficial for advanced users seeking detailed production-level implementation, and a few mention that some tools and code examples may feel dated, suggesting areas for potential updates.
Complex topics are simplified for learners without advanced math.
"The explanations were clear and the code examples were practical, making it easy to follow along."
"The instructor has a knack for simplifying complex topics without losing their essence."
"The 'no advanced math background' claim to be mostly true, as the intuitive explanations were sufficient."
"The instructor's ability to explain without relying on advanced mathematics is commendable."
Emphasizes hands-on techniques for real-world scenarios.
"The practical examples of instrumentation and optimizing conversion were directly applicable to my job."
"I've already applied A/B testing principles from this course to my work."
"I loved how it emphasizes working sample code; it truly is 'better software through measurement' in action."
"I learned to use pragmatic, implementable strategies that I could immediately apply."
Some code examples and tools could benefit from updates.
"My main suggestion would be to update some of the libraries or frameworks used in the older code examples to reflect current best practices."
"The course has good intentions, but some of the material feels a bit dated."
"While the core concepts are timeless, the tools and specific implementations shown could use an update."
Provides a solid introduction but may lack advanced detail.
"I felt some parts were a bit superficial. For instance, the k-means clustering section could really benefit from more depth."
"I was a bit disappointed... I felt it stayed too high-level in parts. The code examples were basic."
"It's good as a primer, but you'll need to supplement with other resources if you want to master these topics."
"It didn't really show how to integrate these concepts into a production system."

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 Better Software Through Measurement with these activities:
Review web development fundamentals
Refresh your understanding of web development fundamentals, such as HTML, CSS, and JavaScript, to prepare for this course and build a strong foundation.
Show steps
  • Revisit online tutorials or documentation on HTML, CSS, and JavaScript.
  • Practice writing basic HTML code to create simple web pages.
  • Review CSS properties and selectors, and practice styling web pages using CSS.
Practice A/B testing
Reinforce your understanding of A/B testing by completing practice drills. This will improve your ability to design and conduct effective A/B tests in real-world scenarios.
Browse courses on A/B Testing
Show steps
  • Find online resources or platforms that offer A/B testing practice drills.
  • Complete several practice drills to get hands-on experience in designing and analyzing A/B tests.
  • Review the results of your practice tests and identify areas for improvement.
Discuss and critique recommendation algorithms
Engage in discussions with peers to critically analyze different recommendation algorithms. This will enhance your understanding of their strengths, weaknesses, and practical applications.
Browse courses on Recommendation Systems
Show steps
  • Form a study group or join an online discussion forum.
  • Select a recommendation algorithm to discuss.
  • Identify the key strengths and limitations of the algorithm.
  • Discuss potential use cases and applications of the algorithm.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a user recommendation system
Apply your understanding of recommendation systems by following guided tutorials to create a simple user recommendation system. This will provide practical experience in designing and implementing recommendation algorithms.
Browse courses on Recommendation Systems
Show steps
  • Identify the type of recommendation system you want to build (e.g., item-based, user-based).
  • Find online tutorials or courses that provide step-by-step instructions on building a recommendation system.
  • Follow the tutorials, implement the necessary algorithms, and create your own recommendation system.
  • Test and evaluate the performance of your recommendation system.
Contribute to an open-source recommendation library
Make meaningful contributions to an open-source recommendation library. This will provide practical experience in collaborating on real-world projects and gaining valuable feedback from community members.
Browse courses on Recommendation Systems
Show steps
  • Identify an open-source recommendation library that aligns with your interests.
  • Review the documentation and codebase of the library.
  • Identify areas where you can contribute, such as improving documentation, fixing bugs, or adding new features.
  • Submit your contributions and engage with the community.
Attend a data science hackathon
Participate in a data science hackathon to apply your skills in a competitive environment. This will provide hands-on experience in solving real-world data science problems and collaborating with others.
Browse courses on Data Science
Show steps
  • Find and register for a data science hackathon that aligns with your interests.
  • Collaborate with a team to develop a data science project.
  • Present your project to a panel of judges.
  • Receive feedback and guidance from experienced data scientists.
Develop a personalized recommendation engine for a specific industry
Design and implement a personalized recommendation engine tailored to a specific industry. This challenging project will require you to apply your knowledge of recommendation algorithms and evaluate their effectiveness in a practical context.
Browse courses on Recommendation Systems
Show steps
  • Research and identify a specific industry where a personalized recommendation system could provide value.
  • Gather and analyze data relevant to the chosen industry.
  • Design and implement a recommendation algorithm that meets the specific needs of the industry.
  • Evaluate the performance of your recommendation engine using appropriate metrics.
  • Create documentation or a report detailing your project and its findings.

Career center

Learners who complete Better Software Through Measurement will develop knowledge and skills that may be useful to these careers:
Data Scientist
Data Scientists use data to solve business problems. This course provides a foundation in data analysis and machine learning techniques that can help Data Scientists make better use of data. For example, the course covers how to use clustering algorithms to identify groups of similar users, which can help Data Scientists develop targeted marketing campaigns.
Product Manager
Product Managers are responsible for planning, developing, and launching new products. This course provides a foundation in user experience research and data analysis techniques that can help Product Managers make better decisions about product design and development. For example, the course covers how to use A/B testing to compare different versions of a product, which can help Product Managers identify the version that is most likely to be successful.
Business Analyst
Business Analysts help businesses understand their data and make better decisions. This course provides a foundation in data analysis and visualization techniques that can help Business Analysts communicate insights to stakeholders. For example, the course covers how to use data visualization tools to create charts and graphs that can help Business Analysts communicate complex data in a clear and concise way.
Software Engineer
Software Engineers are responsible for designing, developing, and maintaining software applications. This course provides a foundation in software measurement techniques that can help Software Engineers improve the quality and performance of their software. For example, the course covers how to measure and optimize application performance, which can help Software Engineers ensure that their applications are running efficiently and meeting user needs.
Marketing Analyst
Marketing Analysts use data to understand customer behavior and develop marketing campaigns. This course provides a foundation in data analysis and visualization techniques that can help Marketing Analysts make better decisions about marketing strategy. For example, the course covers how to use segmentation analysis to identify different groups of customers, which can help Marketing Analysts develop targeted marketing campaigns.
Statistician
Statisticians use data to draw conclusions about the world. This course provides a foundation in statistical analysis techniques that can help Statisticians make better use of data. For example, the course covers how to use regression analysis to identify relationships between variables, which can help Statisticians make predictions about future events.
User Experience Researcher
User Experience Researchers study how users interact with products and services. This course provides a foundation in user research and data analysis techniques that can help User Experience Researchers make better decisions about product design. For example, the course covers how to use usability testing to identify problems with product design, which can help User Experience Researchers improve the user experience.
Data Engineer
Data Engineers build and maintain data pipelines. This course provides a foundation in data engineering techniques that can help Data Engineers build and maintain more efficient and reliable data pipelines. For example, the course covers how to use data streaming technologies to process data in real time, which can help Data Engineers build data pipelines that can handle large volumes of data.
Information Architect
Information Architects design and organize websites and other information systems. This course provides a foundation in data analysis and visualization techniques that can help Information Architects make better decisions about information architecture. For example, the course covers how to use card sorting to understand how users organize information, which can help Information Architects create more user-friendly websites and information systems.
Systems Analyst
Systems Analysts design and implement computer systems. This course provides a foundation in systems analysis and design techniques that can help Systems Analysts build and maintain more efficient and effective computer systems. For example, the course covers how to use object-oriented design techniques to build computer systems that are more flexible and maintainable, which can help Systems Analysts build computer systems that can meet the changing needs of businesses.
Machine Learning Engineer
Machine Learning Engineers build and maintain machine learning models. This course provides a foundation in machine learning algorithms and techniques that can help Machine Learning Engineers build and maintain more accurate and efficient machine learning models. For example, the course covers how to use neural networks to build machine learning models that can recognize objects in images, which can help Machine Learning Engineers build self-driving cars and other autonomous systems.
Quantitative Analyst
Quantitative Analysts use data to make investment decisions. This course provides a foundation in data analysis and modeling techniques that can help Quantitative Analysts make better investment decisions. For example, the course covers how to use machine learning algorithms to predict stock prices, which can help Quantitative Analysts identify undervalued stocks.
Operations Research Analyst
Operations Research Analysts use mathematical models to solve business problems. This course provides a foundation in operations research techniques that can help Operations Research Analysts build and maintain more efficient and effective business processes. For example, the course covers how to use linear programming to optimize resource allocation, which can help Operations Research Analysts improve the efficiency of supply chains and other business processes.

Reading list

We've selected nine 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 Better Software Through Measurement.
A comprehensive textbook that covers the theory and practice of data mining, including data preprocessing, data mining algorithms, and data visualization. It's a valuable reference for learners who want to gain a deeper understanding of data mining techniques.
A comprehensive textbook that covers the theory and practice of statistical learning, including supervised learning, unsupervised learning, and statistical modeling. It's a valuable reference for learners who want to gain a deeper understanding of statistical learning techniques.
Provides practical guidance on implementing machine learning algorithms using popular Python libraries. It's a valuable resource for learners who want to apply machine learning techniques to real-world problems.
Provides practical guidance on implementing machine learning algorithms using the Python programming language. It's a great resource for learners who want to apply machine learning techniques to real-world problems using Python.
Provides practical guidance on natural language processing using the Python programming language. It's a great resource for learners who want to apply natural language processing techniques to real-world problems using Python.
Provides practical guidance on data analysis using the Pandas library in Python. It's a great resource for learners who want to gain proficiency in data manipulation and analysis using Python.
Provides practical guidance on data science using AWS. It's a great resource for learners who want to apply data science techniques to real-world problems using AWS.
Covers the fundamentals of deep learning, including convolutional neural networks, recurrent neural networks, and generative adversarial networks. It's a great resource for learners who want to understand the theory and applications of deep learning.

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