case study algorithm software

  • Custom-algo1

case study algorithm software

Introduction to Real-World Applications and Case Studies

Algorithms and data structures are not just concepts limited to textbooks and coding challenges. They play a crucial role in solving real-world problems and improving system performance in various domains.

As a senior engineer with 20+ years of experience, you understand the significance of patterns, advanced data structures, advanced algorithms, and system design and architecture. These concepts not only help in developing efficient and scalable software solutions but also enable you to tackle complex problems and optimize existing systems.

To refresh your knowledge and prepare for hands-on engineering leadership roles, it is essential to dive into real-world applications and case studies of algorithms and data structures.

By exploring real-world examples, you can gain insights into how different algorithms and data structures are applied to solve practical problems and achieve specific goals. This will improve your problem-solving skills, coding efficiency, and ability to make informed decisions when designing and optimizing algorithms.

Let's delve into some real-world applications and case studies that highlight the practical use of algorithms and data structures in various domains.

Try this exercise. Is this statement true or false?

Algorithms and data structures are only applicable in theoretical scenarios and have no practical use in the real world.

Press true if you believe the statement is correct, or false otherwise.

Sorting Algorithms in Practice

Sorting algorithms are fundamental in computer science, and they find applications in various scenarios. These algorithms help organize and order data efficiently, improving search and retrieval operations in many real-world situations.

As a senior engineer with extensive experience, you understand the importance of sorting algorithms and their practical use. Sorting algorithms are crucial in optimizing system performance, from database queries to file system operations.

Let's take a look at an example of a sorting algorithm in action. Here is an implementation of the bubble sort algorithm in C++:

In this example, we have an implementation of the bubble sort algorithm in C++. The bubbleSort function takes a vector of integers and sorts them in ascending order. The sorted numbers are then printed to the console.

Sorting algorithms like bubble sort are not only important for understanding their implementations, but also for their practical use in solving real-world problems efficiently. By studying and practicing sorting algorithms, you can improve your problem-solving skills and apply them to various scenarios.

Next, we will explore more advanced sorting algorithms and their applications in different domains.

Are you sure you're getting this? Fill in the missing part by typing it in.

One practical application of sorting algorithms is in ____ systems, where sorting is often used to efficiently retrieve and display data to users.

Write the missing line below.

Graph Algorithms in Practice

Graph algorithms are extensively used in various domains to solve complex problems. They provide insights into the relationships and connections between different entities, making them ideal for analyzing networks.

As a senior engineer with a strong background in advanced data structures and algorithms, you understand the practical applications of graph algorithms in different domains. Whether it's analyzing social networks, optimizing transportation routes, or modeling recommender systems, graph algorithms play a crucial role in solving real-world problems.

Let's take a look at an example of a graph algorithm in action. Here is an implementation of breadth-first search (BFS) in C++:

In this example, we have a Graph structure representing a graph with five vertices. We add edges between vertices using the addEdge function. The printGraph function prints the adjacency list representation of the graph. The BFS function performs breadth-first search starting from a specified vertex and prints the traversal path.

Graph algorithms like breadth-first search are widely used for traversing and exploring graphs. They can be applied to various domains, such as finding the shortest path between two nodes, detecting cycles, and detecting connected components.

By understanding and practicing graph algorithms, you can enhance your problem-solving skills and apply them to real-world scenarios in domains such as social networks, logistics, and recommendation systems.

Are you sure you're getting this? Is this statement true or false?

Breadth-first search is a graph traversal algorithm that visits all of the direct neighbors of a node before visiting any of its descendants.

Optimization Techniques and Applications

Optimization techniques play a crucial role in solving real-world problems efficiently. As a seasoned engineer, understanding these techniques can help you optimize your code, improve performance, and tackle complex problems in a more efficient manner.

One common optimization technique is maximization , which involves finding the maximum element in a given set. This technique is often used in various domains such as finance, data analysis, and resource allocation.

