Good Afternoon My name is Glen Parker and I'm the system administrator for Blackboard at University of South Florida. A quick bit about USF. We are a 4 campus institution with about 45000 students. We began using Blackboard in 1998. We've been using Banner since before I was born. My name is Glen, and I'm the lead administrator for our Blackboard system at USF. I have nothing to do with Banner. I've been with the system since the beginning in 1998. I've also one of the developers and contributed to all of the systems I'm going to show today. === slide === My story begins back in the dark ages of 2000. In 2000, I was(yes, just me back then) running both Courseinfo and WebCT . Each semester I was creating, manually, via a really slow web interface a total of about 400 courses each semester. I would then need to create by hand, a text file with student information that I could feed in pieces to the system to handle the enrollments. We didn't have a central identity system, so Password resets were also handled by me. This was a really inefficient system. During the first few days before and after the start of the semester, I literally didn't leave the office I was so backed up with requests to create courses or process enrollments or change passwords. I slept under my desk for a few hours to try and keep somewhat ahead of the mountain of requests. Manual creation had reached a limit at around 300 courses each semester. Then in 2001 we bought Blackboard 5, and this brought with it Snapshots. Snapshots, if you are not familiar, is technology provided by Blackboard whereby you produce a file full of either User information, Course Information, or Enrollment information, and pass it to the Snapshot Controller. The snapshot controller then creates, replaces, updates, or disables records in Blackboard based on the contents of those files. It's the most efficient way to create large numbers of records in Blackboard. It took us about 3 months to build the first iteration of snapshot integration. We now create a coursesite in Blackboard for every course in the SIS. 8000 courses each semester. We also enroll everyone into all their courses. If your registration status changes in Banner, within an hour that change will be reflected automatically in Blackboard. We went from being able to support no more than 3% of all courses to supporting a full 100% of courses. Folks simply take for granted that their course will be in Blackboard, and call us when they don't see it. Once you're integrated with your SIS, don't feel you need to stop there. We've now build out our snapshot system so that it automatically creates student organizations based on the memberships of our student organization database. Every official student organization gets a site in Blackboard, with its membership automatically maintained. We also create and populate more than 1000 independent organizations that we call SnapCodes. These are organizations that are auto populated based on criteria from Banner. For example, we have an organization for Anthropology Graduate students. We query Banner for all students coded in the Anthropology department who are also considered grad students, and enroll them automatically in this particular organization. To wrap up If you are looking to integrate Blackboard with your SIS, snapshots are the first place to start. Everything else you do will build off of your snapshot integrations, and the fact that every users, course, assignment is now available in your Blackboard system. Reduce the hurdles needed to get started. === slide === Fast forward a bit to 2005. End of semester grading is still done on large sheets of greenbar paper. Each semester the Registrars office would print out thousands of sheets of paper, distribute it across 4 campuses. They had to make sure that each instructor received their copy of the list of students they were responsible. Each instructor then had to take the grades for their students and transcribe them to the massive sheets of paper. Finally, the instructor had to sign and return the sheet of paper to the Registrar, who then tried to scan them in but often as not had to manually key the grades in to Banner. Lastly, the instructor had to be present on campus to turn in those grade sheets, and often would simply NOT turn them in until they got back from vacation. So what we had was a process, which cost a substantial amount of money in terms of paper and personnel, and the result was a meager 85% compliance rate. 15% of the grades due to students were either wrong or late. The Registrar embarked on a quest to implement electronic submission of grades. We were only tangentially involved in this search. They eventually settled on one particular vendor solution, I won't mention names. We got an early look at what they were proposing. It was crap. Let me explain. The instructor would have to log into a 3rd system, not Banner, not Blackboard, with a unique login/password, different from all others on campus. They would select their course from a list of courses they were teaching. They would be presented with a table of the students in their course. There was an array of Radio buttons next to each student, one for each grade. The instructor had to use the Mouse to click on the grade for each student. No keyboard shortcuts, no pulldown menus, just a wide screen full of radio buttons. We left that meeting, and we decided that we could do much better using Blackboard and Building Blocks. We crafted a simple prototype in about 10 days. We basically skunkworked an electronic grade submission tool in Blackboard. When he showed it to us, we immediately saw the potential. We showed it to the Registrar. She immediately saw the potential. She dropped her support for the other product and began backing our proposal. Fast forward past about 9 months of political battles, design conference, and technical decisions, and Electronic Grading was ready for pilot in the Summer of 2006. Let me describe a bit about how eGrades works. The instructor logs into Blackboard, which they do everyday anyway. They go into their course, and into the Control Panel, they click the eGrades link. They are presented with two choices, submit grades Manually, or use the grades in one of their Gradebook columns. - If they choose manual, they are taken to a screen that shows each student and a pull down menu of all valid grades. The instructors chooses each grade, and clicks submit. The grades are now submitted. - If they choose to use the gradebook, they select from a pulldown menu one of the columns out of their Grade Center. They can then adjust the grading curve, setting ranges for the A+ grade, the A grade, the A- grade, and so on. We provide a default curve for their convenience. eGrades computes each students grade based on the Column selected and the curve and prepopulated the pulldown menus. This is the same screen used by the instructors who manually input grades, only here the grades are pre-set. Instructors can make final adjustments for grades, making them higher or lower on a case by case basis. Finally, they click SUbmit and the grades are now submitted. What happens to the grades when the instructor hits submit. First, we record the submission in a database table that resides within the Blackboard schema. We call this the Queue table. It maintains a queue of grades waiting to be processed. We run an external process on one of the Blackboard servers, a standalone java process, we call the Queue Processor. It's job it to check the Queue table for new rows. Every 10 seconds it wakes up and checks. When it finds some new grades, it opens a SQL connection across a Secure tunnel to the Banner Oracle database. On the Banner database is a stored procedure that takes as arguements the student, course, submitting instructor, date, and grade. This stored procedure holds all the business logic, it validated that the grade is valid. It then records the grade in the Banner table. The procedure returns a response code telling if the process was successful or if it encountered an error. This procedure is called for each student. That's it for the Banner side, grades are now recorded for that class. One last bit on the Blackboard side, the response codes from the stored procedure are stored in another Blackboard table called Receipt, which can be viewed by the instructor to see if grades were successfully submitted or not. The pilot went off without a hitch. We conducted an exit survey of the participants. *pause* Unqualified Success The process is that easy for instructors. Just looking at the numbers, compliances went from a pathetic 85% to an astounding 99.3%. Less than 1% errors and missing grades. Instructors raved about the process. "It was so easy to use" "It just made sense" "I loved being able to pick grades right out of my grade book" "I submitted grades while sitting on the beach in Bermuda" Instructors could submit grades form anywhere, they no longer were tied to campus for grades. We actually received thank you letters. No paper was wasted. Significant money saved not printing paper. Thanks to snapshots, rosters were dead on accurate, no mistakes due to students making last minute drops. The Registrar was able to reassign 3 people to other duties. eGrades reduced manual labor to nothing, 3 people were able to be put to more productive activities. The next semester eGrades was the only way to submit grades. Paper was no longer an option. This drove additional adoption of Blackboard. The instructors loved it, the students got grades faster, more accurately, the registrar loved it, we increased Blackboard adoption. Win - Win - Win - Win === slide === Coming off this phenomenal success, the natural extension is to address that "Other" massive paper process. Instructors are required to take attendance on the first day of class. If a student missed the first day of class, they are supposed to be automatically dropped to free up the seat for another student. In the old days, just like for end of semester grading, the Registrar would invest a huge amount of time printing the rosters for each course so the instructor can take attendance. However, because of the number of courses and the time it took to distribute the paper, they would begin printing at least 5 days before classes began. In 5 days alot of students would drop and add making the printed sheets obsolete as soon as they left the printer. Instructors then had to take attendance, and get the paper back to the Registrar for processing. If the paper even made it to the Registrar, it could be a day or more before the seats are released. This was a really big human effort, one which could be eliminated with an electronic process. ! This time the Registrar came to us and asked for help. In Blackboard, again, thanks to snapshots, rosters are automatically maintained, are current to within an hour. We built another tool that sits in each course Control Panel The instructor go into their class and into the First Day Attendance tool The then see a list of all their students. Each row contains the students name, University ID Number, their ID Card Photo, and two giant buttons, PRESENT, and ABSENT. All classrooms are equipped with computers. The instructor can log into Blackboard at the start of class, go to that course and into the First Day Attendance Tool. They can mark attendance and Submit it right then, or they can save their marks and return to their office to submit it later. Once the instructors submits, we use a queueing model like we did with eGrades. The list of ABSENT students are recorded in a database table, An external process checks the queue table for rows. When it finds them, it sends then to Banner to be removed. Mechanically, we reused a lot of the logic that went in to eGrades. This was also a success, just not the runaway one that eGrades was. Instructors were generally happy with the interface, and Compliance went up. Accuracy on the rosters was much better, accurate to within an hour rather than to within 5 days. The time it took to drop students dropped from hours to minutes. Seats were made available much sooner and so classes were more full, more fully utilized. We now had two huge, visible success under our belt. We were big men on campus. Our Awesome factor was at an all time high. === slide === Two other pieces in integration. These are smaller in scope and utility, but useful all the same. In the old days, when a student registered for a course, the only place to look up the classroom location and meeting time was in the SIS. In order to get their schedule, they had to log in to Banner, and click through each course and write down when and where they met. We built a tool in Blackboard that take advantage of the knowledge of what courses they are in (again, thanks to Snapshot), and queries Banner for all the courses at once. We present this information to the students visually in a handy weekday planner format, so they can see blocks of time and the Building and Room number. We also linked those room numbers to Google Maps, so you can see where on campus the building is. Lastly, we built a calendar export function that will automatically import the meetings as recurring calendar events to their Google calendar. We released it this Summer semester, and it's already seen about 500 students click to generate their schedule and add it to their calendar. We are a Google Apps client, and one of our future plans is to automatically create a calendar for each semester populated with their schedule. Save them even that click. === slide === The last integration I want to talk about is still in development. We are building a module to report to a student if they have any holds, flags, or outstanding fees that would prevent them from registering. Right now, the only way for a student to learn about these holds is to log in to Banner. They get a popup as soon as they log in. But, the only time a student logs in is when they are trying to register for classes. Clearing holds can sometimes take a day or two, time during which they can't register. Our system will scan for these holds when they log in to Blackboard, and if any are found, pop up an alert message. Since students log in to Blackboard 5 times a day, they will learn about holds long before it's time to register and they can be resolved before it affects them === slide === So, there we have 4 examples of integrations that are live today, and one more in active development. Everything starts with Snapshots. If you are going to grow your Blackboard system, you need to snapshot. Data can flow both ways, it can flow from the SIS into Blackboard, as we saw in Snapshots, Alerts, and Class Place & Time, and it can flow from Blackboard back into Banner, as in eGrades and First Day Attendance. A few carefully implemented pieces of integration can really increase the value and utility of both your investments. If anyone has questions, now's the time. I'm happy to talk about design, code choices, implementations. I don't have a lot of code to give away however, all of these systems are heavily tied to our local systems and business logic.