1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <meta charset="utf-8" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 7 <link rel="apple-touch-icon" sizes="76x76" href="../../assets/img/nc-logo.png"> 8 <link rel="icon" type="image/png" href="../../assets/img/nc-logo.png"> 9 <!-- Font Awesome Icons SK --> 10 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> 11 <title> 12 GIS for Public Admin 13 </title> 14 <!-- Fonts and icons --> 15 <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet" /> 16 <!-- Nucleo Icons --> 17 <link href="../../assets/css/nucleo-icons.css" rel="stylesheet" /> 18 <link href="../../assets/css/nucleo-svg.css" rel="stylesheet" /> 19 <!-- Font Awesome Icons --> 20
20<script src="https://kit.fontawesome.com/42d5adcbca.js" crossorigin="anonymous"></script>
20 21 <link href="../../assets/css/nucleo-svg.css" rel="stylesheet" /> 22 <!-- CSS Files --> 23 <link id="pagestyle" href="../../assets/css/soft-ui-dashboard.css?v=1.1.1" rel="stylesheet" /> 24 25 <link id="pagestyle" href="../../assets/css/custom.css" rel="stylesheet" /> <!-- SK Added --> 26 <!-- Nepcha Analytics (nepcha.com) --> 27 <!-- Nepcha is a easy-to-use web analytics. No cookies and fully compliant with GDPR, CCPA and PECR. --> 28
28<script defer data-site="YOUR_DOMAIN_HERE" src="https://api.nepcha.com/js/nepcha-analytics.js"></script>
28 29 <!-- SK: Custom Icon for Lists--> 30 <style> 31 .custom-list-pointed { 32 list-style-type: 'ð '; 33 } 34 .custom-list-allowed { 35 list-style-type: 'â '; 36 } 37 .custom-list-prohibited { 38 list-style-type: 'â '; 39 } 40 </style> 41</head> 42 43<body class="g-sidenav-show bg-gray-100" side-nav-id="about"> 44 <aside class="sidenav navbar navbar-vertical navbar-expand-xs border-0 border-radius-xl my-3 fixed-start ms-3" id="sidenav-main"> 45 <div class="sidenav-header"> 46 <i class="fas fa-times p-3 cursor-pointer text-secondary opacity-5 position-absolute end-0 top-0 d-none d-xl-none" aria-hidden="true" id="iconSidenav"></i> 47 <a class="navbar-brand m-0" href="index.html"> 48 <img src="../../assets/img/nc-logo.png" class="navbar-brand-img h-100" alt="main_logo"> 49 <span class="ms-1 font-weight-bold">PA 541 Spring 2025</span> 50 </a> 51 </div> 52 <hr class="horizontal dark mt-0"> 53 <div class="collapse navbar-collapse w-auto h-auto" id="sidenav-collapse-main"> 54 <!-- sidenav.html will be dynamically inserted here --> 55 </div> 56 </aside> 57 <main class="main-content position-relative max-height-vh-100 h-100 border-radius-lg "> 58 <!--Top/Horizontal Navbar --> 59 <nav class="navbar navbar-main navbar-expand-lg position-sticky mt-4 top-1 px-0 mx-4 shadow-none border-radius-xl z-index-sticky" id="navbarBlur" data-scroll="true"> 60 <div class="container-fluid py-1 px-3"> 61 <nav aria-label="breadcrumb"> 62 <ol class="breadcrumb bg-transparent mb-0 pb-0 pt-1 px-0 me-sm-6 me-5"> 63 <li class="breadcrumb-item text-sm"> 64 <a href="index.html" class="opacity-3 text-dark"> 65 <i class="fas fa-store fa-sm" style="color: #252f40;"></i> 66 </a> 67 </li> 68 <li class="breadcrumb-item text-sm"><a class="opacity-5 text-dark" href="index.html">PA 541</a></li> 69 <li class="breadcrumb-item text-sm text-dark active" aria-current="page">About Course</li> 70 </ol> 71 </nav> 72 <!--NavBar Right Corner Expand--> 73 <div class="collapse navbar-collapse mt-sm-0 mt-2 me-md-0 me-sm-4" id="navbar"> 74 <div class="ms-md-auto pe-md-3 d-flex align-items-center"> 75 <div class="sidenav-toggler sidenav-toggler-inner d-xl-block d-none "> 76 <a href="javascript:;" class="nav-link text-body p-0"> 77 <div class="sidenav-toggler-inner"> 78 <i class="sidenav-toggler-line"></i> 79 <i class="sidenav-toggler-line"></i> 80 <i class="sidenav-toggler-line"></i> 81 </div> 82 </a> 83 </div> 84 </div> 85 <ul class="navbar-nav justify-content-end"> 86 <li class="nav-item d-xl-none ps-3 d-flex align-items-center"> 87 <a href="javascript:;" class="nav-link text-body p-0" id="iconNavbarSidenav"> 88 <div class="sidenav-toggler-inner"> 89 <i class="sidenav-toggler-line"></i> 90 <i class="sidenav-toggler-line"></i> 91 <i class="sidenav-toggler-line"></i> 92 </div> 93 </a> 94 </li> 95 </ul> 96 </div> 97 </div> 98 </nav> 99 <!-- End Navbar bg-gradient-primary --> 100 <div class="container-fluid"> 101 <div class="page-header min-height-300 border-radius-xl mt-4" style="background-image: url('../../../assets/img/bg-sign-in-basic.jpeg'); background-position-y: 70%;"> 102 <span class="mask opacity-1"></span> 103 </div> 104 <div class="card card-body blur shadow-blur mx-4 mt-n6 overflow-hidden"> 105 <div class="row gx-4"> 106 <div class="col-auto"> 107 <div class="avatar avatar-xl position-relative"> 108 <img src="../../../assets/img/nc-state-university-logo.png" alt="profile_image" class="w-100 border-radius-lg shadow-sm"> 109 </div> 110 </div> 111 <div class="col-auto my-auto"> 112 <div class="h-100"> 113 <h5 class="mb-1"> 114 Geographic Information Systems (GIS) for Public Administration 115 </h5> 116 <p class="mb-0 font-weight-bold text-sm"> 117 Spring 2025 118 </p> 119 </div> 120 </div> 121 </div> 122 </div> 123 <div class="row mt-3"> 124 <div class="col-12 col-md-6 pt-3"> 125 <div class="card h-100"> 126 <div class="card-header pb-0 p-3"> 127 <div class="row"> 128 <div class="col-md-8 d-flex align-items-center"> 129 <h6 class="mb-0">Instructor</h6> 130 </div> 131 <div class="col-md-4 text-end"> 132 <a href="javascript:;"> 133 <i class="fas fa-user-edit text-secondary text-sm"></i> 134 </a> 135 </div> 136 </div> 137 </div> 138 <div class="card-body p-3"> 139 <ul class="list-group"> 140 <li class="list-group-item border-0 d-flex align-items-center px-0 mb-2"> 141 <div class="avatar me-3"> 142 <img src="../../../assets/img/sk-headshot.png" alt="Serena Kim" class="border-radius-lg shadow"> 143 </div> 144 <div class="d-flex align-items-start flex-column justify-content-center"> 145 <h6 class="mb-0 text-sm">Serena Kim, PhD</h6> 146 <p class="mb-0 text-xs">Assistant Professor, School of Public and International Affairs</p> 147 </div> 148 </li> 149 </ul> 150 <hr class="horizontal gray-light my-4"> 151 <ul class="list-group"> 152 <li class="list-group-item border-0 ps-0 pt-0 text-sm"><strong class="text-dark">Webpage:</strong> <a href="https://serenakim.org" style="color: #596CFF";>https://serenakim.org</a></li> 153 <li class="list-group-item border-0 ps-0 text-sm"><strong class="text-dark">Office:</strong> Caldwell Hall 209A</li> 154 <li class="list-group-item border-0 ps-0 text-sm"><strong class="text-dark">Email:</strong> [email protected]</li> 155 <li class="list-group-item border-0 ps-0 text-sm"><strong class="text-dark">Meesage:</strong> <a href="https://chat.google.com/room/AAAAtatwwjk?cls=7" style="color: #596CFF">Google Chat</a> (Preferred for course-related questions)</li> 156 <li class="list-group-item border-0 ps-0 text-sm"> 157 <strong class="text-dark">Office Hours:</strong> 158 <a href="https://calendar.app.google/dAPMNJ799qdeEN2J6" target="_blank" style="color: #596CFF;">Schedule a Meeting</a>. Message me if these times don't work for you. 159 </li> 160 </ul> 161 </div> 162 </div> 163 </div> 164 <div class="col-12 col-md-6 pt-3"> 165 <div class="card h-100"> 166 <div class="card-header pb-0 p-3"> 167 <div class="row"> 168 <div class="col-md-8 d-flex align-items-center"> 169 <h6 class="mb-0">Course Details</h6> 170 </div> 171 <div class="col-md-4 text-end"> 172 <a href="javascript:;"> 173 <i class="fas fa-chalkboard text-secondary text-sm" data-bs-toggle="tooltip" data-bs-placement="top" title="Edit Profile"></i> 174 </a> 175 </div> 176 </div> 177 </div> 178 <div class="card-body p-3"> 179 <hr class="horizontal gray-light my-4"> 180 <ul class="list-group"> 181 <li class="list-group-item border-0 ps-0 pt-0 text-sm"><strong class="text-dark">
181Time:</strong> Wednesday 6:10 â 8:30 pm</li> 182 <li class="list-group-item border-0 ps-0 text-sm"><strong class="text-dark">Location:</strong> 113 Tompkins Hall</li> 183 <li class="list-group-item border-0 ps-0 text-sm"><strong class="text-dark">Communication:</strong> <a href="https://chat.google.com/room/AAAAtatwwjk?cls=7" style="color: #596CFF;">Google Chat</a></li> 184 <li class="list-group-item border-0 ps-0 text-sm"><strong class="text-dark">Syllabus:</strong> For course policies and procedures, refer to the <a href="syllabus.html" style="color: #596CFF;">Syllabus</a> page.</li> 185 <li class="list-group-item border-0 ps-0 text-sm"><strong class="text-dark">Schedule:</strong> All course materials can be found on the <a href="schedule.html" style="color: #596CFF;">Schedule</a> page.</li> 186 <li class="list-group-item border-0 ps-0 text-sm"><strong class="text-dark">Grades:</strong> Grades will be available on Moodle.</li> 187 <li class="list-group-item border-0 ps-0 text-sm"><strong class="text-dark">Zoom:</strong> For the remote sessions, use this <a href="https://ncsu.zoom.us/j/98373443285?pwd=CxCFeT8Zj5zCXa6HiLtbnsefW30mfo.1" style="color: #596CFF;">Zoom Link</a>.</li> 188 </ul> 189 </div> 190 </div> 191 </div> 192 </div> 193 <!-- FOOTER --> 194 <footer class="footer pt-4 pb-5"> 195 </footer> 196 </div> 197 </main> 198 199<!-- Core JS Files -->
200<script src="../../assets/js/core/popper.min.js"></script>
vendor: 1 bytes, line 200
200
201<script src="../../assets/js/core/bootstrap.min.js"></script>
vendor: 1 bytes, line 201
201
202<script src="../../assets/js/plugins/perfect-scrollbar.min.js"></script>
vendor: 1 bytes, line 202
202
203<script src="../../assets/js/plugins/smooth-scrollbar.min.js"></script>
vendor: 1 bytes, line 203
203
204<script src="../../assets/js/plugins/datatables.js"></script>
204 205<!-- Kanban scripts -->
206<script src="../../assets/js/plugins/dragula/dragula.min.js"></script>
vendor: 1 bytes, line 206
206
207<script src="../../assets/js/plugins/jkanban/jkanban.js"></script>
207 208<!-- Github buttons -->
209<script async defer src="https://buttons.github.io/buttons.js"></script>
209 210<!-- Control Center for Soft Dashboard: parallax effects, scripts for the example pages etc -->
211<script src="../../assets/js/soft-ui-dashboard.min.js?v=1.1.1"></script>
211 212 213<!-- SK: Initialize Data Tables -->
214<script> 215 // Initialize the basic data table 216 const dataTableBasic = document.querySelector("#datatable-basic"); 217 if (dataTableBasic) { 218 new simpleDatatables.DataTable(dataTableBasic, { 219 searchable: false, // Disable search functionality 220 fixedHeight: true // Enable fixed height for the table 221 }); 222 } 223 224 // Initialize the searchable data table 225 const dataTableSearch = document.querySelector("#datatable-search"); 226 if (dataTableSearch) { 227 new simpleDatatables.DataTable(dataTableSearch, { 228 searchable: true, // Enable search functionality 229 fixedHeight: true, // Enable fixed height for the table 230 perPageSelect: false, // Disable the dropdown for selecting entries per page 231 sortable: false // Disable column sorting 232 }); 233 } 234</script>
234 235 236<!-- SK: Initialize Smooth Scrollbar for Windows -->
237<script> 238 var win = navigator.platform.indexOf('Win') > -1; // Check if the platform is Windows 239 if (win && document.querySelector('#sidenav-scrollbar')) { 240 var options = { 241 damping: '0.5' // Smooth scrolling effect 242 } 243 Scrollbar.init(document.querySelector('#sidenav-scrollbar'), options); // Initialize the scrollbar with options 244 } 245</script>
245 246 247<!-- SK: Activate Tabs Based on URL Hash -->
248<script> 249 document.addEventListener("DOMContentLoaded", function () { 250 // Check if Bootstrap's Tab component is available 251 if (typeof bootstrap !== "undefined" && typeof bootstrap.Tab !== "undefined") { 252 // Function to activate a tab and its corresponding content based on the URL hash 253 function activateTabFromHash() { 254 var hash = window.location.hash; // Get the current URL hash 255 if (hash) { 256 // Find the tab link and tab pane corresponding to the hash 257 var targetTab = document.querySelector('a[href="' + hash + '"]'); 258 var allTabs = document.querySelectorAll('.nav-link'); 259 var allContents = document.querySelectorAll('.tab-pane'); 260 261 // Deactivate all tabs and content panes 262 allTabs.forEach(function (tab) { 263 tab.classList.remove("active"); 264 }); 265 allContents.forEach(function (content) { 266 content.classList.remove("show", "active"); 267 }); 268 269 // Activate the targeted tab and its content pane 270 if (targetTab) { 271 var tab = new bootstrap.Tab(targetTab); 272 tab.show(); // Use Bootstrap's method to show the tab 273 274 // Add the active class to the clicked tab 275 targetTab.classList.add("active"); 276 277 // Find and activate the corresponding tab pane 278 var targetPane = document.querySelector(hash); 279 if (targetPane) { 280 targetPane.classList.add("show", "active"); 281 } 282 } else { 283 console.error("No matching tab found for hash:", hash); 284 } 285 } 286 } 287 288 // Activate the tab on initial page load based on the URL hash 289 activateTabFromHash(); 290 291 // Listen for hash changes and update the active tab accordingly 292 window.addEventListener("hashchange", activateTabFromHash); 293 } else { 294 console.error("Bootstrap's Tab component is not loaded."); 295 } 296 }); 297</script>
297 298 299<!-- SK: added for the navbar -->
300<script> 301 document.addEventListener("DOMContentLoaded", function () { 302 // Fetch and insert sidenav.html 303 fetch("customblocks/sidenav.html") 304 .then((response) => { 305 if (!response.ok) throw new Error("Sidenav file not found"); 306 return response.text(); 307 }) 308 .then((html) => { 309 // Insert the sidenav into the container 310 document.getElementById("sidenav-collapse-main").innerHTML = html; 311 312 // Highlight the current sidenav menu item 313 const sideNavId = document.body.getAttribute("side-nav-id"); 314 const sidenavNavItem = document.querySelector(`#${sideNavId} .nav-link`); 315 if (sidenavNavItem) { 316 sidenavNavItem.classList.add("active"); // Add 'active' class for sidenav 317 } 318 }) 319 .catch((error) => console.error("Error loading Sidenav:", error)); 320 }); 321</script>
321 322 323<!-- SK: added for the footer -->
324<script> 325 document.addEventListener("DOMContentLoaded", function () { 326 fetch("customblocks/footer.html") 327 .then((response) => { 328 if (!response.ok) throw new Error("Footer file not found"); 329 return response.text(); 330 }) 331 .then((html) => { 332 document.querySelector("footer.footer").innerHTML = html; 333 }) 334 .catch((error) => console.error("Error loading Footer:", error)); 335 }); 336</script>
336 337 338</body> 339</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.