Let's consider an example in C++ to demonstrate how to find the maximum element in an array:

In this example, we have an array of integers arr . We initialize the maxElement variable with the first element of the array. Then, we iterate over the remaining elements of the array and update maxElement if we find a larger element.

By applying optimization techniques like maximization, you can solve real-world problems efficiently and improve the overall performance of your code.

Let's test your knowledge. Click the correct answer from the options.

What is an optimization technique that can improve the performance of an algorithm?

Click the option that best answers the question.

  • Memoization
  • Abstraction

Handling Large Datasets

When working with large datasets, efficient handling and processing techniques are essential to ensure optimal performance. In this section, we will explore strategies that can help you effectively work with large datasets.

1. Memory Management

One critical aspect of handling large datasets is memory management. Allocating and accessing memory efficiently can significantly impact the performance of your algorithms.

To illustrate this, let's consider an example in C++. Suppose you have a large dataset consisting of a million integers. You can allocate memory dynamically using the new operator to create an array to store the dataset. Here's an example:

In this example, we simulate a large dataset by creating an array of a million integers. The new operator is used to allocate memory for the dataset, and the delete operator is used to free the memory after processing the dataset. It's important to free the allocated memory to avoid memory leaks.

2. Parallel Processing

Another technique for handling large datasets is parallel processing. By distributing the workload across multiple processors or threads, you can speed up the processing time and improve overall efficiency.

Parallel processing can be achieved using multi-threading or multi-processing. In C++, you can utilize libraries like OpenMP or MPI to implement parallel processing techniques.

3. Data Partitioning

Data partitioning involves dividing a large dataset into smaller partitions to process them concurrently. This technique is particularly useful when the dataset can be divided into independent subsets that can be processed separately.

For example, if you have a large dataset of customer records, you can partition the dataset based on customer ID or geographical location. Each partition can then be processed independently, and the results can be combined later.

4. Streaming Processing

Streaming processing is a technique used for handling large datasets that do not fit entirely in memory. Instead of loading the entire dataset into memory, the data is processed in small chunks or batches.

This approach allows you to process and analyze the dataset sequentially without the need for excessive memory resources. Streaming processing is commonly used in scenarios where the dataset is continuously growing or where real-time analysis is required.

These are just a few strategies and techniques for handling large datasets. Depending on the specific requirements of your application, you may need to explore additional approaches and optimizations.

Which of the following is NOT a technique for handling large datasets?

  • Memory Management
  • Parallel Processing
  • Data Partitioning
  • Static Typing

Case Studies: Real-World Algorithmic Problems

In this section, we will dive deep into real-world algorithmic problems and analyze their solutions. By studying these case studies, we can gain valuable insights into how algorithms and data structures are applied to solve complex problems in various domains.

As a senior engineer with a background in system design and architecture, you may already be familiar with advanced data structures and algorithms. However, reviewing real-world case studies will help you reinforce your knowledge and provide practical examples of how these concepts are utilized in the industry.

The case studies will cover a wide range of topics, including optimization problems, graph algorithms, dynamic programming, and more. Each case study will present a specific problem and its corresponding algorithmic solution.

As you go through the case studies, pay attention to the problem-solving techniques, time complexity analysis, and the trade-offs involved in the solution. Understanding the context and constraints of each problem will help you identify the most efficient and effective algorithmic approach.

Let's get started by exploring the first real-world algorithmic problem and its solution. Feel free to modify and execute the provided code to gain a better understanding of how the solution works.

Build your intuition. Fill in the missing part by typing it in.

In the case study on optimizing a transportation network, the problem is to find the ____ path between two locations to minimize the overall cost.

Putting It All Together

As we've explored the various real-world applications and case studies of algorithms and data structures, we have seen how these concepts can be applied to solve complex problems in different domains. From sorting algorithms to graph algorithms, optimization techniques to handling large datasets, we have covered a wide range of topics to equip you with the necessary knowledge and skills to tackle real-world algorithmic problems.

