VNUHCM
Bài trước Bài kế tiếp
  • Nội dung học
  • Trợ giúp
    Bạn có thắc mắc khi đang học?
    Hướng dẫn cách học Những câu hỏi thường gặp Email cho giáo vụ
    • Tiếng Việt
    • English
    • Thông tin Thành viên
    • Khoá học đăng ký
    • Đăng xuất
  • Cohota
  • HƯỚNG DẪN HỌC TẬP

  • Xem chi tiết >>
    Bạn đã hoàn thành 0% khoá học
  • HƯỚNG DẪN SINH VIÊN ĐĂNG NHẬP HỆ THỐNG
    • Hướng dẫn đăng nhập
    • Hướng dẫn vào khóa học
  • Introduction
    • Welcome
  • Unit 1: Values
    • Introduction - Unit 1: Values
    • Get Started With Values
    • Play with Values
    • Playground Basics
    • Naming and Identifiers
    • Simulation
    • Strings
    • Constants and Variables
    • Word Games
    • Build a PhotoFrame App
    • Design for People
  • Episode 1: The TV Club
    • Introduction - Episode 1: The TV Club
    • Searching for Content
    • Sharing Personal Information
    • Ordering Online
    • Reflection: Episode 1
  • Unit 2: Algorithms
    • Introduction - Unit 2: Algorithms
    • Get Started with Algorithms
    • Play with Programs
    • Functions
    • Types
    • Parameters and Results
    • Making Decisions
    • BoogieBot
    • Data Visualization
    • Build a QuestionBot App
    • Design an Experience
  • Episode 2: The Viewing Party
    • Introduction - Episode 2: The Viewing Party
    • Accessing the Show
    • Streaming on the Network
    • Reflection: Episode 2
  • Unit 3: Organizing Data
    • Introduction - Unit 3: Organizing Data
    • Get Started with Organizing Data
    • Play with Complex Data
    • Instances, Methods, and Properties
    • Arrays and Loops
    • Structures
    • Enums and Switch
    • Testing Code
    • Processing Data
    • Pixel Art
    • Password Security
    • Visualization Revisited
    • Build a BouncyBall App
    • Design a Prototype
  • Episode 3: Sharing Photos
    • Introduction - Episode 3: Sharing Photos
    • Capturing Images
    • Posting on Social Media
    • Reflection: Episode 3
  • Unit 4: Building Apps
    • Introduction - Unit 4: Building Apps
    • Get Started with App Development
    • Play with App Components
    • Color Picker
    • ChatBot
    • Rock, Paper, Scissors
    • MemeMaker
    • Build an ElementQuiz App
    • Design for Impact
  • Appendix
    • Episode Technical Concepts
    • Glossary
Tổng quan điểm khóa học
Đánh giá

Tiến độ
Tên tiêu chí Trọng số (%) Điểm Tiến độ (%)
Episode 3: Sharing Photos

Reflection: Episode 3

Episode 3: Sharing Photos

Reflection: Have you ever…shared an image online?

Every day, hundreds of millions of pictures are shared on social media platforms. Do you know the copyright protection for images you share on social media? What protections are in place to stop your image from being stolen, edited, or used for commercial gain? Do some research, and discuss the risks and benefits of sharing images online with the class.

Key concept: Image data

You’ve learned that data is transmitted in bits and bytes, and how characters are represented using ASCII code. This episode explored how image data is captured and transmitted as values from pixel sensors; it also compared lossless and lossy compression strategies. Compressing an image or video doesn’t reduce its resolution (the number of pixels it has), but may affect its perceived quality.

Reflect:

Have you ever seen someone use a low-resolution image by stretching it to fill a larger area?

How does the resulting image look? Is this a result of compression?

What does heavy video compression look like? (Think about streaming video over a low-bandwidth connection, or watching TV when the picture quality changes.)

What about image compression—how does a heavily compressed JPEG image compare to a less-compressed one?

Key concept: Parallel computing

