<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Teaching | Yang Gao</title><link>https://ygao36buffalo.github.io/teaching/</link><atom:link href="https://ygao36buffalo.github.io/teaching/index.xml" rel="self" type="application/rss+xml"/><description>Teaching</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sun, 01 Sep 2024 00:00:00 +0000</lastBuildDate><image><url>https://ygao36buffalo.github.io/media/icon_hu7729264130191091259.png</url><title>Teaching</title><link>https://ygao36buffalo.github.io/teaching/</link></image><item><title>Data Visualization &amp; Interaction (Offered Every Fall)</title><link>https://ygao36buffalo.github.io/teaching/data-visualization-and-interaction/</link><pubDate>Sun, 01 Sep 2024 00:00:00 +0000</pubDate><guid>https://ygao36buffalo.github.io/teaching/data-visualization-and-interaction/</guid><description>&lt;p>In our increasingly data-rich world, simply having data isn&amp;rsquo;t enough – we need to understand it, communicate it effectively, and extract actionable insights from it. This course empowers you to transform raw numbers and complex datasets into compelling, insightful visual narratives. We&amp;rsquo;ll blend the art of design with the science of data, learning how to create interactive visualizations that not only look good but also enable powerful data exploration and decision-making. Get ready to become a data storyteller!&lt;/p>
&lt;h2 id="what-youll-explore">What You&amp;rsquo;ll Explore:&lt;/h2>
&lt;h3 id="1-visual-perception--cognition-">1. Visual Perception &amp;amp; Cognition 👁️🧠&lt;/h3>
&lt;p>The human element is key! We&amp;rsquo;ll start by understanding how our eyes and brains process visual information, exploring principles of pre-attentive attributes, Gestalt psychology, and cognitive biases. This lays the groundwork for designing effective and intuitive visualizations.&lt;/p>
&lt;h3 id="2-data-fundamentals--preparation-">2. Data Fundamentals &amp;amp; Preparation 🧹&lt;/h3>
&lt;p>Before we visualize, we clean and structure! Learn about different data types (quantitative, categorical, ordinal), data quality issues, and essential techniques for wrangling, cleaning, and transforming your data to make it suitable for visualization.&lt;/p>
&lt;h3 id="3-visualizing-spatial-data-">3. Visualizing Spatial Data 🗺️&lt;/h3>
&lt;p>Explore techniques for representing geographic locations and spatial relationships. From simple scatter plots on maps to choropleth maps, heatmaps, and flow maps, we&amp;rsquo;ll learn to convey location-based insights effectively.&lt;/p>
&lt;h3 id="4-visualizing-tree-structures-">4. Visualizing Tree Structures 🌲&lt;/h3>
&lt;p>Dive into hierarchical data! Learn how to effectively visualize relationships and structures in organizational charts, file systems, category taxonomies, and other tree-like datasets using methods like treemaps, sunburst charts, and node-link diagrams.&lt;/p>
&lt;h3 id="5-visualizing-graph-structures-networks-">5. Visualizing Graph Structures (Networks) 🕸️&lt;/h3>
&lt;p>Uncover connections! Master techniques for visualizing complex networks, social graphs, co-occurrence relationships, and other graph data to reveal hidden patterns, communities, and central nodes.&lt;/p>
&lt;h3 id="6-visualizing-time-varying-data-">6. Visualizing Time-Varying Data 📈&lt;/h3>
&lt;p>See trends unfold! Learn how to effectively represent changes over time, from traditional line charts and area charts to more advanced streamgraphs, sparklines, and animated timelines that show evolution and patterns over temporal dimensions.&lt;/p>
&lt;h3 id="7-visualizing-text-data-">7. Visualizing Text Data 💬&lt;/h3>
&lt;p>Transform words into insights! Explore methods for visualizing textual information, including word clouds, n-gram charts, sentiment analysis visualizations, topic models, and network graphs derived from text.&lt;/p>
&lt;h3 id="8-geospatial-information-systems-gis--advanced-mapping-">8. Geospatial Information Systems (GIS) &amp;amp; Advanced Mapping 🌍&lt;/h3>
&lt;p>Beyond basic maps, delve into the power of GIS for analyzing and visualizing complex geographical datasets with real-world applications in urban planning, environmental science, and public health.&lt;/p>
&lt;h3 id="9-visualizing-high-dimensional-data-">9. Visualizing High-Dimensional Data ✨&lt;/h3>
&lt;p>Tame complexity! Learn strategies to visualize datasets with many attributes (dimensions), employing techniques like parallel coordinates, scatter plot matrices, dimensionality reduction (e.g., PCA, t-SNE), and glyph-based representations.&lt;/p>
&lt;h3 id="10-interactive-views--dashboard-design-">10. Interactive Views &amp;amp; Dashboard Design 🕹️&lt;/h3>
&lt;p>Bring your data to life! Explore principles of interactive design, enabling users to filter, zoom, pan, drill down, and explore data dynamically. We&amp;rsquo;ll also cover best practices for designing effective and user-friendly dashboards.&lt;/p>
&lt;hr>
&lt;div class="flex px-4 py-3 mb-6 rounded-md bg-primary-100 dark:bg-primary-900">
&lt;span class="pr-3 pt-1 text-primary-600 dark:text-primary-300">
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9-3.75h.008v.008H12z"/>&lt;/svg>
&lt;/span>
&lt;span class="dark:text-neutral-300">By the end of this course, you&amp;rsquo;ll not only be able to create beautiful and effective visualizations but also to communicate complex data stories with clarity and empower users to gain actionable insights. This is a critical skill for anyone navigating our data-driven world!&lt;/span>
&lt;/div>
&lt;hr>
&lt;p>Did you find this page helpful? Consider sharing it 🙌&lt;/p></description></item><item><title>Computer Organization (Offered Every Spring)</title><link>https://ygao36buffalo.github.io/teaching/computer-organization/</link><pubDate>Thu, 01 Feb 2024 00:00:00 +0000</pubDate><guid>https://ygao36buffalo.github.io/teaching/computer-organization/</guid><description>&lt;p>Ever wondered what magic truly happens inside your computer when you click a mouse, launch an app, or even just boot it up? This course takes you on an exciting journey deep into the heart of modern computing systems. We&amp;rsquo;ll peel back the layers of abstraction to understand the fundamental building blocks and principles that make software run efficiently on hardware. Get ready to gain a profound appreciation for the intricate dance between bits, bytes, and transistors!&lt;/p>
&lt;h2 id="syllabus">Syllabus:&lt;/h2>
&lt;h3 id="1-introduction-to-computer-systems-">1. Introduction to Computer Systems 🚀&lt;/h3>
&lt;p>An exciting overview of the computer&amp;rsquo;s anatomy – from high-level software to low-level hardware. We&amp;rsquo;ll set the stage for our adventure into the machine&amp;rsquo;s core, understanding the big picture before diving into the details.&lt;/p>
&lt;h3 id="2-information-encoding--data-representation-">2. Information Encoding &amp;amp; Data Representation 🔡&lt;/h3>
&lt;p>How do computers understand numbers, text, images, and sound? We&amp;rsquo;ll decode the secrets of binary, hexadecimal, and various data formats that form the computer&amp;rsquo;s native language. Learn how all digital information is just a series of bits!&lt;/p>
&lt;h3 id="3-arithmetic-operations--the-alu-">3. Arithmetic Operations &amp;amp; The ALU ➕➖&lt;/h3>
&lt;p>Dive into the &amp;ldquo;brain&amp;rdquo; of the computer! Learn how the Arithmetic Logic Unit (ALU) performs lightning-fast calculations and logical operations, making complex computations possible. We&amp;rsquo;ll explore the algorithms behind addition, subtraction, multiplication, and division at the hardware level.&lt;/p>
&lt;h3 id="4-memory-systems-">4. Memory Systems 🧠&lt;/h3>
&lt;p>From lightning-fast caches to vast hard drives, explore the hierarchy and magic of how computers store and retrieve information efficiently. Understand why some memory is faster than others and how virtual memory provides an illusion of infinite storage.&lt;/p>
&lt;h3 id="5-instruction-set-architecture-isa-">5. Instruction Set Architecture (ISA) ✍️&lt;/h3>
&lt;p>This is the &amp;ldquo;vocabulary&amp;rdquo; the CPU understands! We&amp;rsquo;ll learn how software instructions are designed and executed, bridging the gap between your high-level code and the low-level hardware. Discover the fundamental operations a processor can perform.&lt;/p>
&lt;h3 id="6-control-unit-design-">6. Control Unit Design 🚦&lt;/h3>
&lt;p>The orchestrator of the entire system! Discover how the control unit directs the flow of data and instructions, ensuring every component plays its part in perfect harmony. It&amp;rsquo;s the conductor of the CPU&amp;rsquo;s orchestra.&lt;/p>
&lt;h3 id="7-inputoutput-io-systems-">7. Input/Output (I/O) Systems 🌐&lt;/h3>
&lt;p>How do computers talk to the outside world? We&amp;rsquo;ll explore the mechanisms that allow your computer to interact seamlessly with keyboards, screens, networks, and other peripheral devices, managing their diverse speeds and requirements.&lt;/p>
&lt;h3 id="8-bus-structures-">8. Bus Structures 🛣️&lt;/h3>
&lt;p>The digital highways connecting all the internal components! Understand how data travels reliably and efficiently between the CPU, memory, and I/O devices, and the different types of buses that facilitate this communication.&lt;/p>
&lt;hr>
&lt;div class="flex px-4 py-3 mb-6 rounded-md bg-primary-100 dark:bg-primary-900">
&lt;span class="pr-3 pt-1 text-primary-600 dark:text-primary-300">
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9-3.75h.008v.008H12z"/>&lt;/svg>
&lt;/span>
&lt;span class="dark:text-neutral-300">By the end of this course, you&amp;rsquo;ll not only understand &lt;em>how&lt;/em> computers work at their core but also &lt;em>why&lt;/em> they are designed the way they are. This foundational knowledge is essential for anyone aspiring to build, optimize, or secure computing systems!&lt;/span>
&lt;/div>
&lt;hr>
&lt;p>Did you find this page helpful? Consider sharing it 🙌&lt;/p></description></item></channel></rss>