Throughout this lesson, we have emphasized the importance of understanding the problem context, analyzing the time and space complexity of different algorithms, and considering trade-offs in order to design efficient and effective solutions. By putting it all together, you are now equipped with a strong foundation in advanced data structures, algorithms, and problem-solving techniques.

As a senior engineer with a background in system design and architecture, you have the expertise to apply these concepts to real-world scenarios. Whether it's optimizing performance, solving optimization problems, or designing scalable systems, the knowledge gained from this lesson will be invaluable in your role as an engineering leader.

In summary, some of the key takeaways from this lesson are:

  • Real-world applications and case studies provide practical examples of how algorithms and data structures are applied.
  • Understanding the problem context and constraints is crucial in selecting the most efficient algorithmic approach.
  • Time and space complexity analysis helps in evaluating the performance of algorithms.
  • Optimization techniques and handling large datasets are essential skills for handling real-world problems.
  • The role of system design and architecture in designing scalable and efficient solutions.

Now that you have a solid foundation, it's time to apply your knowledge and continue exploring new areas in algorithms and data structures. Keep practicing, stay curious, and never stop learning!

Algorithms and data structures are not applicable in real-world scenarios.

Generating complete for this lesson!

Programming Categories

  • Basic Arrays Interview Questions
  • Binary Search Trees Interview Questions
  • Dynamic Programming Interview Questions
  • Easy Strings Interview Questions
  • Frontend Interview Questions
  • Graphs Interview Questions
  • Hard Arrays Interview Questions
  • Hard Strings Interview Questions
  • Hash Maps Interview Questions
  • Linked Lists Interview Questions
  • Medium Arrays Interview Questions
  • Queues Interview Questions
  • Recursion Interview Questions
  • Sorting Interview Questions
  • Stacks Interview Questions
  • Systems Design Interview Questions
  • Trees Interview Questions

Popular Lessons

  • All Courses, Lessons, and Challenges
  • Data Structures Cheat Sheet
  • Free Coding Videos
  • Bit Manipulation Interview Questions
  • Javascript Interview Questions
  • Python Interview Questions
  • Java Interview Questions
  • SQL Interview Questions
  • QA and Testing Interview Questions
  • Data Engineering Interview Questions
  • Data Science Interview Questions
  • Blockchain Interview Questions
  • Introduction to Amazon Auto Scaling Group
  • Behavioral Interview Preparation
  • Git Commands Cheat Sheet
  • Algorithms for Robotics
  • Design an Ad Exchange

Navigation Menu

Search code, repositories, users, issues, pull requests..., provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications You must be signed in to change notification settings

This repository contains a curated collection of 300 case studies from over 80 companies, detailing practical applications and insights into machine learning (ML) system design. The contents are organized to help you easily find relevant case studies based on industry or specific ML use cases.

Engineer1999/A-Curated-List-of-ML-System-Design-Case-Studies

Folders and files, repository files navigation, ml system design case studies repository, description.

Welcome to the ML System Design Case Studies Repository! This repository is a comprehensive collection of 300 case studies from over 80 leading companies, showcasing practical applications and insights into machine learning (ML) system design. Companies like Netflix, Airbnb, and Doordash have shared their experiences, providing a valuable resource for anyone interested in learning how ML is used to improve products and processes.

  • Wide Range of Industries : Explore case studies from various industries such as tech, finance, healthcare, and more.
  • Diverse ML Applications : Learn about different ML use cases, including computer vision (CV), natural language processing (NLP), recommender systems, search and ranking, fraud detection, and many more.
  • Product Features : Discover how ML powers specific user-facing features, from grammatical error correction to generating outfit combinations.

