Difference between revisions of "Computational Thinking"
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
− | Computational Practices Adapted to Archival Science (from University of Maryland iSchool: http://cases.umd.edu/) | + | [[Computational Practices Adapted to Archival Science]] (from University of Maryland iSchool: http://cases.umd.edu/) |
# <b>Data Practices</b>: The nature of how data are collected, created, analyzed, and shared is rapidly changing primarily due to advancements in computational technologies. | # <b>Data Practices</b>: The nature of how data are collected, created, analyzed, and shared is rapidly changing primarily due to advancements in computational technologies. |
Revision as of 19:19, 15 January 2021
We choose to deploy constructs from Computational Thinking (CT) in the context of linked data projects specifically with a mind toward teaching students how to think about the scaling problems when attempting to maximally organize sets of resources. We have two active projects in the Linked Data Research Group, one of which is well developed and will serve as our primary example to students and the second project is at a more nascent stage. They are:
- Organizing access to multimedia (still images and video clips) that document game action in college football games using data sources internal to a football game (e.g., statistical play-by-play datasets) and those data sources that are external (e.g., transcripts of television broadcasts).
- Organizing access to textual materials of the HathiTrust page scans by examining back-of-book indexes and ToCs as access mechanisms for internal book content. Also capturing features of interest to descriptive bibliographers.
Computational Practices Adapted to Archival Science (from University of Maryland iSchool: http://cases.umd.edu/)
- Data Practices: The nature of how data are collected, created, analyzed, and shared is rapidly changing primarily due to advancements in computational technologies.
- Collecting Data: Data are collected through observation and measurement. Computational tools play a key role in gathering and recording a variety of data across many different archival endeavors. Computational tools can be useful in different phases of data collection, including the design of the collection protocol, recording, and storage.
- Creating Data: The increasingly computational nature of working with archival data underscores the importance of developing computational thinking practices in the classroom. Part of the challenge is teaching students that answers are drawn from the data available. In many cases archivists use computational tools to generate data… at scales that would otherwise be impossible.
- Manipulating Data: Computational tools make it possible to efficiently and reliably manipulate large and complex archival holdings. Data manipulation includes sorting, filtering, cleaning, normalizing, and joining disparate datasets.
- Analyzing Data: There are many strategies that can be employed when analyzing data for use in an archival context, including looking for patterns or anomalies, defining rules to categorize data, and identifying trends and correlations.
- Visualizing Data: Communicating results is an essential component of understanding archival data and computational tools can greatly facilitate that process. Tools include both conventional visualizations such as graphs and charts, as well as dynamic, interactive displays.
- Modeling and Simulation Practices: The ability to create, refine, and use models of archival phenomena is a central practice… Models can include flowcharts and diagrams.
- Using Computational Models to Understand a Concept: Computational models that demonstrate specific ideas or phenomena can serve as powerful learning tools. Students can use computational models to deepen their understanding of archival science.
- Using Computational Models to Find and Test a Solution: Computational models can be used to test hypotheses and discover solutions to problems. They make it possible to test many different solutions quickly, easily, and inexpensively before committing to a specific approach.
- Assessing Computational Models: Students who have mastered this practice will be able to articulate the similarities and differences between a computational model and the phenomenon that it is modeling.
- Designing Computational Models: Part of taking advantage of computational power… is designing new models that can be run on a computational device. Students… will be able to define the components of the model, describe how they interact, decide what data will be produced by the model.
- Constructing Computational Models: An important practice… is the ability to create new or extend existing computational models. This requires being able to encode the model features in a way that a computer can interpret.
- Computational Problem Solving Practices: Problem solving is central to archival inquiry.
- Preparing problems for Computational solutions: While some problems naturally lend themselves to computational solutions, more often, problems must be reframed so that existing computational tools can be utilized. Strategies for doing this include decomposing problems into subproblems, reframing new problems into known problems for which computational tools already exist, and simplifying complex problems so the mapping of problem features onto computational solutions is more accessible.
- Programming: Enabling students to explore archival problems using computational problem solving practices such as programming, algorithm development, and creating computational abstractions. The ability to encode instructions in such a way that a computer can execute them is a powerful skill for investigating archival problems. Programs include ten-line Python scripts.
- Choosing Effective Computational tools: Students who have mastered this practice will be able to articulate the pros and cons of using various computational tools and be able to make an informed, justifiable decision.
- Assessing different approaches to problem-solving: When there are multiple approaches to solving a problem, or multiple solutions to choose from, it is important to be able to assess the options and make an informed decision about which route to follow. Even if two different approaches produce the same correct result, there are other dimensions that should be considered when choosing a solution or approach such as cost, time, durability, extendibility, reusability, and flexibility.
- Developing Modular Computational Solutions: Students who have mastered this practice will be able to develop solutions that consist of modular, reusable components and take advantage of the modularity of their solution in both working on the current problem and reusing pieces of previous solutions when confronting new challenges.
- Creating Computational Abstractions: The ability to create and use abstractions is used constantly across archival science undertakings, be it creating computational abstractions when writing a program, generating visualizations of data to communicate an idea or finding, defining the scope or scale of a problem or creating models to further explore or understand a given phenomenon.
- Troubleshooting and Debugging: Troubleshooting broadly refers to the process of figuring out why something is not working or behaving as expected. There are a number of strategies one can employ while troubleshooting a problem, including clearly identifying the issue, systematically testing the system to isolate the source of the error, and reproducing the problem so that potential solutions can be tested reliably.
- Systems Thinking Practices: Systems thinking analyses… focus on an inclusive examination of how the system and its constituent parts interact and relate to one another as a whole.
- Investigating Complex Systems: Students who have mastered this practice will be able to pose questions about, design and carry out investigations on, and ultimately interpret and make sense of, the data gathered about a system as a single entity... Computational tools such models and simulations are especially useful in such investigations.
- Understanding Relationships within Systems: Computational tools are useful for conducting such inquiry as they can provide learners with controls for isolating different elements, investigating their behaviors, and exploring how they interact with other components of the system.
- Thinking in Levels: Students who have mastered this practice will be able to identify different levels of a given system, articulate the behavior of each level with respect to the system as a whole, and be able to move back and forth between levels, correctly attributing features of the system to the appropriate level.
- Communicating Information about a System: Students who have mastered this practice will be able to communicate information they have learned about a system in a way that makes the information accessible to viewers who do not know the exact details of the system from which the information was drawn.
- Defining Systems and Managing Complexity: Students who have mastered this practice will be able to define the boundaries of a system so that they can then use the resulting system as a domain for investigating a specific question as well as to identify ways to simplify an existing system without compromising its ability to be used for a specified purpose.