 Hello everybody and welcome to another Directions Magazine Geospatial Webinar. Today our sponsor is at Penn State and this is the ninth webinar in our series. And the focus today is on programming and what GISers need to know about it. And as you can see, we have a very distinguished panel today and we'll introduce you to everyone in just a minute. But I really want to take advantage of your time and get going right away so that we can get you off here within the hour. So let's get started. I've got a little map here that shows all of the registrants and there are over 650 of them. I mapped them based on their response to one of the registration questions. Which of the following programming languages do you feel is most important for a GIS developer to learn? And as you can see, there were a lot of different opinions but it looks pretty much like Python is the winner. I think there's more green than anything else. Also, James O'Brien is joining us today from Sydney, Australia and it's very early there. And I know a lot of people join us on webinars at ridiculous times. So just pop into your chat window and tell me if you're one of those outlying buttons there. I'd love to hear from you and thank you for being here. So far I've got Christopher, hello from Tawanda, Pennsylvania. Yeah, that's not quite as outlying but I'm wondering if there's any of these South Americans or people from more Australians here or Africans. We've got somebody from Reading, Pennsylvania. Hi, Susanna. How are you? Thanks for joining us. Anyway, let's keep going on. But if there's anybody else who wants to chime in and tell me where you're from, I'd love to say hi to you. So just a quick word here about Directions Magazine. In case you're not familiar with the full scope of what we do here at Directions Media, we are best known for our comprehensive publication, Directions Magazine and our newsletters. We're also involved in conferences and webinars. And so I invite you to visit us at DirectionsMag.com and I do want to put a shout out here to Derek who is in Abu Dhabi, United Arab Emirates, and it's 11 p.m. for him. And I've got Darren here who says he's only an outlier in programming knowledge. Well, thanks guys. And got some other folks who are in the U.S. here chiming in. But I think, Derek, I think you win. Oh, here's somebody from Denver, Colorado. Yep. I think, Darren, you're the winner from being in, oh no, wait a minute. You just got beat by somebody for whom it's 1 a.m. in India. And he got somebody coming in from Serbia whose first name and last name I'm not even going to try to pronounce. Thanks everybody for being here, especially those middle of the night folks and James super, super early in the morning. I just want to run through a few housekeeping details. We encourage you to ask questions and we'll do our best to answer as many of them as possible. You can also send us a tweet at DirectionsMag and include the hashtag Penn State or excuse me, Penn Webinar. And you can access a PDF copy of the slides as well as a link to biographies for our speakers. I'm going to put those in your questions chat window in just a minute after I've finished talking to everybody. And we'll be taking a few polls during today's webinar and we'll walk you through those when we get to them. And today's webinar is being recorded in all registrants. You can all receive an email with instructions on how to view it on demand. It's also handy if you want to pass it on to your colleagues and we'll get that out to you as quickly as we can, hopefully tomorrow. And finally, there's a quick survey. As you exit the webinar, I'm going to appreciate it if you take a minute to let us know how we did today. And I do want to pronounce this person in Serbia's name because he was kind enough to give me exact pronunciation. It's Neboj Šapešić. Thank you so much for joining us. And I'd like to introduce Wes Stroh, who is our series moderator for the webinar. And he's the lead author and instructor on a newly developed course called Location Intelligence for Business. And he's also an instructor for the Geog482, the Nature Geographic Data course. And before getting involved in GIS and geography, Wes worked in industry and technical sales, marketing and product management. And Wes is also taking a few turns helping us out here at Directions as a guest moderator for our webinar series. So, Wes, thanks so much for being here. Over to you. Thanks, Nora. I'm glad to be here. And as Nora mentioned, I'll be putting my official Penn State hat back on today. So those of you who've seen me on some of the recent TomTom webinars, I'm here representing Penn State today. This is the 9th in our series. And it's the third year in our series of this great partnership with Directions, which we've entitled Inside Geospatial Education and Research. And what we really try to do is bring topics of thought leadership, talk about what's going on at Penn State, and really talk about what's going on in the world, all things geospatial. So I think we've got a really interesting topic for you today. Let me just quickly run through the agenda. So we've been welcomed by Nora, and I've introduced you to the webinar series. And we've got really four parts to the webinar today. My colleague and friend, Dr. James O'Brien, who's both a Penn State faculty member and also works out in the geospatial world, is going to talk to us today about why we program, why we need to develop and customize the software that we all work with. And one of the reasons that I think we've divided this up into four parts, in just a minute we're going to get to a poll to show you really the diversity of the audience today. But we've got folks who do programming and development, who do customization of the software. We've got folks that manage them today on the call. We've got folks that hire them. And we've got folks that are interested in getting into the world. So for the folks that are kind of old hats or pros in the industry, and especially in terms of programming and customization, Craig Williams from Esri will be joining us. He's going to give us an industry perspective, both from kind of a historical context, but also kind of talking about what the really prominent and forward-thinking trends and technologies are with regard to programming and customization and development. Then we're going to bring my colleague, Senior Lecturer Dem Debtweiler on. Jim has been with our program since the very beginning, and he's going to run through all the courses that Penn State offers in terms of how we kind of address this topic of programming development and really educating students and leaders in the industry. And then Directions Media has asked us to get a little more in depth about what the online learning experience is like. And so for those of you that are thinking of taking a course or having maybe some of your employees taking the course, I will be joined again by Jim Debtweiler at the end, and we're going to talk a little bit about online learning in general and then online learning in these specific courses we've discussed. But before we get into the actual content, let's go ahead and turn to our first poll. And so, Nora, if you turn on that first poll interface for me, the first poll we want to ask you, we asked you this in the registration, but what we'd really like to do now is let everybody know who else is on the call with us today. So you've got a number of choices here. Are you a developer looking to add more programming languages? Do you need to become a hands-on developer to further your career? Are you a manager who needs an understanding of developer skills? Are you an HR person looking for options for your staff? Or are you just considering your options? So go ahead and think of which one of those identifies you. And as we get those responses in, I think it'll be interesting for us to really see the diverse audience we've got with almost 700 registrants today. And hopefully what we've done in breaking this webinar out today is really address the concerns that each of those different constituencies might have. Nora, how are the results looking? Yeah, we've got just about all 80% of you now. We're going over 80%, but people are still voting. A bunch of people are still voting. So I want to hang on to this for just a second or two more. And I'm really... These are some pretty interesting results. I'm going to skew the voting by saying what's number one here. And I do have Ann saying that she's an educator working on curriculum, so those topics don't exactly fit her. But yeah, I think we've pretty much leveled out about 90% of the people have voted. If you want to vote, do go ahead and get that in. And I'm going to go ahead and close it now and we'll share the results here. So definitely we got the right crowd here, Wes. A lot of them need to become hands-on developers to further their careers. It seems to be the leading choice. But yeah, I'll let you go ahead and take a look at the results there. Okay, yeah, so it looks like almost half of you are needing to become hands-on developers. Well, we've got still a good representation from folks considering their options or who might be already developers looking to enhance their skill set. As we expected and as we had seen in the registration, we've got a fair number of managers who really need to understand how this fits into their organization, whether consulting or development or whatever. And although we had a few HR folks registered, it doesn't look like any of them have voted today. So let's go ahead and close that poll, Nora, and we'll go ahead and get started. Okay, sounds good. Well, I'm really pleased to welcome my colleague and friend from Down Under, Dr. James O'Brien. He's a risk scientist at Risk Frontiers. He's also an instructor in our online geospatial education program. Risk Frontiers is an Australian independent research center, and it's really sponsored by the insurance industry to better aid understanding and pricing of the natural hazard risks that occur in the Asia-Pacific region. Before James worked for these folks, he has a BFC in geographic information science, of course, from Curtin University, and actually a PhD in geography from Penn State, where he worked on representing geographic semantics. Jim instructs specifically our GEOG 485 Python course here at Penn State and really specializes in a wide range of geospatial topics, spatial analysis, cartography, programming, and really many other aspects of geographic information science. So I'm really pleased to welcome James, who's going to talk. I think this place will be really to the managers to talk about how programming customization impacts your organization. James, welcome. Thanks very much, Wes, and hello. I nearly said good morning to everyone else. It's just after six o'clock here in Sydney. It's great to be with you all. As Wes said, what I'd like to do is talk to you a little bit about why programming is important. So I wanted to go through first some of the problems that we face, and those of you that are programmers are aware of this, and it's probably why you're interested in being on the call and recognize that some of these skills are necessary. We all spend quite a lot of time waiting for those little scroll bars to go across our screens. And it's great. As good as Esri's software is, some things do take quite a long time to run. So we will sit around and wait for these tasks that have long times for individual steps to complete. That waits quite a fair bit of valuable analyst time when they're sitting there waiting for those scroll bars. They could be doing something else. So aside from the time that's lost, there's also issues of quality of projects or tasks that need to be run consistently and possibly run by a number of people as well. Every time there's a checkbox or a map design or a font or anything like that that needs to be changed. There's an additional opportunity for some sort of error to creep in. A step gets missed, for example, and those sorts of quality processes are things that can be fixed with a little bit of development time. And also if we look at tasks that need to be run repetitively, 50 or 100 times perhaps, again the opportunity creeps in just through potentially really boredom that an option is going to be missed or a box will be ticked wrong and the results won't be quite what you're expecting. So what I'd like to do is run you through three sample problems that are really good demonstrators of where programming can come in quite handy. And all of these three are from our own experience here at Risk Frontiers. The first I want to talk about is a very large spatial database that we've built, the National Flood Information Database. It contains around 12 million, 12.5 million addresses, which is all of the addresses in Australia. More than 60 study areas and somewhere between one and five flood surfaces or flood extents. So Australia is a pretty large country and across that there's inconsistencies in how these flood studies are put together, which is perfectly understandable. And you can see in the bottom left-hand corner down there there's quite a simplified diagram of how this database is built and as you might expect with something that's used by insurers to assist in how they price their flood risk, they need to have an awful lot of confidence in that data. So there are a large number of quality assurance and quality control checks. And every one of those processes needs to be very tightly audited. So having an individual running through and converting data and clicking on certain options and those sorts of things isn't really an option. It's a far more appropriate approach to take to automate it. Additionally, every one of those 12 million addresses has metadata notes that go with explaining where the data has come from. So again, that is something that needs to be automatically created. So we've built a series of tools using Visual Studio, which is something Jim will talk about a little bit later in our application development class. But you can see some of the outputs there from this one. So this is a pretty good case. Very big spatial databases, lots of steps that need to be completed. It's a good argument for doing a little bit of programming. If we jump forward, there's another good example that's worth looking at. We've built a liquefaction potential analysis for earthquake. And we do it for all of the world. And as you might imagine, some of those data sets are very, very large. So one of the things we've done is built a model builder application, which is something that again is covered in programming and automation, one of our other developer courses. And this works very well because some of these processes take between two to three days to run if you're re-sampling a global land cover data set, for example, or a global geology data set. This is going to take quite a long time. And it's impractical to expect someone to stay at work until two or three o'clock in the morning to make sure that that's finished running so they can start the next step in the process. So you can see a couple of examples there. There's a few regions in the world that we've reproduced at different resolutions, which is again something very important. But once again, the quality of this data is the highest priority. So we can't afford to have options misclicked or again wait around for people to run through them. It takes a very long time and it's completely impractical. The third sample problem I want to look at is probably the best argument for doing a bit of programming. We're conducting a statewide natural hazard risk assessment for one of the quite large states in Australia. It's about twice the size of Texas. It contains 74 county equivalents, somewhere between two and ten natural hazard layers, things like bushfire, flood, earthquake, storm surge, cyclone or hurricane, a large number of infrastructure layers for schools and hospitals, roads, evacuation routes and also multiple population variables, age, income, potential vulnerability, those sorts of things. So when you start intersecting the hazard layers with all of the infrastructure and population variables, you end up with around about 150 maps per county. And each one of those maps in isolation is quite simple. There's a little model builder representation there of the few steps that need to be undertaken and a little sample map on the right-hand side as well. But if we think about what it means to have 150 maps per county created, if we jump forward we can start looking at what some of those problems might be. We do have an awful lot of data that goes into producing those maps and some of it is inconsistent across the region but it's also regularly updated. So we've got a lot of changing data that we need to deal with so these maps need to be recreated regularly and for a large number of clients. Speaking of clients, you guys are probably familiar with this. The client will change their reporting requirements. Or, oh, I don't like the colors on the map. Could you please change them? Or could we have some different categories? Those sorts of things for individual maps are very easy to change but when you're looking at a few hundred and in this case a few thousand maps there's a very good argument for starting to automate this process. And what you can see at the bottom there is a couple of examples of how we need to aggregate this data together to start calculating summary statistics, not just by the counties but by the states as well. So we've got to bring all of this data together so it makes sense to have some method of doing that on the fly every time that the data is updated. So what are the solutions? And it's probably quite obvious we're talking about why programming is important. So you could have a large number of people working full-time on this keeping track of data updates using ArcGIS desktop, producing these maps manually. Aside from that being expensive and time consuming, the bigger question is how do we avoid errors and inconsistency? Well, you could use ArcGIS model bill but it's not designed and neither was it really intended to be for a situation like this where you have a large number of iterations and a lot of individual processes that need to be repeated. So we've come up with a slightly different solution and what we want to do and what we did do was we wrote about 2,000 lines of Python code and that probably sounds quite daunting but really it isn't. You can start from model builder and work your way forward with some little examples and a lot of that is also documentation as well. The big advantages to this are it's easily modified and updated so when the client changes their requirements we can adapt it very, very quickly. Anybody can run it with simple instructions so any of our non-technical analysts or even the client can make use of it. It's very, very simple to set it running and walk away which you can leave it when you go home at the end of the day or when you step out for lunch. The analysis is very readily reproducible so no matter who runs it the results will look the same, the maps will be the same and because Python functions as a glue language which is something that Craig is going to talk about shortly we can drag in other libraries so you can see some graphs there that are actually inappropriately lined up but again that's part of the fun of programming and we can use different classifications. We can use all sorts of other tools. We're not just restricted to ESRI's programming library but for me the best thing is that when the clients do change their requirements this code will reproduce those maps at about the rate of one a minute which is really quite impressive and as good as our cartographers are we don't expect them to be that productive. So we've talked about desktop. Now what about the web? Well we've got a package here called the multi-paral workbench which allows insurance companies to look at the losses across their entire portfolios and normally when we present the results and that's why we're looking at the results today what they see is a series of graphs by time or by probability or a table and while that's very very useful for the actuaries something that's even more useful is if we visualize that risk in the portfolio spatially so what we can do is take the data out of those tables and using some of ESRI's programming APIs for web feature services and web map services we can create quite a rich visualization so that insurers can look at whether or not they're aggregating risk in a particular postcode or zip code for example or if someone is working in a call center and receives a call asking about why is my policy as expensive as it is they can get a reasonable example about well you're very close to a river I see here or you're very close to bushland so your fire risk is high. Speaking of risk and maps we can make available our hazard risk and exposure maps using those same services and we can also create some automated reporting as well. So what are the benefits? Well they're pretty obvious really I guess there's productivity improvements through multitasking there's much much greater consistency in the task outputs but probably most importantly is a lot of valuable analyst time is made available for performing tasks that you can't automate and I'll be the first to admit that yes you do need to invest in some developer time but it has been our experience that these costs are rapidly recovered from improved analyst productivity. So with that I'm going to hand over to Craig Williams who's going to give you the industry perspective. Actually I'll take it back for just a second James. No problem thanks a lot James and that was a really great overview of kind of the need case and some really good examples of what we encounter in our workplace and what kinds of needs we have and what we'd like to turn to next as James alluded is Craig Williams who's the lead product engineer for the mapping systems teams at Esri. He's worked there since 2002 and really the mapping systems team is responsible for mapping functionality across all Esri products. Well we don't want to buy it for the call today but just as we recognize that they're a dominant player and Craig has a really good perspective on a lot of the trends that we've seen come over recent decades. So Craig's going to take a dip back in time and then move towards what we're seeing currently and Craig really appreciates you joining us today. Thanks Wes. Alright so when we talk about GIS programming and development we really talk about sort of the full gamut of places where you can do software development. So you have desktop applications you know your traditional GIS applications. A lot of new work in the mobile frontier whether that's for phones or tablets for a lot of time streamlined applications on those platforms. You have web services which can be exist by themselves but are often used in coordination with web applications, mobile applications and desktop applications. And really you know as a GIS developer you can work across all of those. Now just as Wes mentioned I'm going to go back in time a little bit to talk about where we've been and where we're going with software development in the GIS domain. And really in the early days a lot of GIS development was based on extending GIS platforms and their data models. So really gap filling the technology. So you brought in a piece of GIS technology whether it was an Esri product or someone else's product and maybe you needed to add some additional capabilities to that product starting with adding support for a new data source and then building the application logic that worked with that new data source and then maybe the analysis that you leveraged that data source for. And often doing this involved pretty deep programming endeavors where you had to dive in and really work with the lower level APIs of the platform. So not quite as difficult as this poor chap in this picture but you really owned the full stack from end to end, the low level data all the way through to the user experience. Now systems have evolved over time and for instance in the Esri products we've added more types to the geodatabase so maybe you had to do less data modeling work and then we've added more functional capabilities more analysis capabilities more out of the box functionality that you used to have to maybe roll yourself you can now leverage directly out of the platform. And in a lot of cases custom development is now just for automation of tasks. James covered some scenarios in his organization where you're rolling existing functionality into tools and running that functionality perhaps from a custom UI. And we see this in the desktop and the web. And now in the present day the big trend we're seeing is really linking systems together. So we have full functioning GIS systems but we really need to link that GIS to another subsystem in our organization or maybe on the web. So within desktop and mobile applications we're typically talking about linking various libraries together to get a task done. If you're doing web applications you're really using web services to bring data and functionality across various platforms. So for instance you may have a web based analysis platform that pulls data from one service and runs the analysis on another service. Now for desktop applications you know as a desktop developer UI logic is still often very platform specific. So if you're developing for Windows you'll most likely be working with .NET these days if you're developing for a Mac you'll be using Objective-C with the cocoa user interface. But in a lot of applications that span these platforms we're seeing that backend extensibility is now being run via scripting languages and typically this is a glue language something that we can use to pull libraries together and by far the most common example of this is Python. So you'll see Python as an extensibility point in a lot of applications. Now on the web the picture is a bit different so definitely the trend from here on out is JavaScript, HTML5 based applications and really your functionality in your web service is either wholly within that web page all written in JavaScript that's called from within your browser or a combination of that and leveraging web services. So really you can do either approach. Now when working with JavaScript you're usually using various different JavaScript libraries. Now there's a lot of GIS oriented libraries such as the ArcGIS JavaScript API which builds upon Dojo or maybe you're working with jQuery or several of the other JavaScript libraries out there and not a day goes by when I don't see a new JavaScript library released out on the web. So I just want to go through a bit of a case study to talk about where an example and in every product has evolved to leverage a glue language like Python and the case I'm going to talk about is actually a web service case and that's printing an ArcGIS server. So prior to the ArcGIS 10.1 release the most popular request for ArcGIS server was to provide out-of-the-box printing functionality. And one of the reasons this was requested is because a lot of developers had to build this themselves for their clients and found it very difficult because to do this they either had to write all that logic entirely in their web app or use a combination of some web app logic and a service on the back end of the server to basically combine all the services to produce a custom export like PDF. Now at ArcGIS server we decided to leverage a couple different approaches for printing on the server. One is that we have an out-of-the-box print service and this provides basic printing functionality. But in our research we found that a lot of those custom web applications had specialized logic and oftentimes plugged into other libraries. So we decided that we would provide Python, a Python extensibility point for use as a print service. So with ArcGIS 10.1 you can write a print service in Python. There's just a few API calls you have to make for it to work and essentially your web application, or other app persists its state into a web map. That web map is passed into the Python method and then you can make a few API calls to get a PDF out. Now one of the great things that Python provides is that glue language capability. So in this case a lot of times we saw that people would export a map to a PDF and then want to insert it into a report that maybe was the reporting engine that was used by the company that was providing this functionality or a custom report that was being developed from scratch using some existing Python APIs. And really that's some powerful functionality. Now on the web I already mentioned JavaScript is definitely a king from here on out. There's still some use of plug-in technologies like Flex and Silverlight, but really moving forward JavaScript is really the focus because it works across all platforms. Works across mobile devices, full-fledged desktops, tablets, etc. And one thing to keep in mind is that there's a gentleman Jeff Atwood, you may know him as Coding Horror from his blog and Twitter account. He has a law out there, Atwood's law that says any application that can be written in JavaScript will eventually be written in JavaScript. And this is how popular and powerful JavaScript has become. So not week goes by when I don't see that another application has been ported to JavaScript just because it can be. And really the back-end JavaScript engines are getting faster and faster by the day to the point where really complicated applications can actually be written in JavaScript. Now when we typically think of JavaScript we think, oh, front-facing web applications, well that's changing. So several developers who are doing front-facing web applications wanted to use JavaScript to actually write services. And that's where Node.js comes in. Node is now the platform that people are using to write server-side JavaScript code to get their work done. You can use the same language on the back-end for your services, write your services in JavaScript, and then call them from JavaScript web applications. And that's really powerful to be coding in the same language across the full stack. So there's a lot of development work going on in that frontier and this whole category is just ever-evolving on a week-to-week basis. That's all I got. Back to you, Wes. Appreciate it. Well, before I let Jim launch in, I just want to welcome him, a senior lecturer who's been, again, as I mentioned with Penn State's online GIS program since 2000, specializes in GIS web programming, has authored courses on ARC objects and program and web mapping, spatial database development. Many of those courses we'll have to see in a minute. And as long as we're all doing the geographic check-in while James O'Brien is in Sydney and Craig is out in Redlands, Jim and I are down the hall from each other here at the University Park in Pennsylvania. So, Jim, welcome aboard. Thanks, Wes. And hi, everyone. I want to start with a slide that shows all of our online developer focused courses in one place. Each of these courses has its own slides. I'm going to go into more detail on them in a second. We're not going to spend much time here. The one thing I do want to say here is that you'll see that our courses tend to utilize Esri technologies because of their popularity in the market. But we do make sure that our students are exposed to other technologies as well. So, the first course Geography 45 and I think James alluded to it earlier. This, I consider, our flagship programming related course. It doesn't require any kind of programming experience coming in so it's great for beginners. And I saw that we had a lot of you folks in our audience. It starts out with Model Builder which is really automation without doing any kind of programming. But the main focus of the course is on how to use the Python programming language with Esri's geoprocessing framework to automate tasks in ArcGIS. And James talked a lot about the benefits of scripting work that would take a lot longer and be a lot more prone to error if we did it manually. This is the course for learning how to do that and as I said, it's a great starting point for new developers. The first student example I want to show is from Mike Prichard who works in county government. Mike created a custom tool for our toolbox that lets him specify a line feature class and a field within that feature class. And the tool then provides a list of all the unique values in that field and tells how many features have each value and then how long those features are in both feet and miles. This is the kind of thing that's really kind of tedious to do manually and a great candidate for automating. And so this was a really good final project for that class. The next class I want to talk about is GEOG 49, GIS application development. This is our desktop customization course. So if you want to develop add-ins for ArcMap to provide new buttons or tools, forms or extensions, this is the course for learning how to do that. Our students use Visual Studio and Esri's ArcObjects software components throughout the course. The student example I want to show from GEOG 49 is from Roger Bannister who is currently one of our master's students who works for a groundwater and environmental services business in Illinois. Like a lot of organizations, his shop needs to produce a lot of hard copy maps. And so he developed a toolbar that makes it easier to change the paper size, change the map scale or the scale bar rather and also to fill out metadata that they want to add around the outside of the map such as its title, who produced it, etc. So that takes me to GEOG 863, our GIS mashups or web mapping course. And we heard Craig talk a lot about the importance and the growing importance of JavaScript. So this is our JavaScript course. Here students learn how to build custom Google Maps stages working with JavaScript and the Google Maps API. They're also exposed to Esri's JavaScript API which really provides more GIS capabilities than Google's API does. Now web programming requires understanding a lot of other languages too and so you can see there that we cover a number of other technologies including HTML, CSS, XML and then a few others that aren't listed. I've got a couple examples from students in that course. The first is from a guy who wanted to stay anonymous. I think he works in intelligence in the DC area. Anyway, he built an app using Esri's JavaScript API that lets users query storms from a hurricane track service that's published through ArcGIS server. So this is a really slick application. The next one is really a great source of pride for me. This fellow was unemployed at the time he took the course. For his final project he created this map you see on the screen of lead certified buildings and then after the course he entered a contest put on by the city of Chicago looking for great web apps and he won that contest. So what he learned in the class and then taking that to win that contest both helped springboard him into getting a job where he's currently at the city of Gresham in Oregon. So then the next course Geog 897D Spatial Database Management is a relatively new course we first offered it last spring. It's really divided into two parts. The first half being an open source approach to database management and the second a proprietary approach. In the first half students learn SQL and they learn how to manage a spatial enterprise geodatabase using Amazon's EC2 service. So that was kind of our solution to that problem. The example that I picked here was from Rosemary Alice who works for NASA in California. She designed a Postgres PostGIS database to help with elephant conservation in Africa. In her write up she demonstrated a number of questions that her database could answer including show me where a particular elephant came within one kilometer of a highway and that's the result of that query you're seeing on the screen. And finally that takes us to the cloud and server GIS course Geog 897C another relatively new one. This course covers how the cloud can be used for resource pooling scaling projects up when they require a lot of computing power etc. Students in this course get to work for RTS online and open source geoser. Anyone interested in learning more about this course I encourage you to contact Sterling Quinn and Frank Hardesty who are the authors of the course. That wraps up this quick review of our programming courses so I want to send it back to Wes. Thanks Jim. And sorry about the little hiccup in the slides we thought we lost audio for a second there there were a couple folks reporting it we had audio for everybody. We want to turn quickly to our second poll here and this poll kind of sets us up for the next bit. We're covering a lot of technical details we're covering the needs for an organization and of course the online geospatial education program is targeted at working professionals who are in organizations and typically developing both their skills and then their fundamental understanding of what's going on in the geospatial industry but in terms of focusing on student specific concerns and so now we'd like to turn to the folks that might take the courses which of the following might you consider obstacles to furthering your education online and on this particular poll you can choose any that apply to you so anybody can answer this question but this question is really targeted to those of you who are thinking about continuing your education are you concerned with the reputation of online education we see a lot of that in the news these days are you concerned with the cost available course options we just went over some of those quality of instruction or studying at a distance and we're going to talk about some of these in just a minute but we'd like to know before we go into the next section what are your specific concerns Nora how are the responses coming in yeah we're doing great Wes we've got about three quarters of people who have voted and actually still coming in pretty fast so if we could just hang on to this poll for a couple more seconds that'd be great so folks if you haven't voted on this one please do go ahead and get your vote registered there in the next couple of seconds yeah we're over 80% here still going up people definitely taking why don't we go ahead and close the poll Nora because I think we've got a good representation there definitely yep and a lot of questions coming in too there you go not a huge surprise that a lot of folks are concerned with the cost and I'll address that in the Q&A but folks are really kind of across all of the topics that we've got there studying at a distance quality of instruction we're definitely going to cover those in this next little section availability of course options well you've just seen a section on that but we're certainly happy to help you and then that reputation of online education and hopefully we'll overcome the obstacles in this next little bit so let's go ahead and turn back to the slide deck and I'm going to take the helm again for a second here I'm going to scoot through my piece so that we have plenty of time for Q&A at the end and just discuss that these courses we're talking about which are designed in an effort to advance you know both your programming development skills but also broader understanding of fundamental concepts in kind of the geospatial realm are part of a larger program and so one of the things we're getting some questions on already on the webinar is do I have to do the certificate who can take the courses so let me just go ahead and address that right now the online geospatial education program is a broad portfolio we have three masters options within the program we have two certificates and then we have what we call professional development courses those are a la a la carte options that students can take independently and so the first thing I want to clear up for folks is all of the courses that we're looking at today so all of the programming development customization type courses are actually available for folks who just want professional development now there are some basic skills that certain courses require in terms of at least an exposure to programming and we'll talk about a little bit of that in the Q&A and in Jim's section in just a minute but I just want to clear that up for folks so some of you may find that a certificate credential or even a master's degree is important to you while others of you just actually want the content of the experience and so we're really trying to address that topic today but there's a much larger program all of this is a part of one of the things that I want to distinguish Penn State's program with is talking about kind of how our term is structured we offer five 10 week compressed terms a year I think most folks out there probably remember their undergrad days and think how am I ever going to fit a 15 week course into my busy work life I've got a family kids a dog and certainly my job well we have found that for our working professionals the primary primary target of our program a 10 week compressed term is really what works the best it offers a lot of flexibility and we've just moved from a system where we have four offerings a year starting in January of 2013 we'll have five 10 week terms a year so you'll see that if you're working towards one of those certificates or degrees you can get your coursework out of the way more quickly now not every course is offered and those are some of the details we won't go into on today's call but we're going to provide you plenty of resources and the follow up so that you can figure out what's the right thing for you and if you have any questions we've got a lot of folks here who are happy to answer but just note that there's just quite a few options in terms of what time of the year and how you work this into your already busy life another thing that I think is sometimes a little confusing to folks is if you're used to that model of education that kind of you know expects you to be in a lecture hall for an hour three times a week you might be thinking that an online course is that I have to log on to the internet some kind of a chat window you know three times a week for an hour our courses again thinking about that busy professional are structured asynchronously they're still paid let me explain what that means to you and what I've drawn here drawn up here is a graphic that shows the enrollment from one of our recent geography 485 offerings and what you'll see there is their folks in the pacific time zone in the U.S. and mountains central eastern we have one person from the U.K. and it's actually quite likely that that person from the U.K. is actually part of the Leeds University program and we have some cross listing with some various universities we'll talk more about that too but we've got folks from all over the world in some of my other offerings where I have some of the larger C courses I've had folks in the Aleutian Islands in the green zone in Germany in China and the way we make this manageable is the lessons are designed so that you can log in at a time that's convenient for you and we asynchronously interact now things are still paced and that's important to remember so as Jim will talk about in a minute you'll complete material weekly or bi-weekly and that really depends on the course each course has its own flavor we're just trying to give you kind of an overview here now in terms of that interaction how does asynchronous interaction take place well again that varies from course to course too and so what you'll find is there are really a lot of methods for communicating with instructors and also with fellow students should you decide to take a course one of the main ways is the discussion forms and they take on different shapes depending on the class but folks so the instructor will often post some kind of a question or a deliverable we've got an example to try this here students go out and do an activity maybe they pull some kind of deliverable together and then they report back their findings or something doesn't work and they ask a question and then fellow students chime in or the instructor chimes in and all of that happens kind of iteratively in this text format some of the courses do have voice chats or audio chats or video chats and it really does depend on the topic and instructor each one kind of has its own flavor one of the things that we're most proud of here at Penn State is that all of our courses are part of an initiative and more broadly in education called open educational resources and so while I've given you the URL there we're going to give you the URL for the courses independently in a minute what OER means is that we've opened our intellectual knowledge up to the world we recognize that it's really only a small portion of the world that's ever going to have access to a Penn State credential or let alone a masters our masters is highly competitive to get access to and we feel strongly about contributing back to the geospatial community and so what you're going to find and Jim's going to talk about this in just a minute but most of the courses in the program are actually open so that you can look at the content the material the lessons and if you can't forward the credential or if you don't need the actual you know kind of blessing of an instructor for your career development you can access the material here and we feel really good about being part of that movement which is really taking shape in recent years in education but you really logged on today to hear about program and development courses specifically and so I'm going to turn it back over to Jim and let him really dig into programming and development courses Jim welcome back thanks Wes just to pick up on you were just talking about the open initiative you know I've had a number of folks over the years email me and thank me for putting that content out there and so if you don't need the college credit you can just check out our courses and you can work through it on your own and it might be able to help you out a lot what you get if you officially enroll in the course is you get access to the instructor of course and then the discussion boards that Wes mentioned and showed examples of okay so our content is generally in the form of written lessons so no you don't have to sit through online lectures at some particular time really you're working through typically tutorial style lessons that you can print out and work through offline if you want to so if you're going to go on a flight somewhere for work you can do that you can print it out and you can work on it on the plane one of the things that I think is a strong point of our courses is that the instructors and the graders dig into the students code and provide detailed critiques so on the slide I'm showing here is just a simple example from a project somebody turned in yesterday actually involving the 2008 presidential primaries so what the student did was created four variables for four different queries she had to perform three of these queries started out the same way as the first one so in my feedback I suggested to her that she avoid repeating the same expression for each variable and instead replace it with the variable that holds that initial expression and so this is a very simple example but it's the kind of thing that can make a world of difference when you're scaling up to bigger projects the other another big thing that I think is great about our courses is that students get to do a final project of his or her choice and it usually involves something from their work this is one of the best features of our courses I think because students are working with scenarios that are meaningful to them rather than just our can scenarios most students will probably tell you that they've had moments where they look like the person on the left there but by the time they finish the project they usually end up looking like the guy on the right and then finally the pacing of the courses we get a wide array of people taking them from complete novices to people who could be teaching the course themselves we try to follow the rule of thumb of teaching to the middle what that means is we sometimes go a bit faster than some people are comfortable with and we sometimes don't go fast enough for some folks one thing that we do to try to account for this diversity is to scale our expectations up or down on the final project depending on what the students experience is and we find that that's really worked well so Wes I think we're ready to go back to you that's great Jim that was a great overview and we've already got so many questions coming in that I'm actually just going to skip this hand raise and we'll pass on asking folks who has or hasn't taken a course online I'm also going to breeze through this additional resources section the only thing I do want to highlight here is we're going to give you access to all five of those courses Jim mentioned in terms of where you can find the content out on the web and we're also going to provide you contact information to the course authors and instructors so that should you have technical questions or want to know a little bit about the course before you might choose to enroll you can get in touch with them but I've got in big bold letters at the top to get access to all of this stuff the really the best place to start is Penn State GIS to provide all of this in the follow up email but let's get right to your questions because we've actually just got so many and we're running just a few minutes behind our schedule and I want to all of the last ten minutes so one of the first questions I think I'm just going to dig right into the technical stuff and let's start with let's start with Craig on this one and then Craig if you'll hand over to Jim and James the trends in technology seem to be moving more and more towards mobile and web-based GIS applications and away from desktop GIS applications do you think that it will be worthwhile to learn desktop GIS software development if mobile and web-based applications will become the majority of those available in the future I think you've hinted at that but maybe you would like to answer that more directly I think there's a need for all those types of applications generally with mobile and web applications those are used for external communication or external data collection very focused applications but GIS professionals will need the more generic toolkit that's provided by the desktop application suites and that's generally the way we look at it and actually in Esri's products we promote that so we have a lot of solution-based templates now that sort of incorporate the GIS professional back-end aspects and then in something like our local government template there are web and mobile applications for sort of the front-facing GIS work James or Jim do you have anything to add to that? No I would just add that mobile is kind of a gap in our curriculum currently what I would tell folks who are interested in learning more about mobile is that Long Island University has recently started up a new certificate that's focused solely on mobile app development and that program is run by Pat Cannelly who also happens to be involved in teaching courses in our online master's program so definitely check out that program Thanks Jim I think it's a good point to make too that I think we at Penn State really feel like we're kind of part of a bigger community of this kind of educational mission in the geospatial realm Jim I'm going to point this one I think to you first I am taking an MIS evening program that is not applied to GIS how much more benefit could be gained by taking a JavaScript class oriented towards GIS then one will go through all uses of the language is that one you feel comfortable answering? Yeah I guess it really depends on what it is how it is you want to apply JavaScript what you're looking to get out of it if you're looking to use it in a GIS context then I would say that our course would probably be a better choice for you but if you're looking for something more generic more generic IT then maybe that course in the program would be the way to go Great thanks James anything to add to that? No exactly the same if you're looking for a GIS application and kill two birds with one stone Okay great here's one that's kind of program related and I know we have Beth King in the background listening in today one of the organizations that's with us today wants to know how do we advertise for interns from the PSU GIS classes and I would just tell you that any of these general questions but you're clearly thinking about the development and software programming kind of courses if you want to get in touch with folks in the program info at PSU we'll put that email up because I'm going to get it wrong if I say it but we'll put that in the follow-up email but Beth King can help coordinate that and that's something we regularly advertise we all recognize in fact I was just running into a faculty member before we coughed on the call today we all recognize in this industry that frankly everybody's moving towards a place where they need to have some kind of relationship with customization programming development whatever piece of that pie you need so we're happy to open the conversation with organizations let's see let me grab another one here one person asks and Jim I think I'll hand this one to you as well what might be considered on average a most logical course sequence for a comprehensive background and I will say before I hand over to Jim that we are in the process of thinking about creating a specific certificate around this constellation of courses but one student had already asked another question can I take these and apply them later to a masters Jim will give you the technical footprint I think but what I want to say in terms of the coursework for the program overall is we really feel like given the right skill set and given that you can be successful in a course we're happy to have you take courses one off as you like and our certificate is really set up so that you can kind of create a certificate that meets your needs so while for newer folks there are some introductory courses that are usually appropriate for more experienced folks in the field it might be more useful to just put together a sequence of electives and so in that case Jim what would be a logical course sequence for a comprehensive background in programming customization or well first I would say that all of these courses that we talked about today assume a general understanding of how GIS works and basically you know how to use GIS as a regular user the as I mentioned GEOG45 is really our best course for beginning programmers it's kind of a stepping stone to the other courses that I talked about so I would definitely recommend someone to start with 45 the Python GEO Processing course and then if you wanted to get into desktop customization go with 49 if you wanted to do web mapping do 863 if you wanted to get further into the database end of things then take 897D but I think I would recommend both 45 and 863 if you don't really know what to do I think those would be the two most valuable ones at this point great as we think too about those individual courses one person is concerned specifically with the software we mentioned in one of the courses why don't I turn quickly to James and then to Jim and in terms of software in each of your courses or the courses you've dealt with authoring how do students get access to the software and some of the platforms that we talked about so James what special situations do we have for students are they included in the tuition they do get access to an educational version of RGIS 10 or 10.1 we're using 10.1 in 485 at the moment so that is made available to them they get a link to download it and where they go okay Jim yeah and I would add that in other classes where we may be using other kinds of software like Postgres PostGIS well those two are free and open source so that's not a problem I also have students use Microsoft Access to do some learning SQL and so for that if you don't already have Office for example you can download a 90 day trial of Access that works out great and I think I mentioned that we use to tinker around with doing enterprise geodatabase stuff we work through Esri has they make that available through Amazon's EC2 program and so we have students use that as a playground so we pretty much have it covered that students are able to use either free or trial versions of software throughout all of our courses okay the visual studio would be included and the person would ask that specific question that specific question you know there's there's low cost options there and then I think we've also been able to allow people to use the express version of visual studio and which is free so yeah I think that would work out well yeah I think that the kind of umbrella answer that question is we have a lot of relationships with various software vendors and you know I know in my own ally course we've moved to an environment where we can get some really really robust functionality on an educational license in a way that we couldn't five or ten years ago yeah James let me turn first to you then to Craig and then follow up with Jim as we're hitting the top of the hour I think this is a good question maybe to end with along with the degree are there any official certifications and the example this person gives is just as recertifications that you recommend an aspiring GIS developer should pursue James start with you. It really depends what region you're in if you're in the UK for example there is a professional certification for GIS kind of like a CPA for accountants there's the GISP I guess in the US as well so if you're targeting a particular area it might be best to look at what the industry specific ones are but I would start with the degree as has been mentioned and then perhaps the Esri ones and then see from there if there's anything particular any gaps in your knowledge that you need to top up or to justify to employ us with a bit more certification Craig how about from the Esri perspective. Well we do have a variety of certifications on the development side we have a desktop developer and web application developer track both available at the associate and professional level but actually those are somewhat undergoing development still but we're working on those and I would just encourage before chasing a certification just to really get to know the material and usually pick a domain you love from a developer standpoint and learn the language and the development skills through real-world projects and that's where you're going to get really comfortable with it. Yeah I was just going to add kind of piggybacking on that I think it's a great idea to put together a portfolio of the work that you've done that may mean more than certifications frankly if I were on the hiring side of things I'd like to see what folks have done in the real world. Okay thanks Nora I know we're a little past the hour but since we've got so many folks hanging on and three really good questions that went unanswered let me quickly go through those and then I'll hand it back to you. Absolutely wish. Folks rather than quote the cost here join the URLs that we're going to send you in the follow or contact and it's info at gispsu.edu and we'll have folks that can answer those kinds of questions for you. One person asked how about data to do the exercises can we access samples here's the distinction folks we're happy to provide those OER courses to the broader community folks who aren't actually registering and paying tuition what you don't get are of course the software the data the instructors use and access to a cohort of students who are working through the material most important instructor feedback so while you've got access to the things to practice we can't do everything for free so if you want the rest of it you've actually got to come take the course with us and I think that covers most of the questions or at least a good sampling of them so I'd like to tell folks that if we didn't get your question answered please do contact us at Penn State we're happy to help you understand these courses a little better and so that we can get closed up I just want to say thanks to our three speakers Dr. James O'Brien Craig Williams and Jim DeWiler great presentation and Nora back to you. Yeah thanks so much Wes that was terrific we got a lot of compliments in the chat so I really appreciate that. Yeah just to add my thanks to Wes's thanks to everybody who came I know the guy in Abu Dhabi is really glad that he came even though it was in the middle of the night he said it was just right up his alley so thanks everybody and until next time this is your moderator Nora Parker and be sure to tell a friend about Directions Magazine and bye for now.