Why This Resource is Valuable

  • Authentic and In-depth : Each case study is sourced from detailed blogs, papers, or articles about ML systems developed in-house, providing genuine and firsthand insights.
  • Practical Applications : The studies cover real-world ML systems that are actively used in production, offering practical and proven examples.
  • Focused and Detailed : The case studies focus on specific ML use cases, providing clear and comprehensive information on the target users, model designs, evaluation criteria, and deployment architectures.
  • Short Description : Use the discription to quickly find case studies relevant to your interests.
  • Explore and Learn : Dive into the detailed descriptions and implementations to gain a deeper understanding of ML system design.
  • Share and Collaborate : If you find the database helpful, spread the word and contribute to the repository by suggesting new case studies.

Enjoy exploring the wealth of knowledge in these case studies and enhance your understanding of machine learning system design!

Real-world ml systems.

For more information, visit Evidently AI - ML System Design and ML Systems Design
  • Harvard Business School →
  • Faculty & Research →
  • December 2023
  • HBS Case Collection

TikTok: The Algorithm Will See You Now

  • Format: Print
  • | Language: English
  • | Pages: 24

About The Author

case study algorithm software

Shikhar Ghosh

Related work.

  • Faculty Research
  • TikTok: The Algorithm Will See You Now  By: Shikhar Ghosh and Shweta Bagai

Academia.edu no longer supports Internet Explorer.

To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to  upgrade your browser .

Enter the email address you signed up with and we'll email you a reset link.

  • We're Hiring!
  • Help Center

First page of “Algorithms in Human Decision-Making: A Case Study With the COMPAS Risk Assessment Software”

Download Free PDF

Algorithms in Human Decision-Making: A Case Study With the COMPAS Risk Assessment Software

Profile image of Michelle Vaccaro

This thesis uses the COMPAS algorithm as a case study to investigate the role of algorithmic risk assessments in human decision-making. The prior work on the COMPAS algorithm and similar risk assessment instruments focuses on the technical aspects of the tools by presenting methods to improve their accuracy and theorizing frameworks to evaluate the fairness of their predictions. The research does not consider the practical function of the algorithm as a decision-making aid rather than decision-maker. The first experiment addresses the open question of if algorithmic risk scores impact human predictions of recidivism in a controlled environment with human subjects. The results indicate that the algorithmic risk scores act as anchors that induce a cognitive bias: participants assimilate their predictions to the algorithm’s score. In particular, participants who view the low anchor algorithm provide risk scores on average 42.3% lower than participants who view the high anchor algorithm...

Related papers

In this paper, we study the effects of using an algorithm-based risk assessment instrument to support the prediction of risk of criminalrecidivism. The instrument we use in our experiments is a machine learning version ofRiskEval(name changed for double-blindreview), which is the main risk assessment instrument used by the Justice Department ofCountry(omitted for double-blind review).The task is to predict whether a person who has been released from prison will commit a new crime, leading to re-incarceration,within the next two years. We measure, among other variables, the accuracy of human predictions with and without algorithmicsupport. This user study is done with (1)generalparticipants from diverse backgrounds recruited through a crowdsourcing platform,(2)targetedparticipants who are students and practitioners of data science, criminology, or social work and professionals who workwithRiskEval. Among other findings, we observe that algorithmic support systematically leads to more...

American Philosophical Quarterly, 2024

Risk assessment tools, such as COMPAS, may not only predict defendants' risk of recidivism, but may themselves causally affect recidivism outcomes. We argue that such "performative" effects can yield severe harms both to individuals and to society at large, which raise epistemic-ethical responsibilities on the part of developers and users of risk assessment tools. To meet these responsibilities, we present a novel desideratum on algorithmic tools, called explainability-in-context, which requires clarifying how these tools causally interact with the social, technological, and institutional environments they are embedded in. Risk assessment practices are thus subject to high epistemic standards, which haven't been sufficiently appreciated to date. Explainability-in-context, we contend, is a crucial goal to pursue in addressing the ethical challenges surrounding risk assessment tools.

Digital Society

