https://wiki.cs.earlham.edu/api.php?action=feedcontributions&user=Edlefma&feedformat=atom Earlham CS Department - User contributions [en] 2024-03-28T18:05:20Z User contributions MediaWiki 1.32.1 https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=9462 CS382:Unit-mashup 2009-05-07T17:54:45Z <p>Edlefma: /* Quiz Questions */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> ==== Introduction ====<br /> At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it. <br /> <br /> Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data. Just having data isn't enough. We have to understand what the data means. Without visualization our models are a lot less useful because we have no other way to understand what's happening in our models short of complicated numerical analysis. It also gives us a way to share useful information by compacting it into a powerful visualization that communicates all the information quickly.<br /> <br /> Show [http://www.gapminder.org/| Gapminder] and go through a good example. Talk about how this way of presenting the data makes information<br /> immediately obvious.<br /> <br /> Edward Tufte was one of the early pioneers of Visualization.<br /> <br /> Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> * Show the data.<br /> * Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> * Avoid distorting what the data have to say.<br /> * Present many numbers in a small space.<br /> * Make large data sets coherent.<br /> * Encourage the eye to compare different pieces of data.<br /> * Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> * Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> * Be closely integrated with the statistical and verbal descriptions of a data set.<br /> <br /> ==== Issues of Visualization ====<br /> <br /> * Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> * Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> * Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> * Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> <br /> ==== Types of Visualizations ====<br /> <br /> We are all familiar with common visualizations like graphs and tables, but now with computers we can create much more advanced visualizations that give us more information.<br /> <br /> * 3d physical models that give us interactive 3d structures that are potentially updated by new information in real time to allow us to give us a lot of information but also allow us to choose what aspect of the data to focus on. For example visualizing a model of a car crashing into something can give people a chance to actually see whats happening to all the different parts of the car from potentially a number of different angles.<br /> <br /> * Animated models allow use to use time as a dimension so we can put together more information. The animation could either represent how the model changes over time, or represent some other aspect of the model. The Gapminder visualization uses time to allow us to look at the different aspects of the world at each point in time so that not only can we see how the different countries interact but how those interactions have changed throughout the years.<br /> <br /> * Data maps and mashups are another new type of visualization the comes from now having detailed maps of the world with respect to a variety of different information sources. We have everything from satellite photos to road maps to weather data to census data. Using all these different sources combined on a single map we can see easily see how the different aspects correlate. In the lab students will be collecting temperature data and mashing it with satellite images.<br /> <br /> == Lab == <br /> Learning spreadsheet visualization tools and Google Maps to gain, respectively, immediately practical and useful skills and an alternate way to think about data.<br /> <br /> Highlevel outline: Students will be instructed to sample temperatures at several different points within some region of campus. They will pick their own points, recording each with a provided GPS unit. They will then enter the data into a spreadsheet and graph the results using different kinds of graphs. After that, each group will combine their data into one Google Map, putting pushpins in for each sample point and coloring the pin appropriately.<br /> <br /> ==== Process ====<br /> # With provided thermometer, go to your group's assigned region ( [http://maps.google.com/maps/ms?ie=UTF8&amp;msa=0&amp;msid=116517761457321127401.000467a02c69be02ec8e4&amp;ll=39.822949,-84.913845&amp;spn=0.006254,0.009656&amp;t=h&amp;z=17 Region Map] )<br /> # Pick ten points in your region and sample their temperatures. Record each point's coordinates. Be sure to pick points such that you will get a variety of temperatures (ie, pick tree and building shaded spots, sunny parking lots, points near steam tunnel exhaust grates)<br /> # Enter data into Open Office, with a column for coordinates and a column for temperature readings. Generate bar graphs based on this data.<br /> # Average your temperatures into one value and add it to the collaborative class Google Docs spreadsheet. Graph the averages.<br /> # Using your datapoints, add push pins to the collaborative class Google Docs map. Color the pins based on temperature ranges. Work with the other lab groups to come up with a sensible color scheme based on the range of temperatures you've found.<br /> <br /> ==== Write-up ====<br /> * Which tool was most appropriate for visualizing this data and why? <br /> * What was the most difficult part of the lab? Why?<br /> * Explore alternative ways to get the same data (instead of getting it yourself). Are there other data sources that would provide granular enough temperature data (Hint: use google)?<br /> * Describe the collaborative process with Google Spreadsheets and Google Maps. What was difficult? What was easier? Compare and contrast this experience with non-collaborative software. How would each group's data been collected into one document?<br /> <br /> ==== Software ==== <br /> * Web Browser<br /> * Google account<br /> * Open Office<br /> <br /> ==== Bill of Materials ====<br /> * GPS<br /> * Thermometer<br /> <br /> ==== Lab Notes ====<br /> * It is impossible to create 3 axis graphs in open office. Perhaps add more detail on how to create a working bar graph in OO.<br /> * GPS is mighty inaccurate. I am working on trying to get the differential working but perhaps it would be advantageous to have points taken from multiple areas.<br /> * We need more thermometers.<br /> * I didn't do the google docs part as I had no collaborators.<br /> * The instructions need to be more detailed on how to add points to a map on google maps<br /> Samuel Wein<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> What would be the best type of visualization for understanding the relationship between geographical region and political affiliation:<br /> * Bar graph<br /> * Table<br /> * &lt;b&gt;Mashup&lt;/b&gt;<br /> * 3d model<br /> <br /> ==== Quiz Questions ==== <br /> * Explain why visualization is useful when creating models.<br /> * How is time a useful dimension in a visualization?<br /> * What criteria should one use for choosing a type of visualization for a particular set of data?<br /> <br /> = Visualization - Metadata = <br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> <br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** None.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** None.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> At the moment there isn't a whole lot of this in the unit. In the lab the students will have an opportunity to explore what they can do with google maps and with graphs.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> <br /> Try to find a tool to allow 3d graphs for the lab<br /> <br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matt Edlefsen<br /> Nate Smith</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=9461 CS382:Unit-mashup 2009-05-07T17:50:34Z <p>Edlefma: /* CRS Questions */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> ==== Introduction ====<br /> At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it. <br /> <br /> Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data. Just having data isn't enough. We have to understand what the data means. Without visualization our models are a lot less useful because we have no other way to understand what's happening in our models short of complicated numerical analysis. It also gives us a way to share useful information by compacting it into a powerful visualization that communicates all the information quickly.<br /> <br /> Show [http://www.gapminder.org/| Gapminder] and go through a good example. Talk about how this way of presenting the data makes information<br /> immediately obvious.<br /> <br /> Edward Tufte was one of the early pioneers of Visualization.<br /> <br /> Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> * Show the data.<br /> * Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> * Avoid distorting what the data have to say.<br /> * Present many numbers in a small space.<br /> * Make large data sets coherent.<br /> * Encourage the eye to compare different pieces of data.<br /> * Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> * Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> * Be closely integrated with the statistical and verbal descriptions of a data set.<br /> <br /> ==== Issues of Visualization ====<br /> <br /> * Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> * Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> * Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> * Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> <br /> ==== Types of Visualizations ====<br /> <br /> We are all familiar with common visualizations like graphs and tables, but now with computers we can create much more advanced visualizations that give us more information.<br /> <br /> * 3d physical models that give us interactive 3d structures that are potentially updated by new information in real time to allow us to give us a lot of information but also allow us to choose what aspect of the data to focus on. For example visualizing a model of a car crashing into something can give people a chance to actually see whats happening to all the different parts of the car from potentially a number of different angles.<br /> <br /> * Animated models allow use to use time as a dimension so we can put together more information. The animation could either represent how the model changes over time, or represent some other aspect of the model. The Gapminder visualization uses time to allow us to look at the different aspects of the world at each point in time so that not only can we see how the different countries interact but how those interactions have changed throughout the years.<br /> <br /> * Data maps and mashups are another new type of visualization the comes from now having detailed maps of the world with respect to a variety of different information sources. We have everything from satellite photos to road maps to weather data to census data. Using all these different sources combined on a single map we can see easily see how the different aspects correlate. In the lab students will be collecting temperature data and mashing it with satellite images.<br /> <br /> == Lab == <br /> Learning spreadsheet visualization tools and Google Maps to gain, respectively, immediately practical and useful skills and an alternate way to think about data.<br /> <br /> Highlevel outline: Students will be instructed to sample temperatures at several different points within some region of campus. They will pick their own points, recording each with a provided GPS unit. They will then enter the data into a spreadsheet and graph the results using different kinds of graphs. After that, each group will combine their data into one Google Map, putting pushpins in for each sample point and coloring the pin appropriately.<br /> <br /> ==== Process ====<br /> # With provided thermometer, go to your group's assigned region ( [http://maps.google.com/maps/ms?ie=UTF8&amp;msa=0&amp;msid=116517761457321127401.000467a02c69be02ec8e4&amp;ll=39.822949,-84.913845&amp;spn=0.006254,0.009656&amp;t=h&amp;z=17 Region Map] )<br /> # Pick ten points in your region and sample their temperatures. Record each point's coordinates. Be sure to pick points such that you will get a variety of temperatures (ie, pick tree and building shaded spots, sunny parking lots, points near steam tunnel exhaust grates)<br /> # Enter data into Open Office, with a column for coordinates and a column for temperature readings. Generate bar graphs based on this data.<br /> # Average your temperatures into one value and add it to the collaborative class Google Docs spreadsheet. Graph the averages.<br /> # Using your datapoints, add push pins to the collaborative class Google Docs map. Color the pins based on temperature ranges. Work with the other lab groups to come up with a sensible color scheme based on the range of temperatures you've found.<br /> <br /> ==== Write-up ====<br /> * Which tool was most appropriate for visualizing this data and why? <br /> * What was the most difficult part of the lab? Why?<br /> * Explore alternative ways to get the same data (instead of getting it yourself). Are there other data sources that would provide granular enough temperature data (Hint: use google)?<br /> * Describe the collaborative process with Google Spreadsheets and Google Maps. What was difficult? What was easier? Compare and contrast this experience with non-collaborative software. How would each group's data been collected into one document?<br /> <br /> ==== Software ==== <br /> * Web Browser<br /> * Google account<br /> * Open Office<br /> <br /> ==== Bill of Materials ====<br /> * GPS<br /> * Thermometer<br /> <br /> ==== Lab Notes ====<br /> * It is impossible to create 3 axis graphs in open office. Perhaps add more detail on how to create a working bar graph in OO.<br /> * GPS is mighty inaccurate. I am working on trying to get the differential working but perhaps it would be advantageous to have points taken from multiple areas.<br /> * We need more thermometers.<br /> * I didn't do the google docs part as I had no collaborators.<br /> * The instructions need to be more detailed on how to add points to a map on google maps<br /> Samuel Wein<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> What would be the best type of visualization for understanding the relationship between geographical region and political affiliation:<br /> * Bar graph<br /> * Table<br /> * &lt;b&gt;Mashup&lt;/b&gt;<br /> * 3d model<br /> <br /> ==== Quiz Questions ==== <br /> * XXX A question.<br /> <br /> = Visualization - Metadata = <br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> <br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** None.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** None.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> At the moment there isn't a whole lot of this in the unit. In the lab the students will have an opportunity to explore what they can do with google maps and with graphs.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> <br /> Try to find a tool to allow 3d graphs for the lab<br /> <br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matt Edlefsen<br /> Nate Smith</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=9460 CS382:Unit-mashup 2009-05-07T17:41:19Z <p>Edlefma: /* Authorship */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> ==== Introduction ====<br /> At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it. <br /> <br /> Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data. Just having data isn't enough. We have to understand what the data means. Without visualization our models are a lot less useful because we have no other way to understand what's happening in our models short of complicated numerical analysis. It also gives us a way to share useful information by compacting it into a powerful visualization that communicates all the information quickly.<br /> <br /> Show [http://www.gapminder.org/| Gapminder] and go through a good example. Talk about how this way of presenting the data makes information<br /> immediately obvious.<br /> <br /> Edward Tufte was one of the early pioneers of Visualization.<br /> <br /> Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> * Show the data.<br /> * Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> * Avoid distorting what the data have to say.<br /> * Present many numbers in a small space.<br /> * Make large data sets coherent.<br /> * Encourage the eye to compare different pieces of data.<br /> * Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> * Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> * Be closely integrated with the statistical and verbal descriptions of a data set.<br /> <br /> ==== Issues of Visualization ====<br /> <br /> * Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> * Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> * Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> * Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> <br /> ==== Types of Visualizations ====<br /> <br /> We are all familiar with common visualizations like graphs and tables, but now with computers we can create much more advanced visualizations that give us more information.<br /> <br /> * 3d physical models that give us interactive 3d structures that are potentially updated by new information in real time to allow us to give us a lot of information but also allow us to choose what aspect of the data to focus on. For example visualizing a model of a car crashing into something can give people a chance to actually see whats happening to all the different parts of the car from potentially a number of different angles.<br /> <br /> * Animated models allow use to use time as a dimension so we can put together more information. The animation could either represent how the model changes over time, or represent some other aspect of the model. The Gapminder visualization uses time to allow us to look at the different aspects of the world at each point in time so that not only can we see how the different countries interact but how those interactions have changed throughout the years.<br /> <br /> * Data maps and mashups are another new type of visualization the comes from now having detailed maps of the world with respect to a variety of different information sources. We have everything from satellite photos to road maps to weather data to census data. Using all these different sources combined on a single map we can see easily see how the different aspects correlate. In the lab students will be collecting temperature data and mashing it with satellite images.<br /> <br /> == Lab == <br /> Learning spreadsheet visualization tools and Google Maps to gain, respectively, immediately practical and useful skills and an alternate way to think about data.<br /> <br /> Highlevel outline: Students will be instructed to sample temperatures at several different points within some region of campus. They will pick their own points, recording each with a provided GPS unit. They will then enter the data into a spreadsheet and graph the results using different kinds of graphs. After that, each group will combine their data into one Google Map, putting pushpins in for each sample point and coloring the pin appropriately.<br /> <br /> ==== Process ====<br /> # With provided thermometer, go to your group's assigned region ( [http://maps.google.com/maps/ms?ie=UTF8&amp;msa=0&amp;msid=116517761457321127401.000467a02c69be02ec8e4&amp;ll=39.822949,-84.913845&amp;spn=0.006254,0.009656&amp;t=h&amp;z=17 Region Map] )<br /> # Pick ten points in your region and sample their temperatures. Record each point's coordinates. Be sure to pick points such that you will get a variety of temperatures (ie, pick tree and building shaded spots, sunny parking lots, points near steam tunnel exhaust grates)<br /> # Enter data into Open Office, with a column for coordinates and a column for temperature readings. Generate bar graphs based on this data.<br /> # Average your temperatures into one value and add it to the collaborative class Google Docs spreadsheet. Graph the averages.<br /> # Using your datapoints, add push pins to the collaborative class Google Docs map. Color the pins based on temperature ranges. Work with the other lab groups to come up with a sensible color scheme based on the range of temperatures you've found.<br /> <br /> ==== Write-up ====<br /> * Which tool was most appropriate for visualizing this data and why? <br /> * What was the most difficult part of the lab? Why?<br /> * Explore alternative ways to get the same data (instead of getting it yourself). Are there other data sources that would provide granular enough temperature data (Hint: use google)?<br /> * Describe the collaborative process with Google Spreadsheets and Google Maps. What was difficult? What was easier? Compare and contrast this experience with non-collaborative software. How would each group's data been collected into one document?<br /> <br /> ==== Software ==== <br /> * Web Browser<br /> * Google account<br /> * Open Office<br /> <br /> ==== Bill of Materials ====<br /> * GPS<br /> * Thermometer<br /> <br /> ==== Lab Notes ====<br /> * It is impossible to create 3 axis graphs in open office. Perhaps add more detail on how to create a working bar graph in OO.<br /> * GPS is mighty inaccurate. I am working on trying to get the differential working but perhaps it would be advantageous to have points taken from multiple areas.<br /> * We need more thermometers.<br /> * I didn't do the google docs part as I had no collaborators.<br /> * The instructions need to be more detailed on how to add points to a map on google maps<br /> Samuel Wein<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Whats the best type of visualization for X set of data?<br /> * XXX<br /> * XXX<br /> <br /> ==== Quiz Questions ==== <br /> * XXX A question.<br /> <br /> = Visualization - Metadata = <br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> <br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** None.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** None.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> At the moment there isn't a whole lot of this in the unit. In the lab the students will have an opportunity to explore what they can do with google maps and with graphs.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> <br /> Try to find a tool to allow 3d graphs for the lab<br /> <br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matt Edlefsen<br /> Nate Smith</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=9459 CS382:Unit-mashup 2009-05-07T17:41:02Z <p>Edlefma: /* To Do */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> ==== Introduction ====<br /> At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it. <br /> <br /> Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data. Just having data isn't enough. We have to understand what the data means. Without visualization our models are a lot less useful because we have no other way to understand what's happening in our models short of complicated numerical analysis. It also gives us a way to share useful information by compacting it into a powerful visualization that communicates all the information quickly.<br /> <br /> Show [http://www.gapminder.org/| Gapminder] and go through a good example. Talk about how this way of presenting the data makes information<br /> immediately obvious.<br /> <br /> Edward Tufte was one of the early pioneers of Visualization.<br /> <br /> Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> * Show the data.<br /> * Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> * Avoid distorting what the data have to say.<br /> * Present many numbers in a small space.<br /> * Make large data sets coherent.<br /> * Encourage the eye to compare different pieces of data.<br /> * Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> * Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> * Be closely integrated with the statistical and verbal descriptions of a data set.<br /> <br /> ==== Issues of Visualization ====<br /> <br /> * Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> * Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> * Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> * Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> <br /> ==== Types of Visualizations ====<br /> <br /> We are all familiar with common visualizations like graphs and tables, but now with computers we can create much more advanced visualizations that give us more information.<br /> <br /> * 3d physical models that give us interactive 3d structures that are potentially updated by new information in real time to allow us to give us a lot of information but also allow us to choose what aspect of the data to focus on. For example visualizing a model of a car crashing into something can give people a chance to actually see whats happening to all the different parts of the car from potentially a number of different angles.<br /> <br /> * Animated models allow use to use time as a dimension so we can put together more information. The animation could either represent how the model changes over time, or represent some other aspect of the model. The Gapminder visualization uses time to allow us to look at the different aspects of the world at each point in time so that not only can we see how the different countries interact but how those interactions have changed throughout the years.<br /> <br /> * Data maps and mashups are another new type of visualization the comes from now having detailed maps of the world with respect to a variety of different information sources. We have everything from satellite photos to road maps to weather data to census data. Using all these different sources combined on a single map we can see easily see how the different aspects correlate. In the lab students will be collecting temperature data and mashing it with satellite images.<br /> <br /> == Lab == <br /> Learning spreadsheet visualization tools and Google Maps to gain, respectively, immediately practical and useful skills and an alternate way to think about data.<br /> <br /> Highlevel outline: Students will be instructed to sample temperatures at several different points within some region of campus. They will pick their own points, recording each with a provided GPS unit. They will then enter the data into a spreadsheet and graph the results using different kinds of graphs. After that, each group will combine their data into one Google Map, putting pushpins in for each sample point and coloring the pin appropriately.<br /> <br /> ==== Process ====<br /> # With provided thermometer, go to your group's assigned region ( [http://maps.google.com/maps/ms?ie=UTF8&amp;msa=0&amp;msid=116517761457321127401.000467a02c69be02ec8e4&amp;ll=39.822949,-84.913845&amp;spn=0.006254,0.009656&amp;t=h&amp;z=17 Region Map] )<br /> # Pick ten points in your region and sample their temperatures. Record each point's coordinates. Be sure to pick points such that you will get a variety of temperatures (ie, pick tree and building shaded spots, sunny parking lots, points near steam tunnel exhaust grates)<br /> # Enter data into Open Office, with a column for coordinates and a column for temperature readings. Generate bar graphs based on this data.<br /> # Average your temperatures into one value and add it to the collaborative class Google Docs spreadsheet. Graph the averages.<br /> # Using your datapoints, add push pins to the collaborative class Google Docs map. Color the pins based on temperature ranges. Work with the other lab groups to come up with a sensible color scheme based on the range of temperatures you've found.<br /> <br /> ==== Write-up ====<br /> * Which tool was most appropriate for visualizing this data and why? <br /> * What was the most difficult part of the lab? Why?<br /> * Explore alternative ways to get the same data (instead of getting it yourself). Are there other data sources that would provide granular enough temperature data (Hint: use google)?<br /> * Describe the collaborative process with Google Spreadsheets and Google Maps. What was difficult? What was easier? Compare and contrast this experience with non-collaborative software. How would each group's data been collected into one document?<br /> <br /> ==== Software ==== <br /> * Web Browser<br /> * Google account<br /> * Open Office<br /> <br /> ==== Bill of Materials ====<br /> * GPS<br /> * Thermometer<br /> <br /> ==== Lab Notes ====<br /> * It is impossible to create 3 axis graphs in open office. Perhaps add more detail on how to create a working bar graph in OO.<br /> * GPS is mighty inaccurate. I am working on trying to get the differential working but perhaps it would be advantageous to have points taken from multiple areas.<br /> * We need more thermometers.<br /> * I didn't do the google docs part as I had no collaborators.<br /> * The instructions need to be more detailed on how to add points to a map on google maps<br /> Samuel Wein<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Whats the best type of visualization for X set of data?<br /> * XXX<br /> * XXX<br /> <br /> ==== Quiz Questions ==== <br /> * XXX A question.<br /> <br /> = Visualization - Metadata = <br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> <br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** None.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** None.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> At the moment there isn't a whole lot of this in the unit. In the lab the students will have an opportunity to explore what they can do with google maps and with graphs.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> <br /> Try to find a tool to allow 3d graphs for the lab<br /> <br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matthew Edlefsen</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=9458 CS382:Unit-mashup 2009-05-07T17:39:48Z <p>Edlefma: /* Lecture Notes */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> ==== Introduction ====<br /> At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it. <br /> <br /> Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data. Just having data isn't enough. We have to understand what the data means. Without visualization our models are a lot less useful because we have no other way to understand what's happening in our models short of complicated numerical analysis. It also gives us a way to share useful information by compacting it into a powerful visualization that communicates all the information quickly.<br /> <br /> Show [http://www.gapminder.org/| Gapminder] and go through a good example. Talk about how this way of presenting the data makes information<br /> immediately obvious.<br /> <br /> Edward Tufte was one of the early pioneers of Visualization.<br /> <br /> Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> * Show the data.<br /> * Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> * Avoid distorting what the data have to say.<br /> * Present many numbers in a small space.<br /> * Make large data sets coherent.<br /> * Encourage the eye to compare different pieces of data.<br /> * Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> * Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> * Be closely integrated with the statistical and verbal descriptions of a data set.<br /> <br /> ==== Issues of Visualization ====<br /> <br /> * Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> * Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> * Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> * Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> <br /> ==== Types of Visualizations ====<br /> <br /> We are all familiar with common visualizations like graphs and tables, but now with computers we can create much more advanced visualizations that give us more information.<br /> <br /> * 3d physical models that give us interactive 3d structures that are potentially updated by new information in real time to allow us to give us a lot of information but also allow us to choose what aspect of the data to focus on. For example visualizing a model of a car crashing into something can give people a chance to actually see whats happening to all the different parts of the car from potentially a number of different angles.<br /> <br /> * Animated models allow use to use time as a dimension so we can put together more information. The animation could either represent how the model changes over time, or represent some other aspect of the model. The Gapminder visualization uses time to allow us to look at the different aspects of the world at each point in time so that not only can we see how the different countries interact but how those interactions have changed throughout the years.<br /> <br /> * Data maps and mashups are another new type of visualization the comes from now having detailed maps of the world with respect to a variety of different information sources. We have everything from satellite photos to road maps to weather data to census data. Using all these different sources combined on a single map we can see easily see how the different aspects correlate. In the lab students will be collecting temperature data and mashing it with satellite images.<br /> <br /> == Lab == <br /> Learning spreadsheet visualization tools and Google Maps to gain, respectively, immediately practical and useful skills and an alternate way to think about data.<br /> <br /> Highlevel outline: Students will be instructed to sample temperatures at several different points within some region of campus. They will pick their own points, recording each with a provided GPS unit. They will then enter the data into a spreadsheet and graph the results using different kinds of graphs. After that, each group will combine their data into one Google Map, putting pushpins in for each sample point and coloring the pin appropriately.<br /> <br /> ==== Process ====<br /> # With provided thermometer, go to your group's assigned region ( [http://maps.google.com/maps/ms?ie=UTF8&amp;msa=0&amp;msid=116517761457321127401.000467a02c69be02ec8e4&amp;ll=39.822949,-84.913845&amp;spn=0.006254,0.009656&amp;t=h&amp;z=17 Region Map] )<br /> # Pick ten points in your region and sample their temperatures. Record each point's coordinates. Be sure to pick points such that you will get a variety of temperatures (ie, pick tree and building shaded spots, sunny parking lots, points near steam tunnel exhaust grates)<br /> # Enter data into Open Office, with a column for coordinates and a column for temperature readings. Generate bar graphs based on this data.<br /> # Average your temperatures into one value and add it to the collaborative class Google Docs spreadsheet. Graph the averages.<br /> # Using your datapoints, add push pins to the collaborative class Google Docs map. Color the pins based on temperature ranges. Work with the other lab groups to come up with a sensible color scheme based on the range of temperatures you've found.<br /> <br /> ==== Write-up ====<br /> * Which tool was most appropriate for visualizing this data and why? <br /> * What was the most difficult part of the lab? Why?<br /> * Explore alternative ways to get the same data (instead of getting it yourself). Are there other data sources that would provide granular enough temperature data (Hint: use google)?<br /> * Describe the collaborative process with Google Spreadsheets and Google Maps. What was difficult? What was easier? Compare and contrast this experience with non-collaborative software. How would each group's data been collected into one document?<br /> <br /> ==== Software ==== <br /> * Web Browser<br /> * Google account<br /> * Open Office<br /> <br /> ==== Bill of Materials ====<br /> * GPS<br /> * Thermometer<br /> <br /> ==== Lab Notes ====<br /> * It is impossible to create 3 axis graphs in open office. Perhaps add more detail on how to create a working bar graph in OO.<br /> * GPS is mighty inaccurate. I am working on trying to get the differential working but perhaps it would be advantageous to have points taken from multiple areas.<br /> * We need more thermometers.<br /> * I didn't do the google docs part as I had no collaborators.<br /> * The instructions need to be more detailed on how to add points to a map on google maps<br /> Samuel Wein<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Whats the best type of visualization for X set of data?<br /> * XXX<br /> * XXX<br /> <br /> ==== Quiz Questions ==== <br /> * XXX A question.<br /> <br /> = Visualization - Metadata = <br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> <br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** None.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** None.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> At the moment there isn't a whole lot of this in the unit. In the lab the students will have an opportunity to explore what they can do with google maps and with graphs.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> &lt;font color=&quot;red&quot;&gt;Consider doing something based on IBM's Many Eyes tool.&lt;/font&gt;<br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matthew Edlefsen</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=9452 CS382:Unit-mashup 2009-05-07T16:39:23Z <p>Edlefma: /* Lecture Notes */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> === Lecture 1 ===<br /> ==== Introduction ====<br /> At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it. <br /> <br /> Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data.<br /> <br /> Show [http://www.gapminder.org/| Gapminder] and go through a good example. Talk about how this way of presenting the data makes information<br /> immediately obvious. Just having <br /> Introduce Tufte as one of the people to help formalize the notion of visualization.<br /> <br /> Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> * Show the data.<br /> * Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> * Avoid distorting what the data have to say.<br /> * Present many numbers in a small space.<br /> * Make large data sets coherent.<br /> * Encourage the eye to compare different pieces of data.<br /> * Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> * Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> * Be closely integrated with the statistical and verbal descriptions of a data set.<br /> <br /> <br /> * Issues of visualization<br /> ** Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> ** Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> ** Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> ** Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> * Go through a couple of examples of creating visualizations referring back to Tufte's list and the issues.<br /> * Types of Visualizations (A sampling)<br /> ** Tables<br /> ** Graphs<br /> ** Charts<br /> ** Sparklines<br /> ** Time Series<br /> ** Data maps and mashups<br /> <br /> <br /> === Examples ===<br /> Show some examples and ask what their pros and cons are and what insights they allow. Go through Tufte's list and identify which rules the visualizations follow.<br /> * [http://upload.wikimedia.org/wikipedia/commons/2/29/Minard.png| March of Napoleon]<br /> *<br /> <br /> == Lab == <br /> Learning spreadsheet visualization tools and Google Maps to gain, respectively, immediately practical and useful skills and an alternate way to think about data.<br /> <br /> Highlevel outline: Students will be instructed to sample temperatures at several different points within some region of campus. They will pick their own points, recording each with a provided GPS unit. They will then enter the data into a spreadsheet and graph the results using different kinds of graphs. After that, each group will combine their data into one Google Map, putting pushpins in for each sample point and coloring the pin appropriately.<br /> <br /> ==== Process ====<br /> # With provided thermometer, go to your group's assigned region ( [http://maps.google.com/maps/ms?ie=UTF8&amp;msa=0&amp;msid=116517761457321127401.000467a02c69be02ec8e4&amp;ll=39.822949,-84.913845&amp;spn=0.006254,0.009656&amp;t=h&amp;z=17 Region Map] )<br /> # Pick ten points in your region and sample their temperatures. Record each point's coordinates. Be sure to pick points such that you will get a variety of temperatures (ie, pick tree and building shaded spots, sunny parking lots, points near steam tunnel exhaust grates)<br /> # Enter data into Open Office, with a column for coordinates and a column for temperature readings. Generate bar graphs based on this data.<br /> # Average your temperatures into one value and add it to the collaborative class Google Docs spreadsheet. Graph the averages.<br /> # Using your datapoints, add push pins to the collaborative class Google Docs map. Color the pins based on temperature ranges. Work with the other lab groups to come up with a sensible color scheme based on the range of temperatures you've found.<br /> <br /> ==== Write-up ====<br /> * Which tool was most appropriate for visualizing this data and why? <br /> * What was the most difficult part of the lab? Why?<br /> * Explore alternative ways to get the same data (instead of getting it yourself). Are there other data sources that would provide granular enough temperature data (Hint: use google)?<br /> * Describe the collaborative process with Google Spreadsheets and Google Maps. What was difficult? What was easier? Compare and contrast this experience with non-collaborative software. How would each group's data been collected into one document?<br /> <br /> ==== Software ==== <br /> * Web Browser<br /> * Google account<br /> * Open Office<br /> <br /> ==== Bill of Materials ====<br /> * GPS<br /> * Thermometer<br /> <br /> ==== Lab Notes ====<br /> * It is impossible to create 3 axis graphs in open office. Perhaps add more detail on how to create a working bar graph in OO.<br /> * GPS is mighty inaccurate. I am working on trying to get the differential working but perhaps it would be advantageous to have points taken from multiple areas.<br /> * We need more thermometers.<br /> * I didn't do the google docs part as I had no collaborators.<br /> * The instructions need to be more detailed on how to add points to a map on google maps<br /> Samuel Wein<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Whats the best type of visualization for X set of data?<br /> * XXX<br /> * XXX<br /> <br /> ==== Quiz Questions ==== <br /> * XXX A question.<br /> <br /> = Visualization - Metadata = <br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> <br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** None.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** None.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> At the moment there isn't a whole lot of this in the unit. In the lab the students will have an opportunity to explore what they can do with google maps and with graphs.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> &lt;font color=&quot;red&quot;&gt;Consider doing something based on IBM's Many Eyes tool.&lt;/font&gt;<br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matthew Edlefsen</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Predator-Prey&diff=9425 CS382:Predator-Prey 2009-05-07T04:20:56Z <p>Edlefma: /* Lab Feedback */</p> <hr /> <div>= Predator Prey ( Lynx Hare ) = <br /> == Overview ==<br /> <br /> The predator prey unit will last for a week and a half. (Or, 3 classes) The purpose of this unit is to teach the students of this class about using system dynamics, using predator-prey interaction as a vehicle to facilitate the student's understanding of how the systems dynamics approach to modeling functions. This unit will consist of a lab where students use a couple of different simulation models to explore the intricacies of how predator and prey interact, both agent-based and system dynamics based.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> ** Great compilation of knowledge on the subject. Is the primary source for the present lecture notes.<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> ** Another compilation of knowledge used extensively in the lecture notes.<br /> <br /> == Reading Assignments for Students ==<br /> * Given the reference materials present so far, it's possible that rather than having a link to online reading assignments, we may have to create paper handouts based on the materials that we have links to.<br /> <br /> * A handout created from parts of the US Dept. Of Energy's guide to System Dynamics seems like a very good place to start.<br /> <br /> == Reference Material ==<br /> * [http://www.mysciencebox.org/book/export/html/81 Page on Lynx - Hare Populations]<br /> ** A page detailing the relationship between the populations on Lynx and Hares. It also shows a graph and asks students to do several questions based on that graph.<br /> * [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Talks about Lynx - Hare as a Pred/Prey model]<br /> ** Talks about the Lynx / Hare model of predator prey, and the relationship between the two populations.<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model]<br /> ** The starting agent-based wolf-sheep predator-prey model.<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> ** This is the starting model system dynamics model that we took apart and modified to build the rest of the lab based on.<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> ** Introduction to systems dynamics. Tells you everything you need to know about System Dynamics to get started. This is where the majority of the reading assignments will be coming from.<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> ** System Dynamics Wiki. Should be given out as a reference at the beginning of the unit for students who need additional understanding on the topic.<br /> <br /> == Lecture Notes == <br /> Outline of the lectures designed to fit into 2 1:20 slots per week. This unit lasts 1 1/2 weeks, so requires 3 lectures.<br /> &lt;font color=&quot;darkmagenta&quot;&gt;I dig the detail of these lecture notes. Do more!&lt;/font&gt;<br /> <br /> '''Lecture 1:'''<br /> <br /> * Intro &amp; Concepts<br /> ** What is system dynamics? &lt;font color=&quot;darkmagenta&quot;&gt;for instance, answer these&lt;/font&gt;<br /> ** What is it for?<br /> ** What does it let you do?<br /> *** Systems dynamics lets you sketch out the relationships between all the components of a dynamic system, and given those relationships, will allow you to predict how the system behaves over a period of time. Will it result in a fluctuating growth? Exponential growth? Perfect equilibrium? All of these questions should be answerable using this type of model.<br /> ** Why use System Dynamics? When should you use it?<br /> *** The answer to this question is essentially the same as why you should use any other model. It's oftentimes quicker, cheaper and safer to alter a model and run tests on that than to alter a real system and run tests on that. Additionally, a failure in a model will allow you to predict a failure in a real system.<br /> *** Failure in a real system often has catastrophic consequences, such as the loss of lives. The failure of a model is often much less devastating, resulting in perhaps a &quot;Darn. Well, back to the drawing board.&quot; instead of &quot;My son/daughter was in that building!&quot;<br /> ** Strengths / Weaknesses &lt;font color=&quot;darkmagenta&quot;&gt;and list some of these&lt;/font&gt;<br /> <br /> * Basic Terminology (Building Blocks)<br /> ** Time Paths<br /> *** A time path is how something changes over time (either the whole system or an aspect of the system).<br /> ** Link<br /> *** Feedback Loop<br /> ** Stock<br /> *** A stock is a quantity of objects that's variable in nature. Examples of this are the number of sheep in a pasture, the number of fish in a pond, the amount of oil left in the world, the number of tanks in the US military, etc.<br /> ** Flow<br /> *** This represents the flow of resources either into or out of a stock. For instance, drilling would represent a flow out of the stock of oil in Alaska, and into the stock of oil in the US Oil Reserve.<br /> <br /> * Causal Loop Diagram<br /> ** Pictures used to convey understanding of interactions or influences within the structure. It's used specifically to show the influential interactions between two elements of a structure.<br /> ** The main conventions that are used to display a loop are the &quot;+&quot;, &quot;-&quot;, &quot;S&quot; and &quot;O&quot;<br /> ** That is to say, that if a arrow is shown from A to B with a + on it, it means that A adds to B. As A increases, it adds more and more to B, and as it decreases, it adds less and less, but still adds to B<br /> ** With a - shown with the arrow, A subtracts from B. As A grows, it subtracts more and more from B. As A diminishes, it subtracts less and less from B (But still subtracts)<br /> ** With a S shown with the arrow, A and B grow in the same direction. This means that as A increases, B increases, and vice versa.<br /> ** A O indicates that A and B grow in opposite directions, I.E. as A shrinks B grows and vice versa.<br /> ** With no label, it indicates that A is considered a constant.<br /> ** The Causal loop diagram gives no indication as to the strength of the influence of the two elements, it just shows the nature of the influence.<br /> ** There are, generally speaking, two types of Causal loops. A Reinforcing loop and a Balancing loop.<br /> *** In a reinforcing loop, each action adds to the other. An action that produces a result that produces more of the same action is a reinforcing loop.<br /> *** In a balancing loop, any action attempts to bring two things to agreement. A situation where one tries to solve a problem or achieve a goal is representative of a balancing loop.<br /> <br /> <br /> '''Lecture 2:'''<br /> <br /> *More Terminology<br /> ** System Dynamics is interested in the behavior of systems over a period of time. Time paths are critical to expressing this.<br /> ** Types of Time Paths<br /> *** Linear Family<br /> **** Growth / Decline<br /> ***** The notion that most systems grow / decline under a linear curve is in fact incorrect. A linear growth or decline indicates a system which is devoid of feedback.<br /> ***** Feedback is a crucial part for the growth or decay of any system.<br /> **** Equilibrium<br /> ***** The expression of a system under which there is no pressure for change, or a system in which all variables reach their desired state at the same point in time<br /> ***** Note that this is an extremely artificial scenario, most systems do NOT reach or maintain equilibrium.<br /> *** Exponential Family<br /> **** Paths showing exponential growth and exponential decay. Real systems tend to grow along exponential paths rather than linear paths.<br /> *** Goal-Seeking Family<br /> **** Displayed in most living, and some nonliving systems<br /> *** Oscillation Family<br /> **** Sustained<br /> ***** Characterized by a predictable periodicity.<br /> ***** Predator-Prey relations are often characterized by this, as while the individual oscillations may vary, they often follow a predictable oscillating pattern in that the rise of the prey population indicates the rise of the predator population, and the decline of a prey population causes the decline of a predator population.<br /> **** Dampened<br /> ***** Displayed by systems that display dissipation or relaxation processes, such as friction or information smoothing.<br /> **** Exploding<br /> ***** Starts of smoothly, but grow until either the system settles down or is torn apart.<br /> ***** This pattern occurs infrequently in real-world situations, and doesn't last long when it does.<br /> **** Chaos<br /> ***** A unique type of oscillation, as it basically represents a random pattern generated by a system that is devoid of randomness<br /> *** S-Shaped Family<br /> **** This is extremely visible in the [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model] when the grass is taken out of the equation. The sheep population goes too high, which in turn causes the wolf population to increase too much, which leads to an irrecoverable decline in the sheep population. (Extinction)<br /> **** This is referred to as an &quot;Overshoot and crash&quot; system.<br /> <br /> * Review of the &quot;Building Blocks&quot; of a System Dynamics model<br /> <br /> <br /> '''Lecture 3:'''<br /> <br /> * Review of Class 1 and 2.<br /> ** Still working on material for this. &lt;font color=&quot;darkmagenta&quot;&gt;Fair enough&lt;/font&gt;<br /> <br /> == Lab == <br /> ==== Process ====<br /> * Open up the Netlogo Lynx-Hare model showing both an agent based model and an empty system dynamics model. <br /> ** Start Netlogo.<br /> ** Click File-&gt;Open and select pred.nlogo<br /> ** Two windows should pop up, focus on the one that has buttons and input boxes on it.<br /> * Play around with the agent based model and observe the behavior of the model:<br /> ** Press the Setup button on the left side of the model.<br /> ** Enter the values you want in the various input boxes<br /> ** Press the Go button.<br /> * Observing the agent based model, identify parts of the system dynamics model:<br /> ** Determine the stocks in this model.<br /> ** Determine the flows.<br /> *** Determine what effects the sheep birth / death rate.<br /> *** Determine what effects the wolf birth / death rate.<br /> ** Figure out the variables then look at how you can tweak the simulation.<br /> * Draw a causal loop diagram using the above information.<br /> * Implement the System Dynamics Netlogo model using the causal loop diagram: (TODO: How to name the parts of the model)<br /> ** Focus on the other window that came up when you opened the model.<br /> ** For each stock in your causal loop diagram, click the Stock button at the top and then click somewhere in the blank area.<br /> ** For each of the placed stocks place two flows, one on the left and one on the right of each stock. Connect the flows to the stock by clicking and dragging the close end of the flow to the stock.<br /> ** In each of the stocks input the appropriate equations.<br /> ** Click the Check button and return to the other window.<br /> * Experiment with different values for the two models.<br /> ** Make notes of what you notice.<br /> * In &lt;Some piece of software Charlie is getting us&gt;, collect data points from a run of the agent based model. Fit a curve to this data. Using the curve equations, configure the system dynamics model to produce a result similar to the one gleaned from the agent-based simulation. (TODO: this needs to be fleshed out more)<br /> ** We will be providing a set of values for the agent-based model. &lt;font color=&quot;blue&quot;&gt;Do you have these?&lt;/font&gt;<br /> ** We need to determine exactly how to do this in Excel. <br /> * Evaluation for correctness / completeness.<br /> ** Evaluate the correctness of the system dynamics model. &lt;font color=&quot;blue&quot;&gt;How? Be more specific, please. For the poor confused freshmen.&lt;/font&gt; <br /> ** Evaluate how well the results of the system dynamics model meshed with the results generated by the agent-based model.<br /> <br /> ==== Write-up ====<br /> * Required Elements:<br /> ** Provide all the stuff we told them to to in the procedure.<br /> *** What are the stocks?<br /> *** What are the flows?<br /> *** How can the simulation be tweaked?<br /> *** A causal loop diagram.<br /> *** Netlogo implementation of the system dynamics model.<br /> *** Excel file with the fit curve.<br /> *** An explanation of how they came up with the values for the system dynamics model based on the fitted curve.<br /> * Visualization opportunities:<br /> ** Placeholder.<br /> * Optional elements:<br /> ** Placeholder.<br /> * Provide a template for the first couple of labs ala CS128?<br /> ** Placeholder.<br /> <br /> ==== Software ====<br /> * Custom Lynx-Hare model based on [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> <br /> ==== Bill of Materials ==== <br /> * I don't think it will be practical to try and conduct a lab for this unit with anything but software.<br /> * So far all the software that we've found is open-source and free.<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What type of oscillation does it show?<br /> ** A. Chaos<br /> ** B. Explosive<br /> ** C. Dampening<br /> ** D. '''Sustained'''<br /> * What is a good example of a reinforcing loop?<br /> ** A. Uncontrolled fishing in a lake<br /> ** B. Spilling wine on a carpet<br /> ** C. '''A Stock Market crash'''<br /> ** D. Parents buying a child toys<br /> <br /> ==== Quiz Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What is the average periodicity of the oscillation?<br /> * Give an example of a system with a explosive type of oscillating time path.<br /> * Pick a system from the following list, and draw a model of it.<br /> ** System A<br /> ** System B<br /> ** Etc.<br /> * What is an example of a stock?<br /> ** Fish in a lake<br /> ** The net worth of the stock market<br /> ** Wine in a glass<br /> ** '''All of the above'''<br /> * Draw an example of a system following the explosive oscillation pattern.<br /> * What growth model is displayed by most systems?<br /> ** '''Exponential increase'''<br /> ** Dampening oscillation<br /> ** Linear increase<br /> ** Equilibrium<br /> <br /> = Predator Prey Metadata =<br /> This section contains information about the goals of the unit and the approaches taken to meet them.<br /> et them.<br /> <br /> == Scheduling == <br /> * Given that this unit employs agent-based modeling as a introductory element in order to make the switch to system dynamics, it would be best if this unit came after a unit on agent-based modeling, or at least a unit in which students were introduced to agent-based modeling.<br /> == Concepts, Techniques and Tools == <br /> This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** Complete. The entire unit is about students learning exactly what you can do with a system dynamics model. It would be impossible to teach that without discussing the properties of the model and what operations you could perform on it.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** Partial. The way the unit works is by teaching students about the class of model, and has them build a specific one as part of a lab activity.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** Partial. The lab activity involves constructing a model, manipulating the data that goes in, and then collecting results, but not in order to satisfy a concrete problem.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Complete. Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Complete. We are using mathematics to solve problems.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** Complete. In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** Partial. Only so much as these ideas would be helpful in a particular model.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** Complete. Experimentation is used when developing models and there is an analysis part of our lab.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Complete. When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** Complete. They can model natural systems including our example, Predator-Prey models.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** Complete. Experimentation is used when developing models.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Partial. We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> <br /> == Scaffolded Learning ==<br /> * The scaffold approach in this unit is aimed at building a bare-bones understanding of system dynamics, then slowly adding layers of complexity and moving up the complexity ladder until the students have a <br /> <br /> == Inquiry Based Learning == <br /> Some prose.<br /> <br /> &lt;font color=&quot;red&quot;&gt;Consider open-ended questions for the students to explore in the context of the lab. What happens when you change X? Why? &lt;/font&gt;<br /> <br /> = Predator Prey Mechanics = <br /> == General Feedback ==<br /> * A list of items maintained by the authors, Charlie, and the Reviewers.<br /> <br /> == Lab Feedback ==<br /> === Run 1 ===<br /> It took about 20 min without doing a full write-up or the last part. The instructions were a little sparse and assumed knowledge of the tools. However the basics of the lab work well and gives students a chance to actually see how a systems dynamics model can be created and run, and explores the difference between it and Agent based modeling. It would have been nice to have the final part ready as I think it is in a lot of ways the kicker of the lab but even if it's not included it's still a fairly strong lab. I think it's an appropriate difficulty in that there it requires students to apply what they've learned and use a new tool but, assuming the instructions were fleshed out, provides enough scaffolding to help them get through it without much despair.<br /> <br /> == Archived Feedback ==<br /> <br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Put answers to CRS / quiz Qs in bold&lt;/font&gt;<br /> ** Done.<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Come up with something concrete, then go into detail on it (at least to the level of procedure). That'll make it easier to evaluate where to go with it in the greater scheme of things, and to offer suggestions for what might be most effective.&lt;/font&gt; &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> ** Done.<br /> * &lt;font color=&quot;blue&quot;&gt;They're going to need to know how to get to that one.&lt;/font&gt;<br /> * &lt;font color=&quot;blue&quot;&gt;How should they determine these?&lt;/font&gt;<br /> ** More information on how put in.<br /> * &lt;font color=&quot;blue&quot;&gt;???&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;I have only a vague idea of what this means. I can see that there's an interface in Netlogo to edit the diagram, but what exactly do they need to do?&lt;/font&gt;<br /> ** Fleshed out the details more.<br /> * &lt;font color=&quot;blue&quot;&gt;Yep. You're supposed to do it as part of the lab writeup for this week for people to be able to do your lab. :P&lt;/font&gt;<br /> ** d(^_^)b<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Maybe I'm just terrible at using the browser interface, but the diagram window did not pop up for me in either Firefox or Safari. Using the Netlogo on my machine, though, I had both windows for the diagram and testing. If I'm doing something wrong, then it needs instructions; otherwise we might need to make them download it for reals (gasp)&lt;/font&gt;<br /> ** No longer being done in the browser<br /> *&lt;font color=red&gt;Make a new model with the correct vermin.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Could we also just change the name of the unit?&lt;/font&gt;<br /> ** Done. (or at least it will be.)<br /> <br /> = Authorship = <br /> <br /> Dylan Parkhurst<br /> <br /> Matt Edlefsen</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=9280 CS382:Unit-mashup 2009-04-27T07:18:45Z <p>Edlefma: /* Visualization - Metadata */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> === Lecture 1 ===<br /> ==== Introduction ====<br /> At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it. <br /> <br /> Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data.<br /> <br /> Show [http://www.gapminder.org/| Gapminder] and go through a good example. Talk about how this way of presenting the data makes information<br /> immediately obvious. Just having <br /> Introduce Tufte as one of the people to help formalize the notion of visualization.<br /> <br /> Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> * Show the data.<br /> * Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> * Avoid distorting what the data have to say.<br /> * Present many numbers in a small space.<br /> * Make large data sets coherent.<br /> * Encourage the eye to compare different pieces of data.<br /> * Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> * Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> * Be closely integrated with the statistical and verbal descriptions of a data set.<br /> <br /> === Examples ===<br /> Show some examples and ask what their pros and cons are and what insights they allow. Go through Tufte's list and identify which rules the visualizations follow.<br /> * [http://upload.wikimedia.org/wikipedia/commons/2/29/Minard.png| March of Napoleon]<br /> * <br /> <br /> ** Ask students what &lt;font color=&quot;darkmagenta&quot;&gt; what what?&lt;/font&gt;<br /> * Issues of visualization<br /> ** Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> ** Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> ** Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> ** Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> * Go through a couple of examples of creating visualizations referring back to Tufte's list and the issues.<br /> * Types of Visualizations (A sampling)<br /> ** Tables<br /> ** Graphs<br /> ** Charts<br /> ** Sparklines<br /> ** Time Series<br /> ** Data maps and mashups<br /> <br /> &lt;font color=&quot;red&quot;&gt;Seems a bit short. Acquiring data, conditioning data, tools to use for those and visualization. <br /> <br /> Consider showing really good graphics (Napoleon, earthquake video, etc.) and really bad ones (Tufte's examples) as part of the lecture. Much easier to show good and bad then explain it.&lt;/font&gt;<br /> <br /> == Lab == <br /> Learning spreadsheet visualization tools and Google Maps to gain, respectively, immediately practical and useful skills and an alternate way to think about data.<br /> <br /> Highlevel outline: Students will be instructed to sample temperatures at several different points within some region of campus. They will pick their own points, recording each with a provided GPS unit. They will then enter the data into a spreadsheet and graph the results using different kinds of graphs. After that, each group will combine their data into one Google Map, putting pushpins in for each sample point and coloring the pin appropriately.<br /> <br /> ==== Process ====<br /> # With provided thermometer, go to your group's assigned region ( [http://maps.google.com/maps/ms?ie=UTF8&amp;msa=0&amp;msid=116517761457321127401.000467a02c69be02ec8e4&amp;ll=39.822949,-84.913845&amp;spn=0.006254,0.009656&amp;t=h&amp;z=17 Region Map] )<br /> # Pick ten points in your region and sample their temperatures. Record each point's coordinates. Be sure to pick points such that you will get a variety of temperatures (ie, pick tree and building shaded spots, sunny parking lots, points near steam tunnel exhaust grates)<br /> # Enter data into Open Office, with a column for coordinates and a column for temperature readings. Generate bar graphs based on this data.<br /> # Average your temperatures into one value and add it to the collaborative class Google Docs spreadsheet. Graph the averages.<br /> # Using your datapoints, add push pins to the collaborative class Google Docs map. Color the pins based on temperature ranges. Work with the other lab groups to come up with a sensible color scheme based on the range of temperatures you've found.<br /> <br /> ==== Write-up ====<br /> * Which tool was most appropriate for visualizing this data and why? <br /> * What was the most difficult part of the lab? Why?<br /> * Explore alternative ways to get the same data (instead of getting it yourself). Are there other data sources that would provide granular enough temperature data (Hint: use google)?<br /> * Describe the collaborative process with Google Spreadsheets and Google Maps. What was difficult? What was easier? Compare and contrast this experience with non-collaborative software. How would each group's data been collected into one document?<br /> <br /> ==== Software ==== <br /> * Web Browser<br /> * Google account<br /> * Open Office<br /> <br /> ==== Bill of Materials ====<br /> * GPS<br /> * Thermometer<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Whats the best type of visualization for X set of data?<br /> * XXX<br /> * XXX<br /> <br /> ==== Quiz Questions ==== <br /> * XXX A question.<br /> <br /> = Visualization - Metadata = <br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> <br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** None.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** None.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> At the moment there isn't a whole lot of this in the unit. In the lab the students will have an opportunity to explore what they can do with google maps and with graphs.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> &lt;font color=&quot;red&quot;&gt;Consider doing something based on IBM's Many Eyes tool.&lt;/font&gt;<br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matthew Edlefsen</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=9279 CS382:Unit-mashup 2009-04-27T07:16:34Z <p>Edlefma: /* Inquiry Based Learning */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> === Lecture 1 ===<br /> ==== Introduction ====<br /> At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it. <br /> <br /> Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data.<br /> <br /> Show [http://www.gapminder.org/| Gapminder] and go through a good example. Talk about how this way of presenting the data makes information<br /> immediately obvious. Just having <br /> Introduce Tufte as one of the people to help formalize the notion of visualization.<br /> <br /> Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> * Show the data.<br /> * Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> * Avoid distorting what the data have to say.<br /> * Present many numbers in a small space.<br /> * Make large data sets coherent.<br /> * Encourage the eye to compare different pieces of data.<br /> * Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> * Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> * Be closely integrated with the statistical and verbal descriptions of a data set.<br /> <br /> === Examples ===<br /> Show some examples and ask what their pros and cons are and what insights they allow. Go through Tufte's list and identify which rules the visualizations follow.<br /> * [http://upload.wikimedia.org/wikipedia/commons/2/29/Minard.png| March of Napoleon]<br /> * <br /> <br /> ** Ask students what &lt;font color=&quot;darkmagenta&quot;&gt; what what?&lt;/font&gt;<br /> * Issues of visualization<br /> ** Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> ** Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> ** Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> ** Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> * Go through a couple of examples of creating visualizations referring back to Tufte's list and the issues.<br /> * Types of Visualizations (A sampling)<br /> ** Tables<br /> ** Graphs<br /> ** Charts<br /> ** Sparklines<br /> ** Time Series<br /> ** Data maps and mashups<br /> <br /> &lt;font color=&quot;red&quot;&gt;Seems a bit short. Acquiring data, conditioning data, tools to use for those and visualization. <br /> <br /> Consider showing really good graphics (Napoleon, earthquake video, etc.) and really bad ones (Tufte's examples) as part of the lecture. Much easier to show good and bad then explain it.&lt;/font&gt;<br /> <br /> == Lab == <br /> Learning spreadsheet visualization tools and Google Maps to gain, respectively, immediately practical and useful skills and an alternate way to think about data.<br /> <br /> Highlevel outline: Students will be instructed to sample temperatures at several different points within some region of campus. They will pick their own points, recording each with a provided GPS unit. They will then enter the data into a spreadsheet and graph the results using different kinds of graphs. After that, each group will combine their data into one Google Map, putting pushpins in for each sample point and coloring the pin appropriately.<br /> <br /> ==== Process ====<br /> # With provided thermometer, go to your group's assigned region ( [http://maps.google.com/maps/ms?ie=UTF8&amp;msa=0&amp;msid=116517761457321127401.000467a02c69be02ec8e4&amp;ll=39.822949,-84.913845&amp;spn=0.006254,0.009656&amp;t=h&amp;z=17 Region Map] )<br /> # Pick ten points in your region and sample their temperatures. Record each point's coordinates. Be sure to pick points such that you will get a variety of temperatures (ie, pick tree and building shaded spots, sunny parking lots, points near steam tunnel exhaust grates)<br /> # Enter data into Open Office, with a column for coordinates and a column for temperature readings. Generate bar graphs based on this data.<br /> # Average your temperatures into one value and add it to the collaborative class Google Docs spreadsheet. Graph the averages.<br /> # Using your datapoints, add push pins to the collaborative class Google Docs map. Color the pins based on temperature ranges. Work with the other lab groups to come up with a sensible color scheme based on the range of temperatures you've found.<br /> <br /> ==== Write-up ====<br /> * Which tool was most appropriate for visualizing this data and why? <br /> * What was the most difficult part of the lab? Why?<br /> * Explore alternative ways to get the same data (instead of getting it yourself). Are there other data sources that would provide granular enough temperature data (Hint: use google)?<br /> * Describe the collaborative process with Google Spreadsheets and Google Maps. What was difficult? What was easier? Compare and contrast this experience with non-collaborative software. How would each group's data been collected into one document?<br /> <br /> ==== Software ==== <br /> * Web Browser<br /> * Google account<br /> * Open Office<br /> <br /> ==== Bill of Materials ====<br /> * GPS<br /> * Thermometer<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Whats the best type of visualization for X set of data?<br /> * XXX<br /> * XXX<br /> <br /> ==== Quiz Questions ==== <br /> * XXX A question.<br /> <br /> = Visualization - Metadata = <br /> XXX This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> XXX This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** None.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** None.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> At the moment there isn't a whole lot of this in the unit. In the lab the students will have an opportunity to explore what they can do with google maps and with graphs.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> &lt;font color=&quot;red&quot;&gt;Consider doing something based on IBM's Many Eyes tool.&lt;/font&gt;<br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matthew Edlefsen</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=9278 CS382:Unit-mashup 2009-04-27T07:12:14Z <p>Edlefma: /* Examples = */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> === Lecture 1 ===<br /> ==== Introduction ====<br /> At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it. <br /> <br /> Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data.<br /> <br /> Show [http://www.gapminder.org/| Gapminder] and go through a good example. Talk about how this way of presenting the data makes information<br /> immediately obvious. Just having <br /> Introduce Tufte as one of the people to help formalize the notion of visualization.<br /> <br /> Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> * Show the data.<br /> * Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> * Avoid distorting what the data have to say.<br /> * Present many numbers in a small space.<br /> * Make large data sets coherent.<br /> * Encourage the eye to compare different pieces of data.<br /> * Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> * Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> * Be closely integrated with the statistical and verbal descriptions of a data set.<br /> <br /> === Examples ===<br /> Show some examples and ask what their pros and cons are and what insights they allow. Go through Tufte's list and identify which rules the visualizations follow.<br /> * [http://upload.wikimedia.org/wikipedia/commons/2/29/Minard.png| March of Napoleon]<br /> * <br /> <br /> ** Ask students what &lt;font color=&quot;darkmagenta&quot;&gt; what what?&lt;/font&gt;<br /> * Issues of visualization<br /> ** Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> ** Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> ** Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> ** Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> * Go through a couple of examples of creating visualizations referring back to Tufte's list and the issues.<br /> * Types of Visualizations (A sampling)<br /> ** Tables<br /> ** Graphs<br /> ** Charts<br /> ** Sparklines<br /> ** Time Series<br /> ** Data maps and mashups<br /> <br /> &lt;font color=&quot;red&quot;&gt;Seems a bit short. Acquiring data, conditioning data, tools to use for those and visualization. <br /> <br /> Consider showing really good graphics (Napoleon, earthquake video, etc.) and really bad ones (Tufte's examples) as part of the lecture. Much easier to show good and bad then explain it.&lt;/font&gt;<br /> <br /> == Lab == <br /> Learning spreadsheet visualization tools and Google Maps to gain, respectively, immediately practical and useful skills and an alternate way to think about data.<br /> <br /> Highlevel outline: Students will be instructed to sample temperatures at several different points within some region of campus. They will pick their own points, recording each with a provided GPS unit. They will then enter the data into a spreadsheet and graph the results using different kinds of graphs. After that, each group will combine their data into one Google Map, putting pushpins in for each sample point and coloring the pin appropriately.<br /> <br /> ==== Process ====<br /> # With provided thermometer, go to your group's assigned region ( [http://maps.google.com/maps/ms?ie=UTF8&amp;msa=0&amp;msid=116517761457321127401.000467a02c69be02ec8e4&amp;ll=39.822949,-84.913845&amp;spn=0.006254,0.009656&amp;t=h&amp;z=17 Region Map] )<br /> # Pick ten points in your region and sample their temperatures. Record each point's coordinates. Be sure to pick points such that you will get a variety of temperatures (ie, pick tree and building shaded spots, sunny parking lots, points near steam tunnel exhaust grates)<br /> # Enter data into Open Office, with a column for coordinates and a column for temperature readings. Generate bar graphs based on this data.<br /> # Average your temperatures into one value and add it to the collaborative class Google Docs spreadsheet. Graph the averages.<br /> # Using your datapoints, add push pins to the collaborative class Google Docs map. Color the pins based on temperature ranges. Work with the other lab groups to come up with a sensible color scheme based on the range of temperatures you've found.<br /> <br /> ==== Write-up ====<br /> * Which tool was most appropriate for visualizing this data and why? <br /> * What was the most difficult part of the lab? Why?<br /> * Explore alternative ways to get the same data (instead of getting it yourself). Are there other data sources that would provide granular enough temperature data (Hint: use google)?<br /> * Describe the collaborative process with Google Spreadsheets and Google Maps. What was difficult? What was easier? Compare and contrast this experience with non-collaborative software. How would each group's data been collected into one document?<br /> <br /> ==== Software ==== <br /> * Web Browser<br /> * Google account<br /> * Open Office<br /> <br /> ==== Bill of Materials ====<br /> * GPS<br /> * Thermometer<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Whats the best type of visualization for X set of data?<br /> * XXX<br /> * XXX<br /> <br /> ==== Quiz Questions ==== <br /> * XXX A question.<br /> <br /> = Visualization - Metadata = <br /> XXX This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> XXX This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** None.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** None.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> XXX Some prose.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> &lt;font color=&quot;red&quot;&gt;Consider doing something based on IBM's Many Eyes tool.&lt;/font&gt;<br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matthew Edlefsen</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Software&diff=9194 CS382:Software 2009-04-22T17:45:00Z <p>Edlefma: </p> <hr /> <div>= Software =<br /> == [[CS382:Unit-foundation-templated|Foundations of Modelling]] ==<br /> Firefox<br /> <br /> <br /> == [[CS382:staticmodel-outline|Static Modeling]] ==<br /> * Google Earth. Free. All platforms.<br /> <br /> <br /> == [[CS382:fire|Fire]] ==<br /> * [[http://ccl.northwestern.edu/netlogo/ NetLogo]] version 4.0<br /> <br /> <br /> == [[CS382:Unit-mashup|Visualization]] ==<br /> * Web Browser<br /> * Google account<br /> * Open Office<br /> <br /> <br /> == [[CS382:structural-outline|Structural Modeling]] ==<br /> <br /> [http://downloads.phpnuke.org/en/download-item-view-g-v-l-y-b/BRIDGE%2BCONSTRUCTION%2BSET.htm Bridge Construction Set]<br /> * A bridge-building computer game. It offers a fairly detailed 3-D OpenGL model visualization. The game is organized into stages of increasing complexity. Available for Mac OS X / Linux / Windows.<br /> **After completing the demo levels, it seems that we might want to actually get licenses. The game is actually really fun. Different levels use different bridge building materials, such as iron (the basic component) steel, and cable.<br /> **We decided to use BCS because it visualizes the bridges in 3-D, and 3-D modeling software should make the students more comfortable translating their models to physical Knex models. (described later)<br /> *Students will be expected to come to the Dennis 224 Lab to use the Bridge Construction Set full version ( if we choose to purchase it ) or they can download the demo on to their personal machines.<br /> <br /> <br /> == [[CS382:equation-outline|Rocket Modeling]] ==<br /> *RocketModeler II<br /> http://www.grc.nasa.gov/WWW/K-12/rocket/rktsim.html<br /> <br /> With this software you can investigate how a rocket flies by changing the values of different design variables. <br /> <br /> * Water Rocket Fun v.3.4.<br /> http://www.seeds2lrn.com/rocketSoftware.html<br /> <br /> The main page that we can focus on: contains downloadable software for a flight of water rocket: Called : Water Rocket Fun v.3.4<br /> <br /> ** Descriptions at unit page<br /> <br /> <br /> == [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]] ==<br /> * Java<br /> * NetLogo<br /> <br /> <br /> == [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]] ==<br /> * Custom Lynx-Hare model based on [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> <br /> <br /> == [[CS382:chaos_templated|Chaos]] ==<br /> *[http://local.wasp.uwa.edu.au/~pbourke/fractals/lorenz/ Lorenz attractor in 3D]<br /> **[[CS382:attractor_inC|Lorenz attractor C source code]] generates values in 3 dimensional coordinate.<br /> **Students can generate infinite patterns of values by changing 3 parameters in 3 non-linear differential equations.<br /> **The values can be plotted with GNUplot like [https://wiki.cs.earlham.edu/images/7/7a/Lorenz.jpg this picture].<br /> **There is the source code of Lorenz attractor for second life, but it includes numbers of bugs. <br /> *Excel for statistical computation <br /> *[http://answers.yahoo.com/question/index?qid=20080106042422AAH5JIV Yahoo! Answers: I'm looking for a good weather prediction software]<br /> **e.g. [http://www.nco.ncep.noaa.gov/pmb/nwprod/analysis/namer/gfs/00/index_pcp_s_loop.shtml Looping image of temperature, pressure, precipitation]<br /> <br /> <br /> == [[CS382:End-Notes|End-Notes]] ==</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Structural-outline&diff=9193 CS382:Structural-outline 2009-04-22T17:43:28Z <p>Edlefma: </p> <hr /> <div>----<br /> = Structural Modeling = <br /> == Overview ==<br /> * The Structural Modeling unit will last one week. It will explore the significance and basic concepts of modeling structures using bridges as a case study. We will teach the students both how and why physical structures are built and tested as computational models. Bridges are a good example of structures that must be evaluated extensively before they are physically built. We will explore a bridge-building game build virtual virtual bridges and testing its weight capacity under variable loads. Students will build and test physical versions of their computer models structure using K'nex, and compare the two types of models - computational and physical.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> <br /> * http://www.apeg.bc.ca/services/branches/documents/pr/Bridge_Engineering_Principles.pdf<br /> ** Goes over some of the basic principles of bridge-building.<br /> <br /> * http://www.in.gov/indot/files/bridge_chapter_01.pdf<br /> ** &quot;Bridge building for dummies.&quot; Provides an explanation of the duties of Bridge Technicians and defines a number of terms associated with bridge constructions, as well as explaining some of the more common failure points and why they're failure points. This is perhaps unnecessary if the teachers and the TAs possessed a solid knowledge of the subject, but could be extremely helpful otherwise.<br /> <br /> == Reading Assignments for Students ==<br /> <br /> * http://pghbridges.com/basics.htm<br /> ** This overview would be appropriate for the beginning of the unit, introducing students to a number of different basic and advanced bridge types, and various tidbits of information about them. If so desired, this could be condensed into a handout.<br /> <br /> == Reference Material ==<br /> <br /> * http://www.lessonplanspage.com/ScienceSSOKNEXBridges-Architecture510.htm<br /> ** Examples of Knex bridges built form kits. These are probably a little too elaborate for our purposes.<br /> <br /> * http://www.yale.edu/ynhti/curriculum/units/2001/5/01.05.04.x.html <br /> ** Lesson plan for younger students. Could be useful for building a lecture for an audience with little to no background.<br /> <br /> == Lecture Notes == <br /> <br /> '''Lecture 1:'''<br /> <br /> <br /> '''''Foundations'''''<br /> * Review key concepts from the units on static and dynamic models, remind people of the difference, and how the two types of models work in conjunction.<br /> **''Static Models'' refer to models (or an aspect of a dynamic model) that does not change over time. This could be manifested in the environment of the model, such as grass and rocks.<br /> **''Dynamic Models'' refer to models that exhibit behaviors in relation to their enviroment (static model) over time. They include rules and specify how models should interact with their static environment, and (potentially) how the model interacts with other dynamic models of the same type, or of a different type.<br /> *''Why'' do we want to model bridges and other structures before they are built?<br /> **Because it's important to get a sense of when the bridge will support weight before it is built.<br /> *** ''When I (Dylan) took POCO / Software Engineering, I recall a story that Charlie told about why someone he knew (I think it was his father) believed that software engineers, like other professions, should be required to get a governmental license to practice software engineering, due to the fact that now software is important enough and used widely enough that the failure of such can cause a loss of life. I believe that this story is very relevant to this point in the lecture.''<br /> <br /> * Explain the various types of bridges introduced in [http://pghbridges.com/basics.htm Bridge Basics]<br /> **Kingpost<br /> **Queenpost<br /> * Explain why and how modeling structures such as bridges is different than earlier examples of fire, etc, and how certain key aspects of the procedure and underlying theory are the same<br /> **Bridge simulations are necessarily more complex and comprehensive then the fire model we looked at in previous weeks. Bridges have many stress points, and each stress point must modeled individually produce accurate data, ie ''Will the bridge support the weight of cars, will it even support its own weight?''<br /> * Prepare the class to do the lab. Explain the directions outlined in the lab section below.<br /> <br /> <br /> '''Lecture 2:'''<br /> <br /> <br /> '''''Wrap-up/Open Questions'''''<br /> <br /> *Review Components of the Lab.<br /> *Display a table of each group's lab results, (max load) and might show an picture and give an explanation for the best (most efficient bridge)<br /> *Explain how best to determine the accuracy of a bridge model.<br /> **''Whenever possible, it is most important to draw data from multiple sources. Physical models can be used to validate computational models. Assuming the physical model faithfully and accurately tests the model. If the computational model agrees with the physical model, both models are likely valid.<br /> *Where can we go from here?<br /> **Modeling building strain<br /> **Introduce the 'shake table' and show the split-screen illustration of the model building collapsing on the shake table next to the computer simulation. [http://www.acm.org/crossroads/xrds13-3/earthquake.html Shake table video]<br /> **Do bridge-builders actually build physical models, or is all the planning done in silico?<br /> ***When a bridge model is being developed in silico, the software engineers and designers must validate the model before it can replace more traditional means. This usually includes building miniture models, combined with placing sensors on real bridges to measure stress, then comparing the actual stress with the stress in the computational model.<br /> **What are the positive features of using computational models, what are the downsides?<br /> ***Computational models offer a virtual ''wet lab'' in that models can be constructed and tested without building (and then destroying) a simulated environment. To this end, computational models are an attractive option for engineering teams, where the more testing is integrated into the development process, the more efficient the overall operation. Computational tools allow for a more frequent test cycle because after the model is designed and constructed in silico, testing the model is fairly cost effective.<br /> ***Physical models, on the other hand must be reconstructed from the ground up (literally) each for each new test.<br /> **How will an increase in processor speeds impact these pros/cons?<br /> ***Computational models suffer from a tension between precision and time spent performing calculations. Accurately simulating the real world can consume a processor capable of trillions of calculations per second. The challenge inherent in designing and using computational models lies in the balance between accuracy and precision, and as CPUs become more powerful, complex models become more feasable. If we assume our computational model is ''precise,'' then additional CPU horsepower will greatly improve its accuracy.<br /> <br /> == Lab == <br /> [[Image:Goldstar.png|right|thumb|Nice work!]]<br /> * The lab session will require the students to build K'nex models of bridges they designed in software. This lab will be completed in groups.<br /> <br /> ==== Pre-Lab Assignment ====<br /> <br /> Students will complete a certain number of levels in the software program [http://downloads.phpnuke.org/en/download-item-view-g-v-l-y-b/BRIDGE%2BCONSTRUCTION%2BSET.htm Bridge Construction Set] described below. The first lecture will give them a sense of which designs are most efficient and hopefully encourage them to try to build the most ''efficient'' bridge possible, ie the bridge with the fewest number of components.<br /> <br /> ==== Process ====<br /> <br /> *Split in to lab groups of four students per group. <br /> *Recreate the most cost-efficient bridge built by a group member using the provided Knex.<br /> **''The BCS software automatically saves the bridges created, (and allows you to save to a file) so students will be able to call them up at lab time.''<br /> **After deliberating long and hard over whether to use the PASCO bridge set or K'Nex, we decided that K'nex would be a better option for a few reasons.<br /> ***1. ''They break.'' Knex break under load, and this is a positive feature. The Pasco bridge parts are not intended to ''break'' but instead are built to be highly durable. To use the PASCO kit to validate the physical model by determining the maximum load would rely on a $399 load sensor kit per group.<br /> ***2. ''Breaking things is fun.'' If the above rational wasn't enough, we both agreed that students will have more fun if they actually get to ''see'' the point where their models fail. <br /> <br /> *When the bridge is completed, test the structural integrity by handing the bridge to the instructor.<br /> **'When all the bridges are completed (or a good number) the instructor will lead the class in testing each bridge. Weights will be hung off the center of the bridge to simulate the weight of a car or truck.<br /> <br /> **''While discussing this lab in class, someone mentioned that Knex might not break the way we expect them to break. I am confident that once we have Knex in our hands to test, we will be able to determine how Knex respond to excessive load. (DYLAN?)<br /> *Students should be familiar with wikis by now, so instruct them to insert a picture of their bridge, (taken with the cameras on the D224 iMacs) and the max load the bridge could hold into a table in the wiki.<br /> <br /> ==== Write-up ====<br /> * Required elements<br /> **Screen Shot of the Bridge Construction set model used to build the Knex model. An explanation of the structure. What structural properties allow the bridge to support weight?<br /> **Image of Knex construction. This must be a (fairly detailed, probably hand drawn) diagram of the bridge, annotated to indication the stress distribution observed during testing (both in silico and with Knex) They will compare the physical model with the software model. How are they different, how much weight did the bridge support? How and why did the Knex bridge break? Be Specific? Does the Knex model verify or validate the simulation? Does this experiment support or invalidate either model? Both models?<br /> *Groups will be instructed to compare the point of failure in both their Knex models and their Bridge Construction Set models. The students will compare how stress is distributed both within software (using the stress display function) and make empirical observations of stress as they test their Knex models. Can they make an estimation of how the stress is being distributed when the weights are applied? Can this estimation be verified? <br /> * Visualization opportunities<br /> **There's not really an opportunity for visualization, students will only be gathering qualitative information about the way weighted bridges ''look''. Students will be able to make informed conclusions, but will not be able to produce a graph or a table of their observations. <br /> * Optional elements<br /> **Build additional bridges in Bridge Construction Set at higher levels. Does running multiple trials further support (or reject) your claims?<br /> ***''This optional element relies on purchasing the license. If cost is an issue, we could only buy 5-10 licenses and not ''require'' the higher levels but instead offer them as an optional component, only installing the software on selected machines.<br /> <br /> ==== Software ====<br /> <br /> [http://downloads.phpnuke.org/en/download-item-view-g-v-l-y-b/BRIDGE%2BCONSTRUCTION%2BSET.htm Bridge Construction Set]<br /> * A bridge-building computer game. It offers a fairly detailed 3-D OpenGL model visualization. The game is organized into stages of increasing complexity. Available for Mac OS X / Linux / Windows.<br /> **After completing the demo levels, it seems that we might want to actually get licenses. The game is actually really fun. Different levels use different bridge building materials, such as iron (the basic component) steel, and cable.<br /> **We decided to use BCS because it visualizes the bridges in 3-D, and 3-D modeling software should make the students more comfortable translating their models to physical Knex models. (described later)<br /> *Students will be expected to come to the Dennis 224 Lab to use the Bridge Construction Set full version ( if we choose to purchase it ) or they can download the demo on to their personal machines.<br /> <br /> ==== Bill of Materials ==== <br /> <br /> *[http://downloads.phpnuke.org/en/download-item-view-g-v-l-y-b/BRIDGE%2BCONSTRUCTION%2BSET.htm Bridge Construction Set] is not free software. A full license costs $19.99. A fully playable demo is [http://demos.garagegames.com/bcs/bcsdemo_v1_3.dmg available free for Mac OS X/linux/windows] <br /> **''The demo allows gameplay up to level 5. Completing all five levels took me about 10-15 minutes. Note they are denoted ''easy.'' From what I've seen on youTube, this game gets a lot harder. &lt;font color=&quot;blue&quot;&gt;That's so cool that you looked it up on youtube!&lt;/font&gt;<br /> **When a user opens the program, the last construction for that level is loaded. The software (even the demo) makes it easy to switch between levels.<br /> **Assuming we could get a volume license discount, 10 license would run the CS department $150.<br /> <br /> *Knex<br /> **K'nex Bulk Pack - [http://shop.ebay.com/?_from=R40&amp;_trksid=m38.l1313&amp;_nkw=knex&amp;_sacat=See-All-Categories Knex on ebay]<br /> **Knex Bridge Kit (preferable) $30 at Veachs in Richmond. Buying 15 of these kits would cost $450.<br /> <br /> *Weights<br /> **We will need to procure weights from the physics department to test the Knex models.<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> <br /> <br /> * How would you describe the class of structural models?<br /> **a)'''Dynamic'''<br /> **b)Static<br /> **c)Accurate<br /> **d)Precise<br /> <br /> <br /> *What does the shake table show about a bridge model?<br /> **a)Whether the model shakes<br /> **b)How often the model moves in a normal environment<br /> **c)The effects of uneven ground on a structure<br /> **d)'''The expected effect of earthquakes and other natural disasters'''<br /> <br /> <br /> *Which is '''not''' an example of a structural model?<br /> **a) a bridge model<br /> **b) '''an automobile model'''<br /> **c) a building model<br /> **d) a beach-front shanty<br /> <br /> ==== Quiz Questions ==== <br /> <br /> * ''Using the framework we've described in the past few weeks of static and dynamic models, answer the following questions: First define explain what aspect of the model is ''static''. What aspect is ''dynamic''?''<br /> **The static aspect of structural modeling is represented by static structure built in the edit mode of Bridge Construction Set. This includes the simulated landmass over which we build our bridge, the static bridge structure, without applying the notion of gravity or other dynamic effects. Essentially the bridge is static until we leave the ''edit'' mode and enter the ''testing'' mode. The model becomes dynamic when we apply environmental rules such as gravity and wind.<br /> <br /> *''Compare the King Post and the Queen Post from the student reference [http://pghbridges.com/basics.htm Bridge Building Basics]. What are the advantages of each? Which bridge type is better for a smaller gap?''<br /> **The Kingpost is better for shorter distances, because it is simpler to construct. The triangle design makes it very strong. The Queenpost is better for longer distances, however some strength is lost due to parallel midsection.<br /> <br /> = Structural Modeling Metadata = <br /> This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> <br /> This unit would be well suited for one week early in the semester. The basic concepts of bridge design are fairly straightforward.<br /> <br /> == Concepts, Techniques and Tools == <br /> <br /> The relevant discipline here is bridge building, and the skill set will include some basic physics.<br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** Complete. The unit is designed to investigate how they can be physically and computationally represented.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** Complete. This unit relates the specific instance of structural models to the general class of all computational models.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** Complete. Students must hold two concepts in their minds to understand this what's going on in this unit. Firstly, they must grasp the low level details of building bridges and structures. The lab component will address this. The second challenge is to be able to relate their lab efforts to a more general construction.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Partial. The students use tables to organize bridge data. The focus of this section, however is not on interpreting tabluar data.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Complete. The models provide a framework for visualizing physical (mathematical) constraints.<br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Complete. This is one context where we're using mathematical and statistical ideas.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** Partial.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** Complete. Testing computational models is a deterministic process. Maybe we could introduce the difference between probabilistic and deterministic.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** Complete. Students will try to build different types of bridges and determine the 'reasonableness' of their solutions by the simulated test outcome.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Complete. Physical models attempt to account for a finite number of environmental variable, such as wind and gravity, however they cannot account for ''all'' variables.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** Yes. The students are modeling the real world.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** Yes<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Yes. Students will understand how physical models and computational models can be used to simulate the same structures and processes.<br /> <br /> == Scaffolded Learning ==<br /> * The scaffold pedagogy emphasizes the importance of introducing new ideas and concepts by explaining how those new concepts fit into the context of the material previously covered. Information is contextualized as pedagogical dependencies. <br /> <br /> * Our bridge unit is scaffolded in the sense that as students learn about the structural intricacies of bridge building, they will be able to construct more effective models. The high-level view of bridge types will allow the students to implement these qualities into the bridges they build in the simulator. Once the simulation is complete, the students will build a physical model under the expectations that the K'nex will behave as expected given the test results show by the computer program.<br /> <br /> == Inquiry Based Learning == <br /> Building Bridges and Breaking Knex is a fun, non-menacing way to explore the world of computational models. &lt;font color=&quot;blue&quot;&gt;:)&lt;/font&gt;<br /> <br /> = Structural Modeling Mechanics = <br /> == General Feedback ==<br /> &lt;font color=&quot;blue&quot;&gt;Can you play around with it yourselves and see how many you think are reasonable?&lt;/font&gt;<br /> <br /> * &lt;font color=&quot;blue&quot;&gt;Where do the cameras come into this?&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Before and after they break would be neat...&lt;/font&gt;<br /> * &lt;font color=&quot;blue&quot;&gt;Also need an estimate of how many K'Nex models we need and how much they cost.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Ditto. The software we can keep, but if the K'nex is breaking every year then we should know what kind of course fee to tack on...&lt;/font&gt;<br /> &lt;font color=slategray&gt;<br /> * This is good material, and the bridge building effectively shows how the mining of data can be used to make models which then help the creation of new physical manifestations-- but I think this unit needs to narrow down on exactly what it wants to teach. Will this lab have &quot;hard modes&quot; for extra credit? A resolution of the unit's intent will make the lecture outline a lot more coherent. &lt;font color=&quot;blue&quot;&gt;Ditto&lt;/font&gt;<br /> **''Yes, there will be opportunities for further investigation during the lab period, including more in depth comparisons between the physical and computational models.''<br /> * Also, the teacher/TAs will have to make sure they got this material under their belt when this lab rolls around, or, as you mentioned above, there will have to be some &quot;reassuring,&quot; and we don't want the students to lose faith!&lt;/font&gt;<br /> &lt;font color=&quot;blue&quot;&gt;What size are you thinking?&lt;/font&gt;<br /> &lt;font color=&quot;blue&quot;&gt;Is this from the prelab? How will they evaluate which is the most efficient bridge? Also, do we have any constraints? For instance, how far it's spanning? I'm thinking there should be at least a minimum span.&lt;/font&gt;<br /> ** &lt;font color=&quot;blue&quot;&gt;Ok...? What's the calculation? Confused.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Seconded... more detail!&lt;/font&gt;<br /> ** &lt;font color=&quot;blue&quot;&gt;Do we have a way for them to save and bring in their demos from the Bridge Construction Sight?&lt;/font&gt;<br /> **''We might be able to contact the developers at [http://www.chroniclogic.com Chronic Logic] to gain more insight about this.'' &lt;font color=&quot;blue&quot;&gt;Excellent idea, maybe they even want to donate licenses for us.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Mm, free stuff.&lt;/font&gt;<br /> &lt;font color=&quot;blue&quot;&gt;How did you decide on this particular software over the others? Just curious.&lt;/font&gt;<br /> * &lt;font color=&quot;blue&quot;&gt;I think you have all of the sections, but some of them are repeated twice, which I'm very confused about...&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Merge the double software and bill of materials sections! EDIT: Ahh, I see, these software/materials are specific to the pre-lab assignment. Perhaps format this a little more clearly.&lt;/font&gt;<br /> &lt;font color=&quot;blue&quot;&gt;Excellent!&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Myes, I like this better as a pre-lab assignment. Good stuff.&lt;/font&gt;<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Remember to relocate past comments!&lt;/font&gt;<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Where will they be expected to use this software? If this is a pre-lab assignment, do they still have to come to a computer lab to use the licensed version?&lt;/font&gt;<br /> &lt;font color=&quot;blue&quot;&gt;My only major suggestion would be to keep all of the meaning here while trying to simplify the way you say it. In other words, if you could write it as directions to give to the students, rather than as something for the teacher (while still keeping information necessary for the teacher in bullet points below).&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Ditto&lt;/font&gt;<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Where will they be expected to use this software? If this is a pre-lab assignment, do they still have to come to a computer lab to use the licensed version?&lt;/font&gt;<br /> &lt;font color=&quot;blue&quot;&gt;This is dependent on us purchasing licenses, right?&lt;/font&gt;<br /> <br /> *&lt;font color=&quot;blue&quot;&gt;Make sure to answer your own questions for us. So will these be A/B questions? Can support more options (multiple choice) if you want.&lt;/font&gt;<br /> <br /> &lt;font color=&quot;blue&quot;&gt;These lectures are from a very high level. It would be helpful for us (reviewers, classmates, etc) to see more bullet points of what you're thinking about. For instance, ''why are'' modeling structures different than the earlier examples? This is very important.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Ditto&lt;/font&gt; &lt;font color=&quot;red&quot;&gt;Ditto.&lt;/font&gt;<br /> <br /> &lt;font color=&quot;red&quot;&gt;Consider more background about why static models like this are useful and how they are used&lt;/font&gt;<br /> <br /> == Lab Feedback ==<br /> * Feedback specific to the lab component. Either in-line notes or a link to a separate page.<br /> * Some thoughts about what to look for:<br /> ** How long did it take?<br /> *** I spent about an hour constructing some of the example bridges in the book then playing around with hanging weights on them. It's entirely possible that this could take more or less time, depending on whether the students wanted to construct more or less bridges and how thoroughly they wanted to test them.<br /> ** How appropriate is it to the material in the unit?<br /> *** Very.<br /> ** Are the instructions complete or did you have to fill-in gaps.<br /> *** The instructions are complete in a broad sense. In a specific sense, not so much. We currently instruct the students to build &quot;The most efficient bridge&quot; out of all the ones built in the group. It's difficult to decide what qualifies as the most efficient bridge... uses the least parts? Most streamlined looking? Least vulnerable to breaking? Average between one or more of the previous factors? The easy way to solve this is to simply have students pick a bridge that they would like to build, and let them decide which one that is, but that brings up the possibility that the students may pick a bridge structure that is too complicated to complete with the materials available.<br /> ** Is it too easy? Too hard? <br /> *** That depends on a variety of factors. One of the problems is the media through which we're conducting the lab. K'nex is durable, and some of the structures I tested tended to bend instead of break. Additionally, more weight will be needed in order to break some of the structures I tested, I would guess on the order of 10-20 pounds, possibly more.<br /> *** I'm worried about it being too easy if the inherent strength of the K'nex is enough to support weight in an unrealistic manner. Additionally, some of the more uh... advanced (I guess) bridges such as suspension and cable-stayed don't work like they do in real life, being supported by the inherent strength of the medium on the deck of the bridge rather than being held up by cables, etc. This would make it more difficult to construct a model of the bridge that reacted realistically to stress.<br /> *** Another factor that makes things more difficult is the scale of the model. Just how big do we want them to make the bridges they designed?<br /> *** It's a little difficult to tell where the bridge is being stressed in the K'nex version unless an extreme amount of stress is applied. The plastic rods don't move very much under little stress.<br /> ** Is what to look for, collect, and analyze clearly delineated?<br /> *** I would say so, yes.<br /> ** Can you easily see what the purpose of the lab is and what you learned from it?<br /> *** Yes.<br /> <br /> == Archived Feedback ==<br /> * As you address comments in your unit move them to here with a note about how you fixed it.<br /> <br /> = Authorship = <br /> Bryan Purcell, purcebr@earlham.edu<br /> Dylan Parkhurst, dcpark06@earlham.edu</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Predator-Prey&diff=9138 CS382:Predator-Prey 2009-04-17T12:24:46Z <p>Edlefma: /* Comments */</p> <hr /> <div>= Predator Prey ( Lynx Hare ) = <br /> == Overview ==<br /> <br /> The predator prey unit will last for a week and a half. (Or, 3 classes) The purpose of this unit is to teach the students of this class about using system dynamics, using predator-prey interaction as a vehicle to facilitate the student's understanding of how the systems dynamics approach to modeling functions. This unit will consist of a lab where students use a couple of different simulation models to explore the intricacies of how predator and prey interact, both agent-based and system dynamics based.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> ** Great compilation of knowledge on the subject. Is the primary source for the present lecture notes.<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> ** Another compilation of knowledge used extensively in the lecture notes.<br /> <br /> == Reading Assignments for Students ==<br /> * Given the reference materials present so far, it's possible that rather than having a link to online reading assignments, we may have to create paper handouts based on the materials that we have links to.<br /> <br /> * A handout created from parts of the US Dept. Of Energy's guide to System Dynamics seems like a very good place to start.<br /> <br /> == Reference Material ==<br /> * [http://www.mysciencebox.org/book/export/html/81 Page on Lynx - Hare Populations]<br /> * [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Talks about Lynx - Hare as a Pred/Prey model]<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model]<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> <br /> == Lecture Notes == <br /> Outline of the lectures designed to fit into 2 1:20 slots per week. This unit lasts 1 1/2 weeks, so requires 3 lectures.<br /> &lt;font color=&quot;darkmagenta&quot;&gt;I dig the detail of these lecture notes. Do more!&lt;/font&gt;<br /> <br /> '''Lecture 1:'''<br /> <br /> * Intro &amp; Concepts<br /> ** What is system dynamics? &lt;font color=&quot;darkmagenta&quot;&gt;for instance, answer these&lt;/font&gt;<br /> ** What is it for?<br /> ** What does it let you do?<br /> *** Systems dynamics lets you sketch out the relationships between all the components of a dynamic system, and given those relationships, will allow you to predict how the system behaves over a period of time. Will it result in a fluctuating growth? Exponential growth? Perfect equilibrium? All of these questions should be answerable using this type of model.<br /> ** Why use System Dynamics? When should you use it?<br /> *** The answer to this question is essentially the same as why you should use any other model. It's oftentimes quicker, cheaper and safer to alter a model and run tests on that than to alter a real system and run tests on that. Additionally, a failure in a model will allow you to predict a failure in a real system.<br /> *** Failure in a real system often has catastrophic consequences, such as the loss of lives. The failure of a model is often much less devastating, resulting in perhaps a &quot;Darn. Well, back to the drawing board.&quot; instead of &quot;My son/daughter was in that building!&quot;<br /> ** Strengths / Weaknesses &lt;font color=&quot;darkmagenta&quot;&gt;and list some of these&lt;/font&gt;<br /> <br /> * Basic Terminology (Building Blocks)<br /> ** Time Paths<br /> *** A time path is how something changes over time (either the whole system or an aspect of the system).<br /> ** Link<br /> *** Feedback Loop<br /> ** Stock<br /> *** A stock is a quantity of objects that's variable in nature. Examples of this are the number of sheep in a pasture, the number of fish in a pond, the amount of oil left in the world, the number of tanks in the US military, etc.<br /> ** Flow<br /> *** This represents the flow of resources either into or out of a stock. For instance, drilling would represent a flow out of the stock of oil in Alaska, and into the stock of oil in the US Oil Reserve.<br /> <br /> * Causal Loop Diagram<br /> ** Pictures used to convey understanding of interactions or influences within the structure. It's used specifically to show the influential interactions between two elements of a structure.<br /> ** The main conventions that are used to display a loop are the &quot;+&quot;, &quot;-&quot;, &quot;S&quot; and &quot;O&quot;<br /> ** That is to say, that if a arrow is shown from A to B with a + on it, it means that A adds to B. As A increases, it adds more and more to B, and as it decreases, it adds less and less, but still adds to B<br /> ** With a - shown with the arrow, A subtracts from B. As A grows, it subtracts more and more from B. As A diminishes, it subtracts less and less from B (But still subtracts)<br /> ** With a S shown with the arrow, A and B grow in the same direction. This means that as A increases, B increases, and vice versa.<br /> ** A O indicates that A and B grow in opposite directions, I.E. as A shrinks B grows and vice versa.<br /> ** With no label, it indicates that A is considered a constant.<br /> ** The Causal loop diagram gives no indication as to the strength of the influence of the two elements, it just shows the nature of the influence.<br /> ** There are, generally speaking, two types of Causal loops. A Reinforcing loop and a Balancing loop.<br /> *** In a reinforcing loop, each action adds to the other. An action that produces a result that produces more of the same action is a reinforcing loop.<br /> *** In a balancing loop, any action attempts to bring two things to agreement. A situation where one tries to solve a problem or achieve a goal is representative of a balancing loop.<br /> <br /> <br /> '''Lecture 2:'''<br /> <br /> *More Terminology<br /> ** System Dynamics is interested in the behavior of systems over a period of time. Time paths are critical to expressing this.<br /> ** Types of Time Paths<br /> *** Linear Family<br /> **** Growth / Decline<br /> ***** The notion that most systems grow / decline under a linear curve is in fact incorrect. A linear growth or decline indicates a system which is devoid of feedback.<br /> ***** Feedback is a crucial part for the growth or decay of any system.<br /> **** Equilibrium<br /> ***** The expression of a system under which there is no pressure for change, or a system in which all variables reach their desired state at the same point in time<br /> ***** Note that this is an extremely artificial scenario, most systems do NOT reach or maintain equilibrium.<br /> *** Exponential Family<br /> **** Paths showing exponential growth and exponential decay. Real systems tend to grow along exponential paths rather than linear paths.<br /> *** Goal-Seeking Family<br /> **** Displayed in most living, and some nonliving systems<br /> *** Oscillation Family<br /> **** Sustained<br /> ***** Characterized by a predictable periodicity.<br /> ***** Predator-Prey relations are often characterized by this, as while the individual oscillations may vary, they often follow a predictable oscillating pattern in that the rise of the prey population indicates the rise of the predator population, and the decline of a prey population causes the decline of a predator population.<br /> **** Dampened<br /> ***** Displayed by systems that display dissipation or relaxation processes, such as friction or information smoothing.<br /> **** Exploding<br /> ***** Starts of smoothly, but grow until either the system settles down or is torn apart.<br /> ***** This pattern occurs infrequently in real-world situations, and doesn't last long when it does.<br /> **** Chaos<br /> ***** A unique type of oscillation, as it basically represents a random pattern generated by a system that is devoid of randomness<br /> *** S-Shaped Family<br /> **** This is extremely visible in the [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model] when the grass is taken out of the equation. The sheep population goes too high, which in turn causes the wolf population to increase too much, which leads to an irrecoverable decline in the sheep population. (Extinction)<br /> **** This is referred to as an &quot;Overshoot and crash&quot; system.<br /> <br /> * Review of the &quot;Building Blocks&quot; of a System Dynamics model<br /> <br /> <br /> '''Lecture 3:'''<br /> <br /> * Review of Class 1 and 2.<br /> ** Still working on material for this. &lt;font color=&quot;darkmagenta&quot;&gt;Fair enough&lt;/font&gt;<br /> <br /> == Lab == <br /> ==== Process ====<br /> * Open up the Netlogo Lynx-Hare model showing both an agent based model and an empty system dynamics model. <br /> ** Start Netlogo.<br /> ** Click File-&gt;Open and select pred.nlogo<br /> ** Two windows should pop up, focus on the one that has buttons and input boxes on it.<br /> * Play around with the agent based model and observe the behavior of the model:<br /> ** Press the Setup button on the left side of the model.<br /> ** Enter the values you want in the various input boxes<br /> ** Press the Go button.<br /> * Observing the agent based model, identify parts of the system dynamics model:<br /> ** Determine the stocks in this model.<br /> ** Determine the flows.<br /> *** Determine what effects the sheep birth / death rate.<br /> *** Determine what effects the wolf birth / death rate.<br /> ** Figure out the variables then look at how you can tweak the simulation.<br /> * Draw a causal loop diagram using the above information.<br /> * Implement the System Dynamics Netlogo model using the causal loop diagram: (TODO: How to name the parts of the model)<br /> ** Focus on the other window that came up when you opened the model.<br /> ** For each stock in your causal loop diagram, click the Stock button at the top and then click somewhere in the blank area.<br /> ** For each of the placed stocks place two flows, one on the left and one on the right of each stock. Connect the flows to the stock by clicking and dragging the close end of the flow to the stock.<br /> ** In each of the stocks input the appropriate equations.<br /> ** Click the Check button and return to the other window.<br /> * Experiment with different values for the two models.<br /> ** Make notes of what you notice.<br /> * In &lt;Some piece of software Charlie is getting us&gt;, collect data points from a run of the agent based model. Fit a curve to this data. Using the curve equations, configure the system dynamics model to produce a result similar to the one gleaned from the agent-based simulation. (TODO: this needs to be fleshed out more)<br /> ** We will be providing a set of values for the agent-based model. &lt;font color=&quot;blue&quot;&gt;Do you have these?&lt;/font&gt;<br /> ** We need to determine exactly how to do this in Excel. <br /> * Evaluation for correctness / completeness.<br /> ** Evaluate the correctness of the system dynamics model. &lt;font color=&quot;blue&quot;&gt;How? Be more specific, please. For the poor confused freshmen.&lt;/font&gt; <br /> ** Evaluate how well the results of the system dynamics model meshed with the results generated by the agent-based model.<br /> <br /> ==== Write-up ====<br /> * Required Elements:<br /> ** Provide all the stuff we told them to to in the procedure.<br /> *** What are the stocks?<br /> *** What are the flows?<br /> *** How can the simulation be tweaked?<br /> *** A causal loop diagram.<br /> *** Netlogo implementation of the system dynamics model.<br /> *** Excel file with the fit curve.<br /> *** An explanation of how they came up with the values for the system dynamics model based on the fitted curve.<br /> * Visualization opportunities:<br /> ** Placeholder.<br /> * Optional elements:<br /> ** Placeholder.<br /> * Provide a template for the first couple of labs ala CS128?<br /> ** Placeholder.<br /> <br /> ==== Software ====<br /> * Custom Lynx-Hare model based on [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> <br /> ==== Bill of Materials ==== <br /> * I don't think it will be practical to try and conduct a lab for this unit with anything but software.<br /> * So far all the software that we've found is open-source and free.<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What type of oscillation does it show?<br /> ** A. Chaos<br /> ** B. Explosive<br /> ** C. Dampening<br /> ** D. '''Sustained'''<br /> * What is a good example of a reinforcing loop?<br /> ** A. Uncontrolled fishing in a lake<br /> ** B. Spilling wine on a carpet<br /> ** C. '''A Stock Market crash'''<br /> ** D. Parents buying a child toys<br /> <br /> ==== Quiz Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What is the average periodicity of the oscillation?<br /> * Give an example of a system with a explosive type of oscillating time path.<br /> * Pick a system from the following list, and draw a model of it.<br /> ** System A<br /> ** System B<br /> ** Etc.<br /> * What is an example of a stock?<br /> ** Fish in a lake<br /> ** The net worth of the stock market<br /> ** Wine in a glass<br /> ** '''All of the above'''<br /> * Draw an example of a system following the explosive oscillation pattern.<br /> * What growth model is displayed by most systems?<br /> ** '''Exponential increase'''<br /> ** Dampening oscillation<br /> ** Linear increase<br /> ** Equilibrium<br /> <br /> = Predator Prey Metadata = <br /> This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> * Given that this unit employs agent-based modeling as a introductory element in order to make the switch to system dynamics, it would be best if this unit came after a unit on agent-based modeling, or at least a unit in which students were introduced to agent-based modeling.<br /> <br /> == Concepts and Techniques == <br /> This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> * Analytical Reasoning Requirement <br /> ** Abstract Reasoning - From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> *** They focus substantially on properties of classes of abstract models and operations that apply to them.<br /> **** Complete. The entire unit is about students learning exactly what you can do with a system dynamics model. It would be impossible to teach that without discussing the properties of the model and what operations you could perform on it.<br /> *** They provide experience in generalizing from specific instances to appropriate classes of abstract models.<br /> **** Partial. The way the unit works is by teaching students about the class of model, and has them build a specific one as part of a lab activity.<br /> *** They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.<br /> **** Partial. The lab activity involves constructing a model, manipulating the data that goes in, and then collecting results, but not in order to satisfy a concrete problem.<br /> ** Quantitative Reasoning - From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> *** Using and interpreting formulas, graphs and tables.<br /> **** Complete. In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> *** Representing mathematical ideas symbolically, graphically, numerically and verbally.<br /> **** Complete. Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> *** Using mathematical and statistical ideas to solve problems in a variety of contexts.<br /> **** Complete. We are using mathematics to solve problems.<br /> *** Using simple models such as linear dependence, exponential growth or decay, or normal distribution.<br /> **** Complete. In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> *** Understanding basic statistical ideas such as averages, variability and probability.<br /> **** Partial. Only so much as these ideas would be helpful in a particular model.<br /> *** Making estimates and checking the reasonableness of answers.<br /> **** Complete. Experimentation is used when developing models and there is an analysis part of our lab.<br /> *** Recognizing the limitations of mathematical and statistical methods.<br /> **** Complete. When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> * Scientific Inquiry Requirement - From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> ** Develops students' understanding of the natural world.<br /> *** Complete. They can model natural systems including our example, Predator-Prey models.<br /> ** Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.<br /> *** Complete. Experimentation is used when developing models.<br /> ** Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.<br /> *** Partial. We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> <br /> == Scaffolded Learning ==<br /> <br /> * The scaffold approach is more difficult to take with this unit than with some others, because rather than involving a grander and grander scope, it involves a transition from one type of modeling to another. The obvious answer here is to start out with a small system that we model, then move on to larger ones, but I'm not sure if I'm satisfied with that approach.<br /> <br /> == Inquiry Based Learning == <br /> Some prose.<br /> <br /> &lt;font color=&quot;red&quot;&gt;Consider open-ended questions for the students to explore in the context of the lab. What happens when you change X? Why? &lt;/font&gt;<br /> <br /> = Predator Prey Mechanics = <br /> == To Do ==<br /> * A list of items maintained by the authors, Charlie, and the Reviewers.<br /> <br /> == Comments ==<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Put answers to CRS / quiz Qs in bold&lt;/font&gt;<br /> ** Done.<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Come up with something concrete, then go into detail on it (at least to the level of procedure). That'll make it easier to evaluate where to go with it in the greater scheme of things, and to offer suggestions for what might be most effective.&lt;/font&gt; &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> ** Done.<br /> * &lt;font color=&quot;blue&quot;&gt;They're going to need to know how to get to that one.&lt;/font&gt;<br /> * &lt;font color=&quot;blue&quot;&gt;How should they determine these?&lt;/font&gt;<br /> ** More information on how put in.<br /> * &lt;font color=&quot;blue&quot;&gt;???&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;I have only a vague idea of what this means. I can see that there's an interface in Netlogo to edit the diagram, but what exactly do they need to do?&lt;/font&gt;<br /> ** Fleshed out the details more.<br /> * &lt;font color=&quot;blue&quot;&gt;Yep. You're supposed to do it as part of the lab writeup for this week for people to be able to do your lab. :P&lt;/font&gt;<br /> ** d(^_^)b<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Maybe I'm just terrible at using the browser interface, but the diagram window did not pop up for me in either Firefox or Safari. Using the Netlogo on my machine, though, I had both windows for the diagram and testing. If I'm doing something wrong, then it needs instructions; otherwise we might need to make them download it for reals (gasp)&lt;/font&gt;<br /> ** No longer being done in the browser<br /> *&lt;font color=red&gt;Make a new model with the correct vermin.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Could we also just change the name of the unit?&lt;/font&gt;<br /> ** Done. (or at least it will be.)<br /> <br /> = Authorship = <br /> Your names, URLs, etc.</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Predator-Prey&diff=9137 CS382:Predator-Prey 2009-04-17T12:18:06Z <p>Edlefma: /* Comments */</p> <hr /> <div>= Predator Prey ( Lynx Hare ) = <br /> == Overview ==<br /> <br /> The predator prey unit will last for a week and a half. (Or, 3 classes) The purpose of this unit is to teach the students of this class about using system dynamics, using predator-prey interaction as a vehicle to facilitate the student's understanding of how the systems dynamics approach to modeling functions. This unit will consist of a lab where students use a couple of different simulation models to explore the intricacies of how predator and prey interact, both agent-based and system dynamics based.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> ** Great compilation of knowledge on the subject. Is the primary source for the present lecture notes.<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> ** Another compilation of knowledge used extensively in the lecture notes.<br /> <br /> == Reading Assignments for Students ==<br /> * Given the reference materials present so far, it's possible that rather than having a link to online reading assignments, we may have to create paper handouts based on the materials that we have links to.<br /> <br /> * A handout created from parts of the US Dept. Of Energy's guide to System Dynamics seems like a very good place to start.<br /> <br /> == Reference Material ==<br /> * [http://www.mysciencebox.org/book/export/html/81 Page on Lynx - Hare Populations]<br /> * [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Talks about Lynx - Hare as a Pred/Prey model]<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model]<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> <br /> == Lecture Notes == <br /> Outline of the lectures designed to fit into 2 1:20 slots per week. This unit lasts 1 1/2 weeks, so requires 3 lectures.<br /> &lt;font color=&quot;darkmagenta&quot;&gt;I dig the detail of these lecture notes. Do more!&lt;/font&gt;<br /> <br /> '''Lecture 1:'''<br /> <br /> * Intro &amp; Concepts<br /> ** What is system dynamics? &lt;font color=&quot;darkmagenta&quot;&gt;for instance, answer these&lt;/font&gt;<br /> ** What is it for?<br /> ** What does it let you do?<br /> *** Systems dynamics lets you sketch out the relationships between all the components of a dynamic system, and given those relationships, will allow you to predict how the system behaves over a period of time. Will it result in a fluctuating growth? Exponential growth? Perfect equilibrium? All of these questions should be answerable using this type of model.<br /> ** Why use System Dynamics? When should you use it?<br /> *** The answer to this question is essentially the same as why you should use any other model. It's oftentimes quicker, cheaper and safer to alter a model and run tests on that than to alter a real system and run tests on that. Additionally, a failure in a model will allow you to predict a failure in a real system.<br /> *** Failure in a real system often has catastrophic consequences, such as the loss of lives. The failure of a model is often much less devastating, resulting in perhaps a &quot;Darn. Well, back to the drawing board.&quot; instead of &quot;My son/daughter was in that building!&quot;<br /> ** Strengths / Weaknesses &lt;font color=&quot;darkmagenta&quot;&gt;and list some of these&lt;/font&gt;<br /> <br /> * Basic Terminology (Building Blocks)<br /> ** Time Paths<br /> *** A time path is how something changes over time (either the whole system or an aspect of the system).<br /> ** Link<br /> *** Feedback Loop<br /> ** Stock<br /> *** A stock is a quantity of objects that's variable in nature. Examples of this are the number of sheep in a pasture, the number of fish in a pond, the amount of oil left in the world, the number of tanks in the US military, etc.<br /> ** Flow<br /> *** This represents the flow of resources either into or out of a stock. For instance, drilling would represent a flow out of the stock of oil in Alaska, and into the stock of oil in the US Oil Reserve.<br /> <br /> * Causal Loop Diagram<br /> ** Pictures used to convey understanding of interactions or influences within the structure. It's used specifically to show the influential interactions between two elements of a structure.<br /> ** The main conventions that are used to display a loop are the &quot;+&quot;, &quot;-&quot;, &quot;S&quot; and &quot;O&quot;<br /> ** That is to say, that if a arrow is shown from A to B with a + on it, it means that A adds to B. As A increases, it adds more and more to B, and as it decreases, it adds less and less, but still adds to B<br /> ** With a - shown with the arrow, A subtracts from B. As A grows, it subtracts more and more from B. As A diminishes, it subtracts less and less from B (But still subtracts)<br /> ** With a S shown with the arrow, A and B grow in the same direction. This means that as A increases, B increases, and vice versa.<br /> ** A O indicates that A and B grow in opposite directions, I.E. as A shrinks B grows and vice versa.<br /> ** With no label, it indicates that A is considered a constant.<br /> ** The Causal loop diagram gives no indication as to the strength of the influence of the two elements, it just shows the nature of the influence.<br /> ** There are, generally speaking, two types of Causal loops. A Reinforcing loop and a Balancing loop.<br /> *** In a reinforcing loop, each action adds to the other. An action that produces a result that produces more of the same action is a reinforcing loop.<br /> *** In a balancing loop, any action attempts to bring two things to agreement. A situation where one tries to solve a problem or achieve a goal is representative of a balancing loop.<br /> <br /> <br /> '''Lecture 2:'''<br /> <br /> *More Terminology<br /> ** System Dynamics is interested in the behavior of systems over a period of time. Time paths are critical to expressing this.<br /> ** Types of Time Paths<br /> *** Linear Family<br /> **** Growth / Decline<br /> ***** The notion that most systems grow / decline under a linear curve is in fact incorrect. A linear growth or decline indicates a system which is devoid of feedback.<br /> ***** Feedback is a crucial part for the growth or decay of any system.<br /> **** Equilibrium<br /> ***** The expression of a system under which there is no pressure for change, or a system in which all variables reach their desired state at the same point in time<br /> ***** Note that this is an extremely artificial scenario, most systems do NOT reach or maintain equilibrium.<br /> *** Exponential Family<br /> **** Paths showing exponential growth and exponential decay. Real systems tend to grow along exponential paths rather than linear paths.<br /> *** Goal-Seeking Family<br /> **** Displayed in most living, and some nonliving systems<br /> *** Oscillation Family<br /> **** Sustained<br /> ***** Characterized by a predictable periodicity.<br /> ***** Predator-Prey relations are often characterized by this, as while the individual oscillations may vary, they often follow a predictable oscillating pattern in that the rise of the prey population indicates the rise of the predator population, and the decline of a prey population causes the decline of a predator population.<br /> **** Dampened<br /> ***** Displayed by systems that display dissipation or relaxation processes, such as friction or information smoothing.<br /> **** Exploding<br /> ***** Starts of smoothly, but grow until either the system settles down or is torn apart.<br /> ***** This pattern occurs infrequently in real-world situations, and doesn't last long when it does.<br /> **** Chaos<br /> ***** A unique type of oscillation, as it basically represents a random pattern generated by a system that is devoid of randomness<br /> *** S-Shaped Family<br /> **** This is extremely visible in the [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model] when the grass is taken out of the equation. The sheep population goes too high, which in turn causes the wolf population to increase too much, which leads to an irrecoverable decline in the sheep population. (Extinction)<br /> **** This is referred to as an &quot;Overshoot and crash&quot; system.<br /> <br /> * Review of the &quot;Building Blocks&quot; of a System Dynamics model<br /> <br /> <br /> '''Lecture 3:'''<br /> <br /> * Review of Class 1 and 2.<br /> ** Still working on material for this. &lt;font color=&quot;darkmagenta&quot;&gt;Fair enough&lt;/font&gt;<br /> <br /> == Lab == <br /> ==== Process ====<br /> * Open up the Netlogo Lynx-Hare model showing both an agent based model and an empty system dynamics model. <br /> ** Start Netlogo.<br /> ** Click File-&gt;Open and select pred.nlogo<br /> ** Two windows should pop up, focus on the one that has buttons and input boxes on it.<br /> * Play around with the agent based model and observe the behavior of the model:<br /> ** Press the Setup button on the left side of the model.<br /> ** Enter the values you want in the various input boxes<br /> ** Press the Go button.<br /> * Observing the agent based model, identify parts of the system dynamics model:<br /> ** Determine the stocks in this model.<br /> ** Determine the flows.<br /> *** Determine what effects the sheep birth / death rate.<br /> *** Determine what effects the wolf birth / death rate.<br /> ** Figure out the variables then look at how you can tweak the simulation.<br /> * Draw a causal loop diagram using the above information.<br /> * Implement the System Dynamics Netlogo model using the causal loop diagram: (TODO: How to name the parts of the model)<br /> ** Focus on the other window that came up when you opened the model.<br /> ** For each stock in your causal loop diagram, click the Stock button at the top and then click somewhere in the blank area.<br /> ** For each of the placed stocks place two flows, one on the left and one on the right of each stock. Connect the flows to the stock by clicking and dragging the close end of the flow to the stock.<br /> ** In each of the stocks input the appropriate equations.<br /> ** Click the Check button and return to the other window.<br /> * Experiment with different values for the two models.<br /> ** Make notes of what you notice.<br /> * In &lt;Some piece of software Charlie is getting us&gt;, collect data points from a run of the agent based model. Fit a curve to this data. Using the curve equations, configure the system dynamics model to produce a result similar to the one gleaned from the agent-based simulation. (TODO: this needs to be fleshed out more)<br /> ** We will be providing a set of values for the agent-based model. &lt;font color=&quot;blue&quot;&gt;Do you have these?&lt;/font&gt;<br /> ** We need to determine exactly how to do this in Excel. <br /> * Evaluation for correctness / completeness.<br /> ** Evaluate the correctness of the system dynamics model. &lt;font color=&quot;blue&quot;&gt;How? Be more specific, please. For the poor confused freshmen.&lt;/font&gt; <br /> ** Evaluate how well the results of the system dynamics model meshed with the results generated by the agent-based model.<br /> <br /> ==== Write-up ====<br /> * Required Elements:<br /> ** Provide all the stuff we told them to to in the procedure.<br /> *** What are the stocks?<br /> *** What are the flows?<br /> *** How can the simulation be tweaked?<br /> *** A causal loop diagram.<br /> *** Netlogo implementation of the system dynamics model.<br /> *** Excel file with the fit curve.<br /> *** An explanation of how they came up with the values for the system dynamics model based on the fitted curve.<br /> * Visualization opportunities:<br /> ** Placeholder.<br /> * Optional elements:<br /> ** Placeholder.<br /> * Provide a template for the first couple of labs ala CS128?<br /> ** Placeholder.<br /> <br /> ==== Software ====<br /> * Custom Lynx-Hare model based on [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> <br /> ==== Bill of Materials ==== <br /> * I don't think it will be practical to try and conduct a lab for this unit with anything but software.<br /> * So far all the software that we've found is open-source and free.<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What type of oscillation does it show?<br /> ** A. Chaos<br /> ** B. Explosive<br /> ** C. Dampening<br /> ** D. '''Sustained'''<br /> * What is a good example of a reinforcing loop?<br /> ** A. Uncontrolled fishing in a lake<br /> ** B. Spilling wine on a carpet<br /> ** C. '''A Stock Market crash'''<br /> ** D. Parents buying a child toys<br /> <br /> ==== Quiz Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What is the average periodicity of the oscillation?<br /> * Give an example of a system with a explosive type of oscillating time path.<br /> * Pick a system from the following list, and draw a model of it.<br /> ** System A<br /> ** System B<br /> ** Etc.<br /> * What is an example of a stock?<br /> ** Fish in a lake<br /> ** The net worth of the stock market<br /> ** Wine in a glass<br /> ** '''All of the above'''<br /> * Draw an example of a system following the explosive oscillation pattern.<br /> * What growth model is displayed by most systems?<br /> ** '''Exponential increase'''<br /> ** Dampening oscillation<br /> ** Linear increase<br /> ** Equilibrium<br /> <br /> = Predator Prey Metadata = <br /> This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> * Given that this unit employs agent-based modeling as a introductory element in order to make the switch to system dynamics, it would be best if this unit came after a unit on agent-based modeling, or at least a unit in which students were introduced to agent-based modeling.<br /> <br /> == Concepts and Techniques == <br /> This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> * Analytical Reasoning Requirement <br /> ** Abstract Reasoning - From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> *** They focus substantially on properties of classes of abstract models and operations that apply to them.<br /> **** Complete. The entire unit is about students learning exactly what you can do with a system dynamics model. It would be impossible to teach that without discussing the properties of the model and what operations you could perform on it.<br /> *** They provide experience in generalizing from specific instances to appropriate classes of abstract models.<br /> **** Partial. The way the unit works is by teaching students about the class of model, and has them build a specific one as part of a lab activity.<br /> *** They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.<br /> **** Partial. The lab activity involves constructing a model, manipulating the data that goes in, and then collecting results, but not in order to satisfy a concrete problem.<br /> ** Quantitative Reasoning - From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> *** Using and interpreting formulas, graphs and tables.<br /> **** Complete. In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> *** Representing mathematical ideas symbolically, graphically, numerically and verbally.<br /> **** Complete. Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> *** Using mathematical and statistical ideas to solve problems in a variety of contexts.<br /> **** Complete. We are using mathematics to solve problems.<br /> *** Using simple models such as linear dependence, exponential growth or decay, or normal distribution.<br /> **** Complete. In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> *** Understanding basic statistical ideas such as averages, variability and probability.<br /> **** Partial. Only so much as these ideas would be helpful in a particular model.<br /> *** Making estimates and checking the reasonableness of answers.<br /> **** Complete. Experimentation is used when developing models and there is an analysis part of our lab.<br /> *** Recognizing the limitations of mathematical and statistical methods.<br /> **** Complete. When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> * Scientific Inquiry Requirement - From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> ** Develops students' understanding of the natural world.<br /> *** Complete. They can model natural systems including our example, Predator-Prey models.<br /> ** Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.<br /> *** Complete. Experimentation is used when developing models.<br /> ** Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.<br /> *** Partial. We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> <br /> == Scaffolded Learning ==<br /> <br /> * The scaffold approach is more difficult to take with this unit than with some others, because rather than involving a grander and grander scope, it involves a transition from one type of modeling to another. The obvious answer here is to start out with a small system that we model, then move on to larger ones, but I'm not sure if I'm satisfied with that approach.<br /> <br /> == Inquiry Based Learning == <br /> Some prose.<br /> <br /> &lt;font color=&quot;red&quot;&gt;Consider open-ended questions for the students to explore in the context of the lab. What happens when you change X? Why? &lt;/font&gt;<br /> <br /> = Predator Prey Mechanics = <br /> == To Do ==<br /> * A list of items maintained by the authors, Charlie, and the Reviewers.<br /> <br /> == Comments ==<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Put answers to CRS / quiz Qs in bold&lt;/font&gt;<br /> ** Done.<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Come up with something concrete, then go into detail on it (at least to the level of procedure). That'll make it easier to evaluate where to go with it in the greater scheme of things, and to offer suggestions for what might be most effective.&lt;/font&gt; &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> ** Done.<br /> &lt;font color=&quot;blue&quot;&gt;They're going to need to know how to get to that one.&lt;/font&gt;<br /> &lt;font color=&quot;blue&quot;&gt;How should they determine these?&lt;/font&gt;<br /> &lt;font color=&quot;blue&quot;&gt;???&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;I have only a vague idea of what this means. I can see that there's an interface in Netlogo to edit the diagram, but what exactly do they need to do?&lt;/font&gt;<br /> &lt;font color=&quot;blue&quot;&gt;Yep. You're supposed to do it as part of the lab writeup for this week for people to be able to do your lab. :P&lt;/font&gt;<br /> &lt;font color=&quot;darkmagenta&quot;&gt;Maybe I'm just terrible at using the browser interface, but the diagram window did not pop up for me in either Firefox or Safari. Using the Netlogo on my machine, though, I had both windows for the diagram and testing. If I'm doing something wrong, then it needs instructions; otherwise we might need to make them download it for reals (gasp)&lt;/font&gt;<br /> &lt;font color=red&gt;Make a new model with the correct vermin.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Could we also just change the name of the unit?&lt;/font&gt;<br /> <br /> = Authorship = <br /> Your names, URLs, etc.</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Predator-Prey&diff=9136 CS382:Predator-Prey 2009-04-17T12:17:10Z <p>Edlefma: /* Software */</p> <hr /> <div>= Predator Prey ( Lynx Hare ) = <br /> == Overview ==<br /> <br /> The predator prey unit will last for a week and a half. (Or, 3 classes) The purpose of this unit is to teach the students of this class about using system dynamics, using predator-prey interaction as a vehicle to facilitate the student's understanding of how the systems dynamics approach to modeling functions. This unit will consist of a lab where students use a couple of different simulation models to explore the intricacies of how predator and prey interact, both agent-based and system dynamics based.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> ** Great compilation of knowledge on the subject. Is the primary source for the present lecture notes.<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> ** Another compilation of knowledge used extensively in the lecture notes.<br /> <br /> == Reading Assignments for Students ==<br /> * Given the reference materials present so far, it's possible that rather than having a link to online reading assignments, we may have to create paper handouts based on the materials that we have links to.<br /> <br /> * A handout created from parts of the US Dept. Of Energy's guide to System Dynamics seems like a very good place to start.<br /> <br /> == Reference Material ==<br /> * [http://www.mysciencebox.org/book/export/html/81 Page on Lynx - Hare Populations]<br /> * [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Talks about Lynx - Hare as a Pred/Prey model]<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model]<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> <br /> == Lecture Notes == <br /> Outline of the lectures designed to fit into 2 1:20 slots per week. This unit lasts 1 1/2 weeks, so requires 3 lectures.<br /> &lt;font color=&quot;darkmagenta&quot;&gt;I dig the detail of these lecture notes. Do more!&lt;/font&gt;<br /> <br /> '''Lecture 1:'''<br /> <br /> * Intro &amp; Concepts<br /> ** What is system dynamics? &lt;font color=&quot;darkmagenta&quot;&gt;for instance, answer these&lt;/font&gt;<br /> ** What is it for?<br /> ** What does it let you do?<br /> *** Systems dynamics lets you sketch out the relationships between all the components of a dynamic system, and given those relationships, will allow you to predict how the system behaves over a period of time. Will it result in a fluctuating growth? Exponential growth? Perfect equilibrium? All of these questions should be answerable using this type of model.<br /> ** Why use System Dynamics? When should you use it?<br /> *** The answer to this question is essentially the same as why you should use any other model. It's oftentimes quicker, cheaper and safer to alter a model and run tests on that than to alter a real system and run tests on that. Additionally, a failure in a model will allow you to predict a failure in a real system.<br /> *** Failure in a real system often has catastrophic consequences, such as the loss of lives. The failure of a model is often much less devastating, resulting in perhaps a &quot;Darn. Well, back to the drawing board.&quot; instead of &quot;My son/daughter was in that building!&quot;<br /> ** Strengths / Weaknesses &lt;font color=&quot;darkmagenta&quot;&gt;and list some of these&lt;/font&gt;<br /> <br /> * Basic Terminology (Building Blocks)<br /> ** Time Paths<br /> *** A time path is how something changes over time (either the whole system or an aspect of the system).<br /> ** Link<br /> *** Feedback Loop<br /> ** Stock<br /> *** A stock is a quantity of objects that's variable in nature. Examples of this are the number of sheep in a pasture, the number of fish in a pond, the amount of oil left in the world, the number of tanks in the US military, etc.<br /> ** Flow<br /> *** This represents the flow of resources either into or out of a stock. For instance, drilling would represent a flow out of the stock of oil in Alaska, and into the stock of oil in the US Oil Reserve.<br /> <br /> * Causal Loop Diagram<br /> ** Pictures used to convey understanding of interactions or influences within the structure. It's used specifically to show the influential interactions between two elements of a structure.<br /> ** The main conventions that are used to display a loop are the &quot;+&quot;, &quot;-&quot;, &quot;S&quot; and &quot;O&quot;<br /> ** That is to say, that if a arrow is shown from A to B with a + on it, it means that A adds to B. As A increases, it adds more and more to B, and as it decreases, it adds less and less, but still adds to B<br /> ** With a - shown with the arrow, A subtracts from B. As A grows, it subtracts more and more from B. As A diminishes, it subtracts less and less from B (But still subtracts)<br /> ** With a S shown with the arrow, A and B grow in the same direction. This means that as A increases, B increases, and vice versa.<br /> ** A O indicates that A and B grow in opposite directions, I.E. as A shrinks B grows and vice versa.<br /> ** With no label, it indicates that A is considered a constant.<br /> ** The Causal loop diagram gives no indication as to the strength of the influence of the two elements, it just shows the nature of the influence.<br /> ** There are, generally speaking, two types of Causal loops. A Reinforcing loop and a Balancing loop.<br /> *** In a reinforcing loop, each action adds to the other. An action that produces a result that produces more of the same action is a reinforcing loop.<br /> *** In a balancing loop, any action attempts to bring two things to agreement. A situation where one tries to solve a problem or achieve a goal is representative of a balancing loop.<br /> <br /> <br /> '''Lecture 2:'''<br /> <br /> *More Terminology<br /> ** System Dynamics is interested in the behavior of systems over a period of time. Time paths are critical to expressing this.<br /> ** Types of Time Paths<br /> *** Linear Family<br /> **** Growth / Decline<br /> ***** The notion that most systems grow / decline under a linear curve is in fact incorrect. A linear growth or decline indicates a system which is devoid of feedback.<br /> ***** Feedback is a crucial part for the growth or decay of any system.<br /> **** Equilibrium<br /> ***** The expression of a system under which there is no pressure for change, or a system in which all variables reach their desired state at the same point in time<br /> ***** Note that this is an extremely artificial scenario, most systems do NOT reach or maintain equilibrium.<br /> *** Exponential Family<br /> **** Paths showing exponential growth and exponential decay. Real systems tend to grow along exponential paths rather than linear paths.<br /> *** Goal-Seeking Family<br /> **** Displayed in most living, and some nonliving systems<br /> *** Oscillation Family<br /> **** Sustained<br /> ***** Characterized by a predictable periodicity.<br /> ***** Predator-Prey relations are often characterized by this, as while the individual oscillations may vary, they often follow a predictable oscillating pattern in that the rise of the prey population indicates the rise of the predator population, and the decline of a prey population causes the decline of a predator population.<br /> **** Dampened<br /> ***** Displayed by systems that display dissipation or relaxation processes, such as friction or information smoothing.<br /> **** Exploding<br /> ***** Starts of smoothly, but grow until either the system settles down or is torn apart.<br /> ***** This pattern occurs infrequently in real-world situations, and doesn't last long when it does.<br /> **** Chaos<br /> ***** A unique type of oscillation, as it basically represents a random pattern generated by a system that is devoid of randomness<br /> *** S-Shaped Family<br /> **** This is extremely visible in the [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model] when the grass is taken out of the equation. The sheep population goes too high, which in turn causes the wolf population to increase too much, which leads to an irrecoverable decline in the sheep population. (Extinction)<br /> **** This is referred to as an &quot;Overshoot and crash&quot; system.<br /> <br /> * Review of the &quot;Building Blocks&quot; of a System Dynamics model<br /> <br /> <br /> '''Lecture 3:'''<br /> <br /> * Review of Class 1 and 2.<br /> ** Still working on material for this. &lt;font color=&quot;darkmagenta&quot;&gt;Fair enough&lt;/font&gt;<br /> <br /> == Lab == <br /> ==== Process ====<br /> * Open up the Netlogo Lynx-Hare model showing both an agent based model and an empty system dynamics model. <br /> ** Start Netlogo.<br /> ** Click File-&gt;Open and select pred.nlogo<br /> ** Two windows should pop up, focus on the one that has buttons and input boxes on it.<br /> * Play around with the agent based model and observe the behavior of the model:<br /> ** Press the Setup button on the left side of the model.<br /> ** Enter the values you want in the various input boxes<br /> ** Press the Go button.<br /> * Observing the agent based model, identify parts of the system dynamics model:<br /> ** Determine the stocks in this model.<br /> ** Determine the flows.<br /> *** Determine what effects the sheep birth / death rate.<br /> *** Determine what effects the wolf birth / death rate.<br /> ** Figure out the variables then look at how you can tweak the simulation.<br /> * Draw a causal loop diagram using the above information.<br /> * Implement the System Dynamics Netlogo model using the causal loop diagram: (TODO: How to name the parts of the model)<br /> ** Focus on the other window that came up when you opened the model.<br /> ** For each stock in your causal loop diagram, click the Stock button at the top and then click somewhere in the blank area.<br /> ** For each of the placed stocks place two flows, one on the left and one on the right of each stock. Connect the flows to the stock by clicking and dragging the close end of the flow to the stock.<br /> ** In each of the stocks input the appropriate equations.<br /> ** Click the Check button and return to the other window.<br /> * Experiment with different values for the two models.<br /> ** Make notes of what you notice.<br /> * In &lt;Some piece of software Charlie is getting us&gt;, collect data points from a run of the agent based model. Fit a curve to this data. Using the curve equations, configure the system dynamics model to produce a result similar to the one gleaned from the agent-based simulation. (TODO: this needs to be fleshed out more)<br /> ** We will be providing a set of values for the agent-based model. &lt;font color=&quot;blue&quot;&gt;Do you have these?&lt;/font&gt;<br /> ** We need to determine exactly how to do this in Excel. <br /> * Evaluation for correctness / completeness.<br /> ** Evaluate the correctness of the system dynamics model. &lt;font color=&quot;blue&quot;&gt;How? Be more specific, please. For the poor confused freshmen.&lt;/font&gt; <br /> ** Evaluate how well the results of the system dynamics model meshed with the results generated by the agent-based model.<br /> <br /> ==== Write-up ====<br /> * Required Elements:<br /> ** Provide all the stuff we told them to to in the procedure.<br /> *** What are the stocks?<br /> *** What are the flows?<br /> *** How can the simulation be tweaked?<br /> *** A causal loop diagram.<br /> *** Netlogo implementation of the system dynamics model.<br /> *** Excel file with the fit curve.<br /> *** An explanation of how they came up with the values for the system dynamics model based on the fitted curve.<br /> * Visualization opportunities:<br /> ** Placeholder.<br /> * Optional elements:<br /> ** Placeholder.<br /> * Provide a template for the first couple of labs ala CS128?<br /> ** Placeholder.<br /> <br /> ==== Software ====<br /> * Custom Lynx-Hare model based on [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> <br /> ==== Bill of Materials ==== <br /> * I don't think it will be practical to try and conduct a lab for this unit with anything but software.<br /> * So far all the software that we've found is open-source and free.<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What type of oscillation does it show?<br /> ** A. Chaos<br /> ** B. Explosive<br /> ** C. Dampening<br /> ** D. '''Sustained'''<br /> * What is a good example of a reinforcing loop?<br /> ** A. Uncontrolled fishing in a lake<br /> ** B. Spilling wine on a carpet<br /> ** C. '''A Stock Market crash'''<br /> ** D. Parents buying a child toys<br /> <br /> ==== Quiz Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What is the average periodicity of the oscillation?<br /> * Give an example of a system with a explosive type of oscillating time path.<br /> * Pick a system from the following list, and draw a model of it.<br /> ** System A<br /> ** System B<br /> ** Etc.<br /> * What is an example of a stock?<br /> ** Fish in a lake<br /> ** The net worth of the stock market<br /> ** Wine in a glass<br /> ** '''All of the above'''<br /> * Draw an example of a system following the explosive oscillation pattern.<br /> * What growth model is displayed by most systems?<br /> ** '''Exponential increase'''<br /> ** Dampening oscillation<br /> ** Linear increase<br /> ** Equilibrium<br /> <br /> = Predator Prey Metadata = <br /> This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> * Given that this unit employs agent-based modeling as a introductory element in order to make the switch to system dynamics, it would be best if this unit came after a unit on agent-based modeling, or at least a unit in which students were introduced to agent-based modeling.<br /> <br /> == Concepts and Techniques == <br /> This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> * Analytical Reasoning Requirement <br /> ** Abstract Reasoning - From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> *** They focus substantially on properties of classes of abstract models and operations that apply to them.<br /> **** Complete. The entire unit is about students learning exactly what you can do with a system dynamics model. It would be impossible to teach that without discussing the properties of the model and what operations you could perform on it.<br /> *** They provide experience in generalizing from specific instances to appropriate classes of abstract models.<br /> **** Partial. The way the unit works is by teaching students about the class of model, and has them build a specific one as part of a lab activity.<br /> *** They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.<br /> **** Partial. The lab activity involves constructing a model, manipulating the data that goes in, and then collecting results, but not in order to satisfy a concrete problem.<br /> ** Quantitative Reasoning - From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> *** Using and interpreting formulas, graphs and tables.<br /> **** Complete. In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> *** Representing mathematical ideas symbolically, graphically, numerically and verbally.<br /> **** Complete. Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> *** Using mathematical and statistical ideas to solve problems in a variety of contexts.<br /> **** Complete. We are using mathematics to solve problems.<br /> *** Using simple models such as linear dependence, exponential growth or decay, or normal distribution.<br /> **** Complete. In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> *** Understanding basic statistical ideas such as averages, variability and probability.<br /> **** Partial. Only so much as these ideas would be helpful in a particular model.<br /> *** Making estimates and checking the reasonableness of answers.<br /> **** Complete. Experimentation is used when developing models and there is an analysis part of our lab.<br /> *** Recognizing the limitations of mathematical and statistical methods.<br /> **** Complete. When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> * Scientific Inquiry Requirement - From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> ** Develops students' understanding of the natural world.<br /> *** Complete. They can model natural systems including our example, Predator-Prey models.<br /> ** Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.<br /> *** Complete. Experimentation is used when developing models.<br /> ** Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.<br /> *** Partial. We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> <br /> == Scaffolded Learning ==<br /> <br /> * The scaffold approach is more difficult to take with this unit than with some others, because rather than involving a grander and grander scope, it involves a transition from one type of modeling to another. The obvious answer here is to start out with a small system that we model, then move on to larger ones, but I'm not sure if I'm satisfied with that approach.<br /> <br /> == Inquiry Based Learning == <br /> Some prose.<br /> <br /> &lt;font color=&quot;red&quot;&gt;Consider open-ended questions for the students to explore in the context of the lab. What happens when you change X? Why? &lt;/font&gt;<br /> <br /> = Predator Prey Mechanics = <br /> == To Do ==<br /> * A list of items maintained by the authors, Charlie, and the Reviewers.<br /> <br /> == Comments ==<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Put answers to CRS / quiz Qs in bold&lt;/font&gt;<br /> ** Done.<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Come up with something concrete, then go into detail on it (at least to the level of procedure). That'll make it easier to evaluate where to go with it in the greater scheme of things, and to offer suggestions for what might be most effective.&lt;/font&gt; &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> ** Done.<br /> <br /> = Authorship = <br /> Your names, URLs, etc.</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Predator-Prey&diff=9135 CS382:Predator-Prey 2009-04-17T12:15:00Z <p>Edlefma: /* Process */</p> <hr /> <div>= Predator Prey ( Lynx Hare ) = <br /> == Overview ==<br /> <br /> The predator prey unit will last for a week and a half. (Or, 3 classes) The purpose of this unit is to teach the students of this class about using system dynamics, using predator-prey interaction as a vehicle to facilitate the student's understanding of how the systems dynamics approach to modeling functions. This unit will consist of a lab where students use a couple of different simulation models to explore the intricacies of how predator and prey interact, both agent-based and system dynamics based.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> ** Great compilation of knowledge on the subject. Is the primary source for the present lecture notes.<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> ** Another compilation of knowledge used extensively in the lecture notes.<br /> <br /> == Reading Assignments for Students ==<br /> * Given the reference materials present so far, it's possible that rather than having a link to online reading assignments, we may have to create paper handouts based on the materials that we have links to.<br /> <br /> * A handout created from parts of the US Dept. Of Energy's guide to System Dynamics seems like a very good place to start.<br /> <br /> == Reference Material ==<br /> * [http://www.mysciencebox.org/book/export/html/81 Page on Lynx - Hare Populations]<br /> * [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Talks about Lynx - Hare as a Pred/Prey model]<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model]<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> <br /> == Lecture Notes == <br /> Outline of the lectures designed to fit into 2 1:20 slots per week. This unit lasts 1 1/2 weeks, so requires 3 lectures.<br /> &lt;font color=&quot;darkmagenta&quot;&gt;I dig the detail of these lecture notes. Do more!&lt;/font&gt;<br /> <br /> '''Lecture 1:'''<br /> <br /> * Intro &amp; Concepts<br /> ** What is system dynamics? &lt;font color=&quot;darkmagenta&quot;&gt;for instance, answer these&lt;/font&gt;<br /> ** What is it for?<br /> ** What does it let you do?<br /> *** Systems dynamics lets you sketch out the relationships between all the components of a dynamic system, and given those relationships, will allow you to predict how the system behaves over a period of time. Will it result in a fluctuating growth? Exponential growth? Perfect equilibrium? All of these questions should be answerable using this type of model.<br /> ** Why use System Dynamics? When should you use it?<br /> *** The answer to this question is essentially the same as why you should use any other model. It's oftentimes quicker, cheaper and safer to alter a model and run tests on that than to alter a real system and run tests on that. Additionally, a failure in a model will allow you to predict a failure in a real system.<br /> *** Failure in a real system often has catastrophic consequences, such as the loss of lives. The failure of a model is often much less devastating, resulting in perhaps a &quot;Darn. Well, back to the drawing board.&quot; instead of &quot;My son/daughter was in that building!&quot;<br /> ** Strengths / Weaknesses &lt;font color=&quot;darkmagenta&quot;&gt;and list some of these&lt;/font&gt;<br /> <br /> * Basic Terminology (Building Blocks)<br /> ** Time Paths<br /> *** A time path is how something changes over time (either the whole system or an aspect of the system).<br /> ** Link<br /> *** Feedback Loop<br /> ** Stock<br /> *** A stock is a quantity of objects that's variable in nature. Examples of this are the number of sheep in a pasture, the number of fish in a pond, the amount of oil left in the world, the number of tanks in the US military, etc.<br /> ** Flow<br /> *** This represents the flow of resources either into or out of a stock. For instance, drilling would represent a flow out of the stock of oil in Alaska, and into the stock of oil in the US Oil Reserve.<br /> <br /> * Causal Loop Diagram<br /> ** Pictures used to convey understanding of interactions or influences within the structure. It's used specifically to show the influential interactions between two elements of a structure.<br /> ** The main conventions that are used to display a loop are the &quot;+&quot;, &quot;-&quot;, &quot;S&quot; and &quot;O&quot;<br /> ** That is to say, that if a arrow is shown from A to B with a + on it, it means that A adds to B. As A increases, it adds more and more to B, and as it decreases, it adds less and less, but still adds to B<br /> ** With a - shown with the arrow, A subtracts from B. As A grows, it subtracts more and more from B. As A diminishes, it subtracts less and less from B (But still subtracts)<br /> ** With a S shown with the arrow, A and B grow in the same direction. This means that as A increases, B increases, and vice versa.<br /> ** A O indicates that A and B grow in opposite directions, I.E. as A shrinks B grows and vice versa.<br /> ** With no label, it indicates that A is considered a constant.<br /> ** The Causal loop diagram gives no indication as to the strength of the influence of the two elements, it just shows the nature of the influence.<br /> ** There are, generally speaking, two types of Causal loops. A Reinforcing loop and a Balancing loop.<br /> *** In a reinforcing loop, each action adds to the other. An action that produces a result that produces more of the same action is a reinforcing loop.<br /> *** In a balancing loop, any action attempts to bring two things to agreement. A situation where one tries to solve a problem or achieve a goal is representative of a balancing loop.<br /> <br /> <br /> '''Lecture 2:'''<br /> <br /> *More Terminology<br /> ** System Dynamics is interested in the behavior of systems over a period of time. Time paths are critical to expressing this.<br /> ** Types of Time Paths<br /> *** Linear Family<br /> **** Growth / Decline<br /> ***** The notion that most systems grow / decline under a linear curve is in fact incorrect. A linear growth or decline indicates a system which is devoid of feedback.<br /> ***** Feedback is a crucial part for the growth or decay of any system.<br /> **** Equilibrium<br /> ***** The expression of a system under which there is no pressure for change, or a system in which all variables reach their desired state at the same point in time<br /> ***** Note that this is an extremely artificial scenario, most systems do NOT reach or maintain equilibrium.<br /> *** Exponential Family<br /> **** Paths showing exponential growth and exponential decay. Real systems tend to grow along exponential paths rather than linear paths.<br /> *** Goal-Seeking Family<br /> **** Displayed in most living, and some nonliving systems<br /> *** Oscillation Family<br /> **** Sustained<br /> ***** Characterized by a predictable periodicity.<br /> ***** Predator-Prey relations are often characterized by this, as while the individual oscillations may vary, they often follow a predictable oscillating pattern in that the rise of the prey population indicates the rise of the predator population, and the decline of a prey population causes the decline of a predator population.<br /> **** Dampened<br /> ***** Displayed by systems that display dissipation or relaxation processes, such as friction or information smoothing.<br /> **** Exploding<br /> ***** Starts of smoothly, but grow until either the system settles down or is torn apart.<br /> ***** This pattern occurs infrequently in real-world situations, and doesn't last long when it does.<br /> **** Chaos<br /> ***** A unique type of oscillation, as it basically represents a random pattern generated by a system that is devoid of randomness<br /> *** S-Shaped Family<br /> **** This is extremely visible in the [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model] when the grass is taken out of the equation. The sheep population goes too high, which in turn causes the wolf population to increase too much, which leads to an irrecoverable decline in the sheep population. (Extinction)<br /> **** This is referred to as an &quot;Overshoot and crash&quot; system.<br /> <br /> * Review of the &quot;Building Blocks&quot; of a System Dynamics model<br /> <br /> <br /> '''Lecture 3:'''<br /> <br /> * Review of Class 1 and 2.<br /> ** Still working on material for this. &lt;font color=&quot;darkmagenta&quot;&gt;Fair enough&lt;/font&gt;<br /> <br /> == Lab == <br /> ==== Process ====<br /> * Open up the Netlogo Lynx-Hare model showing both an agent based model and an empty system dynamics model. <br /> ** Start Netlogo.<br /> ** Click File-&gt;Open and select pred.nlogo<br /> ** Two windows should pop up, focus on the one that has buttons and input boxes on it.<br /> * Play around with the agent based model and observe the behavior of the model:<br /> ** Press the Setup button on the left side of the model.<br /> ** Enter the values you want in the various input boxes<br /> ** Press the Go button.<br /> * Observing the agent based model, identify parts of the system dynamics model:<br /> ** Determine the stocks in this model.<br /> ** Determine the flows.<br /> *** Determine what effects the sheep birth / death rate.<br /> *** Determine what effects the wolf birth / death rate.<br /> ** Figure out the variables then look at how you can tweak the simulation.<br /> * Draw a causal loop diagram using the above information.<br /> * Implement the System Dynamics Netlogo model using the causal loop diagram: (TODO: How to name the parts of the model)<br /> ** Focus on the other window that came up when you opened the model.<br /> ** For each stock in your causal loop diagram, click the Stock button at the top and then click somewhere in the blank area.<br /> ** For each of the placed stocks place two flows, one on the left and one on the right of each stock. Connect the flows to the stock by clicking and dragging the close end of the flow to the stock.<br /> ** In each of the stocks input the appropriate equations.<br /> ** Click the Check button and return to the other window.<br /> * Experiment with different values for the two models.<br /> ** Make notes of what you notice.<br /> * In &lt;Some piece of software Charlie is getting us&gt;, collect data points from a run of the agent based model. Fit a curve to this data. Using the curve equations, configure the system dynamics model to produce a result similar to the one gleaned from the agent-based simulation. (TODO: this needs to be fleshed out more)<br /> ** We will be providing a set of values for the agent-based model. &lt;font color=&quot;blue&quot;&gt;Do you have these?&lt;/font&gt;<br /> ** We need to determine exactly how to do this in Excel. <br /> * Evaluation for correctness / completeness.<br /> ** Evaluate the correctness of the system dynamics model. &lt;font color=&quot;blue&quot;&gt;How? Be more specific, please. For the poor confused freshmen.&lt;/font&gt; <br /> ** Evaluate how well the results of the system dynamics model meshed with the results generated by the agent-based model.<br /> <br /> ==== Write-up ====<br /> * Required Elements:<br /> ** Provide all the stuff we told them to to in the procedure.<br /> *** What are the stocks?<br /> *** What are the flows?<br /> *** How can the simulation be tweaked?<br /> *** A causal loop diagram.<br /> *** Netlogo implementation of the system dynamics model.<br /> *** Excel file with the fit curve.<br /> *** An explanation of how they came up with the values for the system dynamics model based on the fitted curve.<br /> * Visualization opportunities:<br /> ** Placeholder.<br /> * Optional elements:<br /> ** Placeholder.<br /> * Provide a template for the first couple of labs ala CS128?<br /> ** Placeholder.<br /> <br /> ==== Software ==== <br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model]<br /> ** This can be run in a browser on Firefox.<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> ** Same for this. &lt;font color=&quot;darkmagenta&quot;&gt;Maybe I'm just terrible at using the browser interface, but the diagram window did not pop up for me in either Firefox or Safari. Using the Netlogo on my machine, though, I had both windows for the diagram and testing. If I'm doing something wrong, then it needs instructions; otherwise we might need to make them download it for reals (gasp)&lt;/font&gt;<br /> <br /> &lt;font color=red&gt;Make a new model with the correct vermin.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Could we also just change the name of the unit?&lt;/font&gt;<br /> <br /> ==== Bill of Materials ==== <br /> * I don't think it will be practical to try and conduct a lab for this unit with anything but software.<br /> * So far all the software that we've found is open-source and free.<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What type of oscillation does it show?<br /> ** A. Chaos<br /> ** B. Explosive<br /> ** C. Dampening<br /> ** D. '''Sustained'''<br /> * What is a good example of a reinforcing loop?<br /> ** A. Uncontrolled fishing in a lake<br /> ** B. Spilling wine on a carpet<br /> ** C. '''A Stock Market crash'''<br /> ** D. Parents buying a child toys<br /> <br /> ==== Quiz Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What is the average periodicity of the oscillation?<br /> * Give an example of a system with a explosive type of oscillating time path.<br /> * Pick a system from the following list, and draw a model of it.<br /> ** System A<br /> ** System B<br /> ** Etc.<br /> * What is an example of a stock?<br /> ** Fish in a lake<br /> ** The net worth of the stock market<br /> ** Wine in a glass<br /> ** '''All of the above'''<br /> * Draw an example of a system following the explosive oscillation pattern.<br /> * What growth model is displayed by most systems?<br /> ** '''Exponential increase'''<br /> ** Dampening oscillation<br /> ** Linear increase<br /> ** Equilibrium<br /> <br /> = Predator Prey Metadata = <br /> This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> * Given that this unit employs agent-based modeling as a introductory element in order to make the switch to system dynamics, it would be best if this unit came after a unit on agent-based modeling, or at least a unit in which students were introduced to agent-based modeling.<br /> <br /> == Concepts and Techniques == <br /> This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> * Analytical Reasoning Requirement <br /> ** Abstract Reasoning - From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> *** They focus substantially on properties of classes of abstract models and operations that apply to them.<br /> **** Complete. The entire unit is about students learning exactly what you can do with a system dynamics model. It would be impossible to teach that without discussing the properties of the model and what operations you could perform on it.<br /> *** They provide experience in generalizing from specific instances to appropriate classes of abstract models.<br /> **** Partial. The way the unit works is by teaching students about the class of model, and has them build a specific one as part of a lab activity.<br /> *** They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.<br /> **** Partial. The lab activity involves constructing a model, manipulating the data that goes in, and then collecting results, but not in order to satisfy a concrete problem.<br /> ** Quantitative Reasoning - From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> *** Using and interpreting formulas, graphs and tables.<br /> **** Complete. In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> *** Representing mathematical ideas symbolically, graphically, numerically and verbally.<br /> **** Complete. Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> *** Using mathematical and statistical ideas to solve problems in a variety of contexts.<br /> **** Complete. We are using mathematics to solve problems.<br /> *** Using simple models such as linear dependence, exponential growth or decay, or normal distribution.<br /> **** Complete. In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> *** Understanding basic statistical ideas such as averages, variability and probability.<br /> **** Partial. Only so much as these ideas would be helpful in a particular model.<br /> *** Making estimates and checking the reasonableness of answers.<br /> **** Complete. Experimentation is used when developing models and there is an analysis part of our lab.<br /> *** Recognizing the limitations of mathematical and statistical methods.<br /> **** Complete. When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> * Scientific Inquiry Requirement - From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> ** Develops students' understanding of the natural world.<br /> *** Complete. They can model natural systems including our example, Predator-Prey models.<br /> ** Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.<br /> *** Complete. Experimentation is used when developing models.<br /> ** Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.<br /> *** Partial. We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> <br /> == Scaffolded Learning ==<br /> <br /> * The scaffold approach is more difficult to take with this unit than with some others, because rather than involving a grander and grander scope, it involves a transition from one type of modeling to another. The obvious answer here is to start out with a small system that we model, then move on to larger ones, but I'm not sure if I'm satisfied with that approach.<br /> <br /> == Inquiry Based Learning == <br /> Some prose.<br /> <br /> &lt;font color=&quot;red&quot;&gt;Consider open-ended questions for the students to explore in the context of the lab. What happens when you change X? Why? &lt;/font&gt;<br /> <br /> = Predator Prey Mechanics = <br /> == To Do ==<br /> * A list of items maintained by the authors, Charlie, and the Reviewers.<br /> <br /> == Comments ==<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Put answers to CRS / quiz Qs in bold&lt;/font&gt;<br /> ** Done.<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Come up with something concrete, then go into detail on it (at least to the level of procedure). That'll make it easier to evaluate where to go with it in the greater scheme of things, and to offer suggestions for what might be most effective.&lt;/font&gt; &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> ** Done.<br /> <br /> = Authorship = <br /> Your names, URLs, etc.</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Predator-Prey&diff=9134 CS382:Predator-Prey 2009-04-17T12:13:48Z <p>Edlefma: /* Process */</p> <hr /> <div>= Predator Prey ( Lynx Hare ) = <br /> == Overview ==<br /> <br /> The predator prey unit will last for a week and a half. (Or, 3 classes) The purpose of this unit is to teach the students of this class about using system dynamics, using predator-prey interaction as a vehicle to facilitate the student's understanding of how the systems dynamics approach to modeling functions. This unit will consist of a lab where students use a couple of different simulation models to explore the intricacies of how predator and prey interact, both agent-based and system dynamics based.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> ** Great compilation of knowledge on the subject. Is the primary source for the present lecture notes.<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> ** Another compilation of knowledge used extensively in the lecture notes.<br /> <br /> == Reading Assignments for Students ==<br /> * Given the reference materials present so far, it's possible that rather than having a link to online reading assignments, we may have to create paper handouts based on the materials that we have links to.<br /> <br /> * A handout created from parts of the US Dept. Of Energy's guide to System Dynamics seems like a very good place to start.<br /> <br /> == Reference Material ==<br /> * [http://www.mysciencebox.org/book/export/html/81 Page on Lynx - Hare Populations]<br /> * [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Talks about Lynx - Hare as a Pred/Prey model]<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model]<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> <br /> == Lecture Notes == <br /> Outline of the lectures designed to fit into 2 1:20 slots per week. This unit lasts 1 1/2 weeks, so requires 3 lectures.<br /> &lt;font color=&quot;darkmagenta&quot;&gt;I dig the detail of these lecture notes. Do more!&lt;/font&gt;<br /> <br /> '''Lecture 1:'''<br /> <br /> * Intro &amp; Concepts<br /> ** What is system dynamics? &lt;font color=&quot;darkmagenta&quot;&gt;for instance, answer these&lt;/font&gt;<br /> ** What is it for?<br /> ** What does it let you do?<br /> *** Systems dynamics lets you sketch out the relationships between all the components of a dynamic system, and given those relationships, will allow you to predict how the system behaves over a period of time. Will it result in a fluctuating growth? Exponential growth? Perfect equilibrium? All of these questions should be answerable using this type of model.<br /> ** Why use System Dynamics? When should you use it?<br /> *** The answer to this question is essentially the same as why you should use any other model. It's oftentimes quicker, cheaper and safer to alter a model and run tests on that than to alter a real system and run tests on that. Additionally, a failure in a model will allow you to predict a failure in a real system.<br /> *** Failure in a real system often has catastrophic consequences, such as the loss of lives. The failure of a model is often much less devastating, resulting in perhaps a &quot;Darn. Well, back to the drawing board.&quot; instead of &quot;My son/daughter was in that building!&quot;<br /> ** Strengths / Weaknesses &lt;font color=&quot;darkmagenta&quot;&gt;and list some of these&lt;/font&gt;<br /> <br /> * Basic Terminology (Building Blocks)<br /> ** Time Paths<br /> *** A time path is how something changes over time (either the whole system or an aspect of the system).<br /> ** Link<br /> *** Feedback Loop<br /> ** Stock<br /> *** A stock is a quantity of objects that's variable in nature. Examples of this are the number of sheep in a pasture, the number of fish in a pond, the amount of oil left in the world, the number of tanks in the US military, etc.<br /> ** Flow<br /> *** This represents the flow of resources either into or out of a stock. For instance, drilling would represent a flow out of the stock of oil in Alaska, and into the stock of oil in the US Oil Reserve.<br /> <br /> * Causal Loop Diagram<br /> ** Pictures used to convey understanding of interactions or influences within the structure. It's used specifically to show the influential interactions between two elements of a structure.<br /> ** The main conventions that are used to display a loop are the &quot;+&quot;, &quot;-&quot;, &quot;S&quot; and &quot;O&quot;<br /> ** That is to say, that if a arrow is shown from A to B with a + on it, it means that A adds to B. As A increases, it adds more and more to B, and as it decreases, it adds less and less, but still adds to B<br /> ** With a - shown with the arrow, A subtracts from B. As A grows, it subtracts more and more from B. As A diminishes, it subtracts less and less from B (But still subtracts)<br /> ** With a S shown with the arrow, A and B grow in the same direction. This means that as A increases, B increases, and vice versa.<br /> ** A O indicates that A and B grow in opposite directions, I.E. as A shrinks B grows and vice versa.<br /> ** With no label, it indicates that A is considered a constant.<br /> ** The Causal loop diagram gives no indication as to the strength of the influence of the two elements, it just shows the nature of the influence.<br /> ** There are, generally speaking, two types of Causal loops. A Reinforcing loop and a Balancing loop.<br /> *** In a reinforcing loop, each action adds to the other. An action that produces a result that produces more of the same action is a reinforcing loop.<br /> *** In a balancing loop, any action attempts to bring two things to agreement. A situation where one tries to solve a problem or achieve a goal is representative of a balancing loop.<br /> <br /> <br /> '''Lecture 2:'''<br /> <br /> *More Terminology<br /> ** System Dynamics is interested in the behavior of systems over a period of time. Time paths are critical to expressing this.<br /> ** Types of Time Paths<br /> *** Linear Family<br /> **** Growth / Decline<br /> ***** The notion that most systems grow / decline under a linear curve is in fact incorrect. A linear growth or decline indicates a system which is devoid of feedback.<br /> ***** Feedback is a crucial part for the growth or decay of any system.<br /> **** Equilibrium<br /> ***** The expression of a system under which there is no pressure for change, or a system in which all variables reach their desired state at the same point in time<br /> ***** Note that this is an extremely artificial scenario, most systems do NOT reach or maintain equilibrium.<br /> *** Exponential Family<br /> **** Paths showing exponential growth and exponential decay. Real systems tend to grow along exponential paths rather than linear paths.<br /> *** Goal-Seeking Family<br /> **** Displayed in most living, and some nonliving systems<br /> *** Oscillation Family<br /> **** Sustained<br /> ***** Characterized by a predictable periodicity.<br /> ***** Predator-Prey relations are often characterized by this, as while the individual oscillations may vary, they often follow a predictable oscillating pattern in that the rise of the prey population indicates the rise of the predator population, and the decline of a prey population causes the decline of a predator population.<br /> **** Dampened<br /> ***** Displayed by systems that display dissipation or relaxation processes, such as friction or information smoothing.<br /> **** Exploding<br /> ***** Starts of smoothly, but grow until either the system settles down or is torn apart.<br /> ***** This pattern occurs infrequently in real-world situations, and doesn't last long when it does.<br /> **** Chaos<br /> ***** A unique type of oscillation, as it basically represents a random pattern generated by a system that is devoid of randomness<br /> *** S-Shaped Family<br /> **** This is extremely visible in the [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model] when the grass is taken out of the equation. The sheep population goes too high, which in turn causes the wolf population to increase too much, which leads to an irrecoverable decline in the sheep population. (Extinction)<br /> **** This is referred to as an &quot;Overshoot and crash&quot; system.<br /> <br /> * Review of the &quot;Building Blocks&quot; of a System Dynamics model<br /> <br /> <br /> '''Lecture 3:'''<br /> <br /> * Review of Class 1 and 2.<br /> ** Still working on material for this. &lt;font color=&quot;darkmagenta&quot;&gt;Fair enough&lt;/font&gt;<br /> <br /> == Lab == <br /> ==== Process ====<br /> * Open up the Netlogo Lynx-Hare model showing both an agent based model and an empty system dynamics model. <br /> ** Start Netlogo.<br /> ** Click File-&gt;Open and select pred.nlogo<br /> ** Two windows should pop up, focus on the one that has buttons and input boxes on it.<br /> * Play around with the agent based model and observe the behavior of the model:<br /> ** Press the Setup button on the left side of the model.<br /> ** Enter the values you want in the various input boxes<br /> ** Press the Go button.<br /> * Observing the agent based model, identify parts of the system dynamics model:<br /> ** Determine the stocks in this model.<br /> ** Determine the flows.<br /> *** Determine what effects the sheep birth / death rate.<br /> *** Determine what effects the wolf birth / death rate.<br /> ** Figure out the variables then look at how you can tweak the simulation.<br /> * Draw a causal loop diagram using the above information.<br /> * Implement the System Dynamics Netlogo model using the causal loop diagram: (TODO: How to name the parts of the model)<br /> ** Focus on the other window that came up when you opened the model.<br /> ** For each stock in your causal loop diagram, click the Stock button at the top and then click somewhere in the blank area.<br /> ** For each of the placed stocks place two flows, one on the left and one on the right of each stock. Connect the flows to the stock by clicking and dragging the close end of the flow to the stock.<br /> ** In each of the stocks input the appropriate equations.<br /> ** Click the Check button and return to the other window.<br /> * Experiment with different values for the two models.<br /> ** Make notes of what you notice.<br /> * In &lt;Some piece of software Charlie is getting us&gt;, collect data points from a run of the agent based model. Fit a curve to this data. Using the curve equations, configure the system dynamics model to produce a result similar to the one gleaned from the agent-based simulation. (TODO: this needs to be fleshed out more)<br /> ** We will be providing a set of values for the agent-based model. &lt;font color=&quot;blue&quot;&gt;Do you have these?&lt;/font&gt;<br /> ** We need to determine exactly how to do this in Excel. <br /> * Evaluation for correctness / completeness.<br /> ** Evaluate the correctness of the system dynamics model. &lt;font color=&quot;blue&quot;&gt;How? Be more specific, please. For the poor confused freshmen.&lt;/font&gt; <br /> ** Evaluate how well the results of the system dynamics model meshed with the results generated by the agent-based model.<br /> <br /> <br /> * For most of these steps, there will need to be more specific information for those who are not familiar with the procedures involved. This will be provided by us. &lt;font color=&quot;blue&quot;&gt;Yep. You're supposed to do it as part of the lab writeup for this week for people to be able to do your lab. :P&lt;/font&gt;<br /> <br /> ==== Write-up ====<br /> * Required Elements:<br /> ** Provide all the stuff we told them to to in the procedure.<br /> *** What are the stocks?<br /> *** What are the flows?<br /> *** How can the simulation be tweaked?<br /> *** A causal loop diagram.<br /> *** Netlogo implementation of the system dynamics model.<br /> *** Excel file with the fit curve.<br /> *** An explanation of how they came up with the values for the system dynamics model based on the fitted curve.<br /> * Visualization opportunities:<br /> ** Placeholder.<br /> * Optional elements:<br /> ** Placeholder.<br /> * Provide a template for the first couple of labs ala CS128?<br /> ** Placeholder.<br /> <br /> ==== Software ==== <br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model]<br /> ** This can be run in a browser on Firefox.<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> ** Same for this. &lt;font color=&quot;darkmagenta&quot;&gt;Maybe I'm just terrible at using the browser interface, but the diagram window did not pop up for me in either Firefox or Safari. Using the Netlogo on my machine, though, I had both windows for the diagram and testing. If I'm doing something wrong, then it needs instructions; otherwise we might need to make them download it for reals (gasp)&lt;/font&gt;<br /> <br /> &lt;font color=red&gt;Make a new model with the correct vermin.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Could we also just change the name of the unit?&lt;/font&gt;<br /> <br /> ==== Bill of Materials ==== <br /> * I don't think it will be practical to try and conduct a lab for this unit with anything but software.<br /> * So far all the software that we've found is open-source and free.<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What type of oscillation does it show?<br /> ** A. Chaos<br /> ** B. Explosive<br /> ** C. Dampening<br /> ** D. '''Sustained'''<br /> * What is a good example of a reinforcing loop?<br /> ** A. Uncontrolled fishing in a lake<br /> ** B. Spilling wine on a carpet<br /> ** C. '''A Stock Market crash'''<br /> ** D. Parents buying a child toys<br /> <br /> ==== Quiz Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What is the average periodicity of the oscillation?<br /> * Give an example of a system with a explosive type of oscillating time path.<br /> * Pick a system from the following list, and draw a model of it.<br /> ** System A<br /> ** System B<br /> ** Etc.<br /> * What is an example of a stock?<br /> ** Fish in a lake<br /> ** The net worth of the stock market<br /> ** Wine in a glass<br /> ** '''All of the above'''<br /> * Draw an example of a system following the explosive oscillation pattern.<br /> * What growth model is displayed by most systems?<br /> ** '''Exponential increase'''<br /> ** Dampening oscillation<br /> ** Linear increase<br /> ** Equilibrium<br /> <br /> = Predator Prey Metadata = <br /> This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> * Given that this unit employs agent-based modeling as a introductory element in order to make the switch to system dynamics, it would be best if this unit came after a unit on agent-based modeling, or at least a unit in which students were introduced to agent-based modeling.<br /> <br /> == Concepts and Techniques == <br /> This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> * Analytical Reasoning Requirement <br /> ** Abstract Reasoning - From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> *** They focus substantially on properties of classes of abstract models and operations that apply to them.<br /> **** Complete. The entire unit is about students learning exactly what you can do with a system dynamics model. It would be impossible to teach that without discussing the properties of the model and what operations you could perform on it.<br /> *** They provide experience in generalizing from specific instances to appropriate classes of abstract models.<br /> **** Partial. The way the unit works is by teaching students about the class of model, and has them build a specific one as part of a lab activity.<br /> *** They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.<br /> **** Partial. The lab activity involves constructing a model, manipulating the data that goes in, and then collecting results, but not in order to satisfy a concrete problem.<br /> ** Quantitative Reasoning - From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> *** Using and interpreting formulas, graphs and tables.<br /> **** Complete. In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> *** Representing mathematical ideas symbolically, graphically, numerically and verbally.<br /> **** Complete. Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> *** Using mathematical and statistical ideas to solve problems in a variety of contexts.<br /> **** Complete. We are using mathematics to solve problems.<br /> *** Using simple models such as linear dependence, exponential growth or decay, or normal distribution.<br /> **** Complete. In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> *** Understanding basic statistical ideas such as averages, variability and probability.<br /> **** Partial. Only so much as these ideas would be helpful in a particular model.<br /> *** Making estimates and checking the reasonableness of answers.<br /> **** Complete. Experimentation is used when developing models and there is an analysis part of our lab.<br /> *** Recognizing the limitations of mathematical and statistical methods.<br /> **** Complete. When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> * Scientific Inquiry Requirement - From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> ** Develops students' understanding of the natural world.<br /> *** Complete. They can model natural systems including our example, Predator-Prey models.<br /> ** Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.<br /> *** Complete. Experimentation is used when developing models.<br /> ** Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.<br /> *** Partial. We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> <br /> == Scaffolded Learning ==<br /> <br /> * The scaffold approach is more difficult to take with this unit than with some others, because rather than involving a grander and grander scope, it involves a transition from one type of modeling to another. The obvious answer here is to start out with a small system that we model, then move on to larger ones, but I'm not sure if I'm satisfied with that approach.<br /> <br /> == Inquiry Based Learning == <br /> Some prose.<br /> <br /> &lt;font color=&quot;red&quot;&gt;Consider open-ended questions for the students to explore in the context of the lab. What happens when you change X? Why? &lt;/font&gt;<br /> <br /> = Predator Prey Mechanics = <br /> == To Do ==<br /> * A list of items maintained by the authors, Charlie, and the Reviewers.<br /> <br /> == Comments ==<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Put answers to CRS / quiz Qs in bold&lt;/font&gt;<br /> ** Done.<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Come up with something concrete, then go into detail on it (at least to the level of procedure). That'll make it easier to evaluate where to go with it in the greater scheme of things, and to offer suggestions for what might be most effective.&lt;/font&gt; &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> ** Done.<br /> <br /> = Authorship = <br /> Your names, URLs, etc.</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Predator-Prey&diff=9133 CS382:Predator-Prey 2009-04-17T11:13:26Z <p>Edlefma: /* Process */</p> <hr /> <div>= Predator Prey ( Lynx Hare ) = <br /> == Overview ==<br /> <br /> The predator prey unit will last for a week and a half. (Or, 3 classes) The purpose of this unit is to teach the students of this class about using system dynamics, using predator-prey interaction as a vehicle to facilitate the student's understanding of how the systems dynamics approach to modeling functions. This unit will consist of a lab where students use a couple of different simulation models to explore the intricacies of how predator and prey interact, both agent-based and system dynamics based.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> ** Great compilation of knowledge on the subject. Is the primary source for the present lecture notes.<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> ** Another compilation of knowledge used extensively in the lecture notes.<br /> <br /> == Reading Assignments for Students ==<br /> * Given the reference materials present so far, it's possible that rather than having a link to online reading assignments, we may have to create paper handouts based on the materials that we have links to.<br /> <br /> * A handout created from parts of the US Dept. Of Energy's guide to System Dynamics seems like a very good place to start.<br /> <br /> == Reference Material ==<br /> * [http://www.mysciencebox.org/book/export/html/81 Page on Lynx - Hare Populations]<br /> * [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Talks about Lynx - Hare as a Pred/Prey model]<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model]<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> * [http://www.systemdynamics.org/DL-IntroSysDyn US Department of Energy's very nice (if ugly) intro to System Dynamics]<br /> * [http://www.systemdynamics.org/wiki/index.php/Main_Page Systems Dynamics Society SD Wiki]<br /> <br /> == Lecture Notes == <br /> Outline of the lectures designed to fit into 2 1:20 slots per week. This unit lasts 1 1/2 weeks, so requires 3 lectures.<br /> &lt;font color=&quot;darkmagenta&quot;&gt;I dig the detail of these lecture notes. Do more!&lt;/font&gt;<br /> <br /> '''Lecture 1:'''<br /> <br /> * Intro &amp; Concepts<br /> ** What is system dynamics? &lt;font color=&quot;darkmagenta&quot;&gt;for instance, answer these&lt;/font&gt;<br /> ** What is it for?<br /> ** What does it let you do?<br /> *** Systems dynamics lets you sketch out the relationships between all the components of a dynamic system, and given those relationships, will allow you to predict how the system behaves over a period of time. Will it result in a fluctuating growth? Exponential growth? Perfect equilibrium? All of these questions should be answerable using this type of model.<br /> ** Why use System Dynamics? When should you use it?<br /> *** The answer to this question is essentially the same as why you should use any other model. It's oftentimes quicker, cheaper and safer to alter a model and run tests on that than to alter a real system and run tests on that. Additionally, a failure in a model will allow you to predict a failure in a real system.<br /> *** Failure in a real system often has catastrophic consequences, such as the loss of lives. The failure of a model is often much less devastating, resulting in perhaps a &quot;Darn. Well, back to the drawing board.&quot; instead of &quot;My son/daughter was in that building!&quot;<br /> ** Strengths / Weaknesses &lt;font color=&quot;darkmagenta&quot;&gt;and list some of these&lt;/font&gt;<br /> <br /> * Basic Terminology (Building Blocks)<br /> ** Time Paths<br /> *** A time path is how something changes over time (either the whole system or an aspect of the system).<br /> ** Link<br /> *** Feedback Loop<br /> ** Stock<br /> *** A stock is a quantity of objects that's variable in nature. Examples of this are the number of sheep in a pasture, the number of fish in a pond, the amount of oil left in the world, the number of tanks in the US military, etc.<br /> ** Flow<br /> *** This represents the flow of resources either into or out of a stock. For instance, drilling would represent a flow out of the stock of oil in Alaska, and into the stock of oil in the US Oil Reserve.<br /> <br /> * Causal Loop Diagram<br /> ** Pictures used to convey understanding of interactions or influences within the structure. It's used specifically to show the influential interactions between two elements of a structure.<br /> ** The main conventions that are used to display a loop are the &quot;+&quot;, &quot;-&quot;, &quot;S&quot; and &quot;O&quot;<br /> ** That is to say, that if a arrow is shown from A to B with a + on it, it means that A adds to B. As A increases, it adds more and more to B, and as it decreases, it adds less and less, but still adds to B<br /> ** With a - shown with the arrow, A subtracts from B. As A grows, it subtracts more and more from B. As A diminishes, it subtracts less and less from B (But still subtracts)<br /> ** With a S shown with the arrow, A and B grow in the same direction. This means that as A increases, B increases, and vice versa.<br /> ** A O indicates that A and B grow in opposite directions, I.E. as A shrinks B grows and vice versa.<br /> ** With no label, it indicates that A is considered a constant.<br /> ** The Causal loop diagram gives no indication as to the strength of the influence of the two elements, it just shows the nature of the influence.<br /> ** There are, generally speaking, two types of Causal loops. A Reinforcing loop and a Balancing loop.<br /> *** In a reinforcing loop, each action adds to the other. An action that produces a result that produces more of the same action is a reinforcing loop.<br /> *** In a balancing loop, any action attempts to bring two things to agreement. A situation where one tries to solve a problem or achieve a goal is representative of a balancing loop.<br /> <br /> <br /> '''Lecture 2:'''<br /> <br /> *More Terminology<br /> ** System Dynamics is interested in the behavior of systems over a period of time. Time paths are critical to expressing this.<br /> ** Types of Time Paths<br /> *** Linear Family<br /> **** Growth / Decline<br /> ***** The notion that most systems grow / decline under a linear curve is in fact incorrect. A linear growth or decline indicates a system which is devoid of feedback.<br /> ***** Feedback is a crucial part for the growth or decay of any system.<br /> **** Equilibrium<br /> ***** The expression of a system under which there is no pressure for change, or a system in which all variables reach their desired state at the same point in time<br /> ***** Note that this is an extremely artificial scenario, most systems do NOT reach or maintain equilibrium.<br /> *** Exponential Family<br /> **** Paths showing exponential growth and exponential decay. Real systems tend to grow along exponential paths rather than linear paths.<br /> *** Goal-Seeking Family<br /> **** Displayed in most living, and some nonliving systems<br /> *** Oscillation Family<br /> **** Sustained<br /> ***** Characterized by a predictable periodicity.<br /> ***** Predator-Prey relations are often characterized by this, as while the individual oscillations may vary, they often follow a predictable oscillating pattern in that the rise of the prey population indicates the rise of the predator population, and the decline of a prey population causes the decline of a predator population.<br /> **** Dampened<br /> ***** Displayed by systems that display dissipation or relaxation processes, such as friction or information smoothing.<br /> **** Exploding<br /> ***** Starts of smoothly, but grow until either the system settles down or is torn apart.<br /> ***** This pattern occurs infrequently in real-world situations, and doesn't last long when it does.<br /> **** Chaos<br /> ***** A unique type of oscillation, as it basically represents a random pattern generated by a system that is devoid of randomness<br /> *** S-Shaped Family<br /> **** This is extremely visible in the [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model] when the grass is taken out of the equation. The sheep population goes too high, which in turn causes the wolf population to increase too much, which leads to an irrecoverable decline in the sheep population. (Extinction)<br /> **** This is referred to as an &quot;Overshoot and crash&quot; system.<br /> <br /> * Review of the &quot;Building Blocks&quot; of a System Dynamics model<br /> <br /> <br /> '''Lecture 3:'''<br /> <br /> * Review of Class 1 and 2.<br /> ** Still working on material for this. &lt;font color=&quot;darkmagenta&quot;&gt;Fair enough&lt;/font&gt;<br /> <br /> == Lab == <br /> ==== Process ====<br /> * Open up the Netlogo Lynx-Hare model showing both an agent based model and an empty system dynamics model. <br /> ** Start Netlogo.<br /> ** Click File-&gt;Open and select pred.nlogo<br /> ** Two windows should pop up, focus on the one that has buttons and input boxes on it.<br /> * Play around with the agent based model and observe the behavior of the model:<br /> ** Press the Setup button on the left side of the model.<br /> ** Enter the values you want in the various input boxes<br /> ** Press the Go button.<br /> * Observing the agent based model, identify parts of the system dynamics model:<br /> ** Determine the stocks in this model.<br /> ** Determine the flows.<br /> *** Determine what effects the sheep birth / death rate.<br /> *** Determine what effects the wolf birth / death rate.<br /> ** Figure out the variables then look at how you can tweak the simulation.<br /> * Draw a causal loop diagram using the above information.<br /> * Implement the System Dynamics Netlogo model using the causal loop diagram:<br /> ** Focus on the other window that came up when you opened the model.<br /> ** For each stock in your causal loop diagram, click the Stock button at the top and then click somewhere in the blank area.<br /> ** For each <br /> * Experiment with different values for the two models.<br /> ** Make notes of what you notice.<br /> * In Excel, collect data points from a run of the agent based model. Fit a curve to this data. Using the curve equations, configure the system dynamics model to produce a result similar to the one gleaned from the agent-based simulation.<br /> ** We will be providing a set of values for the agent-based model. &lt;font color=&quot;blue&quot;&gt;Do you have these?&lt;/font&gt;<br /> ** We need to determine exactly how to do this in Excel. <br /> * Evaluation for correctness / completeness.<br /> ** Evaluate the correctness of the system dynamics model. &lt;font color=&quot;blue&quot;&gt;How? Be more specific, please. For the poor confused freshmen.&lt;/font&gt; <br /> ** Evaluate how well the results of the system dynamics model meshed with the results generated by the agent-based model.<br /> <br /> <br /> * For most of these steps, there will need to be more specific information for those who are not familiar with the procedures involved. This will be provided by us. &lt;font color=&quot;blue&quot;&gt;Yep. You're supposed to do it as part of the lab writeup for this week for people to be able to do your lab. :P&lt;/font&gt;<br /> <br /> ==== Write-up ====<br /> * Required Elements:<br /> ** Provide all the stuff we told them to to in the procedure.<br /> *** What are the stocks?<br /> *** What are the flows?<br /> *** How can the simulation be tweaked?<br /> *** A causal loop diagram.<br /> *** Netlogo implementation of the system dynamics model.<br /> *** Excel file with the fit curve.<br /> *** An explanation of how they came up with the values for the system dynamics model based on the fitted curve.<br /> * Visualization opportunities:<br /> ** Placeholder.<br /> * Optional elements:<br /> ** Placeholder.<br /> * Provide a template for the first couple of labs ala CS128?<br /> ** Placeholder.<br /> <br /> ==== Software ==== <br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Agent based netlogo model]<br /> ** This can be run in a browser on Firefox.<br /> * [http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation(SystemDynamics) Wolf Sheep Systems Dynamics netlogo model]<br /> ** Same for this. &lt;font color=&quot;darkmagenta&quot;&gt;Maybe I'm just terrible at using the browser interface, but the diagram window did not pop up for me in either Firefox or Safari. Using the Netlogo on my machine, though, I had both windows for the diagram and testing. If I'm doing something wrong, then it needs instructions; otherwise we might need to make them download it for reals (gasp)&lt;/font&gt;<br /> <br /> &lt;font color=red&gt;Make a new model with the correct vermin.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Could we also just change the name of the unit?&lt;/font&gt;<br /> <br /> ==== Bill of Materials ==== <br /> * I don't think it will be practical to try and conduct a lab for this unit with anything but software.<br /> * So far all the software that we've found is open-source and free.<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What type of oscillation does it show?<br /> ** A. Chaos<br /> ** B. Explosive<br /> ** C. Dampening<br /> ** D. '''Sustained'''<br /> * What is a good example of a reinforcing loop?<br /> ** A. Uncontrolled fishing in a lake<br /> ** B. Spilling wine on a carpet<br /> ** C. '''A Stock Market crash'''<br /> ** D. Parents buying a child toys<br /> <br /> ==== Quiz Questions ==== <br /> * Look at the graph on [http://www.math.duke.edu/education/webfeatsII/Word2HTML/HTML%20Sample/pred1.html Lynx - Hare as a Pred/Prey model]. What is the average periodicity of the oscillation?<br /> * Give an example of a system with a explosive type of oscillating time path.<br /> * Pick a system from the following list, and draw a model of it.<br /> ** System A<br /> ** System B<br /> ** Etc.<br /> * What is an example of a stock?<br /> ** Fish in a lake<br /> ** The net worth of the stock market<br /> ** Wine in a glass<br /> ** '''All of the above'''<br /> * Draw an example of a system following the explosive oscillation pattern.<br /> * What growth model is displayed by most systems?<br /> ** '''Exponential increase'''<br /> ** Dampening oscillation<br /> ** Linear increase<br /> ** Equilibrium<br /> <br /> = Predator Prey Metadata = <br /> This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> * Given that this unit employs agent-based modeling as a introductory element in order to make the switch to system dynamics, it would be best if this unit came after a unit on agent-based modeling, or at least a unit in which students were introduced to agent-based modeling.<br /> <br /> == Concepts and Techniques == <br /> This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> * Analytical Reasoning Requirement <br /> ** Abstract Reasoning - From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> *** They focus substantially on properties of classes of abstract models and operations that apply to them.<br /> **** Complete. The entire unit is about students learning exactly what you can do with a system dynamics model. It would be impossible to teach that without discussing the properties of the model and what operations you could perform on it.<br /> *** They provide experience in generalizing from specific instances to appropriate classes of abstract models.<br /> **** Partial. The way the unit works is by teaching students about the class of model, and has them build a specific one as part of a lab activity.<br /> *** They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.<br /> **** Partial. The lab activity involves constructing a model, manipulating the data that goes in, and then collecting results, but not in order to satisfy a concrete problem.<br /> ** Quantitative Reasoning - From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> *** Using and interpreting formulas, graphs and tables.<br /> **** Complete. In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> *** Representing mathematical ideas symbolically, graphically, numerically and verbally.<br /> **** Complete. Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> *** Using mathematical and statistical ideas to solve problems in a variety of contexts.<br /> **** Complete. We are using mathematics to solve problems.<br /> *** Using simple models such as linear dependence, exponential growth or decay, or normal distribution.<br /> **** Complete. In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> *** Understanding basic statistical ideas such as averages, variability and probability.<br /> **** Partial. Only so much as these ideas would be helpful in a particular model.<br /> *** Making estimates and checking the reasonableness of answers.<br /> **** Complete. Experimentation is used when developing models and there is an analysis part of our lab.<br /> *** Recognizing the limitations of mathematical and statistical methods.<br /> **** Complete. When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> * Scientific Inquiry Requirement - From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> ** Develops students' understanding of the natural world.<br /> *** Complete. They can model natural systems including our example, Predator-Prey models.<br /> ** Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.<br /> *** Complete. Experimentation is used when developing models.<br /> ** Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.<br /> *** Partial. We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> <br /> == Scaffolded Learning ==<br /> <br /> * The scaffold approach is more difficult to take with this unit than with some others, because rather than involving a grander and grander scope, it involves a transition from one type of modeling to another. The obvious answer here is to start out with a small system that we model, then move on to larger ones, but I'm not sure if I'm satisfied with that approach.<br /> <br /> == Inquiry Based Learning == <br /> Some prose.<br /> <br /> &lt;font color=&quot;red&quot;&gt;Consider open-ended questions for the students to explore in the context of the lab. What happens when you change X? Why? &lt;/font&gt;<br /> <br /> = Predator Prey Mechanics = <br /> == To Do ==<br /> * A list of items maintained by the authors, Charlie, and the Reviewers.<br /> <br /> == Comments ==<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Put answers to CRS / quiz Qs in bold&lt;/font&gt;<br /> ** Done.<br /> * &lt;font color=&quot;darkmagenta&quot;&gt;Come up with something concrete, then go into detail on it (at least to the level of procedure). That'll make it easier to evaluate where to go with it in the greater scheme of things, and to offer suggestions for what might be most effective.&lt;/font&gt; &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> ** Done.<br /> <br /> = Authorship = <br /> Your names, URLs, etc.</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=9110 CS382:Scraper 2009-04-16T00:18:52Z <p>Edlefma: </p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper --help|--usage|--version<br /> <br /> mwscraper [--host URL] [--login] [--username USERNAME] ] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> The templates are built using the Template Toolkit. In addition to the normal functionality provided by that package, a number of functions have been provided. See the FUNCTIONS section.<br /> <br /> By default the generated page will be printed on stdout. If you wish the page to be uploaded directly to the wiki you may use the --upload option.<br /> <br /> ==DEPENDENCIES==<br /> ; Term&amp;#58;&amp;#58;ReadKey<br /> :For prompting.<br /> ; MediaWiki&amp;#58;&amp;#58;API<br /> :To interact with the Wiki.<br /> ; Template<br /> :Provides the template language.<br /> ; Crypt&amp;#58;&amp;#58;SSLeay<br /> :Allows https URI's for the wiki<br /> ; Compress&amp;#58;&amp;#58;Zlib<br /> :Needed to decompress responses from the wiki.<br /> <br /> ==OPTIONS==<br /> ; -h|--host<br /> :Sets the url of the wiki to use. Should start with either http:// or https://.<br /> ; -l|--login<br /> :Tells the scraper to attempt to login if it needs to access the wiki (either for reading or uploading). If a username or password is not given it will be prompted for.<br /> ; -u|--username<br /> :Provides a username to be used when logging in.<br /> ; -p|--password<br /> :Provides a password to be used when logging in. This option only works if --username or MWSCRAPER_USERNAME is set.<br /> ; -e|--edit|--upload<br /> :Tells the scraper to upload the generated pages to the wiki. The name of the page it will be prompted for unless the template specifies one using the title function. If the page does not already exist a new one will be created.<br /> ; --help, --usage, --version<br /> :Displays help/usage/version information.<br /> <br /> ==ENVIRONMENT==<br /> ; MWSCRAPER_HOST<br /> :Provides a default host if none is provided on the command line.<br /> ; MWSCRAPER_LOGIN<br /> :Tells the scraper to login if it needs to access the wiki.<br /> ; MWSCRAPER_USERNAME<br /> :Provides a default username if none is provided on the command line. This variable must be set for MWSCRAPER_PASSWORD to be used.<br /> ; MWSCRAPER_PASSWORD<br /> :Provides a password to be used with MWSCRAPER_USERNAME. If MWSCRAPER_USERNAME is not set this value will be ignored.<br /> <br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. See the Template Perldoc page for more details.<br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. The most basic form is inserting the value of a variable. The form of this is simply<br /> <br /> &lt;code&gt;<br /> [% variable_name %]<br /> &lt;/code&gt;<br /> You can also assign a value to variable using the = operator.<br /> <br /> &lt;code&gt;<br /> [% variable_name = expression %]<br /> &lt;/code&gt;<br /> ===EXAMPLE===<br /> software.tt:<br /> <br /> &lt;code&gt;<br /> [% title('CS382:Software') ~%]<br /> <br /> [% BLOCK unit_section -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') ~%]<br /> <br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> <br /> [%- END ~%]<br /> <br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% INCLUDE unit_section %]<br /> [% END -%]<br /> &lt;/code&gt;<br /> ===COMMANDS===<br /> There are also a number of some special commands, here are a few common ones.<br /> <br /> ; FOREACH<br /> :Allows you to repeat a section of a template for each value in a array.<br /> &lt;code&gt;<br /> [% FOREACH var IN expression %]<br /> [% var %]<br /> stuff...<br /> [% END %]<br /> &lt;/code&gt;<br /> ; BLOCK<br /> :Allows to create a named section of a template to be included elsewhere.<br /> &lt;code&gt;<br /> [% BLOCK blockname %]<br /> stuff...<br /> [% END %]<br /> &lt;/code&gt;<br /> ; INCLUDE<br /> :Inserts the contents of a block (or external template file).<br /> &lt;code&gt;<br /> [% INCLUDE block/filename %]<br /> &lt;/code&gt;<br /> <br /> ===WHITESPACE===<br /> Anything not within code blocks is printed verbatim. This means that any whitespace, including newlines surrounding template code is still there. To remove whitespace around template code you can add either - or ~ to right inside of the % on the side that you want to remove from. The - will remove up until and including the next newline it encounters. The ~ will remove all adjacent whitespace on that side including newlines.<br /> <br /> For example:<br /> <br /> &lt;code&gt;<br /> [% var = &quot;Hey There&quot; -%] <br /> [% var %]<br /> &lt;/code&gt;<br /> Will just print &quot;Hey There\n&quot; with the newline after the first line removed.<br /> <br /> &lt;code&gt;<br /> [% var = &quot;Hey There&quot; %]<br /> <br /> [%~ var %]<br /> &lt;/code&gt;<br /> Will also just print &quot;Hey There\n&quot; because all whitespace before the third line will be removed.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; login( [USERNAME [, PASSWORD ] ] )<br /> :Tells the scraper to attempt to login if it needs to access the wiki (either to scrape or upload). If either or both username and password aren't provided they will be prompted for.<br /> ; cat( STRING... )<br /> :Concatenates all passed strings together and returns the result.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == software.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','^\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '^= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)^={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> &lt;/pre&gt;<br /> <br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, cat( name.replace('-','.') , '.*?^\** (.*?)$')) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> <br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=9109 CS382:Unit-mashup 2009-04-16T00:17:18Z <p>Edlefma: /* Lecture Notes */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> === Lecture 1 ===<br /> ==== Introduction ====<br /> At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it. <br /> <br /> Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data.<br /> <br /> Show [http://www.gapminder.org/| Gapminder] and go through a good example. Talk about how this way of presenting the data makes information<br /> immediately obvious. Just having <br /> Introduce Tufte as one of the people to help formalize the notion of visualization.<br /> <br /> Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> * Show the data.<br /> * Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> * Avoid distorting what the data have to say.<br /> * Present many numbers in a small space.<br /> * Make large data sets coherent.<br /> * Encourage the eye to compare different pieces of data.<br /> * Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> * Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> * Be closely integrated with the statistical and verbal descriptions of a data set.<br /> <br /> === Examples ==== <br /> Show some examples and ask what their pros and cons are and what insights they allow. Go through Tufte's list and identify which rules the visualizations follow.<br /> * [http://upload.wikimedia.org/wikipedia/commons/2/29/Minard.png| March of Napoleon]<br /> * <br /> <br /> ** Ask students what <br /> * Issues of visualization<br /> ** Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> ** Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> ** Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> ** Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> * Go through a couple of examples of creating visualizations referring back to Tufte's list and the issues.<br /> * Types of Visualizations (A sampling)<br /> ** Tables<br /> ** Graphs<br /> ** Charts<br /> ** Sparklines<br /> ** Time Series<br /> ** Data maps and mashups<br /> <br /> &lt;font color=&quot;red&quot;&gt;Seems a bit short. Acquiring data, conditioning data, tools to use for those and visualization. <br /> <br /> Consider showing really good graphics (Napoleon, earthquake video, etc.) and really bad ones (Tufte's examples) as part of the lecture. Much easier to show good and bad then explain it.&lt;/font&gt;<br /> <br /> == Lab == <br /> Use online tools to generate tabular data from the U.S. Census and then use Spreadsheet software and Google mashups to explore visualization.<br /> <br /> ==== Process ====<br /> * Part 1<br /> ** Open up Spreadsheet with a small set of provided data. &lt;font color=&quot;blue&quot;&gt;Do you have the 'provided data' already?&lt;/font&gt;<br /> ** Generate a sequence of 3 or 4 graphs and charts based on the data.<br /> *** For each graph identify pros and cons of that type of graph for this data.<br /> *** Identify best graph type for data. &lt;font color=&quot;blue&quot;&gt;Will some of this have been covered already? How will they know what they're looking for in pros/cons?&lt;/font&gt;<br /> * Part 2<br /> ** Open a browser to the [http://usa.ipums.org/usa/ | IPUMS website] &lt;font color=&quot;darkmagenta&quot;&gt;Break down the site navigation: Where do they need to go? How do they register? etc&lt;/font&gt;<br /> *** Select a specific (provided) set of criteria &lt;font color=&quot;blue&quot;&gt;What is the criteria?&lt;/font&gt;<br /> *** Generate the data based on the criteria &lt;font color=&quot;blue&quot;&gt;???&lt;/font&gt;<br /> *** Download data in text form<br /> *** Import data into Spreadsheet &lt;font color=&quot;darkmagenta&quot;&gt;This too will need a step-by-step breakdown&lt;/font&gt;<br /> ** Given your experience from Part 1, what type of visualization do you think is most appropriate and why.<br /> ** Generate a given type of graph.<br /> *** What, if anything, interesting can you see from the graph?<br /> ** Use tool to generate google mashup. &lt;font color=&quot;blue&quot;&gt;This is very vague.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;What is &quot;tool&quot;? Specify what the tools are, where we find them and how we use them&lt;/font&gt;<br /> *** What differences in terms of visual information are there between the graph and the mashup?<br /> * Part 3<br /> ** Go back to the IPUMS site and generate data based on your own set of criteria.<br /> ** Create a graph and mashup as in Part 2. Use general visualization guidelines to maximize the effectiveness of your visualizations. &lt;font color=&quot;blue&quot;&gt;What do you mean by 'general visualization guidelines'? Or is this something that will have been covered at this point?&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;This section will be a lot more lucid with something for someone to sit down and try. Evaluation of their visualizations aside, we need to know: what are the provided data for part 1? How do we navigate the IPUMS site? What are these &quot;criteria&quot; for choosing the data? How do we get the data into a spreadsheet? What is &quot;Tool&quot;? (is it kind of like [http://www.penny-arcade.com/comic/2009/3/9/|&quot;Book&quot;]?) Where do we find Tool? How do we use Tool to make a mashup?&lt;/font&gt;<br /> <br /> ==== Write-up ====<br /> * Notes from lab including results from Part 3 &lt;font color=&quot;blue&quot;&gt;You might want to be a little more specific because people are lazy. Or they might go, uh, I didn't take any notes...&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;These notes might be their answers to the questions like &quot;identify pros and cons&quot; or &quot;what's interesting about this graph&quot;?&lt;/font&gt;<br /> * What types of visualizations seem most appropriate for visualizing this type of census data and why?<br /> * What could you determine from the visualizations you created in Part 3?<br /> * What are the advantages and disadvantages of mashups vs traditional graphs?<br /> * When creating the visualizations for Part 3, what guidelines did you follow to make the visualization more effective and how did you follow them?<br /> * In what way could your visualizations be improved given more time or more advanced tools?<br /> <br /> &lt;font color=&quot;blue&quot;&gt;This section is very good!&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Ditto&lt;/font&gt;<br /> <br /> ==== Software ==== <br /> * Spreadsheet software.<br /> * Web browser.<br /> * Access to IPUMS.<br /> <br /> ==== Bill of Materials ====<br /> * None assuming we don't go and buy spreadsheet software and/or web browser.<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Whats the best type of visualization for X set of data?<br /> * XXX<br /> * XXX<br /> <br /> ==== Quiz Questions ==== <br /> * XXX A question.<br /> <br /> = Visualization - Metadata = <br /> XXX This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> XXX This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** None.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** None.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> XXX Some prose.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> &lt;font color=&quot;red&quot;&gt;Consider doing something based on IBM's Many Eyes tool.&lt;/font&gt;<br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matthew Edlefsen</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=9108 CS382:Unit-mashup 2009-04-15T23:44:42Z <p>Edlefma: /* Lecture Notes */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> * Introduction<br /> ** At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it.<br /> ** Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data.<br /> *** Couple of illustrative but basic graphs as examples.<br /> **** [http://upload.wikimedia.org/wikipedia/commons/2/29/Minard.png| March of Napoleon]<br /> **** [http://www.gapminder.org/| Gapminder]<br /> ** Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> *** Show the data.<br /> *** Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> *** Avoid distorting what the data have to say.<br /> *** Present many numbers in a small space.<br /> *** Make large data sets coherent.<br /> *** Encourage the eye to compare different pieces of data.<br /> *** Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> *** Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> *** Be closely integrated with the statistical and verbal descriptions of a data set.<br /> ** Show some more complex examples like the Napoleon one, an interesting mashup.<br /> * Issues of visualization<br /> ** Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> ** Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> ** Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> ** Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> * Go through a couple of examples of creating visualizations referring back to Tufte's list and the issues.<br /> * Types of Visualizations (A sampling)<br /> ** Tables<br /> ** Graphs<br /> ** Charts<br /> ** Sparklines<br /> ** Time Series<br /> ** Data maps and mashups<br /> <br /> &lt;font color=&quot;red&quot;&gt;Seems a bit short. Acquiring data, conditioning data, tools to use for those and visualization. <br /> <br /> Consider showing really good graphics (Napoleon, earthquake video, etc.) and really bad ones (Tufte's examples) as part of the lecture. Much easier to show good and bad then explain it.&lt;/font&gt;<br /> <br /> == Lab == <br /> Use online tools to generate tabular data from the U.S. Census and then use Spreadsheet software and Google mashups to explore visualization.<br /> <br /> ==== Process ====<br /> * Part 1<br /> ** Open up Spreadsheet with a small set of provided data. &lt;font color=&quot;blue&quot;&gt;Do you have the 'provided data' already?&lt;/font&gt;<br /> ** Generate a sequence of 3 or 4 graphs and charts based on the data.<br /> *** For each graph identify pros and cons of that type of graph for this data.<br /> *** Identify best graph type for data. &lt;font color=&quot;blue&quot;&gt;Will some of this have been covered already? How will they know what they're looking for in pros/cons?&lt;/font&gt;<br /> * Part 2<br /> ** Open a browser to the [http://usa.ipums.org/usa/ | IPUMS website] &lt;font color=&quot;darkmagenta&quot;&gt;Break down the site navigation: Where do they need to go? How do they register? etc&lt;/font&gt;<br /> *** Select a specific (provided) set of criteria &lt;font color=&quot;blue&quot;&gt;What is the criteria?&lt;/font&gt;<br /> *** Generate the data based on the criteria &lt;font color=&quot;blue&quot;&gt;???&lt;/font&gt;<br /> *** Download data in text form<br /> *** Import data into Spreadsheet &lt;font color=&quot;darkmagenta&quot;&gt;This too will need a step-by-step breakdown&lt;/font&gt;<br /> ** Given your experience from Part 1, what type of visualization do you think is most appropriate and why.<br /> ** Generate a given type of graph.<br /> *** What, if anything, interesting can you see from the graph?<br /> ** Use tool to generate google mashup. &lt;font color=&quot;blue&quot;&gt;This is very vague.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;What is &quot;tool&quot;? Specify what the tools are, where we find them and how we use them&lt;/font&gt;<br /> *** What differences in terms of visual information are there between the graph and the mashup?<br /> * Part 3<br /> ** Go back to the IPUMS site and generate data based on your own set of criteria.<br /> ** Create a graph and mashup as in Part 2. Use general visualization guidelines to maximize the effectiveness of your visualizations. &lt;font color=&quot;blue&quot;&gt;What do you mean by 'general visualization guidelines'? Or is this something that will have been covered at this point?&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;This section will be a lot more lucid with something for someone to sit down and try. Evaluation of their visualizations aside, we need to know: what are the provided data for part 1? How do we navigate the IPUMS site? What are these &quot;criteria&quot; for choosing the data? How do we get the data into a spreadsheet? What is &quot;Tool&quot;? (is it kind of like [http://www.penny-arcade.com/comic/2009/3/9/|&quot;Book&quot;]?) Where do we find Tool? How do we use Tool to make a mashup?&lt;/font&gt;<br /> <br /> ==== Write-up ====<br /> * Notes from lab including results from Part 3 &lt;font color=&quot;blue&quot;&gt;You might want to be a little more specific because people are lazy. Or they might go, uh, I didn't take any notes...&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;These notes might be their answers to the questions like &quot;identify pros and cons&quot; or &quot;what's interesting about this graph&quot;?&lt;/font&gt;<br /> * What types of visualizations seem most appropriate for visualizing this type of census data and why?<br /> * What could you determine from the visualizations you created in Part 3?<br /> * What are the advantages and disadvantages of mashups vs traditional graphs?<br /> * When creating the visualizations for Part 3, what guidelines did you follow to make the visualization more effective and how did you follow them?<br /> * In what way could your visualizations be improved given more time or more advanced tools?<br /> <br /> &lt;font color=&quot;blue&quot;&gt;This section is very good!&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Ditto&lt;/font&gt;<br /> <br /> ==== Software ==== <br /> * Spreadsheet software.<br /> * Web browser.<br /> * Access to IPUMS.<br /> <br /> ==== Bill of Materials ====<br /> * None assuming we don't go and buy spreadsheet software and/or web browser.<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Whats the best type of visualization for X set of data?<br /> * XXX<br /> * XXX<br /> <br /> ==== Quiz Questions ==== <br /> * XXX A question.<br /> <br /> = Visualization - Metadata = <br /> XXX This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> XXX This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** None.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** None.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> XXX Some prose.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> &lt;font color=&quot;red&quot;&gt;Consider doing something based on IBM's Many Eyes tool.&lt;/font&gt;<br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matthew Edlefsen</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=9107 CS382:Unit-mashup 2009-04-15T23:43:31Z <p>Edlefma: /* Lecture Notes */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> * Introduction<br /> ** At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it.<br /> ** Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data.<br /> *** Couple of illustrative but basic graphs as examples.http://upload.wikimedia.org/wikipedia/commons/2/29/Minard.png<br /> **** [ http://upload.wikimedia.org/wikipedia/commons/2/29/Minard.png | March of Napoleon ]<br /> **** [ http://www.gapminder.org/ | Gapminder ]<br /> ** Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> *** Show the data.<br /> *** Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> *** Avoid distorting what the data have to say.<br /> *** Present many numbers in a small space.<br /> *** Make large data sets coherent.<br /> *** Encourage the eye to compare different pieces of data.<br /> *** Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> *** Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> *** Be closely integrated with the statistical and verbal descriptions of a data set.<br /> ** Show some more complex examples like the Napoleon one, an interesting mashup.<br /> * Issues of visualization<br /> ** Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> ** Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> ** Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> ** Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> * Go through a couple of examples of creating visualizations referring back to Tufte's list and the issues.<br /> * Types of Visualizations (A sampling)<br /> ** Tables<br /> ** Graphs<br /> ** Charts<br /> ** Sparklines<br /> ** Time Series<br /> ** Data maps and mashups<br /> <br /> &lt;font color=&quot;red&quot;&gt;Seems a bit short. Acquiring data, conditioning data, tools to use for those and visualization. <br /> <br /> Consider showing really good graphics (Napoleon, earthquake video, etc.) and really bad ones (Tufte's examples) as part of the lecture. Much easier to show good and bad then explain it.&lt;/font&gt;<br /> <br /> == Lab == <br /> Use online tools to generate tabular data from the U.S. Census and then use Spreadsheet software and Google mashups to explore visualization.<br /> <br /> ==== Process ====<br /> * Part 1<br /> ** Open up Spreadsheet with a small set of provided data. &lt;font color=&quot;blue&quot;&gt;Do you have the 'provided data' already?&lt;/font&gt;<br /> ** Generate a sequence of 3 or 4 graphs and charts based on the data.<br /> *** For each graph identify pros and cons of that type of graph for this data.<br /> *** Identify best graph type for data. &lt;font color=&quot;blue&quot;&gt;Will some of this have been covered already? How will they know what they're looking for in pros/cons?&lt;/font&gt;<br /> * Part 2<br /> ** Open a browser to the [http://usa.ipums.org/usa/ | IPUMS website] &lt;font color=&quot;darkmagenta&quot;&gt;Break down the site navigation: Where do they need to go? How do they register? etc&lt;/font&gt;<br /> *** Select a specific (provided) set of criteria &lt;font color=&quot;blue&quot;&gt;What is the criteria?&lt;/font&gt;<br /> *** Generate the data based on the criteria &lt;font color=&quot;blue&quot;&gt;???&lt;/font&gt;<br /> *** Download data in text form<br /> *** Import data into Spreadsheet &lt;font color=&quot;darkmagenta&quot;&gt;This too will need a step-by-step breakdown&lt;/font&gt;<br /> ** Given your experience from Part 1, what type of visualization do you think is most appropriate and why.<br /> ** Generate a given type of graph.<br /> *** What, if anything, interesting can you see from the graph?<br /> ** Use tool to generate google mashup. &lt;font color=&quot;blue&quot;&gt;This is very vague.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;What is &quot;tool&quot;? Specify what the tools are, where we find them and how we use them&lt;/font&gt;<br /> *** What differences in terms of visual information are there between the graph and the mashup?<br /> * Part 3<br /> ** Go back to the IPUMS site and generate data based on your own set of criteria.<br /> ** Create a graph and mashup as in Part 2. Use general visualization guidelines to maximize the effectiveness of your visualizations. &lt;font color=&quot;blue&quot;&gt;What do you mean by 'general visualization guidelines'? Or is this something that will have been covered at this point?&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;This section will be a lot more lucid with something for someone to sit down and try. Evaluation of their visualizations aside, we need to know: what are the provided data for part 1? How do we navigate the IPUMS site? What are these &quot;criteria&quot; for choosing the data? How do we get the data into a spreadsheet? What is &quot;Tool&quot;? (is it kind of like [http://www.penny-arcade.com/comic/2009/3/9/|&quot;Book&quot;]?) Where do we find Tool? How do we use Tool to make a mashup?&lt;/font&gt;<br /> <br /> ==== Write-up ====<br /> * Notes from lab including results from Part 3 &lt;font color=&quot;blue&quot;&gt;You might want to be a little more specific because people are lazy. Or they might go, uh, I didn't take any notes...&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;These notes might be their answers to the questions like &quot;identify pros and cons&quot; or &quot;what's interesting about this graph&quot;?&lt;/font&gt;<br /> * What types of visualizations seem most appropriate for visualizing this type of census data and why?<br /> * What could you determine from the visualizations you created in Part 3?<br /> * What are the advantages and disadvantages of mashups vs traditional graphs?<br /> * When creating the visualizations for Part 3, what guidelines did you follow to make the visualization more effective and how did you follow them?<br /> * In what way could your visualizations be improved given more time or more advanced tools?<br /> <br /> &lt;font color=&quot;blue&quot;&gt;This section is very good!&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Ditto&lt;/font&gt;<br /> <br /> ==== Software ==== <br /> * Spreadsheet software.<br /> * Web browser.<br /> * Access to IPUMS.<br /> <br /> ==== Bill of Materials ====<br /> * None assuming we don't go and buy spreadsheet software and/or web browser.<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Whats the best type of visualization for X set of data?<br /> * XXX<br /> * XXX<br /> <br /> ==== Quiz Questions ==== <br /> * XXX A question.<br /> <br /> = Visualization - Metadata = <br /> XXX This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> XXX This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** None.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** None.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> XXX Some prose.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> &lt;font color=&quot;red&quot;&gt;Consider doing something based on IBM's Many Eyes tool.&lt;/font&gt;<br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matthew Edlefsen</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8968 CS382:Scraper 2009-04-08T17:02:38Z <p>Edlefma: </p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper --help|--usage|--version<br /> <br /> mwscraper [--host URL] [--login] [--username USERNAME] ] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> The templates are built using the Template Toolkit. In addition to the normal functionality provided by that package, a number of functions have been provided. See the FUNCTIONS section.<br /> <br /> By default the generated page will be printed on stdout. If you wish the page to be uploaded directly to the wiki you may use the --upload option.<br /> <br /> ==DEPENDENCIES==<br /> ; Term&amp;#58;&amp;#58;ReadKey<br /> :For prompting.<br /> ; MediaWiki&amp;#58;&amp;#58;API<br /> :To interact with the Wiki.<br /> ; Template<br /> :Provides the template language.<br /> ; Crypt&amp;#58;&amp;#58;SSLeay<br /> :Allows https URI's for the wiki<br /> ; Compress&amp;#58;&amp;#58;Zlib<br /> :Needed to decompress responses from the wiki.<br /> <br /> ==OPTIONS==<br /> ; -h|--host<br /> :Sets the url of the wiki to use. Should start with either http:// or https://.<br /> ; -l|--login<br /> :Tells the scraper to attempt to login if it needs to access the wiki (either for reading or uploading). If a username or password is not given it will be prompted for.<br /> ; -u|--username<br /> :Provides a username to be used when logging in.<br /> ; -p|--password<br /> :Provides a password to be used when logging in. This option only works if --username or MWSCRAPER_USERNAME is set.<br /> ; -e|--edit|--upload<br /> :Tells the scraper to upload the generated pages to the wiki. The name of the page it will be prompted for unless the template specifies one using the title function. If the page does not already exist a new one will be created.<br /> ; --help, --usage, --version<br /> :Displays help/usage/version information.<br /> <br /> ==ENVIRONMENT==<br /> ; MWSCRAPER_HOST<br /> :Provides a default host if none is provided on the command line.<br /> ; MWSCRAPER_LOGIN<br /> :Tells the scraper to login if it needs to access the wiki.<br /> ; MWSCRAPER_USERNAME<br /> :Provides a default username if none is provided on the command line. This variable must be set for MWSCRAPER_PASSWORD to be used.<br /> ; MWSCRAPER_PASSWORD<br /> :Provides a password to be used with MWSCRAPER_USERNAME. If MWSCRAPER_USERNAME is not set this value will be ignored.<br /> <br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. See the Template Perldoc page for more details.<br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. The most basic form is inserting the value of a variable. The form of this is simply<br /> <br /> &lt;code&gt;<br /> [% variable_name %]<br /> &lt;/code&gt;<br /> You can also assign a value to variable using the = operator.<br /> <br /> &lt;code&gt;<br /> [% variable_name = expression %]<br /> &lt;/code&gt;<br /> ===EXAMPLE===<br /> software.tt:<br /> <br /> &lt;code&gt;<br /> [% title('CS382:Software') ~%]<br /> <br /> [% BLOCK unit_section -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') ~%]<br /> <br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> <br /> [%- END ~%]<br /> <br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% INCLUDE unit_section %]<br /> [% END -%]<br /> &lt;/code&gt;<br /> ===COMMANDS===<br /> There are also a number of some special commands, here are a few common ones.<br /> <br /> ; FOREACH<br /> :Allows you to repeat a section of a template for each value in a array.<br /> &lt;code&gt;<br /> [% FOREACH var IN expression %]<br /> [% var %]<br /> stuff...<br /> [% END %]<br /> &lt;/code&gt;<br /> ; BLOCK<br /> :Allows to create a named section of a template to be included elsewhere.<br /> &lt;code&gt;<br /> [% BLOCK blockname %]<br /> stuff...<br /> [% END %]<br /> &lt;/code&gt;<br /> ; INCLUDE<br /> :Inserts the contents of a block (or external template file).<br /> &lt;code&gt;<br /> [% INCLUDE block/filename %]<br /> &lt;/code&gt;<br /> <br /> ===WHITESPACE===<br /> Anything not within code blocks is printed verbatim. This means that any whitespace, including newlines surrounding template code is still there. To remove whitespace around template code you can add either - or ~ to right inside of the % on the side that you want to remove from. The - will remove up until and including the next newline it encounters. The ~ will remove all adjacent whitespace on that side including newlines.<br /> <br /> For example:<br /> <br /> &lt;code&gt;<br /> [% var = &quot;Hey There&quot; -%] <br /> [% var %]<br /> &lt;/code&gt;<br /> Will just print &quot;Hey There\n&quot; with the newline after the first line removed.<br /> <br /> &lt;code&gt;<br /> [% var = &quot;Hey There&quot; %]<br /> <br /> [%~ var %]<br /> &lt;/code&gt;<br /> Will also just print &quot;Hey There\n&quot; because all whitespace before the third line will be removed.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; login( [USERNAME [, PASSWORD ] ] )<br /> :Tells the scraper to attempt to login if it needs to access the wiki (either to scrape or upload). If either or both username and password aren't provided they will be prompted for.<br /> ; cat( STRING... )<br /> :Concatenates all passed strings together and returns the result.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == software.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','^\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '^= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)^={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> &lt;/pre&gt;<br /> <br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, cat( name.replace('-','.') , '.*?^\** (.*?)$')) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> <br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:GenEds&diff=8950 CS382:GenEds 2009-04-08T14:12:28Z <p>Edlefma: </p> <hr /> <div>== General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> <br /> ! [[CS382:Unit-foundation-templated#General Education Alignment|Foundations of Modelling]]<br /> <br /> ! [[CS382:staticmodel-outline#General Education Alignment|Static Modeling]]<br /> <br /> ! [[CS382:fire#General Education Alignment|Fire]]<br /> <br /> ! [[CS382:Unit-mashup#General Education Alignment|Visualization]]<br /> <br /> ! [[CS382:structural-outline#General Education Alignment|Structural Modeling]]<br /> <br /> ! [[CS382:equation-outline#General Education Alignment|Rocket Modeling]]<br /> <br /> ! [[Cs382:unit-compsoc#General Education Alignment|Computational Sociology and Agent Based Modeling]]<br /> <br /> ! [[CS382:Predator-Prey#General Education Alignment|Predator Prey ( Lynx Hare )]]<br /> <br /> ! [[CS382:chaos_templated#General Education Alignment|Chaos]]<br /> <br /> ! [[CS382:End-Notes#General Education Alignment|CS382:End-Notes]]<br /> <br /> |-<br /> <br /> | ARa<br /> | Complete<br /> | Complete<br /> | None<br /> | None<br /> | Partial<br /> | <br /> | Complete<br /> | Complete<br /> | Complete<br /> | <br /> <br /> |-<br /> | ARb<br /> | Complete<br /> | Complete<br /> | Partial<br /> | None<br /> | Complete<br /> | <br /> | Complete<br /> | Partial<br /> | Partial<br /> | <br /> <br /> |-<br /> | ARc<br /> | Complete<br /> | None<br /> | Partial<br /> | None<br /> | No<br /> | <br /> | Complete<br /> | Partial<br /> | Complete<br /> | <br /> <br /> |-<br /> | QRa<br /> | Complete<br /> | None<br /> | Complete<br /> | Complete<br /> | Not really<br /> | <br /> | Partial<br /> | Complete<br /> | Complete<br /> | <br /> <br /> |-<br /> | QRb<br /> | Partial<br /> | Partial<br /> | Complete<br /> | Partial<br /> | Not really<br /> | <br /> | Partial<br /> | Complete<br /> | Complete<br /> | <br /> <br /> |-<br /> | QRc<br /> | Complete<br /> | Complete<br /> | Complete<br /> | Partial<br /> | Not really<br /> | <br /> | None<br /> | Complete<br /> | Complete<br /> | <br /> <br /> |-<br /> | QRd<br /> | Partial<br /> | Partial<br /> | Complete<br /> | None<br /> | Not really<br /> | <br /> | None<br /> | Complete<br /> | Partial<br /> | <br /> <br /> |-<br /> | QRe<br /> | Complete<br /> | Complete<br /> | Complete<br /> | None<br /> | Yes<br /> | <br /> | None<br /> | Complete<br /> | Complete<br /> | <br /> <br /> |-<br /> | QRf<br /> | Complete<br /> | Complete<br /> | Complete<br /> | None<br /> | Yes<br /> | <br /> | Partial<br /> | Complete<br /> | Partial<br /> | <br /> <br /> |-<br /> | QRg<br /> | None<br /> | Partial<br /> | Complete<br /> | Partial<br /> | Yes<br /> | <br /> | Complete<br /> | Complete<br /> | None<br /> | <br /> <br /> |-<br /> | SIa<br /> | Complete<br /> | Complete<br /> | Partial<br /> | None<br /> | Yes<br /> | <br /> | Complete<br /> | Complete<br /> | Complete<br /> | <br /> <br /> |-<br /> | SIb<br /> | Complete<br /> | Complete<br /> | Complete<br /> | None<br /> | Yes<br /> | <br /> | None<br /> | Complete<br /> | Complete<br /> | <br /> <br /> |-<br /> | SIc<br /> | Complete<br /> | Complete<br /> | Complete<br /> | Complete<br /> | Yes<br /> | <br /> | Complete<br /> | Partial<br /> | Partial<br /> | <br /> <br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Complete. The entire unit centers around learning how to create and use abstract models. We work on first what they are and then how to use them.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: Complete. The concepts covered in the static model are intentionally abstract, and rely on the lab activity to ground those abstract concepts in a practical application. <br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: None. This unit deals almost entirely will quantitative reasoning, and would be hard to expand into the abstract world.<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: None.<br /> ** [[CS382:structural-outline#Abstract Reasoning|Structural Modeling]]: Partial. Sort of. This lab is more concrete. This unit will go early in the semester so it will apply some of the more abstract ideas presented earlier.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''&lt;font color=orange&gt; None.&lt;/font&gt;Does not apply; this unit is purely quantitative.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: Complete. Agents -&gt; abstract models<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Complete. The entire unit is about students learning exactly what you can do with a system dynamics model. It would be impossible to teach that without discussing the properties of the model and what operations you could perform on it.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|Chaos]]: Complete. They are handling abstract model of chaos and applying it in metaverse.<br /> ** [[CS382:End-Notes#Abstract Reasoning|CS382:End-Notes]]: <br /> <br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Complete. The lab provides hands on experience in generalizing and extrapolating from a specific small scale problem to a larger instance of that problem. The lab further focuses on getting students to put together a toolkit of techniques to create simple abstract models.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: Complete. The static model is an abstract framework that we're contextualizing using an activity that grounds the abstraction in something as concrete as 'the heart'.<br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: Partial. Parameter sweeping (one of the primary goals of this unit) can be used in almost every instance of computational simulations. In this sense it can be expanded from this specific model to others, yet it is more of a quantitative method of analysis than it is abstract.<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: None.<br /> ** [[CS382:structural-outline#Abstract Reasoning|Structural Modeling]]: Complete. Yes, because we're showing how structures and bridges, specifically apply to the abstract model parameters described in the ''What is a static model'' and ''what is a dynamic model'' units.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''&lt;font color=orange&gt; None.&lt;/font&gt;Again it does not apply/support.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: Complete. discussion of boids, sugarscape and agent based modeling as a whole<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Partial. The way the unit works is by teaching students about the class of model, and has them build a specific one as part of a lab activity.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|Chaos]]: Partial. From specific instances of weather data, they generalize chaos model.<br /> ** [[CS382:End-Notes#Abstract Reasoning|CS382:End-Notes]]: <br /> <br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Complete. See above about the lab. Also we apply word problems in the form of fermi-problems encouraging students to make and defend measurements and create numeric results.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: None. This unit isn't geared towards this as far as I can see.<br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: Partial. The Verification/Validation/Accreditation process teaches the students how to take the procedures they learn using models and apply them to every aspect of scientific discovery. The fire unit attempts to teach students proper use of scientific models to insure that the questions they want answered are being answered by the model they're using.<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: None.<br /> ** [[CS382:structural-outline#Abstract Reasoning|Structural Modeling]]: No. this unit isn't geared towards this as far as I can see.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''&lt;font color=orange&gt; None.&lt;/font&gt;Does not support it; it could but we have different focus.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: Complete. the emergent behavior is a process of abstract manipulation; comparing emergent behavior back against the real world is &quot;converting solutions back into concrete results&quot;<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Partial. The lab activity involves constructing a model, manipulating the data that goes in, and then collecting results, but not in order to satisfy a concrete problem.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|Chaos]]: Complete. They provide experience in solving weather forecasting problem. The process is abstraction of weather data, manipulation, and Analysis. They formalize real-world short-term/long-term climate model problem in words.<br /> ** [[CS382:End-Notes#Abstract Reasoning|CS382:End-Notes]]: <br /> <br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Complete. The discussion of vetting materials requires and creates an understanding of how to interpret quantitative information. In addition the lab teaches students how to generate quantitative information. This unit briefly touches on visualization of data<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: None. The students will work with tabular data to get a feel for the balance between accuracy and precision<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: Complete. This unit is intended to teach the student how to gather data using a specific tool and analyze that data to come to some conclusion.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Complete. They will be doing many graphs and tables in this Unit.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|Structural Modeling]]: The students use tables to organize bridge data. The focus of this section, however is not on interpreting tabluar data.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''&lt;font color=orange&gt; Complete.&lt;/font&gt;It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and certainly tables.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Partial. Little of this - the point is to avoid formulas (initially), but graphs and tables come up when analyzing model results.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|Chaos]]: Complete. They have formulas of attractor, generate graph of climate change, and analyze big table of climate data.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Partial. The exercises in lab as well as the fermi problems beget skill in representing data numerically and verbally. We discuss representing data graphically and symbolically but do not go into detail in this unit.<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Partial. Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: Complete. The student will need to create a lab write-up in which they express why they went about collecting the necessary amount of data. They will also need to include examples of said data and an explanation of what conclusion(s) can be drawn from that data.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> ** [[CS382:structural-outline#Quantitative Reasoning|Structural Modeling]]: The models provide a framework for visualizing physical (mathematical) constraints.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''&lt;font color=orange&gt; Complete&lt;/font&gt;It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and tables which will also have their symbolical, graphical and numerical representations.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Partial. Little of this. We're working with people, not numbers.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|Chaos]]: Complete. Lorentz attractor is representing chaos mathematically, symbolically, graphically, numerically, and verbally. <br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Complete. the lab design is geared toward teaching how to solve counting and statistical problems in multiple contexts.<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Complete. Yes. described above.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: Complete. While this unit deals almost entirely with a single tool, the idea of parameter sweeping is necessary in every form of simulation and is thus applicable in a wide range of contexts.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|Structural Modeling]]: This is one context where we're using mathematical and statistical ideas.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''&lt;font color=orange&gt; Partially.&lt;/font&gt;Still not sure how big will variety be but what is sure that math and statistical ideas will be used to solve problems.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: None.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: We are using mathematics to solve problems.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|Chaos]]: Complete. They require mathematical and statistical ideas to solve data mining problem of climate data.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Partial. we discuss the creation of these models however the ones that students use in this unit are likely to not fulfill these.<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Partial. Maybe...Not too sure about this one.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: Complete. This wildfire model clearly shows how the number of burned trees is directly dependent on certain features of the forest (density, wetness, etc) and how minor changes in those features can dramatically change the outcome.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: None.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|Structural Modeling]]: Not really.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''&lt;font color=orange&gt; Partially.&lt;/font&gt;Probably we will meet linear dependence in this unit; following the graphs of the various bottle pressure bottles, etc.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: None. This could be worked in, but isn't there now.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|Chaos]]: Partial. Chaos model will never be simple. But Lorenz attractor abstract chaos theory a lot. <br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Complete. we introduce statistics in the context of models and discuss their usefulness<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Complete. Yes. To fill in some of the gaps in their data, students will need to be prepared to formulate estimatations.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: Complete. At the end of this unit the student should be able to understand that one cannot make sufficiently accurate conclusions about a model with only a single data set.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: None.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|Structural Modeling]]: Yes, because the traversal (where we test the bridge by simulating a car driving over it) is a deterministic process. Maybe we could introduce the difference between probabilistic and deterministic.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''&lt;font color=orange&gt; Complete.&lt;/font&gt;It will certainly contain all the above mentioned ideas cause we are talking about predicting events, simulating models and analyzing predicted events. '''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: None.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Only so much as these ideas would be helpful in a particular model.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|Chaos]]: Complete. Students will develop those skills through analyzing weather data.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Complete. in both the lab work and the other problems for the students to solve this unit requires strong support for all assertions that students make<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Complete. Yes, students are asked to make estimates to effectivily interpret the data they collect.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: Complete. In the beginning of the lab portion of this unit, the student should take a guess at what the result will be when the density of the forest is varied. After running a number of trials, they should be able to easily assess the accuracy of they're answer as well as the reasonableness of their results from the lab.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: None.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|Structural Modeling]]: Yes, because students will try to build different types of bridges and determine the 'reasonableness' of their solutions by the simulated test outcome.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''&quot;&lt;font color=orange&gt; Complete.&lt;/font&gt;Yes, estimation and confirmation are important part of the unit.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Partial. In a more abstract way than most mathiness.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models and there is an analysis part of our lab.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|Chaos]]: Partial. Students just can review their estimate because of actual weather and professional's weather prediction. <br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: None. Yet I need to add this in the introductory portion<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Partial. A portion of the lectures will be devoted to explaining the limitations of static models and modeling the real world in general.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: Complete. The student should clearly note that this model of wildfires is far from indicative of how they actually happen. It should be stressed that this model is simply proof of concept for showing the profound effect a single variable can have on the overall results.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|Structural Modeling]]: Yes, because the physical model will not account for all variables, such as wind.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''&lt;font color=orange&gt; Complete.&lt;/font&gt;Even if numbers of paper have power to predict and evaluate something; real life experiment can always show more than numbers.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Complete. This is fulfilled - the point of ABM is the limitation of mathematical and statistical methods.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> ** [[CS382:chaos_templated#Quantitative Reasoning|Chaos]]: None. This unit require unlimited amount of calculation for accurate forecast.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Complete. this unit lays the framework for students to explore the natural world through counting and modeling.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: Complete. The students are making static models of the natural world.<br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: Partial. After the completion of this unit, the student should understand the world's dependence on a surprisingly small number of variables even though this model is far from accurate.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: None.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|Structural Modeling]]: Yes.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''&lt;font color=orange&gt; Complete.&lt;/font&gt;'The students are making a model which is going to resist gravity, but also be affected by natural happenings like air drag, and possible weather features. '''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: Complete. Yes. Agent based methodology informs a way of thinking about natural processes that differs from more typical techniques - the ideas of emergent behavior are present in every day life.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: They can model natural systems including our example, Predator-Prey models.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|Chaos]]: Complete. This unit develops students' understanding of chaotic flow of climate change.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement|CS382:End-Notes]]: <br /> <br /> * ''Strengthens students' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Complete. one of the major take-away points of this unit is how to develop a scientific knowledge of a system. In order to test hypotheses students need to build models and apply them to the real world<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: Complete. Students will define a new framework for describing their environment in a static model.<br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: Complete. The entirety of this lab is to change a variable, observe the results, and repeat, eventually leading to having enough data to make reasonable theories on the model.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: None.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|Structural Modeling]]: Yes<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''&lt;font color=orange&gt; Complete.&lt;/font&gt;The students will have chance to pre-use computer simulators and software which are going to possibly give them ideas to develop their own ideas about the model and predictions of occurrences throughout the lab.'''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: None.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: Complete. Experimentation is used when developing models.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|Chaos]]: Complete. This unit strengthens students' knowledge of the scientific way of reading weather data and developing weather forecasting theory. <br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement|CS382:End-Notes]]: <br /> <br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Complete. the lecture emphasizes analysis of data and the basics of how to collect it. The lab focuses on the collection of empirical data.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: Complete. Yes. The students are collecting data and developing an effective way to represent that data to describe a physical space.<br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: Complete. The lab portion of this unit is exactly this: gathering numerical data in order to provide the basis for some sort of conclusion.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|Structural Modeling]]: Yes. Students will understand how physical models and computational models can be used to simulate the same structures and processes.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''&lt;font color=orange&gt; Complete.&lt;/font&gt;The lab will be the main medium of experiencing the real model evolving; and cause of that will be collection of data and students analysis of ones. '''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: Complete. Models = theoretical. Analyzing one's own social circle, for example, is empirical collection.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: Partial. We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|Chaos]]: Partial. Theoretical analysis of chaos model will derive infinite variation. Students have to guess the result from the collection of empirical data of weather.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement|CS382:End-Notes]]:</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=8942 CS382:Unit-mashup 2009-04-08T12:42:19Z <p>Edlefma: /* Scientific Inquiry Requirement */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> * Introduction<br /> ** At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it.<br /> ** Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data.<br /> *** Couple of illustrative but basic graphs as examples.<br /> ** Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> *** Show the data.<br /> *** Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> *** Avoid distorting what the data have to say.<br /> *** Present many numbers in a small space.<br /> *** Make large data sets coherent.<br /> *** Encourage the eye to compare different pieces of data.<br /> *** Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> *** Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> *** Be closely integrated with the statistical and verbal descriptions of a data set.<br /> ** Show some more complex examples like the Napoleon one, an interesting mashup.<br /> * Issues of visualization<br /> ** Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> ** Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> ** Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> ** Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> * Go through a couple of examples of creating visualizations referring back to Tufte's list and the issues.<br /> * Types of Visualizations (A sampling)<br /> ** Tables<br /> ** Graphs<br /> ** Charts<br /> ** Sparklines<br /> ** Time Series<br /> ** Data maps and mashups<br /> <br /> &lt;font color=&quot;red&quot;&gt;Seems a bit short. Acquiring data, conditioning data, tools to use for those and visualization. <br /> <br /> Consider showing really good graphics (Napoleon, earthquake video, etc.) and really bad ones (Tufte's examples) as part of the lecture. Much easier to show good and bad then explain it.&lt;/font&gt;<br /> <br /> == Lab == <br /> Use online tools to generate tabular data from the U.S. Census and then use Spreadsheet software and Google mashups to explore visualization.<br /> <br /> ==== Process ====<br /> * Part 1<br /> ** Open up Spreadsheet with a small set of provided data. &lt;font color=&quot;blue&quot;&gt;Do you have the 'provided data' already?&lt;/font&gt;<br /> ** Generate a sequence of 3 or 4 graphs and charts based on the data.<br /> *** For each graph identify pros and cons of that type of graph for this data.<br /> *** Identify best graph type for data. &lt;font color=&quot;blue&quot;&gt;Will some of this have been covered already? How will they know what they're looking for in pros/cons?&lt;/font&gt;<br /> * Part 2<br /> ** Open a browser to the [http://usa.ipums.org/usa/ | IPUMS website] &lt;font color=&quot;darkmagenta&quot;&gt;Break down the site navigation: Where do they need to go? How do they register? etc&lt;/font&gt;<br /> *** Select a specific (provided) set of criteria &lt;font color=&quot;blue&quot;&gt;What is the criteria?&lt;/font&gt;<br /> *** Generate the data based on the criteria &lt;font color=&quot;blue&quot;&gt;???&lt;/font&gt;<br /> *** Download data in text form<br /> *** Import data into Spreadsheet &lt;font color=&quot;darkmagenta&quot;&gt;This too will need a step-by-step breakdown&lt;/font&gt;<br /> ** Given your experience from Part 1, what type of visualization do you think is most appropriate and why.<br /> ** Generate a given type of graph.<br /> *** What, if anything, interesting can you see from the graph?<br /> ** Use tool to generate google mashup. &lt;font color=&quot;blue&quot;&gt;This is very vague.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;What is &quot;tool&quot;? Specify what the tools are, where we find them and how we use them&lt;/font&gt;<br /> *** What differences in terms of visual information are there between the graph and the mashup?<br /> * Part 3<br /> ** Go back to the IPUMS site and generate data based on your own set of criteria.<br /> ** Create a graph and mashup as in Part 2. Use general visualization guidelines to maximize the effectiveness of your visualizations. &lt;font color=&quot;blue&quot;&gt;What do you mean by 'general visualization guidelines'? Or is this something that will have been covered at this point?&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;This section will be a lot more lucid with something for someone to sit down and try. Evaluation of their visualizations aside, we need to know: what are the provided data for part 1? How do we navigate the IPUMS site? What are these &quot;criteria&quot; for choosing the data? How do we get the data into a spreadsheet? What is &quot;Tool&quot;? (is it kind of like [http://www.penny-arcade.com/comic/2009/3/9/|&quot;Book&quot;]?) Where do we find Tool? How do we use Tool to make a mashup?&lt;/font&gt;<br /> <br /> ==== Write-up ====<br /> * Notes from lab including results from Part 3 &lt;font color=&quot;blue&quot;&gt;You might want to be a little more specific because people are lazy. Or they might go, uh, I didn't take any notes...&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;These notes might be their answers to the questions like &quot;identify pros and cons&quot; or &quot;what's interesting about this graph&quot;?&lt;/font&gt;<br /> * What types of visualizations seem most appropriate for visualizing this type of census data and why?<br /> * What could you determine from the visualizations you created in Part 3?<br /> * What are the advantages and disadvantages of mashups vs traditional graphs?<br /> * When creating the visualizations for Part 3, what guidelines did you follow to make the visualization more effective and how did you follow them?<br /> * In what way could your visualizations be improved given more time or more advanced tools?<br /> <br /> &lt;font color=&quot;blue&quot;&gt;This section is very good!&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Ditto&lt;/font&gt;<br /> <br /> ==== Software ==== <br /> * Spreadsheet software.<br /> * Web browser.<br /> * Access to IPUMS.<br /> <br /> ==== Bill of Materials ====<br /> * None assuming we don't go and buy spreadsheet software and/or web browser.<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Whats the best type of visualization for X set of data?<br /> * XXX<br /> * XXX<br /> <br /> ==== Quiz Questions ==== <br /> * XXX A question.<br /> <br /> = Visualization - Metadata = <br /> XXX This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> XXX This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** None.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** None.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Complete. Deals with collection of data from data sources and theoretical analysis of how to visualize it.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> XXX Some prose.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> &lt;font color=&quot;red&quot;&gt;Consider doing something based on IBM's Many Eyes tool.&lt;/font&gt;<br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matthew Edlefsen</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Unit-mashup&diff=8941 CS382:Unit-mashup 2009-04-08T12:40:39Z <p>Edlefma: /* Analytical Reasoning Requirement */</p> <hr /> <div>= Visualization = <br /> == Overview ==<br /> The goal of this unit is to teach students to:<br /> * Understand the goals of visualization.<br /> * Know what the issues involved in visualization are.<br /> * Be able to recognize and reason about the different types of visualization.<br /> * Be introduced to a sampling of the tools used to visualize data.<br /> <br /> == Background Reading for Teachers and TAs ==<br /> * [http://davidhuynh.net/media/papers/2007/iswc2007-potluck.pdf web tool for non-programmers for making mashups]<br /> * [http://media.wiley.com/product_data/excerpt/12/04705151/0470515112.pdf chapter 1 of book on power of geo mashups]<br /> * [http://en.wikipedia.org/wiki/Information_visualization Wikipedia page on Information Visualization]<br /> * [http://en.wikipedia.org/wiki/Visualization_(computer_graphics) Wikipedia page on Visualization]<br /> * &quot;The Visual Display of Quantitative Information&quot; by Edward Tufte<br /> * &quot;The Elements of Graphing Data&quot; by William Cleveland<br /> <br /> == Reading Assignments for Students ==<br /> * Needs to be created I think &lt;font color=&quot;red&quot;&gt;Agreed.&lt;/font&gt;<br /> <br /> == Reference Material ==<br /> <br /> == Lecture Notes ==<br /> * Introduction<br /> ** At this point students have already created/worked with a couple models and created basic graphs to visualize them. Talk about how even with just the simple models created so far, understanding the data is hard without having a visual representation of it.<br /> ** Visualization is a graphical representation of data for the purpose of allowing humans to understand aspects of the data.<br /> *** Couple of illustrative but basic graphs as examples.<br /> ** Tufte's aspects of visualization, just a run through (From &quot;The Visual Display of Quantitative Information&quot;):<br /> *** Show the data.<br /> *** Induce the viewer to think about the substance rather than about the methodology, graphic design, the technology of graphic production, or something else.<br /> *** Avoid distorting what the data have to say.<br /> *** Present many numbers in a small space.<br /> *** Make large data sets coherent.<br /> *** Encourage the eye to compare different pieces of data.<br /> *** Reveal the data at several levels of detail, from broad overview to the fine structure.<br /> *** Serve a reasonable clear purpose: description, exploration, tabulation, or decoration.<br /> *** Be closely integrated with the statistical and verbal descriptions of a data set.<br /> ** Show some more complex examples like the Napoleon one, an interesting mashup.<br /> * Issues of visualization<br /> ** Objective. There is always a goal or objective when visualizing by which one can judge effectiveness. In this class I don't think things like marketing should be mentioned but certainly the difference between using visualization to explore data and to explain data to others. <br /> ** Data Selection. When given a set of data, often one wants to single in on a subset of that data to look at.<br /> ** Psychology. Visualization is fundamentally about how humans perceive visual information so you have to think about the ways in which you want to take advantage of human psychology.<br /> ** Systemization. While elaborate visualizations like the Napoleon one are very compelling, in Computer Science we are often more interested in visualizations that can be systematically generated.<br /> * Go through a couple of examples of creating visualizations referring back to Tufte's list and the issues.<br /> * Types of Visualizations (A sampling)<br /> ** Tables<br /> ** Graphs<br /> ** Charts<br /> ** Sparklines<br /> ** Time Series<br /> ** Data maps and mashups<br /> <br /> &lt;font color=&quot;red&quot;&gt;Seems a bit short. Acquiring data, conditioning data, tools to use for those and visualization. <br /> <br /> Consider showing really good graphics (Napoleon, earthquake video, etc.) and really bad ones (Tufte's examples) as part of the lecture. Much easier to show good and bad then explain it.&lt;/font&gt;<br /> <br /> == Lab == <br /> Use online tools to generate tabular data from the U.S. Census and then use Spreadsheet software and Google mashups to explore visualization.<br /> <br /> ==== Process ====<br /> * Part 1<br /> ** Open up Spreadsheet with a small set of provided data. &lt;font color=&quot;blue&quot;&gt;Do you have the 'provided data' already?&lt;/font&gt;<br /> ** Generate a sequence of 3 or 4 graphs and charts based on the data.<br /> *** For each graph identify pros and cons of that type of graph for this data.<br /> *** Identify best graph type for data. &lt;font color=&quot;blue&quot;&gt;Will some of this have been covered already? How will they know what they're looking for in pros/cons?&lt;/font&gt;<br /> * Part 2<br /> ** Open a browser to the [http://usa.ipums.org/usa/ | IPUMS website] &lt;font color=&quot;darkmagenta&quot;&gt;Break down the site navigation: Where do they need to go? How do they register? etc&lt;/font&gt;<br /> *** Select a specific (provided) set of criteria &lt;font color=&quot;blue&quot;&gt;What is the criteria?&lt;/font&gt;<br /> *** Generate the data based on the criteria &lt;font color=&quot;blue&quot;&gt;???&lt;/font&gt;<br /> *** Download data in text form<br /> *** Import data into Spreadsheet &lt;font color=&quot;darkmagenta&quot;&gt;This too will need a step-by-step breakdown&lt;/font&gt;<br /> ** Given your experience from Part 1, what type of visualization do you think is most appropriate and why.<br /> ** Generate a given type of graph.<br /> *** What, if anything, interesting can you see from the graph?<br /> ** Use tool to generate google mashup. &lt;font color=&quot;blue&quot;&gt;This is very vague.&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;What is &quot;tool&quot;? Specify what the tools are, where we find them and how we use them&lt;/font&gt;<br /> *** What differences in terms of visual information are there between the graph and the mashup?<br /> * Part 3<br /> ** Go back to the IPUMS site and generate data based on your own set of criteria.<br /> ** Create a graph and mashup as in Part 2. Use general visualization guidelines to maximize the effectiveness of your visualizations. &lt;font color=&quot;blue&quot;&gt;What do you mean by 'general visualization guidelines'? Or is this something that will have been covered at this point?&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;This section will be a lot more lucid with something for someone to sit down and try. Evaluation of their visualizations aside, we need to know: what are the provided data for part 1? How do we navigate the IPUMS site? What are these &quot;criteria&quot; for choosing the data? How do we get the data into a spreadsheet? What is &quot;Tool&quot;? (is it kind of like [http://www.penny-arcade.com/comic/2009/3/9/|&quot;Book&quot;]?) Where do we find Tool? How do we use Tool to make a mashup?&lt;/font&gt;<br /> <br /> ==== Write-up ====<br /> * Notes from lab including results from Part 3 &lt;font color=&quot;blue&quot;&gt;You might want to be a little more specific because people are lazy. Or they might go, uh, I didn't take any notes...&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;These notes might be their answers to the questions like &quot;identify pros and cons&quot; or &quot;what's interesting about this graph&quot;?&lt;/font&gt;<br /> * What types of visualizations seem most appropriate for visualizing this type of census data and why?<br /> * What could you determine from the visualizations you created in Part 3?<br /> * What are the advantages and disadvantages of mashups vs traditional graphs?<br /> * When creating the visualizations for Part 3, what guidelines did you follow to make the visualization more effective and how did you follow them?<br /> * In what way could your visualizations be improved given more time or more advanced tools?<br /> <br /> &lt;font color=&quot;blue&quot;&gt;This section is very good!&lt;/font&gt; &lt;font color=&quot;darkmagenta&quot;&gt;Ditto&lt;/font&gt;<br /> <br /> ==== Software ==== <br /> * Spreadsheet software.<br /> * Web browser.<br /> * Access to IPUMS.<br /> <br /> ==== Bill of Materials ====<br /> * None assuming we don't go and buy spreadsheet software and/or web browser.<br /> <br /> == Evaluation == <br /> ==== CRS Questions ==== <br /> * Whats the best type of visualization for X set of data?<br /> * XXX<br /> * XXX<br /> <br /> ==== Quiz Questions ==== <br /> * XXX A question.<br /> <br /> = Visualization - Metadata = <br /> XXX This section contains information about the goals of the unit and the approaches taken to meet them.<br /> <br /> == Scheduling == <br /> Should come before anything too complicated, but after basic modeling concepts.<br /> <br /> == Concepts, Techniques and Tools == <br /> XXX This is a placeholder for a list of items from the context page.<br /> <br /> == General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** None.<br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** None.<br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** None.<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** Complete. They will be doing many graphs and tables in this Unit.<br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** Partial. This unit definitely attempts to represent something graphically, but I don't think quite in the way that they mean. <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** Partial. Looks at using statistical ideas to solve problems in the single context of Visualization.<br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** None.<br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** None.<br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** None.<br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** Partial. Visualization does speak to the limitations of both visualization itself and the model a visualization represents.<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** Analysis of this unit's support or not for this item.<br /> * ''Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** Analysis of this unit's support or not for this item.<br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** Analysis of this unit's support or not for this item.<br /> <br /> == Scaffolded Learning ==<br /> This unit asks students to take the types of considerations they used to build graphs not only in the previous couple units but during their entire academic history and extend them into a more general framework of visualization.<br /> <br /> == Inquiry Based Learning == <br /> XXX Some prose.<br /> <br /> = Visualization Mechanics = <br /> == To Do ==<br /> &lt;font color=&quot;red&quot;&gt;Consider doing something based on IBM's Many Eyes tool.&lt;/font&gt;<br /> == Comments ==<br /> <br /> Fixed both.<br /> &lt;font color=&quot;red&quot;&gt;With a tool as sporty as Google Earth available to do geographic visualizations wouldn't it be nice to use that too in conjunction with the Census data?<br /> <br /> Include a visualization with KML and Google Earth<br /> <br /> Seriously consider OpenOffice&lt;/font&gt;<br /> = Authorship = <br /> Matthew Edlefsen</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8927 CS382:Scraper 2009-04-08T02:48:27Z <p>Edlefma: </p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper --help|--usage|--version<br /> <br /> mwscraper [--host URL] [--login] [--username USERNAME] ] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> The templates are built using the Template Toolkit. In addition to the normal functionality provided by that package, a number of functions have been provided. See the FUNCTIONS section.<br /> <br /> By default the generated page will be printed on stdout. If you wish the page to be uploaded directly to the wiki you may use the --upload option.<br /> <br /> ==DEPENDENCIES==<br /> ; Term&amp;#58;&amp;#58;ReadKey<br /> :For prompting.<br /> ; MediaWiki&amp;#58;&amp;#58;API<br /> :To interact with the Wiki.<br /> ; Template<br /> :Provides the template language.<br /> ; Crypt&amp;#58;&amp;#58;SSLeay<br /> :Allows https URI's for the wiki<br /> <br /> ==OPTIONS==<br /> ; -h|--host<br /> :Sets the url of the wiki to use. Should start with either http:// or https://.<br /> ; -l|--login<br /> :Tells the scraper to attempt to login if it needs to access the wiki (either for reading or uploading). If a username or password is not given it will be prompted for.<br /> ; -u|--username<br /> :Provides a username to be used when logging in.<br /> ; -p|--password<br /> :Provides a password to be used when logging in. This option only works if --username or MWSCRAPER_USERNAME is set.<br /> ; -e|--edit|--upload<br /> :Tells the scraper to upload the generated pages to the wiki. The name of the page it will be prompted for unless the template specifies one using the title function. If the page does not already exist a new one will be created.<br /> ; --help, --usage, --version<br /> :Displays help/usage/version information.<br /> <br /> ==ENVIRONMENT==<br /> ; MWSCRAPER_HOST<br /> :Provides a default host if none is provided on the command line.<br /> ; MWSCRAPER_LOGIN<br /> :Tells the scraper to login if it needs to access the wiki.<br /> ; MWSCRAPER_USERNAME<br /> :Provides a default username if none is provided on the command line. This variable must be set for MWSCRAPER_PASSWORD to be used.<br /> ; MWSCRAPER_PASSWORD<br /> :Provides a password to be used with MWSCRAPER_USERNAME. If MWSCRAPER_USERNAME is not set this value will be ignored.<br /> <br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. See the Template Perldoc page for more details.<br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. The most basic form is inserting the value of a variable. The form of this is simply<br /> <br /> &lt;code&gt;<br /> [% variable_name %]<br /> &lt;/code&gt;<br /> You can also assign a value to variable using the = operator.<br /> <br /> &lt;code&gt;<br /> [% variable_name = expression %]<br /> &lt;/code&gt;<br /> ===EXAMPLE===<br /> software.tt:<br /> <br /> &lt;code&gt;<br /> [% title('CS382:Software') ~%]<br /> <br /> [% BLOCK unit_section -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') ~%]<br /> <br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> <br /> [%- END ~%]<br /> <br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% INCLUDE unit_section %]<br /> [% END -%]<br /> &lt;/code&gt;<br /> ===COMMANDS===<br /> There are also a number of some special commands, here are a few common ones.<br /> <br /> ; FOREACH<br /> :Allows you to repeat a section of a template for each value in a array.<br /> &lt;code&gt;<br /> [% FOREACH var IN expression %]<br /> [% var %]<br /> stuff...<br /> [% END %]<br /> &lt;/code&gt;<br /> ; BLOCK<br /> :Allows to create a named section of a template to be included elsewhere.<br /> &lt;code&gt;<br /> [% BLOCK blockname %]<br /> stuff...<br /> [% END %]<br /> &lt;/code&gt;<br /> ; INCLUDE<br /> :Inserts the contents of a block (or external template file).<br /> &lt;code&gt;<br /> [% INCLUDE block/filename %]<br /> &lt;/code&gt;<br /> <br /> ===WHITESPACE===<br /> Anything not within code blocks is printed verbatim. This means that any whitespace, including newlines surrounding template code is still there. To remove whitespace around template code you can add either - or ~ to right inside of the % on the side that you want to remove from. The - will remove up until and including the next newline it encounters. The ~ will remove all adjacent whitespace on that side including newlines.<br /> <br /> For example:<br /> <br /> &lt;code&gt;<br /> [% var = &quot;Hey There&quot; -%] <br /> [% var %]<br /> &lt;/code&gt;<br /> Will just print &quot;Hey There\n&quot; with the newline after the first line removed.<br /> <br /> &lt;code&gt;<br /> [% var = &quot;Hey There&quot; %]<br /> <br /> [%~ var %]<br /> &lt;/code&gt;<br /> Will also just print &quot;Hey There\n&quot; because all whitespace before the third line will be removed.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; login( [USERNAME [, PASSWORD ] ] )<br /> :Tells the scraper to attempt to login if it needs to access the wiki (either to scrape or upload). If either or both username and password aren't provided they will be prompted for.<br /> ; cat( STRING... )<br /> :Concatenates all passed strings together and returns the result.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == software.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','^\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '^= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)^={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> &lt;/pre&gt;<br /> <br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, cat( name.replace('-','.') , '.*?^\** (.*?)$')) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> <br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8926 CS382:Scraper 2009-04-08T02:47:15Z <p>Edlefma: </p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper --help|--usage|--version<br /> <br /> mwscraper [--host URL] [--login] [--username USERNAME] ] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> The templates are built using the Template Toolkit. In addition to the normal functionality provided by that package, a number of functions have been provided. See the FUNCTIONS section.<br /> <br /> By default the generated page will be printed on stdout. If you wish the page to be uploaded directly to the wiki you may use the --upload option.<br /> <br /> ==DEPENDENCIES==<br /> ; Term&amp;#58;&amp;#58;ReadKey<br /> :For prompting.<br /> ; MediaWiki&amp;#58;&amp;#58;API<br /> :To interact with the Wiki.<br /> ; Template<br /> :Provides the template language.<br /> ; Crypt&amp;#58;&amp;#58;SSLeay<br /> :Allows https URI's for the wiki<br /> <br /> ==OPTIONS==<br /> ; -h|--host<br /> :Sets the url of the wiki to use. Should start with either http:// or https://.<br /> ; -l|--login<br /> :Tells the scraper to attempt to login if it needs to access the wiki (either for reading or uploading). If a username or password is not given it will be prompted for.<br /> ; -u|--username<br /> :Provides a username to be used when logging in.<br /> ; -p|--password<br /> :Provides a password to be used when logging in. This option only works if --username or MWSCRAPER_USERNAME is set.<br /> ; -e|--edit|--upload<br /> :Tells the scraper to upload the generated pages to the wiki. The name of the page it will be prompted for unless the template specifies one using the title function. If the page does not already exist a new one will be created.<br /> ; --help, --usage, --version<br /> :Displays help/usage/version information.<br /> <br /> ==ENVIRONMENT==<br /> ; MWSCRAPER_HOST<br /> :Provides a default host if none is provided on the command line.<br /> ; MWSCRAPER_LOGIN<br /> :Tells the scraper to login if it needs to access the wiki.<br /> ; MWSCRAPER_USERNAME<br /> :Provides a default username if none is provided on the command line. This variable must be set for MWSCRAPER_PASSWORD to be used.<br /> ; MWSCRAPER_PASSWORD<br /> :Provides a password to be used with MWSCRAPER_USERNAME. If MWSCRAPER_USERNAME is not set this value will be ignored.<br /> <br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. See the Template Perldoc page for more details.<br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. The most basic form is inserting the value of a variable. The form of this is simply [% variable_name %]<br /> <br /> You can also assign a value to variable using the = operator. [% variable_name = expression %]<br /> <br /> ===EXAMPLE===<br /> software.tt:<br /> <br /> &lt;code&gt;<br /> [% title('CS382:Software') ~%]<br /> <br /> [% BLOCK unit_section -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') ~%]<br /> <br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> <br /> [%- END ~%]<br /> <br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% INCLUDE unit_section %]<br /> [% END -%]<br /> &lt;/code&gt;<br /> ===COMMANDS===<br /> There are also a number of some special commands, here are a few common ones.<br /> <br /> ; FOREACH<br /> :Allows you to repeat a section of a template for each value in a array.<br /> &lt;code&gt;<br /> [% FOREACH var IN expression %]<br /> [% var %]<br /> stuff...<br /> [% END %]<br /> &lt;/code&gt;<br /> ; BLOCK<br /> :Allows to create a named section of a template to be included elsewhere.<br /> &lt;code&gt;<br /> [% BLOCK blockname %]<br /> stuff...<br /> [% END %]<br /> &lt;/code&gt;<br /> ; INCLUDE<br /> :Inserts the contents of a block (or external template file).<br /> &lt;code&gt;<br /> [% INCLUDE block/filename %]<br /> &lt;/code&gt;<br /> <br /> ===WHITESPACE===<br /> Anything not within code blocks is printed verbatim. This means that any whitespace, including newlines surrounding template code is still there. To remove whitespace around template code you can add either - or ~ to right inside of the % on the side that you want to remove from. The - will remove up until and including the next newline it encounters. The ~ will remove all adjacent whitespace on that side including newlines.<br /> <br /> For example:<br /> <br /> &lt;code&gt;<br /> [% var = &quot;Hey There&quot; -%] <br /> [% var %]<br /> &lt;/code&gt;<br /> Will just print &quot;Hey There\n&quot; with the newline after the first line removed.<br /> <br /> &lt;code&gt;<br /> [% var = &quot;Hey There&quot; %]<br /> <br /> [%~ var %]<br /> &lt;/code&gt;<br /> Will also just print &quot;Hey There\n&quot; because all whitespace before the third line will be removed.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; login( [USERNAME [, PASSWORD ] ] )<br /> :Tells the scraper to attempt to login if it needs to access the wiki (either to scrape or upload). If either or both username and password aren't provided they will be prompted for.<br /> ; cat( STRING... )<br /> :Concatenates all passed strings together and returns the result.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == software.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','^\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '^= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)^={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> &lt;/pre&gt;<br /> <br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, cat( name.replace('-','.') , '.*?^\** (.*?)$')) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> <br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8925 CS382:Scraper 2009-04-08T02:35:02Z <p>Edlefma: </p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper --help|--usage<br /> <br /> mwscraper [--host URL] [--login] [--username USERNAME] ] [--password PASSWORD] [--upload] TEMPLATE<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> The templates are built using the Template Toolkit. In addition to the normal functionality provided by that package, a number of functions have been provided. See the FUNCTIONS section.<br /> <br /> By default the generated page will be printed on stdout. If you wish the page to be uploaded directly to the wiki you may use the --upload option.<br /> <br /> ==DEPENDENCIES==<br /> ; Term&amp;#58;&amp;#58;ReadKey<br /> :For prompting.<br /> ; MediaWiki&amp;#58;&amp;#58;API<br /> :To interact with the Wiki.<br /> ; Template<br /> :Provides the template language.<br /> ; Crypt&amp;#58;&amp;#58;SSLeay<br /> :Allows https URI's for the wiki<br /> <br /> ==OPTIONS==<br /> ; -h|--host<br /> :Sets the url of the wiki to use. Should start with either http:// or https://.<br /> ; -l|--login<br /> :Tells the scraper to attempt to login if it needs to access the wiki (either for reading or uploading). If a username or password is not given it will be prompted for.<br /> ; -u|--username<br /> :Provides a username to be used when logging in.<br /> ; -p|--password<br /> :Provides a password to be used when logging in. This option only works if --username or MWSCRAPER_USERNAME is set.<br /> ; -e|--edit|--upload<br /> :Tells the scraper to upload the generated pages to the wiki. The name of the page it will be prompted for unless the template specifies one using the title function. If the page does not already exist a new one will be created.<br /> ; --help, --usage<br /> :Displays help/usage information.<br /> <br /> ==ENVIRONMENT==<br /> ; MWSCRAPER_HOST<br /> :Provides a default host if none is provided on the command line.<br /> ; MWSCRAPER_LOGIN<br /> :Tells the scraper to login if it needs to access the wiki.<br /> ; MWSCRAPER_USERNAME<br /> :Provides a default username if none is provided on the command line. This variable must be set for MWSCRAPER_PASSWORD to be used.<br /> ; MWSCRAPER_PASSWORD<br /> :Provides a password to be used with MWSCRAPER_USERNAME. If MWSCRAPER_USERNAME is not set this value will be ignored.<br /> <br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. See the Template Perldoc page for more details.<br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. The most basic form is inserting the value of a variable. The form of this is simply [% variable_name %]<br /> <br /> You can also assign a value to variable using the = operator. [% variable_name = expression %]<br /> <br /> ===EXAMPLE===<br /> software.tt:<br /> <br /> &lt;code&gt;<br /> [% title('CS382:Software') ~%]<br /> <br /> [% BLOCK unit_section -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') ~%]<br /> <br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> <br /> [%- END ~%]<br /> <br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% INCLUDE unit_section %]<br /> [% END -%]<br /> &lt;/code&gt;<br /> ===COMMANDS===<br /> There are also a number of some special commands, here are a few common ones.<br /> <br /> ; FOREACH<br /> :Allows you to repeat a section of a template for each value in a array.<br /> &lt;code&gt;<br /> [% FOREACH var IN expression %]<br /> [% var %]<br /> stuff...<br /> [% END %]<br /> &lt;/code&gt;<br /> ; BLOCK<br /> :Allows to create a named section of a template to be included elsewhere.<br /> &lt;code&gt;<br /> [% BLOCK blockname %]<br /> stuff...<br /> [% END %]<br /> &lt;/code&gt;<br /> ; INCLUDE<br /> :Inserts the contents of a block (or external template file).<br /> &lt;code&gt;<br /> [% INCLUDE block/filename %]<br /> &lt;/code&gt;<br /> <br /> ===WHITESPACE===<br /> Anything not within code blocks is printed verbatim. This means that any whitespace, including newlines surrounding template code is still there. To remove whitespace around template code you can add either - or ~ to right inside of the % on the side that you want to remove from. The - will remove up until and including the next newline it encounters. The ~ will remove all adjacent whitespace on that side including newlines.<br /> <br /> For example:<br /> <br /> &lt;code&gt;<br /> [% var = &quot;Hey There&quot; -%] <br /> [% var %]<br /> &lt;/code&gt;<br /> Will just print &quot;Hey There\n&quot; with the newline after the first line removed.<br /> <br /> &lt;code&gt;<br /> [% var = &quot;Hey There&quot; %]<br /> <br /> [%~ var %]<br /> &lt;/code&gt;<br /> Will also just print &quot;Hey There\n&quot; because all whitespace before the third line will be removed.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; login( [USERNAME [, PASSWORD ] ] )<br /> :Tells the scraper to attempt to login if it needs to access the wiki (either to scrape or upload). If either or both username and password aren't provided they will be prompted for.<br /> ; cat( STRING... )<br /> :Concatenates all passed strings together and returns the result.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == software.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','^\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '^= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)^={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> &lt;/pre&gt;<br /> <br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, cat( name.replace('-','.') , '.*?^\** (.*?)$')) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> <br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8901 CS382:Scraper 2009-04-06T14:55:35Z <p>Edlefma: </p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper --help<br /> <br /> mwscraper [--host URL] [--login [USERNAME] ] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==OPTIONS==<br /> ; -h|--host<br /> :Sets the url of the wiki to use. Should start with either http:// or https://.<br /> ; -l|--login<br /> :Tells the scraper to attempt to login if it needs to access the wiki (either for reading or uploading). If a username is not given it will be prompted for. If a template uses the login function, it will override this option.<br /> ; -p|--password<br /> :Provides a password to be used when logging in. This option only works if --login was specified with a username.<br /> ; -u|--upload<br /> :Tells the scraper to upload the generated pages to the wiki. The name of the page it will be prompted for unless the template specifies one using the title function.<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> You can pass it a host url for the wiki, or by default it uses wiki.cs.earlham.edu. If no username or password is provided they will be prompted. By default, the generated page will be printed to stdout but if the --upload flag is provided the page will be directly uploaded to the wiki using the title specified by the title function. If the template does not specify a title for the generated page, one will be prompted for.<br /> <br /> ==DEPENDENCIES==<br /> * Term&amp;#58;&amp;#58;ReadKey<br /> * MediaWiki&amp;#58;&amp;#58;API<br /> * Template<br /> * Crypt&amp;#58;&amp;#58;SSLeay (for https)<br /> <br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. Here is an example:<br /> <br /> software.tt:<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. Anything not within code blocks is printed verbatim. To allow a code block to exist by itself on a line without a newline being produced, end the block with -%] instead.<br /> <br /> The first line tells the scraper what the title of the generated page should be. This is one of a handful of functions provided by the scraper. Blocks with just a single word will replace that block with the value of that variable, likewise blocks in the form of [% word = expression %] will assign a value to a variable to be retrieved later.<br /> <br /> The only other major block type is FOREACH. FOREACH has the following form: [% FOREACH word IN expression %] stuff... [% END %]<br /> <br /> The effect of this will be to assign each value returned by expression to word in turn and then evaluate the template up until the END block.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; login( [USERNAME [, PASSWORD ] ] )<br /> :Logs in to the wiki using USERNAME and PASSWORD. If one or both aren't provided they will be prompted for.<br /> ; cat( STRING... )<br /> :Concatenates all passed strings together and returns the result.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == software.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','^\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '^= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)^={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> &lt;/pre&gt;<br /> <br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, cat( name.replace('-','.') , '.*?^\** (.*?)$')) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> <br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8827 CS382:Scraper 2009-03-31T22:49:01Z <p>Edlefma: </p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper [--host URL] [--user USERNAME] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> You can pass it a host url for the wiki, or by default it uses wiki.cs.earlham.edu. If no username or password is provided they will be prompted. By default, the generated page will be printed to stdout but if the --upload flag is provided the page will be directly uploaded to the wiki using the title specified by the title function. If the template does not specify a title for the generated page, one will be prompted for.<br /> <br /> ==DEPENDENCIES==<br /> * Term&amp;#58;&amp;#58;ReadKey<br /> * MediaWiki&amp;#58;&amp;#58;API<br /> * Template<br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. Here is an example:<br /> <br /> software.tt: <br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. Anything not within code blocks is printed verbatim. To allow a code block to exist by itself on a line without a newline being produced, end the block with -%] instead.<br /> <br /> The first line tells the scraper what the title of the generated page should be. This is one of a handful of functions provided by the scraper. Blocks with just a single word will replace that block with the value of that variable, likewise blocks in the form of [% word = expression %] will assign a value to a variable to be retrieved later.<br /> <br /> The only other major block type is FOREACH. FOREACH has the following form: [% FOREACH word IN expression %] stuff... [% END %]<br /> <br /> The effect of this will be to assign each value returned by expression to word in turn and then evaluate the template up until the END block.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; cat( STRING... )<br /> :Concatenates all passed strings together and returns the result.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == software.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','^\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '^= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)^={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> &lt;/pre&gt;<br /> <br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, cat( name.replace('-','.') , '.*?^\** (.*?)$')) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> <br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8826 CS382:Scraper 2009-03-31T22:48:17Z <p>Edlefma: </p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper [--host URL] [--user USERNAME] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> You can pass it a host url for the wiki, or by default it uses wiki.cs.earlham.edu. If no username or password is provided they will be prompted. By default, the generated page will be printed to stdout but if the --upload flag is provided the page will be directly uploaded to the wiki using the title specified by the title function. If the template does not specify a title for the generated page, one will be prompted for.<br /> <br /> ==DEPENDENCIES==<br /> * Term&amp;#58;&amp;#58;ReadKey<br /> * MediaWiki&amp;#58;&amp;#58;API<br /> * Template<br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. Here is an example:<br /> <br /> software.tt: <br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. Anything not within code blocks is printed verbatim. To allow a code block to exist by itself on a line without a newline being produced, end the block with -%] instead.<br /> <br /> The first line tells the scraper what the title of the generated page should be. This is one of a handful of functions provided by the scraper. Blocks with just a single word will replace that block with the value of that variable, likewise blocks in the form of [% word = expression %] will assign a value to a variable to be retrieved later.<br /> <br /> The only other major block type is FOREACH. FOREACH has the following form: [% FOREACH word IN expression %] stuff... [% END %]<br /> <br /> The effect of this will be to assign each value returned by expression to word in turn and then evaluate the template up until the END block.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; cat( STRING... )<br /> :Concatenates all passed strings together and returns the result.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == software.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','^\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '^= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)^={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> &lt;/pre&gt;<br /> <br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, cat( name.replace('-','.') , '.*?^\** (.*?)$')) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> <br /> &lt;/pre&gt;<br /> <br /> == scraper.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:Scraper') ~%]<br /> <br /> [% BLOCK Example -%]<br /> == [% file %] ==<br /> &lt;pre&gt;<br /> [% INSERT $file -%]<br /> &lt;/pre&gt;<br /> [% END ~%]<br /> <br /> = Documentation =<br /> [% INSERT mwscraper.wiki ~%]<br /> <br /> = Examples =<br /> [% INCLUDE Example file = 'software.tt' %]<br /> [% INCLUDE Example file = 'geneds.tt' %]<br /> [% INCLUDE Example file = 'scraper.tt' %]<br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8825 CS382:Scraper 2009-03-31T22:45:31Z <p>Edlefma: /* Documentation */</p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper [--host URL] [--user USERNAME] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> You can pass it a host url for the wiki, or by default it uses wiki.cs.earlham.edu. If no username or password is provided they will be prompted. By default, the generated page will be printed to stdout but if the --upload flag is provided the page will be directly uploaded to the wiki using the title specified by the title function. If the template does not specify a title for the generated page, one will be prompted for.<br /> <br /> ==DEPENDENCIES==<br /> * Term&amp;#58;&amp;#58;ReadKey<br /> * MediaWiki&amp;#58;&amp;#58;API<br /> * Template<br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. Here is an example:<br /> <br /> software.tt: <br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. Anything not within code blocks is printed verbatim. To allow a code block to exist by itself on a line without a newline being produced, end the block with -%] instead.<br /> <br /> The first line tells the scraper what the title of the generated page should be. This is one of a handful of functions provided by the scraper. Blocks with just a single word will replace that block with the value of that variable, likewise blocks in the form of [% word = expression %] will assign a value to a variable to be retrieved later.<br /> <br /> The only other major block type is FOREACH. FOREACH has the following form: [% FOREACH word IN expression %] stuff... [% END %]<br /> <br /> The effect of this will be to assign each value returned by expression to word in turn and then evaluate the template up until the END block.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; cat( STRING... )<br /> :Concatenates all passed strings together and returns the result.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == software.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','^\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '^= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)^={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> &lt;/pre&gt;<br /> <br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, cat( name.replace('-','.') , '.*?^\** (.*?)$')) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> <br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8824 CS382:Scraper 2009-03-31T22:45:04Z <p>Edlefma: </p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper [--host URL] [--user USERNAME] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> You can pass it a host url for the wiki, or by default it uses wiki.cs.earlham.edu. If no username or password is provided they will be prompted. By default, the generated page will be printed to stdout but if the --upload flag is provided the page will be directly uploaded to the wiki using the title specified by the title function. If the template does not specify a title for the generated page, one will be prompted for.<br /> <br /> ==DEPENDENCIES==<br /> * Term&amp;#58;&amp;#58;ReadKey<br /> * MediaWiki&amp;#58;&amp;#58;API<br /> * Template<br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. Here is an example:<br /> <br /> software.tt: <br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. Anything not within code blocks is printed verbatim. To allow a code block to exist by itself on a line without a newline being produced, end the block with -%] instead.<br /> <br /> The first line tells the scraper what the title of the generated page should be. This is one of a handful of functions provided by the scraper. Blocks with just a single word will replace that block with the value of that variable, likewise blocks in the form of [% word = expression %] will assign a value to a variable to be retrieved later.<br /> <br /> The only other major block type is FOREACH. FOREACH has the following form: [% FOREACH word IN expression %] stuff... [% END %]<br /> <br /> The effect of this will be to assign each value returned by expression to word in turn and then evaluate the template up until the END block.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; cat( STRING... )<br /> :Concatenates all passed strings together and returns the result.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == software.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','^\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '^= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)^={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> &lt;/pre&gt;<br /> <br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, cat( name.replace('-','.') , '.*?^\** (.*?)$')) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> <br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8823 CS382:Scraper 2009-03-31T22:43:08Z <p>Edlefma: /* Documentation */</p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper [--host URL] [--user USERNAME] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> You can pass it a host url for the wiki, or by default it uses wiki.cs.earlham.edu. If no username or password is provided they will be prompted. By default, the generated page will be printed to stdout but if the --upload flag is provided the page will be directly uploaded to the wiki using the title specified by the title function. If the template does not specify a title for the generated page, one will be prompted for.<br /> <br /> ==DEPENDENCIES==<br /> * Term&amp;#58;&amp;#58;ReadKey<br /> * MediaWiki&amp;#58;&amp;#58;API<br /> * Template<br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. Here is an example:<br /> <br /> software.tt: <br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. Anything not within code blocks is printed verbatim. To allow a code block to exist by itself on a line without a newline being produced, end the block with -%] instead.<br /> <br /> The first line tells the scraper what the title of the generated page should be. This is one of a handful of functions provided by the scraper. Blocks with just a single word will replace that block with the value of that variable, likewise blocks in the form of [% word = expression %] will assign a value to a variable to be retrieved later.<br /> <br /> The only other major block type is FOREACH. FOREACH has the following form: [% FOREACH word IN expression %] stuff... [% END %]<br /> <br /> The effect of this will be to assign each value returned by expression to word in turn and then evaluate the template up until the END block.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; cat( STRING... )<br /> :Concatenates all passed strings together and returns the result.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == software.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','^\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '^= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)^={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> &lt;/pre&gt;<br /> <br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, cat( name.replace('-','.') , '.*?^\** (.*?)$')) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> <br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8822 CS382:Scraper 2009-03-31T22:41:51Z <p>Edlefma: </p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper [--host URL] [--user USERNAME] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> You can pass it a host url for the wiki, or by default it uses wiki.cs.earlham.edu. If no username or password is provided they will be prompted. By default, the generated page will be printed to stdout but if the --upload flag is provided the page will be directly uploaded to the wiki using the title specified by the title function. If the template does not specify a title for the generated page, one will be prompted for.<br /> <br /> ==DEPENDENCIES==<br /> * Term&amp;#58;&amp;#58;ReadKey<br /> * MediaWiki&amp;#58;&amp;#58;API<br /> * Template<br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. Here is an example:<br /> <br /> software.tt: <br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. Anything not within code blocks is printed verbatim. To allow a code block to exist by itself on a line without a newline being produced, end the block with -%] instead.<br /> <br /> The first line tells the scraper what the title of the generated page should be. This is one of a handful of functions provided by the scraper. Blocks with just a single word will replace that block with the value of that variable, likewise blocks in the form of [% word = expression %] will assign a value to a variable to be retrieved later.<br /> <br /> The only other major block type is FOREACH. FOREACH has the following form: [% FOREACH word IN expression %] stuff... [% END %]<br /> <br /> The effect of this will be to assign each value returned by expression to word in turn and then evaluate the template up until the END block.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; cat( STRING... )<br /> :Concatenates all passed strings together and returns the result.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == software.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','^\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '^= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)^={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> &lt;/pre&gt;<br /> <br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, cat( name.replace('-','.') , '.*?^\** (.*?)$')) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> <br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8821 CS382:Scraper 2009-03-31T22:16:52Z <p>Edlefma: </p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper [--host URL] [--user USERNAME] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> You can pass it a host url for the wiki, or by default it uses wiki.cs.earlham.edu. If no username or password is provided they will be prompted. By default, the generated page will be printed to stdout but if the --upload flag is provided the page will be directly uploaded to the wiki using the title specified by the title function. If the template does not specify a title for the generated page, one will be prompted for.<br /> <br /> ==DEPENDENCIES==<br /> * Term&amp;#58;&amp;#58;ReadKey<br /> * MediaWiki&amp;#58;&amp;#58;API<br /> * Template<br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. Here is an example:<br /> <br /> software.tt:<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> <br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. Anything not within code blocks is printed verbatim. To allow a code block to exist by itself on a line without a newline being produced, end the block with -%] instead.<br /> <br /> The first line tells the scraper what the title of the generated page should be. This is one of a handful of functions provided by the scraper. Blocks with just a single word will replace that block with the value of that variable, likewise blocks in the form of [% word = expression %] will assign a value to a variable to be retrieved later.<br /> <br /> The only other major block type is FOREACH. FOREACH has the following form: [% FOREACH word IN expression %] stuff... [% END %]<br /> <br /> The effect of this will be to assign each value returned by expression to word in turn and then evaluate the template up until the END block.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.*?)\$&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8820 CS382:Scraper 2009-03-31T22:15:37Z <p>Edlefma: </p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper [--host URL] [--user USERNAME] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> You can pass it a host url for the wiki, or by default it uses wiki.cs.earlham.edu. If no username or password is provided they will be prompted. By default, the generated page will be printed to stdout but if the --upload flag is provided the page will be directly uploaded to the wiki using the title specified by the title function. If the template does not specify a title for the generated page, one will be prompted for.<br /> <br /> ==DEPENDENCIES==<br /> * Term&amp;#58;&amp;#58;ReadKey<br /> * MediaWiki&amp;#58;&amp;#58;API<br /> * Template<br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. Here is an example:<br /> <br /> software.tt:<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> <br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. Anything not within code blocks is printed verbatim. To allow a code block to exist by itself on a line without a newline being produced, end the block with -%] instead.<br /> <br /> The first line tells the scraper what the title of the generated page should be. This is one of a handful of functions provided by the scraper. Blocks with just a single word will replace that block with the value of that variable, likewise blocks in the form of [% word = expression %] will assign a value to a variable to be retrieved later.<br /> <br /> The only other major block type is FOREACH. FOREACH has the following form: [% FOREACH word IN expression %] stuff... [% END %]<br /> <br /> The effect of this will be to assign each value returned by expression to word in turn and then evaluate the template up until the END block.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == geneds.tt ==<br /> &lt;pre&gt;<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.*?)\$&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]<br /> &lt;/pre&gt;</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:Scraper&diff=8819 CS382:Scraper 2009-03-31T22:13:52Z <p>Edlefma: </p> <hr /> <div>= Documentation =<br /> ==NAME==<br /> mwscraper - MediaWiki scraper tool builds dynamic MediaWiki pages from template files that scrape data from other pages.<br /> <br /> ==SYNOPSIS==<br /> mwscraper [--host URL] [--user USERNAME] [--password PASSWORD] [--upload] TEMPLATES...<br /> <br /> ==DESCRIPTION==<br /> mwscraper allows you to build dynamic MediaWiki pages using an expressive template language with built-ins for parsing information out of other wiki pages.<br /> <br /> You can pass it a host url for the wiki, or by default it uses wiki.cs.earlham.edu. If no username or password is provided they will be prompted. By default, the generated page will be printed to stdout but if the --upload flag is provided the page will be directly uploaded to the wiki using the title specified by the title function. If the template does not specify a title for the generated page, one will be prompted for.<br /> <br /> ==DEPENDENCIES==<br /> * Term&amp;#58;&amp;#58;ReadKey<br /> * MediaWiki&amp;#58;&amp;#58;API<br /> * Template<br /> ==TEMPLATES==<br /> The template format is that of the Template perl module. Here is an example:<br /> <br /> software.tt:<br /> [% title('CS382:Software') -%]<br /> = Software =<br /> [% FOREACH title IN scrape_all('CS382:Topics Matrix','\| *\[\[([^|]*)\|') # looks for links -%]<br /> [% name = scrape(title, '= *(.*?) *=') # grab first header -%]<br /> [% software = scrape(title,'^==== *Software *==== *\n((?:.|\n)*?)={1,4}') -%]<br /> == [[[% title %]|[% name %]]] ==<br /> [% software %]<br /> [% END -%]<br /> <br /> <br /> Template code is placed between [% %] blocks and allows a wide range of functionality. Anything not within code blocks is printed verbatim. To allow a code block to exist by itself on a line without a newline being produced, end the block with -%] instead.<br /> <br /> The first line tells the scraper what the title of the generated page should be. This is one of a handful of functions provided by the scraper. Blocks with just a single word will replace that block with the value of that variable, likewise blocks in the form of [% word = expression %] will assign a value to a variable to be retrieved later.<br /> <br /> The only other major block type is FOREACH. FOREACH has the following form: [% FOREACH word IN expression %] stuff... [% END %]<br /> <br /> The effect of this will be to assign each value returned by expression to word in turn and then evaluate the template up until the END block.<br /> <br /> ==FUNCTIONS==<br /> The following functions are provided by the scraper<br /> <br /> ; title( TITLE )<br /> :Tells the scraper what title to upload the generated page to in the wiki. If it's not called at least once in the template, a title will be prompted for.<br /> ; prompt( STRING )<br /> :Prompts the user in the form 'STRING: ' and then returns the next entered line without the trailing newline.<br /> ; scrape( TITLE, REGEX )<br /> :Finds the first match of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; scrape_next( TITLE, REGEX )<br /> :Finds the next match of REGEX inside the page called TITLE in the wiki and returns the regex captures. Starts searching directly after the position of the last match<br /> ; scrape_all( TITLE, REGEX )<br /> :Finds the all matches of REGEX inside the page called TITLE in the wiki and returns the regex captures.<br /> ; subsection( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> ; subsection_next( TITLE, START_REGEX, END_REGEX )<br /> :Sections off the next portion of the page designated by the first match of START_REGEX and the first match of END_REGEX after START_REGEX. Returns a quasi-title that can be used anywhere a title can be used.<br /> <br /> :Starts searching directly after the position of the last match<br /> ; subsection_all( TITLE, START_REGEX, END_REGEX )<br /> :Sections off all portions of the page designated by matches of START_REGEX and the first match of END_REGEX after each match of START_REGEX. Returns a list of quasi-titles that can be used anywhere a title can be used.<br /> <br /> ==COPYRIGHT==<br /> 2009, Matt Edlefsen<br /> <br /> This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.<br /> <br /> = Examples =<br /> == geneds.tt ==<br /> [% title('CS382:GenEds') -%]<br /> [% pages = scrape_all('CS382:Topics Matrix','\| \[\[([^|]*)\|') ~%]<br /> <br /> [% BLOCK UnitLink -%]<br /> [% linkname = scrape(page, '^= *(.*?) *=') -%]<br /> [% IF linkname.length == 0 -%]<br /> [% linkname = page -%]<br /> [% END -%]<br /> [[[% page %][% anchor %]|[% linkname %]]]<br /> [%- END ~%]<br /> <br /> [% BLOCK GenEd -%]<br /> * ''[% name %]''<br /> [% FOREACH page IN pages -%]<br /> ** [% INCLUDE UnitLink %]: [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.*?)\$&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> [% BLOCK GenEdRow -%]<br /> [% FOREACH page IN pages -%]<br /> | [% scrape(page, &quot;${name.replace('-','.')}.*?^\\** (.{1,15}?)\\.&quot;) %]<br /> [% END -%]<br /> [% END ~%]<br /> <br /> == General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> [% FOREACH page IN pages %]<br /> ! [% INCLUDE UnitLink anchor = '#General Education Alignment' %]<br /> [% END %]<br /> |-<br /> <br /> | ARa<br /> [% INCLUDE GenEdRow name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' %]<br /> |-<br /> | ARb<br /> [% INCLUDE GenEdRow name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' %]<br /> |-<br /> | ARc<br /> [% INCLUDE GenEdRow name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' %]<br /> |-<br /> | QRa<br /> [% INCLUDE GenEdRow name = 'Using and interpreting formulas, graphs and tables.' %]<br /> |-<br /> | QRb<br /> [% INCLUDE GenEdRow name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' %]<br /> |-<br /> | QRc<br /> [% INCLUDE GenEdRow name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' %]<br /> |-<br /> | QRd<br /> [% INCLUDE GenEdRow name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' %]<br /> |-<br /> | QRe<br /> [% INCLUDE GenEdRow name = 'Understanding basic statistical ideas such as averages, variability and probability.' %]<br /> |-<br /> | QRf<br /> [% INCLUDE GenEdRow name = 'Making estimates and checking the reasonableness of answers.' %]<br /> |-<br /> | QRg<br /> [% INCLUDE GenEdRow name = 'Recognizing the limitations of mathematical and statistical methods.' %]<br /> |-<br /> | SIa<br /> [% INCLUDE GenEdRow name = 'Develops students\' understanding of the natural world.' %]<br /> |-<br /> | SIb<br /> [% INCLUDE GenEdRow name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' %]<br /> |-<br /> | SIc<br /> [% INCLUDE GenEdRow name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' %]<br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> [% INCLUDE GenEd name = 'They focus substantially on properties of classes of abstract models and operations that apply to them.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in generalizing from specific instances to appropriate classes of abstract models.' anchor = '#Abstract Reasoning' %]<br /> [% INCLUDE GenEd name = 'They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.' anchor = '#Abstract Reasoning' %]<br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> [% INCLUDE GenEd name = 'Using and interpreting formulas, graphs and tables.' anchor = '#Quantitative Reasoning' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Representing mathematical ideas symbolically, graphically, numerically and verbally.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using mathematical and statistical ideas to solve problems in a variety of contexts.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Using simple models such as linear dependence, exponential growth or decay, or normal distribution.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Understanding basic statistical ideas such as averages, variability and probability.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Making estimates and checking the reasonableness of answers.' anchor = '#Quantitative Reasoning' %]<br /> [% INCLUDE GenEd name = 'Recognizing the limitations of mathematical and statistical methods.' anchor = '#Quantitative Reasoning' %]<br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> [% INCLUDE GenEd name = 'Develops students\' understanding of the natural world.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Strengthens students\' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.' anchor = '#Scientific Inquiry Requirement' %]<br /> [% INCLUDE GenEd name = 'Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.' anchor = '#Scientific Inquiry Requirement' %]</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=Discrete_Modeling_Development&diff=8811 Discrete Modeling Development 2009-03-31T04:46:03Z <p>Edlefma: /* Course Development */</p> <hr /> <div>== CS382: Model Development ==<br /> <br /> === Course Information ===<br /> * Meets from 10 - 10:50 on Monday, Wednesday, Friday<br /> * Instructor: Charlie Peck, [mailto:charliep@cs.earlham.edu charliep@cs.earlham.edu]<br /> * TA: Kay Wanous, [mailto:kwanous@cs.earlham.edu kwanous@cs.earlham.edu]<br /> <br /> * [[CS382:Class Notes|Class Notes and Discussions]]<br /> * [[CS382:Homework Assignments|Homework Assignments]]<br /> <br /> === Software Tools ===<br /> * [[CS382:Scraper|Scraper Tool]]<br /> * [[CS382:OpenSim|OpenSim]]<br /> * [[CS382:Metaverse Names|Metaverse Information]]<br /> <br /> <br /> == CS1xx: In Silico - Modeling the Real World == <br /> <br /> === Course Development ===<br /> * [[CS382:Topics Matrix|Topic Matrix and Context for In Silico]]<br /> * [[CS382:Structure-deliverables|Deliverables for CS382]]<br /> * [[CS382:unit-template|Unit Template for CS382]]<br /> * Scraped Summary Pages<br /> ** [[CS382:Software|Lab - Software]]<br /> ** [[CS382:GenEds|General Education Requirements]]<br /> <br /> === Roles ===<br /> * Architects - Charlie, Sam, Ian<br /> * CDO - Charlie <br /> * Reviewers - Ian, Kay ([[CS382:Reviewers Notes|Reviewers Notes]])<br /> * Toolsmiths - Nate, Philip, Matt<br /> <br /> === Archive, to be harvested ===<br /> * [[CS382:Unit-descriptions|Unit Descriptions]]<br /> * [[CS382:Resources|General Resources]]<br /> * [[CS382:Open-questions|Open Questions]]</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:GenEds&diff=8810 CS382:GenEds 2009-03-31T04:44:46Z <p>Edlefma: </p> <hr /> <div>== General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> <br /> ! [[CS382:Unit-foundation-templated#General Education Alignment|Foundations of Modelling]]<br /> <br /> ! [[CS382:staticmodel-outline#General Education Alignment|Static Modeling]]<br /> <br /> ! [[CS382:fire#General Education Alignment|Fire]]<br /> <br /> ! [[CS382:Unit-mashup#General Education Alignment|Visualization]]<br /> <br /> ! [[CS382:structural-outline#General Education Alignment|&lt;Structural Modeling&gt;]]<br /> <br /> ! [[CS382:equation-outline#General Education Alignment|Rocket Modeling]]<br /> <br /> ! [[Cs382:unit-compsoc#General Education Alignment|Computational Sociology and Agent Based Modeling]]<br /> <br /> ! [[CS382:Predator-Prey#General Education Alignment|Predator Prey ( Lynx Hare )]]<br /> <br /> ! [[CS382:chaos_templated#General Education Alignment|&lt;Chaos&gt;]]<br /> <br /> ! [[CS382:End-Notes#General Education Alignment|CS382:End-Notes]]<br /> <br /> |-<br /> <br /> | ARa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Sort of<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARc<br /> | <br /> | <br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRc<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nada<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRd<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nope<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRe<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Nope<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRf<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRg<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIa<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIb<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | None<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | SIc<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | No<br /> | <br /> <br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Yes, The entire unit centers around learning how to create and use abstract models. We work on first what they are and then how to use them.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: This unit deals almost entirely will quantitative reasoning, and would be hard to expand into the abstract world.<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Abstract Reasoning|&lt;Structural Modeling&gt;]]: Sort of. This lab is more concrete. This unit will go early in the semester so it will apply some of the more abstract ideas presented earlier.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not apply; this unit is purely quantitative.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: Agents -&gt; abstract models<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Abstract Reasoning|CS382:End-Notes]]: <br /> <br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Yes, The lab provides hands on experience in generalizing and extrapolating from a specific small scale problem to a larger instance of that problem. The lab further focuses on getting students to put together a toolkit of techniques to create simple abstract models.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: Parameter sweeping (one of the primary goals of this unit) can be used in almost every instance of computational simulations. In this sense it can be expanded from this specific model to others, yet it is more of a quantitative method of analysis than it is abstract.<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Abstract Reasoning|&lt;Structural Modeling&gt;]]: Yes, because we're showing how structures and bridges, specifically apply to the abstract model parameters described in the ''What is a static model'' and ''what is a dynamic model'' units.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Again it does not apply/support.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: discussion of boids, sugarscape and agent based modeling as a whole<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Abstract Reasoning|CS382:End-Notes]]: <br /> <br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Yes, See above about the lab. Also we apply word problems in the form of fermi-problems encouraging students to make and defend measurements and create numeric results.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: <br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: '''''Analysis of this unit's support or not for this item.'''''<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Abstract Reasoning|&lt;Structural Modeling&gt;]]: Eh, again, this unit isn't geared towards this as far as I can see.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not support it; it could but we have different focus.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: the emergent behavior is a process of abstract manipulation; comparing emergent behavior back against the real world is &quot;converting solutions back into concrete results&quot;<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Abstract Reasoning|CS382:End-Notes]]: <br /> <br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, The discussion of vetting materials requires and creates an understanding of how to interpret quantitative information<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: This unit is intended to teach the student how to gather data using a specific tool and analyze that data to come to some conclusion.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: not really. or ''maybe...'' If we use the pasco solution, the beam strength will be documented, and the students can perform basic calculations to figure out whether beams will break under a certain load.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and certainly tables.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Little of this - the point is to avoid formulas (initially), but graphs and tables come up when analyzing model results.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Partially, The exercises in lab as well as the fermi problems beget skill in representing data numerically and verbally<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: The student will need to create a lab write-up in which they express why they went about collecting the necessary amount of data. They will also need to include examples of said data and an explanation of what conclusion(s) can be drawn from that data.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: The models provide a framework for visualizing physical (mathematical) constraints.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and tables which will also have their symbolical, graphical and numerical representations.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Little of this. We're working with people, not numbers.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, the lab design is geared toward teaching how to solve counting and statistical problems in multiple contexts.<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: While this unit deals almost entirely with a single tool, the idea of parameter sweeping is necessary in every form of simulation and is thus applicable in a wide range of contexts.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: This is one context where we're using mathematical and statistical ideas.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Still not sure how big will variety be but what is sure that math and statistical ideas will be used to solve problems.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Nada.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: We are using mathematics to solve problems.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Partially, we discuss the creation of these models however the ones that students use in this unit are likely to not fulfill these.<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: This wildfire model clearly shows how the number of burned trees is directly dependent on certain features of the forest (density, wetness, etc) and how minor changes in those features can dramatically change the outcome.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: Not really.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Probably we will meet linear dependence in this unit; following the graphs of the various bottle pressure bottles, etc.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: This could be worked in, but isn't there now.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, we introduce statistics in the context of models and discuss their usefulness<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: At the end of this unit the student should be able to understand that one cannot make sufficiently accurate conclusions about a model with only a single data set.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: Yes, because the traversal (where we test the bridge by simulating a car driving over it) is a deterministic process. Maybe we could introduce the difference between probabilistic and deterministic.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It will certainly contain all the above mentioned ideas cause we are talking about predicting events, simulating models and analyzing predicted events. '''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Nope.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Only so much as these ideas would be helpful in a particular model.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, in both the lab work and the other problems for the students to solve this unit requires strong support for all assertions that students make<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: In the beginning of the lab portion of this unit, the student should take a guess at what the result will be when the density of the forest is varied. After running a number of trials, they should be able to easily assess the accuracy of they're answer as well as the reasonableness of their results from the lab.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: Yes, because students will try to build different types of bridges and determine the 'reasonableness' of their solutions by the simulated test outcome.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. &quot;Yes, estimation and confirmation are important part of the unit.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: In a more abstract way than most mathiness.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models and there is an analysis part of our lab.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Not yet, I need to add this in the introductory portion<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: The student should clearly note that this model of wildfires is far from indicative of how they actually happen. It should be stressed that this model is simply proof of concept for showing the profound effect a single variable can have on the overall results.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: yes, because the physical model will not account for all variables, such as wind.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Even if numbers of paper have power to predict and evaluate something; real life experiment can always show more than numbers.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: This is fulfilled - the point of ABM is the limitation of mathematical and statistical methods.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|CS382:End-Notes]]: <br /> <br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Yes, this unit lays the framework for students to explore the natural world through counting and modeling.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: <br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: After the completion of this unit, the student should understand the world's dependence on a surprisingly small number of variables even though this model is far from accurate.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|&lt;Structural Modeling&gt;]]: Modeling physical structures is important because the natural world is comprised of physical structures.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students are making a model which is going to resist gravity, but also be affected by natural happenings like air drag, and possible weather features. '''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: Yes. Agent based methodology informs a way of thinking about natural processes that differs from more typical techniques - the ideas of emergent behavior are present in every day life.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: They can model natural systems including our example, Predator-Prey models.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement|CS382:End-Notes]]: <br /> <br /> * ''Strengthens students' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Yes, one of the major take-away points of this unit is how to develop a scientific knowledge of a system.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: <br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: The entirety of this lab is to change a variable, observe the results, and repeat, eventually leading to having enough data to make reasonable theories on the model.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|&lt;Structural Modeling&gt;]]: The students will determine the most appropriate method to build a simulated bridge through both lecture content and trial and error. They will test their models by building physical models of their virtual structures.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students will have chance to pre-use computer simulators and software which are going to possibly give them ideas to develop their own ideas about the model and predictions of occurrences throughout the lab.'''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: None.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement|CS382:End-Notes]]: <br /> <br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Yes, the lecture emphasizes analysis of data and the basics of how to collect it. The lab focuses on the collection of empirical data.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: <br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: The lab portion of this unit is exactly this: gathering numerical data in order to provide the basis for some sort of conclusion.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|&lt;Structural Modeling&gt;]]: The students collect the empirical data by synthesizing lecture content and trial and error. They (potentially in groups) will each devise different models to solve the same problem.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The lab will be the main medium of experiencing the real model evolving; and cause of that will be collection of data and students analysis of ones. '''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: Yes. Models = theoretical. Analyzing one's own social circle, for example, is empirical collection.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement|CS382:End-Notes]]:</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:GenEds&diff=8809 CS382:GenEds 2009-03-31T04:43:10Z <p>Edlefma: </p> <hr /> <div>== General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> <br /> ! [[CS382:Unit-foundation-templated#General Education Alignment|Foundations of Modelling]]<br /> <br /> ! [[CS382:staticmodel-outline#General Education Alignment|Static Modeling]]<br /> <br /> ! [[CS382:fire#General Education Alignment|Fire]]<br /> <br /> ! [[CS382:Unit-mashup#General Education Alignment|Visualization]]<br /> <br /> ! [[CS382:structural-outline#General Education Alignment|&lt;Structural Modeling&gt;]]<br /> <br /> ! [[CS382:equation-outline#General Education Alignment|Rocket Modeling]]<br /> <br /> ! [[Cs382:unit-compsoc#General Education Alignment|Computational Sociology and Agent Based Modeling]]<br /> <br /> ! [[CS382:Predator-Prey#General Education Alignment|Predator Prey ( Lynx Hare )]]<br /> <br /> ! [[CS382:chaos_templated#General Education Alignment|&lt;Chaos&gt;]]<br /> <br /> ! [[CS382:End-Notes#General Education Alignment]]<br /> <br /> |-<br /> <br /> | ARa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Sort of<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARc<br /> | <br /> | <br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRc<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nada<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRd<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nope<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRe<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Nope<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRf<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRg<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIa<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIb<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | None<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | SIc<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | No<br /> | <br /> <br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Yes, The entire unit centers around learning how to create and use abstract models. We work on first what they are and then how to use them.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: This unit deals almost entirely will quantitative reasoning, and would be hard to expand into the abstract world.<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Abstract Reasoning|&lt;Structural Modeling&gt;]]: Sort of. This lab is more concrete. This unit will go early in the semester so it will apply some of the more abstract ideas presented earlier.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not apply; this unit is purely quantitative.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: Agents -&gt; abstract models<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Abstract Reasoning]]: <br /> <br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Yes, The lab provides hands on experience in generalizing and extrapolating from a specific small scale problem to a larger instance of that problem. The lab further focuses on getting students to put together a toolkit of techniques to create simple abstract models.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: Parameter sweeping (one of the primary goals of this unit) can be used in almost every instance of computational simulations. In this sense it can be expanded from this specific model to others, yet it is more of a quantitative method of analysis than it is abstract.<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Abstract Reasoning|&lt;Structural Modeling&gt;]]: Yes, because we're showing how structures and bridges, specifically apply to the abstract model parameters described in the ''What is a static model'' and ''what is a dynamic model'' units.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Again it does not apply/support.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: discussion of boids, sugarscape and agent based modeling as a whole<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Abstract Reasoning]]: <br /> <br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Yes, See above about the lab. Also we apply word problems in the form of fermi-problems encouraging students to make and defend measurements and create numeric results.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: <br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: '''''Analysis of this unit's support or not for this item.'''''<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Abstract Reasoning|&lt;Structural Modeling&gt;]]: Eh, again, this unit isn't geared towards this as far as I can see.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not support it; it could but we have different focus.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: the emergent behavior is a process of abstract manipulation; comparing emergent behavior back against the real world is &quot;converting solutions back into concrete results&quot;<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Abstract Reasoning]]: <br /> <br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, The discussion of vetting materials requires and creates an understanding of how to interpret quantitative information<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: This unit is intended to teach the student how to gather data using a specific tool and analyze that data to come to some conclusion.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: not really. or ''maybe...'' If we use the pasco solution, the beam strength will be documented, and the students can perform basic calculations to figure out whether beams will break under a certain load.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and certainly tables.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Little of this - the point is to avoid formulas (initially), but graphs and tables come up when analyzing model results.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning]]: <br /> <br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Partially, The exercises in lab as well as the fermi problems beget skill in representing data numerically and verbally<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: The student will need to create a lab write-up in which they express why they went about collecting the necessary amount of data. They will also need to include examples of said data and an explanation of what conclusion(s) can be drawn from that data.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: The models provide a framework for visualizing physical (mathematical) constraints.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and tables which will also have their symbolical, graphical and numerical representations.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Little of this. We're working with people, not numbers.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning]]: <br /> <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, the lab design is geared toward teaching how to solve counting and statistical problems in multiple contexts.<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: While this unit deals almost entirely with a single tool, the idea of parameter sweeping is necessary in every form of simulation and is thus applicable in a wide range of contexts.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: This is one context where we're using mathematical and statistical ideas.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Still not sure how big will variety be but what is sure that math and statistical ideas will be used to solve problems.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Nada.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: We are using mathematics to solve problems.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning]]: <br /> <br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Partially, we discuss the creation of these models however the ones that students use in this unit are likely to not fulfill these.<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: This wildfire model clearly shows how the number of burned trees is directly dependent on certain features of the forest (density, wetness, etc) and how minor changes in those features can dramatically change the outcome.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: Not really.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Probably we will meet linear dependence in this unit; following the graphs of the various bottle pressure bottles, etc.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: This could be worked in, but isn't there now.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Quantitative Reasoning]]: <br /> <br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, we introduce statistics in the context of models and discuss their usefulness<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: At the end of this unit the student should be able to understand that one cannot make sufficiently accurate conclusions about a model with only a single data set.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: Yes, because the traversal (where we test the bridge by simulating a car driving over it) is a deterministic process. Maybe we could introduce the difference between probabilistic and deterministic.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It will certainly contain all the above mentioned ideas cause we are talking about predicting events, simulating models and analyzing predicted events. '''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Nope.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Only so much as these ideas would be helpful in a particular model.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning]]: <br /> <br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, in both the lab work and the other problems for the students to solve this unit requires strong support for all assertions that students make<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: In the beginning of the lab portion of this unit, the student should take a guess at what the result will be when the density of the forest is varied. After running a number of trials, they should be able to easily assess the accuracy of they're answer as well as the reasonableness of their results from the lab.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: Yes, because students will try to build different types of bridges and determine the 'reasonableness' of their solutions by the simulated test outcome.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. &quot;Yes, estimation and confirmation are important part of the unit.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: In a more abstract way than most mathiness.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models and there is an analysis part of our lab.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning]]: <br /> <br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Not yet, I need to add this in the introductory portion<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: The student should clearly note that this model of wildfires is far from indicative of how they actually happen. It should be stressed that this model is simply proof of concept for showing the profound effect a single variable can have on the overall results.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: yes, because the physical model will not account for all variables, such as wind.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Even if numbers of paper have power to predict and evaluate something; real life experiment can always show more than numbers.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: This is fulfilled - the point of ABM is the limitation of mathematical and statistical methods.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning]]: <br /> <br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Yes, this unit lays the framework for students to explore the natural world through counting and modeling.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: <br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: After the completion of this unit, the student should understand the world's dependence on a surprisingly small number of variables even though this model is far from accurate.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|&lt;Structural Modeling&gt;]]: Modeling physical structures is important because the natural world is comprised of physical structures.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students are making a model which is going to resist gravity, but also be affected by natural happenings like air drag, and possible weather features. '''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: Yes. Agent based methodology informs a way of thinking about natural processes that differs from more typical techniques - the ideas of emergent behavior are present in every day life.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: They can model natural systems including our example, Predator-Prey models.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement]]: <br /> <br /> * ''Strengthens students' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Yes, one of the major take-away points of this unit is how to develop a scientific knowledge of a system.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: <br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: The entirety of this lab is to change a variable, observe the results, and repeat, eventually leading to having enough data to make reasonable theories on the model.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|&lt;Structural Modeling&gt;]]: The students will determine the most appropriate method to build a simulated bridge through both lecture content and trial and error. They will test their models by building physical models of their virtual structures.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students will have chance to pre-use computer simulators and software which are going to possibly give them ideas to develop their own ideas about the model and predictions of occurrences throughout the lab.'''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: None.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement]]: <br /> <br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Yes, the lecture emphasizes analysis of data and the basics of how to collect it. The lab focuses on the collection of empirical data.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: <br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: The lab portion of this unit is exactly this: gathering numerical data in order to provide the basis for some sort of conclusion.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|&lt;Structural Modeling&gt;]]: The students collect the empirical data by synthesizing lecture content and trial and error. They (potentially in groups) will each devise different models to solve the same problem.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The lab will be the main medium of experiencing the real model evolving; and cause of that will be collection of data and students analysis of ones. '''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: Yes. Models = theoretical. Analyzing one's own social circle, for example, is empirical collection.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement]]:</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:GenEds&diff=8808 CS382:GenEds 2009-03-31T04:26:03Z <p>Edlefma: </p> <hr /> <div>== General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> <br /> ! [[CS382:Unit-foundation-templated#General Education Alignment|Foundations of Modelling]]<br /> <br /> ! [[CS382:staticmodel-outline#General Education Alignment|Static Modeling]]<br /> <br /> ! [[CS382:fire#General Education Alignment|Fire]]<br /> <br /> ! [[CS382:Unit-mashup#General Education Alignment|Visualization]]<br /> <br /> ! [[CS382:structural-outline#General Education Alignment|&lt;Structural Modeling&gt;]]<br /> <br /> ! [[CS382:equation-outline#General Education Alignment|Rocket Modeling]]<br /> <br /> ! [[Cs382:unit-compsoc#General Education Alignment|Computational Sociology and Agent Based Modeling]]<br /> <br /> ! [[CS382:Predator-Prey#General Education Alignment|Predator Prey ( Lynx Hare )]]<br /> <br /> ! [[CS382:chaos_templated#General Education Alignment|&lt;Chaos&gt;]]<br /> <br /> ! [[CS382:End-Notes#General Education Alignment|]]<br /> <br /> |-<br /> <br /> | ARa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Sort of<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARc<br /> | <br /> | <br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRc<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nada<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRd<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nope<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRe<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Nope<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRf<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRg<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIa<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIb<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | None<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | SIc<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | No<br /> | <br /> <br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Yes, The entire unit centers around learning how to create and use abstract models. We work on first what they are and then how to use them.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: This unit deals almost entirely will quantitative reasoning, and would be hard to expand into the abstract world.<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Abstract Reasoning|&lt;Structural Modeling&gt;]]: Sort of. This lab is more concrete. This unit will go early in the semester so it will apply some of the more abstract ideas presented earlier.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not apply; this unit is purely quantitative.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: Agents -&gt; abstract models<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Abstract Reasoning|]]: <br /> <br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Yes, The lab provides hands on experience in generalizing and extrapolating from a specific small scale problem to a larger instance of that problem. The lab further focuses on getting students to put together a toolkit of techniques to create simple abstract models.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: Parameter sweeping (one of the primary goals of this unit) can be used in almost every instance of computational simulations. In this sense it can be expanded from this specific model to others, yet it is more of a quantitative method of analysis than it is abstract.<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Abstract Reasoning|&lt;Structural Modeling&gt;]]: Yes, because we're showing how structures and bridges, specifically apply to the abstract model parameters described in the ''What is a static model'' and ''what is a dynamic model'' units.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Again it does not apply/support.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: discussion of boids, sugarscape and agent based modeling as a whole<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Abstract Reasoning|]]: <br /> <br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Yes, See above about the lab. Also we apply word problems in the form of fermi-problems encouraging students to make and defend measurements and create numeric results.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: <br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: '''''Analysis of this unit's support or not for this item.'''''<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Abstract Reasoning|&lt;Structural Modeling&gt;]]: Eh, again, this unit isn't geared towards this as far as I can see.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not support it; it could but we have different focus.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: the emergent behavior is a process of abstract manipulation; comparing emergent behavior back against the real world is &quot;converting solutions back into concrete results&quot;<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Abstract Reasoning|]]: <br /> <br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, The discussion of vetting materials requires and creates an understanding of how to interpret quantitative information<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: This unit is intended to teach the student how to gather data using a specific tool and analyze that data to come to some conclusion.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: not really. or ''maybe...'' If we use the pasco solution, the beam strength will be documented, and the students can perform basic calculations to figure out whether beams will break under a certain load.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and certainly tables.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Little of this - the point is to avoid formulas (initially), but graphs and tables come up when analyzing model results.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Partially, The exercises in lab as well as the fermi problems beget skill in representing data numerically and verbally<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: The student will need to create a lab write-up in which they express why they went about collecting the necessary amount of data. They will also need to include examples of said data and an explanation of what conclusion(s) can be drawn from that data.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: The models provide a framework for visualizing physical (mathematical) constraints.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and tables which will also have their symbolical, graphical and numerical representations.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Little of this. We're working with people, not numbers.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, the lab design is geared toward teaching how to solve counting and statistical problems in multiple contexts.<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: While this unit deals almost entirely with a single tool, the idea of parameter sweeping is necessary in every form of simulation and is thus applicable in a wide range of contexts.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: This is one context where we're using mathematical and statistical ideas.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Still not sure how big will variety be but what is sure that math and statistical ideas will be used to solve problems.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Nada.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: We are using mathematics to solve problems.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Partially, we discuss the creation of these models however the ones that students use in this unit are likely to not fulfill these.<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: This wildfire model clearly shows how the number of burned trees is directly dependent on certain features of the forest (density, wetness, etc) and how minor changes in those features can dramatically change the outcome.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: Not really.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Probably we will meet linear dependence in this unit; following the graphs of the various bottle pressure bottles, etc.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: This could be worked in, but isn't there now.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, we introduce statistics in the context of models and discuss their usefulness<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: At the end of this unit the student should be able to understand that one cannot make sufficiently accurate conclusions about a model with only a single data set.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: Yes, because the traversal (where we test the bridge by simulating a car driving over it) is a deterministic process. Maybe we could introduce the difference between probabilistic and deterministic.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It will certainly contain all the above mentioned ideas cause we are talking about predicting events, simulating models and analyzing predicted events. '''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Nope.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Only so much as these ideas would be helpful in a particular model.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, in both the lab work and the other problems for the students to solve this unit requires strong support for all assertions that students make<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: In the beginning of the lab portion of this unit, the student should take a guess at what the result will be when the density of the forest is varied. After running a number of trials, they should be able to easily assess the accuracy of they're answer as well as the reasonableness of their results from the lab.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: Yes, because students will try to build different types of bridges and determine the 'reasonableness' of their solutions by the simulated test outcome.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. &quot;Yes, estimation and confirmation are important part of the unit.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: In a more abstract way than most mathiness.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models and there is an analysis part of our lab.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Not yet, I need to add this in the introductory portion<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: The student should clearly note that this model of wildfires is far from indicative of how they actually happen. It should be stressed that this model is simply proof of concept for showing the profound effect a single variable can have on the overall results.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: yes, because the physical model will not account for all variables, such as wind.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Even if numbers of paper have power to predict and evaluate something; real life experiment can always show more than numbers.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: This is fulfilled - the point of ABM is the limitation of mathematical and statistical methods.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Yes, this unit lays the framework for students to explore the natural world through counting and modeling.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: <br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: After the completion of this unit, the student should understand the world's dependence on a surprisingly small number of variables even though this model is far from accurate.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|&lt;Structural Modeling&gt;]]: Modeling physical structures is important because the natural world is comprised of physical structures.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students are making a model which is going to resist gravity, but also be affected by natural happenings like air drag, and possible weather features. '''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: Yes. Agent based methodology informs a way of thinking about natural processes that differs from more typical techniques - the ideas of emergent behavior are present in every day life.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: They can model natural systems including our example, Predator-Prey models.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement|]]: <br /> <br /> * ''Strengthens students' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Yes, one of the major take-away points of this unit is how to develop a scientific knowledge of a system.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: <br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: The entirety of this lab is to change a variable, observe the results, and repeat, eventually leading to having enough data to make reasonable theories on the model.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|&lt;Structural Modeling&gt;]]: The students will determine the most appropriate method to build a simulated bridge through both lecture content and trial and error. They will test their models by building physical models of their virtual structures.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students will have chance to pre-use computer simulators and software which are going to possibly give them ideas to develop their own ideas about the model and predictions of occurrences throughout the lab.'''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: None.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement|]]: <br /> <br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Yes, the lecture emphasizes analysis of data and the basics of how to collect it. The lab focuses on the collection of empirical data.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: <br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: The lab portion of this unit is exactly this: gathering numerical data in order to provide the basis for some sort of conclusion.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|&lt;Structural Modeling&gt;]]: The students collect the empirical data by synthesizing lecture content and trial and error. They (potentially in groups) will each devise different models to solve the same problem.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The lab will be the main medium of experiencing the real model evolving; and cause of that will be collection of data and students analysis of ones. '''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: Yes. Models = theoretical. Analyzing one's own social circle, for example, is empirical collection.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement|]]:</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:GenEds&diff=8807 CS382:GenEds 2009-03-31T04:24:58Z <p>Edlefma: </p> <hr /> <div>== General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> <br /> ! [[CS382:Unit-foundation-templated|Foundations of Modelling]]<br /> <br /> ! [[CS382:staticmodel-outline|Static Modeling]]<br /> <br /> ! [[CS382:fire|Fire]]<br /> <br /> ! [[CS382:Unit-mashup|Visualization]]<br /> <br /> ! [[CS382:structural-outline|&lt;Structural Modeling&gt;]]<br /> <br /> ! [[CS382:equation-outline|Rocket Modeling]]<br /> <br /> ! [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]<br /> <br /> ! [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]<br /> <br /> ! [[CS382:chaos_templated|&lt;Chaos&gt;]]<br /> <br /> ! [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> <br /> | ARa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Sort of<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARc<br /> | <br /> | <br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRc<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nada<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRd<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nope<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRe<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Nope<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRf<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRg<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIa<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIb<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | None<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | SIc<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | No<br /> | <br /> <br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Yes, The entire unit centers around learning how to create and use abstract models. We work on first what they are and then how to use them.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: This unit deals almost entirely will quantitative reasoning, and would be hard to expand into the abstract world.<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Abstract Reasoning|&lt;Structural Modeling&gt;]]: Sort of. This lab is more concrete. This unit will go early in the semester so it will apply some of the more abstract ideas presented earlier.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not apply; this unit is purely quantitative.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: Agents -&gt; abstract models<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Abstract Reasoning|]]: <br /> <br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Yes, The lab provides hands on experience in generalizing and extrapolating from a specific small scale problem to a larger instance of that problem. The lab further focuses on getting students to put together a toolkit of techniques to create simple abstract models.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: Parameter sweeping (one of the primary goals of this unit) can be used in almost every instance of computational simulations. In this sense it can be expanded from this specific model to others, yet it is more of a quantitative method of analysis than it is abstract.<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Abstract Reasoning|&lt;Structural Modeling&gt;]]: Yes, because we're showing how structures and bridges, specifically apply to the abstract model parameters described in the ''What is a static model'' and ''what is a dynamic model'' units.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Again it does not apply/support.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: discussion of boids, sugarscape and agent based modeling as a whole<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Abstract Reasoning|]]: <br /> <br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** [[CS382:Unit-foundation-templated#Abstract Reasoning|Foundations of Modelling]]: Yes, See above about the lab. Also we apply word problems in the form of fermi-problems encouraging students to make and defend measurements and create numeric results.<br /> ** [[CS382:staticmodel-outline#Abstract Reasoning|Static Modeling]]: <br /> ** [[CS382:fire#Abstract Reasoning|Fire]]: '''''Analysis of this unit's support or not for this item.'''''<br /> ** [[CS382:Unit-mashup#Abstract Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Abstract Reasoning|&lt;Structural Modeling&gt;]]: Eh, again, this unit isn't geared towards this as far as I can see.<br /> ** [[CS382:equation-outline#Abstract Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not support it; it could but we have different focus.'''<br /> ** [[Cs382:unit-compsoc#Abstract Reasoning|Computational Sociology and Agent Based Modeling]]: the emergent behavior is a process of abstract manipulation; comparing emergent behavior back against the real world is &quot;converting solutions back into concrete results&quot;<br /> ** [[CS382:Predator-Prey#Abstract Reasoning|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated#Abstract Reasoning|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Abstract Reasoning|]]: <br /> <br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, The discussion of vetting materials requires and creates an understanding of how to interpret quantitative information<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: This unit is intended to teach the student how to gather data using a specific tool and analyze that data to come to some conclusion.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: not really. or ''maybe...'' If we use the pasco solution, the beam strength will be documented, and the students can perform basic calculations to figure out whether beams will break under a certain load.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and certainly tables.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Little of this - the point is to avoid formulas (initially), but graphs and tables come up when analyzing model results.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Partially, The exercises in lab as well as the fermi problems beget skill in representing data numerically and verbally<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: The student will need to create a lab write-up in which they express why they went about collecting the necessary amount of data. They will also need to include examples of said data and an explanation of what conclusion(s) can be drawn from that data.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: The models provide a framework for visualizing physical (mathematical) constraints.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and tables which will also have their symbolical, graphical and numerical representations.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Little of this. We're working with people, not numbers.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, the lab design is geared toward teaching how to solve counting and statistical problems in multiple contexts.<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: While this unit deals almost entirely with a single tool, the idea of parameter sweeping is necessary in every form of simulation and is thus applicable in a wide range of contexts.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: This is one context where we're using mathematical and statistical ideas.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Still not sure how big will variety be but what is sure that math and statistical ideas will be used to solve problems.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Nada.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: We are using mathematics to solve problems.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Partially, we discuss the creation of these models however the ones that students use in this unit are likely to not fulfill these.<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: This wildfire model clearly shows how the number of burned trees is directly dependent on certain features of the forest (density, wetness, etc) and how minor changes in those features can dramatically change the outcome.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: Not really.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Probably we will meet linear dependence in this unit; following the graphs of the various bottle pressure bottles, etc.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: This could be worked in, but isn't there now.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, we introduce statistics in the context of models and discuss their usefulness<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: At the end of this unit the student should be able to understand that one cannot make sufficiently accurate conclusions about a model with only a single data set.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: Yes, because the traversal (where we test the bridge by simulating a car driving over it) is a deterministic process. Maybe we could introduce the difference between probabilistic and deterministic.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It will certainly contain all the above mentioned ideas cause we are talking about predicting events, simulating models and analyzing predicted events. '''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: Nope.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Only so much as these ideas would be helpful in a particular model.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Yes, in both the lab work and the other problems for the students to solve this unit requires strong support for all assertions that students make<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: In the beginning of the lab portion of this unit, the student should take a guess at what the result will be when the density of the forest is varied. After running a number of trials, they should be able to easily assess the accuracy of they're answer as well as the reasonableness of their results from the lab.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: Yes, because students will try to build different types of bridges and determine the 'reasonableness' of their solutions by the simulated test outcome.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. &quot;Yes, estimation and confirmation are important part of the unit.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: In a more abstract way than most mathiness.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models and there is an analysis part of our lab.<br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** [[CS382:Unit-foundation-templated#Quantitative Reasoning|Foundations of Modelling]]: Not yet, I need to add this in the introductory portion<br /> ** [[CS382:staticmodel-outline#Quantitative Reasoning|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire#Quantitative Reasoning|Fire]]: The student should clearly note that this model of wildfires is far from indicative of how they actually happen. It should be stressed that this model is simply proof of concept for showing the profound effect a single variable can have on the overall results.<br /> ** [[CS382:Unit-mashup#Quantitative Reasoning|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Quantitative Reasoning|&lt;Structural Modeling&gt;]]: yes, because the physical model will not account for all variables, such as wind.<br /> ** [[CS382:equation-outline#Quantitative Reasoning|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Even if numbers of paper have power to predict and evaluate something; real life experiment can always show more than numbers.'''<br /> ** [[Cs382:unit-compsoc#Quantitative Reasoning|Computational Sociology and Agent Based Modeling]]: This is fulfilled - the point of ABM is the limitation of mathematical and statistical methods.<br /> ** [[CS382:Predator-Prey#Quantitative Reasoning|Predator Prey ( Lynx Hare )]]: When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> ** [[CS382:chaos_templated#Quantitative Reasoning|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Quantitative Reasoning|]]: <br /> <br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Yes, this unit lays the framework for students to explore the natural world through counting and modeling.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: <br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: After the completion of this unit, the student should understand the world's dependence on a surprisingly small number of variables even though this model is far from accurate.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|&lt;Structural Modeling&gt;]]: Modeling physical structures is important because the natural world is comprised of physical structures.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students are making a model which is going to resist gravity, but also be affected by natural happenings like air drag, and possible weather features. '''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: Yes. Agent based methodology informs a way of thinking about natural processes that differs from more typical techniques - the ideas of emergent behavior are present in every day life.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: They can model natural systems including our example, Predator-Prey models.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement|]]: <br /> <br /> * ''Strengthens students' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Yes, one of the major take-away points of this unit is how to develop a scientific knowledge of a system.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: <br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: The entirety of this lab is to change a variable, observe the results, and repeat, eventually leading to having enough data to make reasonable theories on the model.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|&lt;Structural Modeling&gt;]]: The students will determine the most appropriate method to build a simulated bridge through both lecture content and trial and error. They will test their models by building physical models of their virtual structures.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students will have chance to pre-use computer simulators and software which are going to possibly give them ideas to develop their own ideas about the model and predictions of occurrences throughout the lab.'''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: None.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement|]]: <br /> <br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** [[CS382:Unit-foundation-templated#Scientific Inquiry Requirement|Foundations of Modelling]]: Yes, the lecture emphasizes analysis of data and the basics of how to collect it. The lab focuses on the collection of empirical data.<br /> ** [[CS382:staticmodel-outline#Scientific Inquiry Requirement|Static Modeling]]: <br /> ** [[CS382:fire#Scientific Inquiry Requirement|Fire]]: The lab portion of this unit is exactly this: gathering numerical data in order to provide the basis for some sort of conclusion.<br /> ** [[CS382:Unit-mashup#Scientific Inquiry Requirement|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline#Scientific Inquiry Requirement|&lt;Structural Modeling&gt;]]: The students collect the empirical data by synthesizing lecture content and trial and error. They (potentially in groups) will each devise different models to solve the same problem.<br /> ** [[CS382:equation-outline#Scientific Inquiry Requirement|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The lab will be the main medium of experiencing the real model evolving; and cause of that will be collection of data and students analysis of ones. '''<br /> ** [[Cs382:unit-compsoc#Scientific Inquiry Requirement|Computational Sociology and Agent Based Modeling]]: Yes. Models = theoretical. Analyzing one's own social circle, for example, is empirical collection.<br /> ** [[CS382:Predator-Prey#Scientific Inquiry Requirement|Predator Prey ( Lynx Hare )]]: We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> ** [[CS382:chaos_templated#Scientific Inquiry Requirement|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes#Scientific Inquiry Requirement|]]:</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:GenEds&diff=8806 CS382:GenEds 2009-03-31T04:10:57Z <p>Edlefma: </p> <hr /> <div>== General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> ! Unit<br /> <br /> ! [[CS382:Unit-foundation-templated|Foundations of Modelling]]<br /> <br /> ! [[CS382:staticmodel-outline|Static Modeling]]<br /> <br /> ! [[CS382:fire|Fire]]<br /> <br /> ! [[CS382:Unit-mashup|Visualization]]<br /> <br /> ! [[CS382:structural-outline|&lt;Structural Modeling&gt;]]<br /> <br /> ! [[CS382:equation-outline|Rocket Modeling]]<br /> <br /> ! [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]<br /> <br /> ! [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]<br /> <br /> ! [[CS382:chaos_templated|&lt;Chaos&gt;]]<br /> <br /> ! [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> <br /> | ARa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Sort of<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARc<br /> | <br /> | <br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRc<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nada<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRd<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nope<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRe<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Nope<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRf<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRg<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIa<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIb<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | None<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | SIc<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | No<br /> | <br /> <br /> |}<br /> &lt;/center&gt;<br /> <br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The entire unit centers around learning how to create and use abstract models. We work on first what they are and then how to use them.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: This unit deals almost entirely will quantitative reasoning, and would be hard to expand into the abstract world.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Sort of. This lab is more concrete. This unit will go early in the semester so it will apply some of the more abstract ideas presented earlier.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not apply; this unit is purely quantitative.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Agents -&gt; abstract models<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The lab provides hands on experience in generalizing and extrapolating from a specific small scale problem to a larger instance of that problem. The lab further focuses on getting students to put together a toolkit of techniques to create simple abstract models.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: Parameter sweeping (one of the primary goals of this unit) can be used in almost every instance of computational simulations. In this sense it can be expanded from this specific model to others, yet it is more of a quantitative method of analysis than it is abstract.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because we're showing how structures and bridges, specifically apply to the abstract model parameters described in the ''What is a static model'' and ''what is a dynamic model'' units.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Again it does not apply/support.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: discussion of boids, sugarscape and agent based modeling as a whole<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, See above about the lab. Also we apply word problems in the form of fermi-problems encouraging students to make and defend measurements and create numeric results.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: '''''Analysis of this unit's support or not for this item.'''''<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Eh, again, this unit isn't geared towards this as far as I can see.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not support it; it could but we have different focus.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: the emergent behavior is a process of abstract manipulation; comparing emergent behavior back against the real world is &quot;converting solutions back into concrete results&quot;<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The discussion of vetting materials requires and creates an understanding of how to interpret quantitative information<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: This unit is intended to teach the student how to gather data using a specific tool and analyze that data to come to some conclusion.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: not really. or ''maybe...'' If we use the pasco solution, the beam strength will be documented, and the students can perform basic calculations to figure out whether beams will break under a certain load.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and certainly tables.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Little of this - the point is to avoid formulas (initially), but graphs and tables come up when analyzing model results.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Partially, The exercises in lab as well as the fermi problems beget skill in representing data numerically and verbally<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: The student will need to create a lab write-up in which they express why they went about collecting the necessary amount of data. They will also need to include examples of said data and an explanation of what conclusion(s) can be drawn from that data.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The models provide a framework for visualizing physical (mathematical) constraints.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and tables which will also have their symbolical, graphical and numerical representations.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Little of this. We're working with people, not numbers.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, the lab design is geared toward teaching how to solve counting and statistical problems in multiple contexts.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: While this unit deals almost entirely with a single tool, the idea of parameter sweeping is necessary in every form of simulation and is thus applicable in a wide range of contexts.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: This is one context where we're using mathematical and statistical ideas.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Still not sure how big will variety be but what is sure that math and statistical ideas will be used to solve problems.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Nada.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: We are using mathematics to solve problems.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Partially, we discuss the creation of these models however the ones that students use in this unit are likely to not fulfill these.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: This wildfire model clearly shows how the number of burned trees is directly dependent on certain features of the forest (density, wetness, etc) and how minor changes in those features can dramatically change the outcome.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Not really.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Probably we will meet linear dependence in this unit; following the graphs of the various bottle pressure bottles, etc.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: This could be worked in, but isn't there now.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, we introduce statistics in the context of models and discuss their usefulness<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: At the end of this unit the student should be able to understand that one cannot make sufficiently accurate conclusions about a model with only a single data set.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because the traversal (where we test the bridge by simulating a car driving over it) is a deterministic process. Maybe we could introduce the difference between probabilistic and deterministic.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It will certainly contain all the above mentioned ideas cause we are talking about predicting events, simulating models and analyzing predicted events. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Nope.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Only so much as these ideas would be helpful in a particular model.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, in both the lab work and the other problems for the students to solve this unit requires strong support for all assertions that students make<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: In the beginning of the lab portion of this unit, the student should take a guess at what the result will be when the density of the forest is varied. After running a number of trials, they should be able to easily assess the accuracy of they're answer as well as the reasonableness of their results from the lab.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because students will try to build different types of bridges and determine the 'reasonableness' of their solutions by the simulated test outcome.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. &quot;Yes, estimation and confirmation are important part of the unit.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: In a more abstract way than most mathiness.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models and there is an analysis part of our lab.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Not yet, I need to add this in the introductory portion<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: The student should clearly note that this model of wildfires is far from indicative of how they actually happen. It should be stressed that this model is simply proof of concept for showing the profound effect a single variable can have on the overall results.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: yes, because the physical model will not account for all variables, such as wind.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Even if numbers of paper have power to predict and evaluate something; real life experiment can always show more than numbers.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: This is fulfilled - the point of ABM is the limitation of mathematical and statistical methods.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, this unit lays the framework for students to explore the natural world through counting and modeling.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: After the completion of this unit, the student should understand the world's dependence on a surprisingly small number of variables even though this model is far from accurate.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Modeling physical structures is important because the natural world is comprised of physical structures.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students are making a model which is going to resist gravity, but also be affected by natural happenings like air drag, and possible weather features. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Yes. Agent based methodology informs a way of thinking about natural processes that differs from more typical techniques - the ideas of emergent behavior are present in every day life.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: They can model natural systems including our example, Predator-Prey models.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Strengthens students' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, one of the major take-away points of this unit is how to develop a scientific knowledge of a system.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: The entirety of this lab is to change a variable, observe the results, and repeat, eventually leading to having enough data to make reasonable theories on the model.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The students will determine the most appropriate method to build a simulated bridge through both lecture content and trial and error. They will test their models by building physical models of their virtual structures.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students will have chance to pre-use computer simulators and software which are going to possibly give them ideas to develop their own ideas about the model and predictions of occurrences throughout the lab.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: None.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, the lecture emphasizes analysis of data and the basics of how to collect it. The lab focuses on the collection of empirical data.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: The lab portion of this unit is exactly this: gathering numerical data in order to provide the basis for some sort of conclusion.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The students collect the empirical data by synthesizing lecture content and trial and error. They (potentially in groups) will each devise different models to solve the same problem.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The lab will be the main medium of experiencing the real model evolving; and cause of that will be collection of data and students analysis of ones. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Yes. Models = theoretical. Analyzing one's own social circle, for example, is empirical collection.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]:</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:GenEds&diff=8805 CS382:GenEds 2009-03-31T04:07:41Z <p>Edlefma: </p> <hr /> <div>== General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> | Unit<br /> <br /> ! [[CS382:Unit-foundation-templated|Foundations of Modelling]]<br /> <br /> ! [[CS382:staticmodel-outline|Static Modeling]]<br /> <br /> ! [[CS382:fire|Fire]]<br /> <br /> ! [[CS382:Unit-mashup|Visualization]]<br /> <br /> ! [[CS382:structural-outline|&lt;Structural Modeling&gt;]]<br /> <br /> ! [[CS382:equation-outline|Rocket Modeling]]<br /> <br /> ! [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]<br /> <br /> ! [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]<br /> <br /> ! [[CS382:chaos_templated|&lt;Chaos&gt;]]<br /> <br /> ! [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> <br /> | ARa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Sort of<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARc<br /> | <br /> | <br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRc<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nada<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRd<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nope<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRe<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Nope<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRf<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRg<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIa<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIb<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | None<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | SIc<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | No<br /> | <br /> <br /> |}<br /> &lt;/center&gt;<br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The entire unit centers around learning how to create and use abstract models. We work on first what they are and then how to use them.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: This unit deals almost entirely will quantitative reasoning, and would be hard to expand into the abstract world.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Sort of. This lab is more concrete. This unit will go early in the semester so it will apply some of the more abstract ideas presented earlier.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not apply; this unit is purely quantitative.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Agents -&gt; abstract models<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The lab provides hands on experience in generalizing and extrapolating from a specific small scale problem to a larger instance of that problem. The lab further focuses on getting students to put together a toolkit of techniques to create simple abstract models.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: Parameter sweeping (one of the primary goals of this unit) can be used in almost every instance of computational simulations. In this sense it can be expanded from this specific model to others, yet it is more of a quantitative method of analysis than it is abstract.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because we're showing how structures and bridges, specifically apply to the abstract model parameters described in the ''What is a static model'' and ''what is a dynamic model'' units.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Again it does not apply/support.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: discussion of boids, sugarscape and agent based modeling as a whole<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, See above about the lab. Also we apply word problems in the form of fermi-problems encouraging students to make and defend measurements and create numeric results.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: '''''Analysis of this unit's support or not for this item.'''''<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Eh, again, this unit isn't geared towards this as far as I can see.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not support it; it could but we have different focus.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: the emergent behavior is a process of abstract manipulation; comparing emergent behavior back against the real world is &quot;converting solutions back into concrete results&quot;<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The discussion of vetting materials requires and creates an understanding of how to interpret quantitative information<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: This unit is intended to teach the student how to gather data using a specific tool and analyze that data to come to some conclusion.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: not really. or ''maybe...'' If we use the pasco solution, the beam strength will be documented, and the students can perform basic calculations to figure out whether beams will break under a certain load.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and certainly tables.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Little of this - the point is to avoid formulas (initially), but graphs and tables come up when analyzing model results.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Partially, The exercises in lab as well as the fermi problems beget skill in representing data numerically and verbally<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: The student will need to create a lab write-up in which they express why they went about collecting the necessary amount of data. They will also need to include examples of said data and an explanation of what conclusion(s) can be drawn from that data.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The models provide a framework for visualizing physical (mathematical) constraints.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and tables which will also have their symbolical, graphical and numerical representations.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Little of this. We're working with people, not numbers.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, the lab design is geared toward teaching how to solve counting and statistical problems in multiple contexts.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: While this unit deals almost entirely with a single tool, the idea of parameter sweeping is necessary in every form of simulation and is thus applicable in a wide range of contexts.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: This is one context where we're using mathematical and statistical ideas.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Still not sure how big will variety be but what is sure that math and statistical ideas will be used to solve problems.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Nada.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: We are using mathematics to solve problems.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Partially, we discuss the creation of these models however the ones that students use in this unit are likely to not fulfill these.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: This wildfire model clearly shows how the number of burned trees is directly dependent on certain features of the forest (density, wetness, etc) and how minor changes in those features can dramatically change the outcome.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Not really.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Probably we will meet linear dependence in this unit; following the graphs of the various bottle pressure bottles, etc.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: This could be worked in, but isn't there now.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, we introduce statistics in the context of models and discuss their usefulness<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: At the end of this unit the student should be able to understand that one cannot make sufficiently accurate conclusions about a model with only a single data set.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because the traversal (where we test the bridge by simulating a car driving over it) is a deterministic process. Maybe we could introduce the difference between probabilistic and deterministic.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It will certainly contain all the above mentioned ideas cause we are talking about predicting events, simulating models and analyzing predicted events. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Nope.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Only so much as these ideas would be helpful in a particular model.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, in both the lab work and the other problems for the students to solve this unit requires strong support for all assertions that students make<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: In the beginning of the lab portion of this unit, the student should take a guess at what the result will be when the density of the forest is varied. After running a number of trials, they should be able to easily assess the accuracy of they're answer as well as the reasonableness of their results from the lab.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because students will try to build different types of bridges and determine the 'reasonableness' of their solutions by the simulated test outcome.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. &quot;Yes, estimation and confirmation are important part of the unit.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: In a more abstract way than most mathiness.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models and there is an analysis part of our lab.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Not yet, I need to add this in the introductory portion<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: The student should clearly note that this model of wildfires is far from indicative of how they actually happen. It should be stressed that this model is simply proof of concept for showing the profound effect a single variable can have on the overall results.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: yes, because the physical model will not account for all variables, such as wind.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Even if numbers of paper have power to predict and evaluate something; real life experiment can always show more than numbers.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: This is fulfilled - the point of ABM is the limitation of mathematical and statistical methods.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, this unit lays the framework for students to explore the natural world through counting and modeling.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: After the completion of this unit, the student should understand the world's dependence on a surprisingly small number of variables even though this model is far from accurate.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Modeling physical structures is important because the natural world is comprised of physical structures.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students are making a model which is going to resist gravity, but also be affected by natural happenings like air drag, and possible weather features. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Yes. Agent based methodology informs a way of thinking about natural processes that differs from more typical techniques - the ideas of emergent behavior are present in every day life.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: They can model natural systems including our example, Predator-Prey models.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Strengthens students' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, one of the major take-away points of this unit is how to develop a scientific knowledge of a system.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: The entirety of this lab is to change a variable, observe the results, and repeat, eventually leading to having enough data to make reasonable theories on the model.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The students will determine the most appropriate method to build a simulated bridge through both lecture content and trial and error. They will test their models by building physical models of their virtual structures.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students will have chance to pre-use computer simulators and software which are going to possibly give them ideas to develop their own ideas about the model and predictions of occurrences throughout the lab.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: None.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, the lecture emphasizes analysis of data and the basics of how to collect it. The lab focuses on the collection of empirical data.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: The lab portion of this unit is exactly this: gathering numerical data in order to provide the basis for some sort of conclusion.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The students collect the empirical data by synthesizing lecture content and trial and error. They (potentially in groups) will each devise different models to solve the same problem.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The lab will be the main medium of experiencing the real model evolving; and cause of that will be collection of data and students analysis of ones. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Yes. Models = theoretical. Analyzing one's own social circle, for example, is empirical collection.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]:</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:GenEds&diff=8804 CS382:GenEds 2009-03-31T04:06:31Z <p>Edlefma: </p> <hr /> <div>== General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> <br /> ! [[CS382:Unit-foundation-templated|Foundations of Modelling]]<br /> <br /> ! [[CS382:staticmodel-outline|Static Modeling]]<br /> <br /> ! [[CS382:fire|Fire]]<br /> <br /> ! [[CS382:Unit-mashup|Visualization]]<br /> <br /> ! [[CS382:structural-outline|&lt;Structural Modeling&gt;]]<br /> <br /> ! [[CS382:equation-outline|Rocket Modeling]]<br /> <br /> ! [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]<br /> <br /> ! [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]<br /> <br /> ! [[CS382:chaos_templated|&lt;Chaos&gt;]]<br /> <br /> ! [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> <br /> | ARa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Sort of<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARc<br /> | <br /> | <br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRc<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nada<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRd<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nope<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRe<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Nope<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRf<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRg<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIa<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIb<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | None<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | SIc<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | No<br /> | <br /> <br /> |}<br /> &lt;/center&gt;<br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The entire unit centers around learning how to create and use abstract models. We work on first what they are and then how to use them.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: This unit deals almost entirely will quantitative reasoning, and would be hard to expand into the abstract world.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Sort of. This lab is more concrete. This unit will go early in the semester so it will apply some of the more abstract ideas presented earlier.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not apply; this unit is purely quantitative.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Agents -&gt; abstract models<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The lab provides hands on experience in generalizing and extrapolating from a specific small scale problem to a larger instance of that problem. The lab further focuses on getting students to put together a toolkit of techniques to create simple abstract models.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: Parameter sweeping (one of the primary goals of this unit) can be used in almost every instance of computational simulations. In this sense it can be expanded from this specific model to others, yet it is more of a quantitative method of analysis than it is abstract.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because we're showing how structures and bridges, specifically apply to the abstract model parameters described in the ''What is a static model'' and ''what is a dynamic model'' units.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Again it does not apply/support.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: discussion of boids, sugarscape and agent based modeling as a whole<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, See above about the lab. Also we apply word problems in the form of fermi-problems encouraging students to make and defend measurements and create numeric results.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: '''''Analysis of this unit's support or not for this item.'''''<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Eh, again, this unit isn't geared towards this as far as I can see.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not support it; it could but we have different focus.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: the emergent behavior is a process of abstract manipulation; comparing emergent behavior back against the real world is &quot;converting solutions back into concrete results&quot;<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The discussion of vetting materials requires and creates an understanding of how to interpret quantitative information<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: This unit is intended to teach the student how to gather data using a specific tool and analyze that data to come to some conclusion.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: not really. or ''maybe...'' If we use the pasco solution, the beam strength will be documented, and the students can perform basic calculations to figure out whether beams will break under a certain load.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and certainly tables.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Little of this - the point is to avoid formulas (initially), but graphs and tables come up when analyzing model results.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Partially, The exercises in lab as well as the fermi problems beget skill in representing data numerically and verbally<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: The student will need to create a lab write-up in which they express why they went about collecting the necessary amount of data. They will also need to include examples of said data and an explanation of what conclusion(s) can be drawn from that data.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The models provide a framework for visualizing physical (mathematical) constraints.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and tables which will also have their symbolical, graphical and numerical representations.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Little of this. We're working with people, not numbers.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, the lab design is geared toward teaching how to solve counting and statistical problems in multiple contexts.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: While this unit deals almost entirely with a single tool, the idea of parameter sweeping is necessary in every form of simulation and is thus applicable in a wide range of contexts.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: This is one context where we're using mathematical and statistical ideas.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Still not sure how big will variety be but what is sure that math and statistical ideas will be used to solve problems.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Nada.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: We are using mathematics to solve problems.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Partially, we discuss the creation of these models however the ones that students use in this unit are likely to not fulfill these.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: This wildfire model clearly shows how the number of burned trees is directly dependent on certain features of the forest (density, wetness, etc) and how minor changes in those features can dramatically change the outcome.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Not really.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Probably we will meet linear dependence in this unit; following the graphs of the various bottle pressure bottles, etc.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: This could be worked in, but isn't there now.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, we introduce statistics in the context of models and discuss their usefulness<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: At the end of this unit the student should be able to understand that one cannot make sufficiently accurate conclusions about a model with only a single data set.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because the traversal (where we test the bridge by simulating a car driving over it) is a deterministic process. Maybe we could introduce the difference between probabilistic and deterministic.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It will certainly contain all the above mentioned ideas cause we are talking about predicting events, simulating models and analyzing predicted events. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Nope.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Only so much as these ideas would be helpful in a particular model.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, in both the lab work and the other problems for the students to solve this unit requires strong support for all assertions that students make<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: In the beginning of the lab portion of this unit, the student should take a guess at what the result will be when the density of the forest is varied. After running a number of trials, they should be able to easily assess the accuracy of they're answer as well as the reasonableness of their results from the lab.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because students will try to build different types of bridges and determine the 'reasonableness' of their solutions by the simulated test outcome.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. &quot;Yes, estimation and confirmation are important part of the unit.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: In a more abstract way than most mathiness.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models and there is an analysis part of our lab.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Not yet, I need to add this in the introductory portion<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: The student should clearly note that this model of wildfires is far from indicative of how they actually happen. It should be stressed that this model is simply proof of concept for showing the profound effect a single variable can have on the overall results.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: yes, because the physical model will not account for all variables, such as wind.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Even if numbers of paper have power to predict and evaluate something; real life experiment can always show more than numbers.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: This is fulfilled - the point of ABM is the limitation of mathematical and statistical methods.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, this unit lays the framework for students to explore the natural world through counting and modeling.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: After the completion of this unit, the student should understand the world's dependence on a surprisingly small number of variables even though this model is far from accurate.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Modeling physical structures is important because the natural world is comprised of physical structures.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students are making a model which is going to resist gravity, but also be affected by natural happenings like air drag, and possible weather features. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Yes. Agent based methodology informs a way of thinking about natural processes that differs from more typical techniques - the ideas of emergent behavior are present in every day life.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: They can model natural systems including our example, Predator-Prey models.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Strengthens students' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, one of the major take-away points of this unit is how to develop a scientific knowledge of a system.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: The entirety of this lab is to change a variable, observe the results, and repeat, eventually leading to having enough data to make reasonable theories on the model.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The students will determine the most appropriate method to build a simulated bridge through both lecture content and trial and error. They will test their models by building physical models of their virtual structures.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students will have chance to pre-use computer simulators and software which are going to possibly give them ideas to develop their own ideas about the model and predictions of occurrences throughout the lab.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: None.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, the lecture emphasizes analysis of data and the basics of how to collect it. The lab focuses on the collection of empirical data.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: The lab portion of this unit is exactly this: gathering numerical data in order to provide the basis for some sort of conclusion.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The students collect the empirical data by synthesizing lecture content and trial and error. They (potentially in groups) will each devise different models to solve the same problem.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The lab will be the main medium of experiencing the real model evolving; and cause of that will be collection of data and students analysis of ones. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Yes. Models = theoretical. Analyzing one's own social circle, for example, is empirical collection.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]:</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:GenEds&diff=8803 CS382:GenEds 2009-03-31T04:05:43Z <p>Edlefma: </p> <hr /> <div>== General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> <br /> ! [[[CS382:Unit-foundation-templated|% scrape(page, '^= *(.*?) *=') %]]]<br /> <br /> ! [[[CS382:staticmodel-outline|% scrape(page, '^= *(.*?) *=') %]]]<br /> <br /> ! [[[CS382:fire|% scrape(page, '^= *(.*?) *=') %]]]<br /> <br /> ! [[[CS382:Unit-mashup|% scrape(page, '^= *(.*?) *=') %]]]<br /> <br /> ! [[[CS382:structural-outline|% scrape(page, '^= *(.*?) *=') %]]]<br /> <br /> ! [[[CS382:equation-outline|% scrape(page, '^= *(.*?) *=') %]]]<br /> <br /> ! [[[Cs382:unit-compsoc|% scrape(page, '^= *(.*?) *=') %]]]<br /> <br /> ! [[[CS382:Predator-Prey|% scrape(page, '^= *(.*?) *=') %]]]<br /> <br /> ! [[[CS382:chaos_templated|% scrape(page, '^= *(.*?) *=') %]]]<br /> <br /> ! [[[CS382:End-Notes|% scrape(page, '^= *(.*?) *=') %]]]<br /> <br /> |-<br /> <br /> | ARa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Sort of<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | ARc<br /> | <br /> | <br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRa<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRb<br /> | <br /> | Yes<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Little of this<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRc<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nada<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRd<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | Not really<br /> | <br /> | Nope<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | QRe<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Nope<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRf<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | QRg<br /> | <br /> | Oh yeah<br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIa<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | Yes<br /> | <br /> <br /> |-<br /> | SIb<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | None<br /> | Done<br /> | No<br /> | <br /> <br /> |-<br /> | SIc<br /> | <br /> | <br /> | Done<br /> | <br /> | <br /> | <br /> | Yes<br /> | Done<br /> | No<br /> | <br /> <br /> |}<br /> &lt;/center&gt;<br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The entire unit centers around learning how to create and use abstract models. We work on first what they are and then how to use them.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: This unit deals almost entirely will quantitative reasoning, and would be hard to expand into the abstract world.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Sort of. This lab is more concrete. This unit will go early in the semester so it will apply some of the more abstract ideas presented earlier.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not apply; this unit is purely quantitative.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Agents -&gt; abstract models<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The lab provides hands on experience in generalizing and extrapolating from a specific small scale problem to a larger instance of that problem. The lab further focuses on getting students to put together a toolkit of techniques to create simple abstract models.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: Parameter sweeping (one of the primary goals of this unit) can be used in almost every instance of computational simulations. In this sense it can be expanded from this specific model to others, yet it is more of a quantitative method of analysis than it is abstract.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because we're showing how structures and bridges, specifically apply to the abstract model parameters described in the ''What is a static model'' and ''what is a dynamic model'' units.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Again it does not apply/support.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: discussion of boids, sugarscape and agent based modeling as a whole<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, See above about the lab. Also we apply word problems in the form of fermi-problems encouraging students to make and defend measurements and create numeric results.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: '''''Analysis of this unit's support or not for this item.'''''<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Eh, again, this unit isn't geared towards this as far as I can see.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not support it; it could but we have different focus.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: the emergent behavior is a process of abstract manipulation; comparing emergent behavior back against the real world is &quot;converting solutions back into concrete results&quot;<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The discussion of vetting materials requires and creates an understanding of how to interpret quantitative information<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: This unit is intended to teach the student how to gather data using a specific tool and analyze that data to come to some conclusion.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: not really. or ''maybe...'' If we use the pasco solution, the beam strength will be documented, and the students can perform basic calculations to figure out whether beams will break under a certain load.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and certainly tables.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Little of this - the point is to avoid formulas (initially), but graphs and tables come up when analyzing model results.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Partially, The exercises in lab as well as the fermi problems beget skill in representing data numerically and verbally<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: The student will need to create a lab write-up in which they express why they went about collecting the necessary amount of data. They will also need to include examples of said data and an explanation of what conclusion(s) can be drawn from that data.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The models provide a framework for visualizing physical (mathematical) constraints.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and tables which will also have their symbolical, graphical and numerical representations.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Little of this. We're working with people, not numbers.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, the lab design is geared toward teaching how to solve counting and statistical problems in multiple contexts.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: While this unit deals almost entirely with a single tool, the idea of parameter sweeping is necessary in every form of simulation and is thus applicable in a wide range of contexts.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: This is one context where we're using mathematical and statistical ideas.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Still not sure how big will variety be but what is sure that math and statistical ideas will be used to solve problems.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Nada.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: We are using mathematics to solve problems.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Partially, we discuss the creation of these models however the ones that students use in this unit are likely to not fulfill these.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: This wildfire model clearly shows how the number of burned trees is directly dependent on certain features of the forest (density, wetness, etc) and how minor changes in those features can dramatically change the outcome.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Not really.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Probably we will meet linear dependence in this unit; following the graphs of the various bottle pressure bottles, etc.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: This could be worked in, but isn't there now.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, we introduce statistics in the context of models and discuss their usefulness<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: At the end of this unit the student should be able to understand that one cannot make sufficiently accurate conclusions about a model with only a single data set.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because the traversal (where we test the bridge by simulating a car driving over it) is a deterministic process. Maybe we could introduce the difference between probabilistic and deterministic.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It will certainly contain all the above mentioned ideas cause we are talking about predicting events, simulating models and analyzing predicted events. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Nope.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Only so much as these ideas would be helpful in a particular model.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, in both the lab work and the other problems for the students to solve this unit requires strong support for all assertions that students make<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: In the beginning of the lab portion of this unit, the student should take a guess at what the result will be when the density of the forest is varied. After running a number of trials, they should be able to easily assess the accuracy of they're answer as well as the reasonableness of their results from the lab.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because students will try to build different types of bridges and determine the 'reasonableness' of their solutions by the simulated test outcome.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. &quot;Yes, estimation and confirmation are important part of the unit.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: In a more abstract way than most mathiness.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models and there is an analysis part of our lab.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Not yet, I need to add this in the introductory portion<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: The student should clearly note that this model of wildfires is far from indicative of how they actually happen. It should be stressed that this model is simply proof of concept for showing the profound effect a single variable can have on the overall results.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: yes, because the physical model will not account for all variables, such as wind.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Even if numbers of paper have power to predict and evaluate something; real life experiment can always show more than numbers.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: This is fulfilled - the point of ABM is the limitation of mathematical and statistical methods.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, this unit lays the framework for students to explore the natural world through counting and modeling.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: After the completion of this unit, the student should understand the world's dependence on a surprisingly small number of variables even though this model is far from accurate.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Modeling physical structures is important because the natural world is comprised of physical structures.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students are making a model which is going to resist gravity, but also be affected by natural happenings like air drag, and possible weather features. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Yes. Agent based methodology informs a way of thinking about natural processes that differs from more typical techniques - the ideas of emergent behavior are present in every day life.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: They can model natural systems including our example, Predator-Prey models.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Strengthens students' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, one of the major take-away points of this unit is how to develop a scientific knowledge of a system.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: The entirety of this lab is to change a variable, observe the results, and repeat, eventually leading to having enough data to make reasonable theories on the model.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The students will determine the most appropriate method to build a simulated bridge through both lecture content and trial and error. They will test their models by building physical models of their virtual structures.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students will have chance to pre-use computer simulators and software which are going to possibly give them ideas to develop their own ideas about the model and predictions of occurrences throughout the lab.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: None.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, the lecture emphasizes analysis of data and the basics of how to collect it. The lab focuses on the collection of empirical data.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: The lab portion of this unit is exactly this: gathering numerical data in order to provide the basis for some sort of conclusion.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The students collect the empirical data by synthesizing lecture content and trial and error. They (potentially in groups) will each devise different models to solve the same problem.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The lab will be the main medium of experiencing the real model evolving; and cause of that will be collection of data and students analysis of ones. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Yes. Models = theoretical. Analyzing one's own social circle, for example, is empirical collection.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]:</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:GenEds&diff=8802 CS382:GenEds 2009-03-31T04:04:35Z <p>Edlefma: </p> <hr /> <div>== General Education Alignment ==<br /> <br /> &lt;center&gt;<br /> {| class=&quot;wikitable&quot; border=&quot;1&quot;<br /> |+ Helpful Total Geneds Coverage Table, Fig. 18c.<br /> |-<br /> <br /> ! Foundations of Modelling<br /> <br /> ! Static Modeling<br /> <br /> ! Fire<br /> <br /> ! Visualization<br /> <br /> ! &lt;Structural Modeling&gt;<br /> <br /> ! Rocket Modeling<br /> <br /> ! Computational Sociology and Agent Based Modeling<br /> <br /> ! Predator Prey ( Lynx Hare )<br /> <br /> ! &lt;Chaos&gt;<br /> <br /> ! <br /> <br /> |-<br /> <br /> | ARa<br /> | [[CS382:Unit-foundation-templated|Unit-foundation-templated]]<br /> | [[CS382:staticmodel-outline|Yes]]<br /> | [[CS382:fire|Done]]<br /> | [[CS382:Unit-mashup|Unit-mashup]]<br /> | [[CS382:structural-outline|Sort of]]<br /> | [[CS382:equation-outline|equation-outline]]<br /> | [[Cs382:unit-compsoc|Little of this]]<br /> | [[CS382:Predator-Prey|Done]]<br /> | [[CS382:chaos_templated|Yes]]<br /> | [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> | ARb<br /> | [[CS382:Unit-foundation-templated|Unit-foundation-templated]]<br /> | [[CS382:staticmodel-outline|Yes]]<br /> | [[CS382:fire|Done]]<br /> | [[CS382:Unit-mashup|Unit-mashup]]<br /> | [[CS382:structural-outline|not really]]<br /> | [[CS382:equation-outline|equation-outline]]<br /> | [[Cs382:unit-compsoc|Little of this]]<br /> | [[CS382:Predator-Prey|Done]]<br /> | [[CS382:chaos_templated|Yes]]<br /> | [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> | ARc<br /> | [[CS382:Unit-foundation-templated|Unit-foundation-templated]]<br /> | [[CS382:staticmodel-outline|staticmodel-outline]]<br /> | [[CS382:fire|Done]]<br /> | [[CS382:Unit-mashup|Unit-mashup]]<br /> | [[CS382:structural-outline|not really]]<br /> | [[CS382:equation-outline|equation-outline]]<br /> | [[Cs382:unit-compsoc|Little of this]]<br /> | [[CS382:Predator-Prey|Done]]<br /> | [[CS382:chaos_templated|No]]<br /> | [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> | QRa<br /> | [[CS382:Unit-foundation-templated|Unit-foundation-templated]]<br /> | [[CS382:staticmodel-outline|Yes]]<br /> | [[CS382:fire|Done]]<br /> | [[CS382:Unit-mashup|Unit-mashup]]<br /> | [[CS382:structural-outline|not really]]<br /> | [[CS382:equation-outline|equation-outline]]<br /> | [[Cs382:unit-compsoc|Little of this]]<br /> | [[CS382:Predator-Prey|Done]]<br /> | [[CS382:chaos_templated|Yes]]<br /> | [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> | QRb<br /> | [[CS382:Unit-foundation-templated|Unit-foundation-templated]]<br /> | [[CS382:staticmodel-outline|Yes]]<br /> | [[CS382:fire|Done]]<br /> | [[CS382:Unit-mashup|Unit-mashup]]<br /> | [[CS382:structural-outline|Not really]]<br /> | [[CS382:equation-outline|equation-outline]]<br /> | [[Cs382:unit-compsoc|Little of this]]<br /> | [[CS382:Predator-Prey|Done]]<br /> | [[CS382:chaos_templated|Yes]]<br /> | [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> | QRc<br /> | [[CS382:Unit-foundation-templated|Unit-foundation-templated]]<br /> | [[CS382:staticmodel-outline|Oh yeah]]<br /> | [[CS382:fire|Done]]<br /> | [[CS382:Unit-mashup|Unit-mashup]]<br /> | [[CS382:structural-outline|Not really]]<br /> | [[CS382:equation-outline|equation-outline]]<br /> | [[Cs382:unit-compsoc|Nada]]<br /> | [[CS382:Predator-Prey|Done]]<br /> | [[CS382:chaos_templated|Yes]]<br /> | [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> | QRd<br /> | [[CS382:Unit-foundation-templated|Unit-foundation-templated]]<br /> | [[CS382:staticmodel-outline|Oh yeah]]<br /> | [[CS382:fire|Done]]<br /> | [[CS382:Unit-mashup|Unit-mashup]]<br /> | [[CS382:structural-outline|Not really]]<br /> | [[CS382:equation-outline|equation-outline]]<br /> | [[Cs382:unit-compsoc|Nope]]<br /> | [[CS382:Predator-Prey|Done]]<br /> | [[CS382:chaos_templated|No]]<br /> | [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> | QRe<br /> | [[CS382:Unit-foundation-templated|Unit-foundation-templated]]<br /> | [[CS382:staticmodel-outline|Oh yeah]]<br /> | [[CS382:fire|Done]]<br /> | [[CS382:Unit-mashup|Unit-mashup]]<br /> | [[CS382:structural-outline|structural-outline]]<br /> | [[CS382:equation-outline|equation-outline]]<br /> | [[Cs382:unit-compsoc|Nope]]<br /> | [[CS382:Predator-Prey|Done]]<br /> | [[CS382:chaos_templated|Yes]]<br /> | [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> | QRf<br /> | [[CS382:Unit-foundation-templated|Unit-foundation-templated]]<br /> | [[CS382:staticmodel-outline|Oh yeah]]<br /> | [[CS382:fire|Done]]<br /> | [[CS382:Unit-mashup|Unit-mashup]]<br /> | [[CS382:structural-outline|structural-outline]]<br /> | [[CS382:equation-outline|equation-outline]]<br /> | [[Cs382:unit-compsoc|Yes]]<br /> | [[CS382:Predator-Prey|Done]]<br /> | [[CS382:chaos_templated|Yes]]<br /> | [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> | QRg<br /> | [[CS382:Unit-foundation-templated|Unit-foundation-templated]]<br /> | [[CS382:staticmodel-outline|Oh yeah]]<br /> | [[CS382:fire|Done]]<br /> | [[CS382:Unit-mashup|Unit-mashup]]<br /> | [[CS382:structural-outline|structural-outline]]<br /> | [[CS382:equation-outline|equation-outline]]<br /> | [[Cs382:unit-compsoc|Yes]]<br /> | [[CS382:Predator-Prey|Done]]<br /> | [[CS382:chaos_templated|Yes]]<br /> | [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> | SIa<br /> | [[CS382:Unit-foundation-templated|Unit-foundation-templated]]<br /> | [[CS382:staticmodel-outline|staticmodel-outline]]<br /> | [[CS382:fire|Done]]<br /> | [[CS382:Unit-mashup|Unit-mashup]]<br /> | [[CS382:structural-outline|structural-outline]]<br /> | [[CS382:equation-outline|equation-outline]]<br /> | [[Cs382:unit-compsoc|Yes]]<br /> | [[CS382:Predator-Prey|Done]]<br /> | [[CS382:chaos_templated|Yes]]<br /> | [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> | SIb<br /> | [[CS382:Unit-foundation-templated|Unit-foundation-templated]]<br /> | [[CS382:staticmodel-outline|staticmodel-outline]]<br /> | [[CS382:fire|Done]]<br /> | [[CS382:Unit-mashup|Unit-mashup]]<br /> | [[CS382:structural-outline|structural-outline]]<br /> | [[CS382:equation-outline|equation-outline]]<br /> | [[Cs382:unit-compsoc|None]]<br /> | [[CS382:Predator-Prey|Done]]<br /> | [[CS382:chaos_templated|No]]<br /> | [[CS382:End-Notes|End-Notes]]<br /> <br /> |-<br /> | SIc<br /> | [[CS382:Unit-foundation-templated|Unit-foundation-templated]]<br /> | [[CS382:staticmodel-outline|staticmodel-outline]]<br /> | [[CS382:fire|Done]]<br /> | [[CS382:Unit-mashup|Unit-mashup]]<br /> | [[CS382:structural-outline|structural-outline]]<br /> | [[CS382:equation-outline|equation-outline]]<br /> | [[Cs382:unit-compsoc|Yes]]<br /> | [[CS382:Predator-Prey|Done]]<br /> | [[CS382:chaos_templated|No]]<br /> | [[CS382:End-Notes|End-Notes]]<br /> <br /> |}<br /> &lt;/center&gt;<br /> <br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The entire unit centers around learning how to create and use abstract models. We work on first what they are and then how to use them.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: This unit deals almost entirely will quantitative reasoning, and would be hard to expand into the abstract world.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Sort of. This lab is more concrete. This unit will go early in the semester so it will apply some of the more abstract ideas presented earlier.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not apply; this unit is purely quantitative.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Agents -&gt; abstract models<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The lab provides hands on experience in generalizing and extrapolating from a specific small scale problem to a larger instance of that problem. The lab further focuses on getting students to put together a toolkit of techniques to create simple abstract models.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: Parameter sweeping (one of the primary goals of this unit) can be used in almost every instance of computational simulations. In this sense it can be expanded from this specific model to others, yet it is more of a quantitative method of analysis than it is abstract.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because we're showing how structures and bridges, specifically apply to the abstract model parameters described in the ''What is a static model'' and ''what is a dynamic model'' units.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Again it does not apply/support.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: discussion of boids, sugarscape and agent based modeling as a whole<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, See above about the lab. Also we apply word problems in the form of fermi-problems encouraging students to make and defend measurements and create numeric results.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: '''''Analysis of this unit's support or not for this item.'''''<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Eh, again, this unit isn't geared towards this as far as I can see.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not support it; it could but we have different focus.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: the emergent behavior is a process of abstract manipulation; comparing emergent behavior back against the real world is &quot;converting solutions back into concrete results&quot;<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The discussion of vetting materials requires and creates an understanding of how to interpret quantitative information<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: This unit is intended to teach the student how to gather data using a specific tool and analyze that data to come to some conclusion.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: not really. or ''maybe...'' If we use the pasco solution, the beam strength will be documented, and the students can perform basic calculations to figure out whether beams will break under a certain load.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and certainly tables.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Little of this - the point is to avoid formulas (initially), but graphs and tables come up when analyzing model results.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Partially, The exercises in lab as well as the fermi problems beget skill in representing data numerically and verbally<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: The student will need to create a lab write-up in which they express why they went about collecting the necessary amount of data. They will also need to include examples of said data and an explanation of what conclusion(s) can be drawn from that data.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The models provide a framework for visualizing physical (mathematical) constraints.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and tables which will also have their symbolical, graphical and numerical representations.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Little of this. We're working with people, not numbers.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, the lab design is geared toward teaching how to solve counting and statistical problems in multiple contexts.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: While this unit deals almost entirely with a single tool, the idea of parameter sweeping is necessary in every form of simulation and is thus applicable in a wide range of contexts.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: This is one context where we're using mathematical and statistical ideas.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Still not sure how big will variety be but what is sure that math and statistical ideas will be used to solve problems.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Nada.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: We are using mathematics to solve problems.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Partially, we discuss the creation of these models however the ones that students use in this unit are likely to not fulfill these.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: This wildfire model clearly shows how the number of burned trees is directly dependent on certain features of the forest (density, wetness, etc) and how minor changes in those features can dramatically change the outcome.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Not really.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Probably we will meet linear dependence in this unit; following the graphs of the various bottle pressure bottles, etc.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: This could be worked in, but isn't there now.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, we introduce statistics in the context of models and discuss their usefulness<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: At the end of this unit the student should be able to understand that one cannot make sufficiently accurate conclusions about a model with only a single data set.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because the traversal (where we test the bridge by simulating a car driving over it) is a deterministic process. Maybe we could introduce the difference between probabilistic and deterministic.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It will certainly contain all the above mentioned ideas cause we are talking about predicting events, simulating models and analyzing predicted events. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Nope.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Only so much as these ideas would be helpful in a particular model.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, in both the lab work and the other problems for the students to solve this unit requires strong support for all assertions that students make<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: In the beginning of the lab portion of this unit, the student should take a guess at what the result will be when the density of the forest is varied. After running a number of trials, they should be able to easily assess the accuracy of they're answer as well as the reasonableness of their results from the lab.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because students will try to build different types of bridges and determine the 'reasonableness' of their solutions by the simulated test outcome.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. &quot;Yes, estimation and confirmation are important part of the unit.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: In a more abstract way than most mathiness.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models and there is an analysis part of our lab.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Not yet, I need to add this in the introductory portion<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: The student should clearly note that this model of wildfires is far from indicative of how they actually happen. It should be stressed that this model is simply proof of concept for showing the profound effect a single variable can have on the overall results.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: yes, because the physical model will not account for all variables, such as wind.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Even if numbers of paper have power to predict and evaluate something; real life experiment can always show more than numbers.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: This is fulfilled - the point of ABM is the limitation of mathematical and statistical methods.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, this unit lays the framework for students to explore the natural world through counting and modeling.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: After the completion of this unit, the student should understand the world's dependence on a surprisingly small number of variables even though this model is far from accurate.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Modeling physical structures is important because the natural world is comprised of physical structures.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students are making a model which is going to resist gravity, but also be affected by natural happenings like air drag, and possible weather features. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Yes. Agent based methodology informs a way of thinking about natural processes that differs from more typical techniques - the ideas of emergent behavior are present in every day life.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: They can model natural systems including our example, Predator-Prey models.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Strengthens students' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, one of the major take-away points of this unit is how to develop a scientific knowledge of a system.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: The entirety of this lab is to change a variable, observe the results, and repeat, eventually leading to having enough data to make reasonable theories on the model.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The students will determine the most appropriate method to build a simulated bridge through both lecture content and trial and error. They will test their models by building physical models of their virtual structures.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students will have chance to pre-use computer simulators and software which are going to possibly give them ideas to develop their own ideas about the model and predictions of occurrences throughout the lab.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: None.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, the lecture emphasizes analysis of data and the basics of how to collect it. The lab focuses on the collection of empirical data.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: The lab portion of this unit is exactly this: gathering numerical data in order to provide the basis for some sort of conclusion.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The students collect the empirical data by synthesizing lecture content and trial and error. They (potentially in groups) will each devise different models to solve the same problem.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The lab will be the main medium of experiencing the real model evolving; and cause of that will be collection of data and students analysis of ones. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Yes. Models = theoretical. Analyzing one's own social circle, for example, is empirical collection.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]:</div> Edlefma https://wiki.cs.earlham.edu/index.php?title=CS382:GenEds&diff=8801 CS382:GenEds 2009-03-31T03:51:53Z <p>Edlefma: New page: == General Education Alignment == === Analytical Reasoning Requirement === ==== Abstract Reasoning ==== From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog ...</p> <hr /> <div>== General Education Alignment ==<br /> === Analytical Reasoning Requirement ===<br /> ==== Abstract Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''Courses qualifying for credit in Abstract Reasoning typically share these characteristics:''<br /> * ''They focus substantially on properties of classes of abstract models and operations that apply to them.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The entire unit centers around learning how to create and use abstract models. We work on first what they are and then how to use them.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: This unit deals almost entirely will quantitative reasoning, and would be hard to expand into the abstract world.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Sort of. This lab is more concrete. This unit will go early in the semester so it will apply some of the more abstract ideas presented earlier.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not apply; this unit is purely quantitative.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Agents -&gt; abstract models<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''They provide experience in generalizing from specific instances to appropriate classes of abstract models.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The lab provides hands on experience in generalizing and extrapolating from a specific small scale problem to a larger instance of that problem. The lab further focuses on getting students to put together a toolkit of techniques to create simple abstract models.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: Parameter sweeping (one of the primary goals of this unit) can be used in almost every instance of computational simulations. In this sense it can be expanded from this specific model to others, yet it is more of a quantitative method of analysis than it is abstract.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because we're showing how structures and bridges, specifically apply to the abstract model parameters described in the ''What is a static model'' and ''what is a dynamic model'' units.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Again it does not apply/support.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: discussion of boids, sugarscape and agent based modeling as a whole<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, See above about the lab. Also we apply word problems in the form of fermi-problems encouraging students to make and defend measurements and create numeric results.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: '''''Analysis of this unit's support or not for this item.'''''<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Eh, again, this unit isn't geared towards this as far as I can see.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Does not support it; it could but we have different focus.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: the emergent behavior is a process of abstract manipulation; comparing emergent behavior back against the real world is &quot;converting solutions back into concrete results&quot;<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> <br /> ==== Quantitative Reasoning ====<br /> From the [[http://www.earlham.edu/curriculumguide/academics/analytical.html Catalog Description]] ''General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:''<br /> * ''Using and interpreting formulas, graphs and tables.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, The discussion of vetting materials requires and creates an understanding of how to interpret quantitative information<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: This unit is intended to teach the student how to gather data using a specific tool and analyze that data to come to some conclusion.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: not really. or ''maybe...'' If we use the pasco solution, the beam strength will be documented, and the students can perform basic calculations to figure out whether beams will break under a certain load.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and certainly tables.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Little of this - the point is to avoid formulas (initially), but graphs and tables come up when analyzing model results.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: In this unit we have students create and examine formulas for modeling the relationships between the different parts of the systems. We also have them draw diagrams for representing their model and then use graphs and tables to analyze their results.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Representing mathematical ideas symbolically, graphically, numerically and verbally.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Partially, The exercises in lab as well as the fermi problems beget skill in representing data numerically and verbally<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Yes. Well... maybe not verbally. The groups will be using the abstract notion of a static model to solve a real world problem.<br /> ** [[CS382:fire|Fire]]: The student will need to create a lab write-up in which they express why they went about collecting the necessary amount of data. They will also need to include examples of said data and an explanation of what conclusion(s) can be drawn from that data.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The models provide a framework for visualizing physical (mathematical) constraints.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It does support this it; as I described above- the unit requires and will develop math, and science skills so it will also include certain number of formulas, graphs and tables which will also have their symbolical, graphical and numerical representations.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Little of this. We're working with people, not numbers.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Systems dynamics is at it's core representing systems symbolically and mathematically.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Using mathematical and statistical ideas to solve problems in a variety of contexts.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, the lab design is geared toward teaching how to solve counting and statistical problems in multiple contexts.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: While this unit deals almost entirely with a single tool, the idea of parameter sweeping is necessary in every form of simulation and is thus applicable in a wide range of contexts.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: This is one context where we're using mathematical and statistical ideas.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Still not sure how big will variety be but what is sure that math and statistical ideas will be used to solve problems.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Nada.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: We are using mathematics to solve problems.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Using simple models such as linear dependence, exponential growth or decay, or normal distribution.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Partially, we discuss the creation of these models however the ones that students use in this unit are likely to not fulfill these.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: This wildfire model clearly shows how the number of burned trees is directly dependent on certain features of the forest (density, wetness, etc) and how minor changes in those features can dramatically change the outcome.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Not really.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Probably we will meet linear dependence in this unit; following the graphs of the various bottle pressure bottles, etc.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: This could be worked in, but isn't there now.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: In this unit we look at the concepts of linear and exponential growth and decay, among others.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Understanding basic statistical ideas such as averages, variability and probability.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, we introduce statistics in the context of models and discuss their usefulness<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: At the end of this unit the student should be able to understand that one cannot make sufficiently accurate conclusions about a model with only a single data set.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because the traversal (where we test the bridge by simulating a car driving over it) is a deterministic process. Maybe we could introduce the difference between probabilistic and deterministic.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''It will certainly contain all the above mentioned ideas cause we are talking about predicting events, simulating models and analyzing predicted events. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Nope.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Only so much as these ideas would be helpful in a particular model.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Making estimates and checking the reasonableness of answers.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, in both the lab work and the other problems for the students to solve this unit requires strong support for all assertions that students make<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: In the beginning of the lab portion of this unit, the student should take a guess at what the result will be when the density of the forest is varied. After running a number of trials, they should be able to easily assess the accuracy of they're answer as well as the reasonableness of their results from the lab.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Yes, because students will try to build different types of bridges and determine the 'reasonableness' of their solutions by the simulated test outcome.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. &quot;Yes, estimation and confirmation are important part of the unit.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: In a more abstract way than most mathiness.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models and there is an analysis part of our lab.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Recognizing the limitations of mathematical and statistical methods.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Not yet, I need to add this in the introductory portion<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: Oh yeah...<br /> ** [[CS382:fire|Fire]]: The student should clearly note that this model of wildfires is far from indicative of how they actually happen. It should be stressed that this model is simply proof of concept for showing the profound effect a single variable can have on the overall results.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: yes, because the physical model will not account for all variables, such as wind.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''Even if numbers of paper have power to predict and evaluate something; real life experiment can always show more than numbers.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: This is fulfilled - the point of ABM is the limitation of mathematical and statistical methods.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: When comparing SD to Agent based we will go into the relative strengths and weaknesses of SD in general and as compared to Agent based modeling. <br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> <br /> === Scientific Inquiry Requirement ===<br /> From the [[http://www.earlham.edu/curriculumguide/academics/scientific.html Catalog Description]] ''Scientific inquiry:''<br /> * ''Develops students' understanding of the natural world.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, this unit lays the framework for students to explore the natural world through counting and modeling.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: After the completion of this unit, the student should understand the world's dependence on a surprisingly small number of variables even though this model is far from accurate.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: Modeling physical structures is important because the natural world is comprised of physical structures.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students are making a model which is going to resist gravity, but also be affected by natural happenings like air drag, and possible weather features. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Yes. Agent based methodology informs a way of thinking about natural processes that differs from more typical techniques - the ideas of emergent behavior are present in every day life.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: They can model natural systems including our example, Predator-Prey models.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: Yes.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Strengthens students' knowledge of the scientific way of knowing - the use of systematic observation and experimentation to develop theories and test hypotheses.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, one of the major take-away points of this unit is how to develop a scientific knowledge of a system.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: The entirety of this lab is to change a variable, observe the results, and repeat, eventually leading to having enough data to make reasonable theories on the model.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The students will determine the most appropriate method to build a simulated bridge through both lecture content and trial and error. They will test their models by building physical models of their virtual structures.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The students will have chance to pre-use computer simulators and software which are going to possibly give them ideas to develop their own ideas about the model and predictions of occurrences throughout the lab.'''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: None.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: Experimentation is used when developing models.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]: <br /> <br /> * ''Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.''<br /> ** [[CS382:Unit-foundation-templated|Foundations of Modelling]]: Yes, the lecture emphasizes analysis of data and the basics of how to collect it. The lab focuses on the collection of empirical data.<br /> ** [[CS382:staticmodel-outline|Static Modeling]]: <br /> ** [[CS382:fire|Fire]]: The lab portion of this unit is exactly this: gathering numerical data in order to provide the basis for some sort of conclusion.<br /> ** [[CS382:Unit-mashup|Visualization]]: Analysis of this unit's support or not for this item.<br /> ** [[CS382:structural-outline|&lt;Structural Modeling&gt;]]: The students collect the empirical data by synthesizing lecture content and trial and error. They (potentially in groups) will each devise different models to solve the same problem.<br /> ** [[CS382:equation-outline|Rocket Modeling]]: Analysis of this unit's support or not for this item. '''The lab will be the main medium of experiencing the real model evolving; and cause of that will be collection of data and students analysis of ones. '''<br /> ** [[Cs382:unit-compsoc|Computational Sociology and Agent Based Modeling]]: Yes. Models = theoretical. Analyzing one's own social circle, for example, is empirical collection.<br /> ** [[CS382:Predator-Prey|Predator Prey ( Lynx Hare )]]: We certainly provide some experience with theoretical analysis but not much empirical data will be collected.<br /> ** [[CS382:chaos_templated|&lt;Chaos&gt;]]: No.<br /> ** [[CS382:End-Notes|End-Notes]]:</div> Edlefma