The episode looked at how social media services handle posts, and the importance of parallel processing and distributed computing to enable hundreds or thousands of users. You learned that parallel processing enables a computer to perform several operations simultaneously, speeding up the time it takes a computer to complete a task. Distributed computing enables parallel processing to occur across multiple computers; the data center for a social media platform would typically house hundreds or thousands of servers.

Reflect:

Parallel computing has applications in a wide variety of fields.

For example, the content presented on an iPhone screen is created using a graphics processor (GPU), which works in parallel to process the pixels in an image. The iPhone Neural Engine uses parallel computation to enable applications of machine learning such as augmented reality (AR) and Face ID. At a completely different scale, computers use parallel and distributed processing to simulate the weather and render each frame in a computer-animated film.

What kinds of tasks are suited to parallel and distributed computing? Why are some tasks better-suited than others? Can you think of human examples of parallel processing, in which multiple people are working on the same task at the same time, and then combining their results?

Explore further: Crowdsourcing

The internet has created a unique possibility: combining the power of many users and many connected devices with the vast quantities of data they generate every day. The result is crowdsourcing.

Open source code

Programming has always been a collaborative activity, but the internet has made it easier for worldwide communities to assemble around software projects—to the benefit of everyone. Code is more reliable because many people have examined it and fixed bugs. And the best ideas from all over the world can inform the direction of critical software.

Open source software provides the foundation for much of the internet. Many servers that control your favorite websites or apps are running Linux, an operating system that's been in continuous development since 1991. Another long-running open source project is Drupal, a content management system used for websites such as NASA and the City of London.

The Swift language and its compiler are also open source projects. Many developers—not just Apple employees—have contributed to its success and evolution. In fact, there's a thriving community of passionate coders who are deeply invested in making Swift better.

Distributed resources

Crowdsourcing can also connect people and organizations with the resources they need. Individuals and businesses can post ideas on Kickstarter and raise funds to develop them, usually with the promise of a reward when the project is complete. Patreon gives creative people an opportunity to get paid by fans and followers through monthly or yearly donations. And on CaringBridge, people can request help to cover medical expenses.

Political campaigns also benefit from crowdsourcing by enlisting volunteers to canvass or spread information—and they can easily request and receive donations from millions of supporters. Social media platforms are powerful both for political campaigns and businesses because they can connect directly to their most passionate supporters.

Solving problems

The internet has also enabled researchers to solve problems in new ways. By connecting millions of digital devices, the internet effectively forms the world's most powerful computer. To solve certain tough problems—which involve complicated calculations and huge numbers of possible solutions—a central server can assign computing jobs to anyone willing to donate their computing power. This "citizen science" powers projects that would otherwise be impractical or expensive. FoldIt is an online game that uses people's innate curiosity and intuition to find new solutions for protein-folding problems.

Sometimes the biggest challenge is finding enough data. The Stanford Heart Study is a great example of using crowdsourcing to provide researchers with a dataset that would be too expensive to gather using a more conventional approach. The goal of the study was to improve the detection of irregular heart rhythms that can be indicators of serious health issues. Hundreds of thousands of participants agreed to share data from the Health app on their Apple Watch. The data was stripped of identifying information such as names and Apple IDs to protect user privacy, and transmitted to Stanford for analysis. Large datasets such as this one can impact the quality of research results, allowing scientists to draw firmer conclusions with far greater predictive power.

Improving services

Some of the apps and services you use every day can be made better by gathering data from the people who use them. Consider the problem of maps. How does Apple Maps know traffic conditions? How can it estimate the travel time to a given destination?

With users' permission, iPhone devices send location data as they proceed through traffic. When the vehicle slows down or stops, Maps notes that traffic seems to be slow in the area. It's also possible to estimate trip time by tracking an iPhone along its route. The data from thousands of iPhone devices combined provides a picture of traffic conditions across a city.

Research this:

Find an example of crowdsourced problem solving that inspires you.

Create a short presentation to explain the origin of the innovation, how it works, its impact, and any unintended consequences.

Báo lỗi