In this paper, we distinguish between different sorts of assessments of algorithmic systems, describe our process of assessing such systems for ethical risk, and share some key challenges and lessons for future algorithm assessments and audits. Given the distinctive nature and function of a third-party audit, and the uncertain and shifting regulatory landscape, we suggest that second-party assessments are currently the primary mechanisms for analyzing the social impacts of systems that incorporate artificial intelligence. We then discuss two kinds of assessments: an ethical risk assessment and a narrower, technical algorithmic bias assessment. We explain how the two assessments depend on each other, highlight the importance of situating the algorithm within its particular socio-technical context, and discuss a number of lessons and challenges for algorithm assessments and, potentially, for algorithm audits. The discussion builds on our team's experience of advising and conducting ethical risk assessments for clients across different industries in the last 4 years. Our main goal is to reflect on the key factors that are potentially ethically relevant in the use of algorithms and draw lessons for the nascent algorithm assessment and audit industry, in the hope of helping all parties minimize the risk of harm from their use.

Artificial Intelligence and Law, 2020

In this paper we investigate risk prediction of criminal re-offense among juvenile defendants using general-purpose machine learning (ML) algorithms. We show that in our dataset, containing hundreds of cases, ML models achieve better predictive power than a structured professional risk assessment tool, the Structured Assessment of Violence Risk in Youth (SAVRY), at the expense of not satisfying relevant group fairness metrics that SAVRY does satisfy. We explore in more detail two possible causes of this algorithmic bias that are related to biases in the data with respect to two protected groups, foreigners and women. In particular, we look at (1) the differences in the prevalence of re-offense between protected groups and (2) the influence of protected group or correlated features in the prediction. Our experiments show that both can lead to disparity between groups on the considered group fairness metrics. We observe that methods to mitigate the influence of either cause do not gua...

Based on the theoretical findings from the existing literature, some policymakers and software engineers contend that algorithmic risk assessments such as the COMPAS software can alleviate the incarceration epidemic and the occurrence of violent crimes by informing and improving decisions about policing, treatment, and sentencing. Considered in tandem, these findings indicate that collaboration between humans and machines does not necessarily lead to better outcomes, and human supervision does not sufficiently address problems when algorithms err or demonstrate concerning biases. If machines are to improve outcomes in the criminal justice system and beyond, future research must further investigate their practical role: an input to human decision makers.

Philosophy & Technology, 2021

In this article, I show why it is necessary to abolish the use of predictive algorithms in the U.S. criminal justice system at sentencing. After presenting the functioning of these algorithms in their context of emergence, I offer three arguments to demonstrate why their abolition is imperative. First, I show that sentencing based on predictive algorithms induces a process of rewriting the temporality of the judged individual, flattening their life into a present inescapably doomed by its past. Second, I demonstrate that recursive processes, comprising predictive algorithms and the decisions based on their predictions, systematically suppress outliers and progressively transform reality to match predictions. In my third and final argument, I show that decisions made on the basis of predictive algorithms actively perform a biopolitical understanding of justice as management and modulation of risks. In such a framework, justice becomes a means to maintain a perverse social homeostasis that systematically exposes disenfranchised Black and Brown populations to risk.

Proceedings of the ACM on Human-Computer Interaction

Algorithmic risk assessments are being deployed in an increasingly broad spectrum of domains including banking, medicine, and law enforcement. However, there is widespread concern about their fairness and trustworthiness, and people are also known to display algorithm aversion, preferring human assessments even when they are quantitatively worse. Thus, how does the framing of who made an assessment affect how people perceive its fairness? We investigate whether individual algorithmic assessments are perceived to be more or less accurate, fair, and interpretable than identical human assessments, and explore how these perceptions change when assessments are obviously biased against a subgroup. To this end, we conducted an online experiment that manipulated how biased risk assessments are in a loan repayment task, and reported the assessments as being made either by a statistical model or a human analyst. We find that predictions made by the model are consistently perceived as less fai...

Justice System Journal, 2018

