Allen Hurlbert Biology hurlbert@bio.unc.edu (will present 9:05 slot) Caterpillars Count! Data Visualization Caterpillars Count! is a citizen science project that facilitates the collection of data on caterpillars and other arthropods throughout North America. These data are the foundation for basic research into the impacts of climate change on natural ecosystems. However, exploration of these data is also of great use for science education and outreach. This project involves developing interactive web-based data visualization tools (probably using the D3.js library) for exploring these data in geographical (i.e. map-based) and graphical formats, specifying data filters, or digging down to different levels of complexity. Ultimately, this project will allow middle and high school students to ask and answer scientific questions about arthropod density and distribution, and will improve their ability to interpret scientific data.
Susan Helms Michael Levy UNC Center for Health Innovation (will present, 9ish) My Healthy Heart is one of the teams that placed in the Digital Health Innovation Sprint that just concluded. They have the clinical expertise, access to patients for rapid feedback, and we intend to run a pilot with their solution once we have a Minimum Viable Product in hand. However, they are lacking software development support to move their product along. We are planning for them to participate in the Groundworks Lab accelerator cohort that starts in mid May, so a semester long class project would be perfect. presentation
Suzanne Cadwell (will present 9:20 ) Please find attached our proposal to develop attendance tracking application for large-lecture classes. Its scope is large, but I expect that we could narrow it for the purposes of the course. It involves using bluetooth communications with mobile devices, and interfaces with the UNC ONYEN single sign-on system. Word doc
Brian Moynihan Health Sciences Library, leading their Digital Health efforts. (will present, 9:30) Amazon Alexa pilot at UNC Health Care UNC's Center for Health Innovation would like to pilot the use of Amazon's Alexa, using the Alexa Skills Kit to develop an application that would be useful for settings like the operating room, patient's home, or other real-world healthcare setting. This initiative will be supported by a team at the UNC Health Care system and would be an excellent way for students to both explore use of the Alexa development environment, and have an impressive addition to their professional portfolio. Thus this project will use the Amazon Echo/Dot as a voice control device and you will develop systems to use the voice commands to manipulate various computing functions.
Thomas Freeman UNC Chemistry (will present) We teach students a technique in Chem 101 called Photoelectron Spectroscopy, which generates a unique spectral pattern based on the electron configuration of a given element. This technique essentially provides a set of peaks to represent the different energy levels of electrons around an atom. The tool would use published energy values, which I would be happy to provide the students (or we can use a calculation to approximate energy values, which might be more interesting) to determine the peak positions, and information about each element to determine the relative peak heights. A similar tool exists online (http://cbc.arizona.edu/chemt/Flash/photoelectron.html), but is lacking many features that really help expand a student's understanding (e.g., it only covers the first 21 elements even though there are 118). Another feature of the tool would also show the electron configuration of the neutral element so that students can explore how the PES is tied to the electron configuration notation that we use. A final feature that would make this tool even more powerful is if a student could see how the spectrum changes as you remove electrons to make a cation of a given element (this would also have to be adjusted using theoretical calculations, but we could keep the math relatively simple). Ideally this tool would be a web app so that it is platform-independent. An informational page about the technique and how it works would also be helpful if time allows for it.
Kelly Hogan Mara Evans UNC Biology (will present, before 9:45) We have an instructional need. In our large science classes, we'd like to be using more formal groups, but in a class of 450 students-- this poses a real administrative challenge. We're thinking of a program that does some kind of intake from students to learn about where they want to sit in the room and maybe other parameters we might want to group students by. We'd then want the program to deliver information to students when we're ready about who they've been matched with and the seats assigned to that group. Ideally, we'll have a place to also give guidelines about effective group work and a place to contact the instructor if there are issues that need to be discussed. We're open to other ideas that could make a program like this even more useful such as a way for students to provide feedback to their partners and to the instructor about the group dynamics.
Ming Lin (will present 10ish) I have the idea of expanding and revising of an existing website that used Github. The source code already exists, but I'd like to significantly modify and expand it. It's found at csrankings.org It's nothing terribly complicated, but the students need to know python and web programming, and possibly a bit of GUI. For example, we might add user-driven mechanisms to add more areas (e.g. multimedia), more publication venues, adding journals, etc. Different criteria of weighing the publications, adding new criteria for ranking dept, better looking Graphical UI than its current plain, boring look, etc. In addition, more objective measures to automatically include publications, say based on H-5, google citations, etc. Automatic incorporation of other data, such as graduation rates, average salary per tuition, etc. The wish list can go on and on. If the team does a good job, there is even potentially a publication here. :-) description
Kris Jordan The project that I could use help with can be described as follows: (will present 10ish) COMP110 Scheduling Application This semester COMP 110 has 52 LAs who hold between 5 and 10 hours of open hours, each with their own heterogeneous schedule constraints and experience levels. Through the week we are collectively open for 55 hours of availability and need to build schedules for the team and satisfy a number of constraints. This is an NP-hard problem that has been well researched and is called the "Scheduling Nurses Problem." Over the summer, a few team members developed a "good enough" text-based backend solution to the scheduling problem. We would like to build upon this backend with a GUI or web-based editor that makes it easier for a human to manually iterate upon a generated schedule, simplifies the rescheduling of conflicts, and makes it easier to visualize potential problems in a schedule. We would also like to improve upon the scheduling algorithm in a number of quantifiable ways. This project combines a variety of user experience and data visualization challenges along side some good, hard computer science algorithmic problems.
Prasun Dewan Computer Science (will present 10ish) Distributed Semi-Automatic Style and Correctness Grader of Exam and Assignment Solutions Given a student programming submission (assignment or exam solution), a grading program evaluates the submission for style and correctness. This problem, in general, is intractable as it is more difficult than the program equivalence program. There are two popular solutions to combat this intractability: (a) support fully automatic checking with rigid rules (e.g. Udacity); (b) define an interactive distributed grading assistant that automates bookkeeping tasks but requires fully manual checking (e.g. Gradescope). At UNC we have developed a hybrid that automates some but not all checking. However, it is not distributed, and does not support grading of exam solutions. The goal of this project is to remove one or both of these limitations. Reasons for undertaking it: (a) You get to improve in a major way the state of the art in an area that is attracting great attention given the large CS class sizes. (b) You build something that will actually be used at UNC and perhaps elsewhere. (c) You learn to create a distributed secure architecture. (d) You develop a complex UI by designing certain elements from scratch and integrating others from existing graders such as GradeScope. (e) You learn to use new APIs such as the distributed Google Windowing Toolkit.
Nicole Robinson-Ezekwe MA, MPH UNC Center for Health Equity Research nic7@live.unc.edu (will present) I need to develop a data collection app for a project that I am implementing. As stated below, I work for the UNC Center for Health Equity Research and I am developing a project called SEARCH (Social and Environmental Assessment to Rate Community Health). The project is aimed at measuring neighborhood-level determinants of health that influence individual stress levels and other cardiovascular disease related health outcomes. We would like to develop an app that data collectors can use to collect the neighborhood/environmental information. I have attached a copy of the original internship job call that I sent to your department. Word doc
Anna L. Krome-Lukens, PhD Lecturer and Director of Experiential Education, Public Policy (will present, 9:30 to 10:00) As Director of Experiential Ed for PP, I oversee our students' work with community partners in a few courses, including our Capstone (PLCY 698), Clinic (PLCY 393), and Internship (PLCY 293) courses. As I'm sure you know from running COMP 523, there's a lot of administrative work involved. Two places your students might be able to help: 1. A database. Since I took over this position 18 months ago, I've tried to do a better job of keeping tabs on the many partners and projects we work with, but am currently using an excel spreadsheet. I'd love to have a true relational database to track clients and other contacts (and logs of interactions with them), projects, students, etc. If I had time and money, I'd do it in Filemaker, but I have neither. I'd also really like for the primary interface to be via web browser, with password-protected access, so that other staff and faculty in the department can access it. 2. Some sort of algorithm that would allow me to do a preliminary sort of students' project preferences in Capstone. (Or your secrets for how you do it in your course??) Each semester I have 50-60 students to assign to 12-16 potential projects, and I'm trying to balance multiple factors in addition to their expressed preferences, including gender, background/experience, and skills particular to the project. Right now I use a Qualtrics survey to gather their preferences, then export it to a massive spreadsheet, which I stare at for hours trying to get the right combination. There's got to be a better way, right?
Jennifer M. Hazen, PhD Public Policy & Peace, War, and Defense jmhazen@email.unc.edu (not presenting) I would love to have an option for students to use an app that allows them to put forward answers that would generate a word cloud (of sorts) on the screen. For example, if I ask "what does global policy mean" or "give me an example of a global policy issue" etc. students could type in their answers and these would generate into a word cloud or some graphic that would be visually appealing (not just text on a power point slide), and which I could then manipulate to pull certain words or phrases out (or make them larger or highlight them somehow), and also put aside (or maybe even shrink or delete) answers that aren't factually accurate, or maybe even group some ideas together with others. It's a sort of visual brainstorming for the class. And allows students to see their answers on the screen, and allows me to manipulate them in some fashion. I'm envisioning a word cloud - of sorts - that I can then manipulate. Move words around, group them together, highlight the one I'm talking about, delete words that may not fit (or I expect some will simply put up cheeky answers). Perhaps I watch too many TV shows/movies, but being able to easily play with the answers students put forward to teach from them would be great. Even better if there is someway to highlight an answer and then click to a popup window with a video clip/photo/or even boring text that explains the concept in more detail. And then be able to close that window and go back to the word cloud, and on to talking about the next answer. If you know of a program that already does this, I would love to know what it is. I am teaching a class of 160 in the fall and would love to find ways to make that at least somewhat interactive. ------------------ The main idea is to have the ability to generate answers from students, and then to manipulate those answers. For example, if I ask students to name a global policy issue, they could submit their answers, which would populate the screen as a word cloud of sorts. Then what I'd like to be able to do is manipulate that data: -- by grouping certain ideas together in a corner of the screen, maybe drawing a circle around them or writing an overarching label across the top of the group -- making similar ideas the same color text -- swiping ideas to delete anything incorrect or inappropriate. -- tapping a certain idea (text word) to enlarge it on the screen, to highlight it as I discuss it -- tapping a certain word/idea to enlarge it but also to bring a box up to the right of that text that would allow me to link to images, video, etc. Obviously I'd have some idea of what the students would answer in order to have files ready at hand. But having an easy way to pull up those images on the screen without having to switch multiple screens would be helpful I'm open to other suggestions your students might have for manipulating information on the screen
Steve Aylward David Thompson Kitware (Moday presenting, 9:05) Kitware has begun a new open-source visualization library called VTK.js. It is, as it sounds, VTK for javascript: LINK Perhaps teams from your class would be interested in adding one or more cutting-edge visualization methods to VTK.js. The list of possible methods to be added includes the following: + Silhouette rendering. Gooch, Gooch, Shirley, Cohen. A Non-Photorealistic Lighting Model For Automatic Technical Illustration. paper link and also paper link for implementation details. In order to work with depth peeling, it would be better to use a geometry shader to insert quads for each edge and point which qualifies as a silhouette. This would be really useful for displaying selected surfaces/bodies in ModelBuilder. + Sketch recognition/beautification. Wolin, Eoff, Hammond. ShortStraw: A Simple and Effective Corner Finder for Polylines http://faculty.cse.tamu.edu/hammond/publications/pdf/2008WolinSBIM.pdf which could use browser multitouch events to accept sketches and then offer to beautify. It would be a nice way to accept not just sketches, but gestures for picking, transforms, and camera controls. Also, see http://www.olivierbau.com/octopocus.php for gestures. We want support for this in ModelBuilder as an alternative to polygon drawing via mouse clicks. + Inspecting volumetric data without volume rendering. McGuffin, Tancau, Balakrishnan. Using Deformations for Browsing Volumetric Data http://profs.etsmtl.ca/mmcguffin/research/volumetricBrowsing/ Which could be adapted to apply textures to spline surfaces instead of deforming individual voxels, and would be useful for medical projects. + Displacement mapping. Wang, Tong, Lin, Hu, Guo, Shum. Generalized Displacement Maps. http://cg.cs.tsinghua.edu.cn/papers/esr_wx.pdf This may not be possible without WebGL2 support in your browser. We could really use this in ModelBuilder for displaying bathymetry data. Dr. David Thompson (http://www.kitware.com/company/team/thompson.html) would serve as the "customer" on these tasks. Slides PDF
Jeannie Loeb Teaching Professor and Director of Instructional Development, Department of Psychology & Neuroscience Clinical Associate Professor, School of Education (Monday presenting, 9:05) Developed a web-based system for the UNC admin that helps faculty members create course syllabi according to a framework containing all the sections, goals, and topics requested. It would be great if portions of a syllabus (as a Word document) could be generated based on some information put in by the user. (If this were generated as a Word document, then the user could add whatever else they want.) The program should not only generate the components listed by UNC as being important to have in a syllabus (that document is attached) but it would also be very helpful if it could automatically generate a table of times that course would be meeting. For example, if a course is to meet on MWFs (or Tues/Thurs or just MWs or MTWRF - so flexibility in indicating how frequently the course meets would be good), then having the specific days and dates generated automatically (as a table, see below) would be great. The program should do this based on the first day of class (which the user could enter - unless this information could be retrieved automatically from a UNC resource, e.g. Academic Calendar?) and the last day of class (which the user could enter, or again, be automatically retrieved from a UNC site). Automatically noting which days are UNC holidays would also be useful. The table could be something like below. The dates would be generated and the topic and assignment columns would be blank so that the user can fill them in with whatever they want. It would also be good if all generated information (not so much the format which I'm guessing must be fairly fixed) could be overwritten in case the user would like to change something. DATES TOPIC ASSIGNMENT Wed 1/11/2017 Fri 1/12/2017 Mon 1/16/2017 NO CLASSES ****? Slides
Ram Neta Philosophy neta@email.unc.edu (not presenting) (1) This one is for students interested in user experience (UX), which is a hot field. I've designed a video game to help students practice their deductive reasoning skills. The video game is on the web at puzzle.sonjara.com. My hope is that students start playing this video game regularly -- even habitually -- and thereby improve their deductive reasoning abilities. But this isn't likely to happen just yet, because visual effects are very plain, and there are no auditory effects at all. I should mention that this video game may eventually become widely used in assessment, since performance on this game has been shown to correlate highly with college GPA and with math SAT score. I'll be doing more valid tests on it later this month.
Ram Neta Philosophy neta@email.unc.edu (not presenting) (2) This second project is for students who are interested in the role of logic in reasoning. Consider the following argument: If Joan is at the park, then either Jim or Mary is too. Jim can't be at the park if Joan is not. Mary will only be at the park if Jim and Joan are not both there. -------------------------------------------------------- Therefore, if either Jim or Mary is at the park, then both of them are there. Now, does the conclusion have to be true if the premises are? Answering that question takes some thought, and some people will not be able to do it without help. But the method of truth-tables provide a procedure that is guaranteed to answer that question in a finite number of steps. This project is to build a video game that allows students to use the method of truth-tables to figure out whether complicated arguments like the one above are logically valid.
Ram Neta Philosophy neta@email.unc.edu (not presenting) (3) The third project is for students who are interested in ontology, or the logic of categories. If all lions are mammals, and no lions are ungulates, then what, if anything, does this tell us about the relation between mammals and ungulates? Ontologists can answer such questions by using Venn Diagrams. This project is to build a tool that allows students to build Venn Diagrams to help them understand how relationships among some categories tell us about relationships among other categories.
D. Stotts Computer Science (I present) COMP 523 Admin tools lots of stuff to collect and generate I need a web-based system that will collect, maintain, and present several forms of information that are needed to create and manage the COMP 523 class. a) Client and project information. We need to collect client information and information about project ideas. This segment should gnerate a web page with a summary of all project proposals with all relevant links embedded (word docs, PPTs, web sites, etc.). Clients will be indentified by name, organization/department, email address. This section will also provide clients with an explanation of the process of proposing, as well as an explanation of client obgligations once a project is selected. We want clients to fill out this information themselves via the web interface. b) Team scheduling. Students will be able to select prefereces from the web description of project ideas. Teams will be formed to maximize (as much as practical) student matches. Unselected projects will remain in the database for use in following semesters. c) Team management. This section allows the instructor to enter grades and evals for each milestone a team must reach. It will be viewable by individual team (protected somehow).
Pozefsky, Diane Computer Science (not presenting) CODIAD Plugin Codiad is an open-source web-based minimalistic IDE framework. My particular interest in it is for COMP 101. In COMP 101, we teach HTML, CSS, and JavaScript. Students use Komodo Edit to build the pages and then use Filezilla to transfer the files to server space that we provide. Komodo Edit has a very nice interface, giving lots of help as to what commands and values are possible. However, file transfer does not work as well. Students have an incredibly hard time with the file transfer, regularly forgetting to upload files or moving them to the wrong place (e.g., moving a whole folder instead of the contents of the folder). We can run Codiad on the system where we provide the server space and avoid the file transfer problem. Unfortunately, the "smart" auto-complete is not so smart. I would like a plugin that matches the autocomplete capabilities of Komodo Edit.
Pozefsky, Diane Computer Science (not presenting) Virtual Machine Management COMP 523 teams have a lot of challenges in working as a team to build software. We are looking at a lot of tools and techniques to streamline the process: use of CloudApps for development, us of Github for a code repository, Jenkins or Travis for continual integration and test. One of the continuing problems is that the team members want to be able to develop on their own machines. To make this work well, it is best if everyone is running in the same environment. There are lots of tools that can be used: Vagrant, Docker, Virtual Box. While it would be nice to support multiple technologies, the specific technology is less important than creating an infrastructure to let people re-use configurations, change them, save them , and share them. The vision that I have is that one of the team members looks at the current inventory, identifies a virtual machine that is close to what they need, downloads it, adds the capabilities needed, uploads it, and then lets his (or her) teammates download the same code. Bottom line is that this is a management system.
Marsha R Penner, PhD Lecturer and Director for Undergraduate Research in Psychology and Neuroscience Department of Psychology and Neuroscience (not presenting) 1. I have some devices from a company called backyard brains (www.backyardbrains.com). I use these devices in their simplest, basic form for science outreach. We take the devices out to schools, science fairs, etc. However, I would like to use them to collect data with my students, and with middle-school students to run a 'real' experiment. This requires programming that is completely out of my grasp. Here is one example (there are many, and I would be happy with anything): LINK I have other devices like the one in the example above. For example: LINK I would like to be able to download the data we collect in a simple format so that we can look at it together in a simple format. I'd like for the output to be kind of 'canned' so no one feels overwhelmed. A simple set of figures and number to use. I would also like to have the devices interface with objects. For example, use EEG to play a video game, or make a drum beat. I currently use the mindwave device (above) to fly a helicopter, but would like other options (e.g., make a drum beat): LINK 2. I do canine cognitive work, and I would like to automate our experimental equipment. We are attempting to build a version of an operant chamber for dogs (this is the rat version): LINK In it, we have an automated feeder and some blinking lights. Currently, we are using this automated feeder: LINK And we are using these lights (only because it has a remote control, we are not married to them): LINK We have to manually activate the lights and the feeder at specific time points. This makes it likely that our timing will sometimes be off. We have dreamed of having a program that could: 1) activate the feeder at a specific time (e.g., every 8 seconds), 2) activate the lights at a specific time, 3) turn these things off at a specific times. We would love to incorporate a button to push that would also be automated. And we wish for a program that is flexible so that we could easily modify the timing for each device being controlled by the program.