Human error in offender risk assessment can take many forms, including assessment staff bias and mistakes in official records. The effect of these human mistakes on outcomes depends on the "sensitivity of error" of the risk assessment instruments. Yet how these human errors influence risk classification outcomes has remained speculative. To disentangle this relationship and fill the research gap, simulated human error was injected into two risk datasets to determine how unreliability and invalidity affects classification validity. Two main conclusions are drawn. First, risk devices are highly sensitive to human errors, and their use should be met with caution. Second, new techniques are needed to measure and convey model validity. The findings and the conclusions of this study are critical given that more accurate risk assessments give rise to higher levels of public safety. Methods of reducing the sensitivity of error in risk instruments are offered.

Criminal Justice and Behavior, 2020

As recent and historical events attest, racial and ethnic disparities are widely engrained into the justice system. Recently, scholars and policymakers have raised concerns that risk assessment instruments may exacerbate these disparities. While it is critical that risk instruments be scrutinized for racial bias, some concerns, though well-meaning, have gone beyond the evidence. This article explains what it means for an instrument to be “biased” and why instruments should not all be painted with the same brush (some will be more susceptible to bias than others). If some groups get apprehended more, those groups will score higher on non-biased, well-validated instruments derived to maximize prediction of recidivism because of mathematics. Thus, risk instruments shine a light on long-standing systemic problems of racial disparities. This article concludes with suggestions for research and for minimizing disparities by ensuring that systems use risk assessments to avoid unnecessary in...

Researchers in the field of "human factors" have long been aware that when humans devolve certain of their functions to technology, the transfer from human to machine can restructure more than the division of labour between them: humans' perceptions of themselves and their abilities may also change. In particular, if a system becomes reliable enough, humans will become diffident to the point of adhering to the system's recommendations even when they have grounds to disbelieve them. Such findings are relevant to the use of algorithmic and data-driven technologies, but whether they hold up in the specific context of recidivism risk assessment is only beginning to be considered. In this chapter, I describe and analyse some pertinent human factors results, and assess the extent to which they pose a problem for the use of algorithms in the sentencing of offenders. While the findings from human factors research are themselves robust, they do not seem to translate neatly to the judicial sphere. The incentives, objectives, and ideologies of sentencing judges appear to upset the usual pattern of results seen in many other domains of human factors research.

Homeland Security Today, 2023

Psychology and Education: A Multidisciplinary Journal, 2024

Medicinal Chemistry Research, 2012

Sentido, verdad e historia del Ser en Martin Heidegger, 2022

Boletín de Filología, 1998

ISPRS international journal of geo-information, 2024

Archaeofauna, 2017

Cuerpo y símbolo ISBN 950-892-055-6, 1998

Perspectives on Society and Technology Addiction, 2023

Development and Society, 2013

Microbes and Infectious Diseases (Print), 2021

JAMA oncology, 2018

The New England journal of medicine, 2016

International Journal of Science and Research Archive, 2023

Animal Learning & Behavior, 1995

International Journal for Numerical Methods in Engineering, 2008

Journal of Pediatric Endocrinology and Metabolism, 2012

  •   We're Hiring!
  •   Help Center
  • Find new research papers in:
  • Health Sciences
  • Earth Sciences
  • Cognitive Science
  • Mathematics
  • Computer Science
  • Academia ©2024

Algorithms Case Studies

When you try to explain a complex concept, it is generally a good idea to give a very simple and minimal example illustrating it. This is why in this book you see about a dozen different ways of calculating the sum of an array, each highlighting a certain CPU feature.

But the main purpose of this book is not to learn computer architecture just for the sake of learning it, but to acquire real-world skills in software optimization. The next two chapters exist to help you achieve this goal, as they contain detailed case studies of various algorithms that are much harder to optimize than the sum of an array.

IMAGES

  1. 1.4 A Case Study in Algorithm Analysis

    case study algorithm software

  2. Software Case Study (With Templates): Best Customers Acquisition Tool

    case study algorithm software

  3. Block diagram of the software algorithm for the identification and

    case study algorithm software

  4. Basic Computation Chapter ppt download

    case study algorithm software

  5. Basic Computation Chapter ppt download

    case study algorithm software

  6. A flow diagram of the software algorithm.

    case study algorithm software

VIDEO

  1. Why we study algorithm design and analysis?

  2. 02 Time Complexity Analysis

  3. Algorithm Software 100% Accuracy Buy/Sell Signals #trading #stockmarket

  4. 03 Time Complexity Analysis

  5. Solution Center: Top 5 trending AI use cases for the enterprise

  6. How to solve a case study ( live class with a demo case)

COMMENTS

  1. Lesson 5: Real-World Applications and Case Studies

    Introduction to Real-World Applications and Case Studies Algorithms and data structures are not just concepts limited to textbooks and coding challenges. They play a crucial role in solving real-world problems and improving system performance in various domains. As a senior engineer with 20+ years of experience, you understand the significanc

  2. PDF Value-Sensitive Algorithm Design: Method, Case Study, and Lessons

    Algorithm Design method that the case study helped reveal. The fundamental goal of our method is to contribute to the ongoing conversation concerning the use of algorithms in supporting critical decision-making in our society. 2 RELATED WORK As algorithms have become increasingly embedded throughout society, evidence has emerged

  3. PDF 1.4 A Case Study in Algorithm Analysis

    A Case Study in Algorithm Analysis 29 1.4 A Case Study in Algorithm Analysis Having presented the general framework for describing and analyzing algorithms, ... ing a job interview for a major software company, when asked about the maximum subarray problem, correctly observing that this algorithm beats the running time of

  4. ML System Design Case Studies Repository

    Authentic and In-depth: Each case study is sourced from detailed blogs, papers, or articles about ML systems developed in-house, providing genuine and firsthand insights.; Practical Applications: The studies cover real-world ML systems that are actively used in production, offering practical and proven examples.; Focused and Detailed: The case studies focus on specific ML use cases, providing ...

  5. PDF Software Engineering for Machine Learning: A Case Study

    software engineering applies to machine-learning-centric components vs. previous application domains. II. BACKGROUND A. Software Engineering Processes The changing application domain trends in the software industry have influenced the evolution of the software pro-cesses practiced by teams at Microsoft. For at least a decade

  6. TikTok: The Algorithm Will See You Now

    The case provides educators an opportunity to discuss the dynamics of global digital platforms, data security, cultural impact, and the geopolitical implications of technological advancements. It also covers the design of the TikTok algorithm, and the importance of the process and organization in making the algorithm effective.

  7. PDF Tutorial F2 Case Studies for Software Engineers

    The case study is most useful for generating hypotheses; that is, in the first stage of a total research process, whereas other methods are more suitable for hypothesis testing and theory building. 4.The case study contains a bias toward verification, that is, a tendency to confirm the researcher's preconceived notions. 5.

  8. Algorithms in Human Decision-Making: A Case Study With the COMPAS Risk

    Algorithms in Human DecisionMaking: A Case Study With the COMPAS Risk Assessment Software The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters Citation Vaccaro, Michelle Anna. 2019. Algorithms in Human DecisionMaking: A Case Study With the COMPAS Risk Assessment Software.

  9. PDF An Introduction to Software Architecture Case Studies

    Case Study 2: Instrumentation Software Case Study 3: A Fresh View of Compilers Will not be on exam Case Study 4: A Layered Design with Different Styles for the Layers Case Study 5: An Interpreter Using Different Idioms for the Components

  10. Algorithms Case Studies

    But the main purpose of this book is not to learn computer architecture just for the sake of learning it, but to acquire real-world skills in software optimization. The next two chapters exist to help you achieve this goal, as they contain detailed case studies of various algorithms that are much harder to optimize than the sum of an array.