12 August 2010
At Full Sail University our curriculum is presented at a very accelerated pace, which poses unique challenges for both our students and educational staff. Obtaining, and teaching, a Bachelor of Science degree in a 21-month span is no small accomplishment. Add to that the demanding disciplines of a Web Design and Development degree and you can start to realize how accelerated the pace truly is.
Like all degrees at Full Sail University, the Web Design and Development Bachelor of Science (WDDBS) degree curriculum is structured into a predetermined sequence of courses, with introductory courses at the beginning and advanced concepts at the end. Courses are presented in a month-by-month progression with students typically attending two courses a month. Within each course, students attend a 4-hour lecture followed by a 4-hour lab each day during a 5-day instructional week. All of this adds up to our students spending 40 hours a week in the classroom, which means we have to be very efficient and creative with our time here at Full Sail.
While lectures at Full Sail run similar to those at other universities, our lab environment is a bit unique. At Full Sail we keep a 12-to-1 instructor-to-student ratio in our labs. However, with large classes, even this instructional arrangement can be taxing on response times to student questions and student project troubleshooting. I thought to myself, wouldn't it be great if there was an application to help aggregate student questions into a portal as well as time-stamp and log when students posed those questions? Now that would be an application both our students and educational staff would benefit from. Enter Jason Madsen and Flex!
After I discussed this issue with Jason, the professor for our Concepts of Object-Oriented Programming course — and a great developer in his own right — he set out to create an application to do just that and more.
And now here's Jason to explain things further.
The Help Desk is essentially an online waiting list for students' requests for help. Logging the requests online facilitates answering questions in the order that they come up in a busy lab. This is particularly helpful around the time of project deadlines. Having a log of student questions enables instructors to take the questions one at a time, in the order they were logged.
There are two version of the application. The first is a web-based Flex application that allows students to put in a request for help and see the current list of students that already have logged questions for their course. The second version of the application is an Adobe AIR app, also developed in Flex, that allows instructors to add a course to the system, and then manage the course and its corresponding listing of help requests.
The typical scenario is as follows. An instructor creates his or her course in the admin AIR application and activates the course. This enables students to select that course in the web portal.
When students have a question they go to the portal, select their course, and log a question. From the admin application, the instructor has access to the list of student questions, in the order they were received. Using the list, the instructor can deal with students individually to help them resolve the issue. Once the issue has been resolved, the instructor can then remove a student's help request from the list.
The two versions of the Help Desk application are both fairly simple. They communicate with the server using AMFPHP to manipulate a MySQL database. MySQL tables are built (and dropped) dynamically per course to hold all student info (name and ID number). Flex simply makes calls remotely to the appropriate tables to update or pull data, and populate the controls and containers. The AIR deployment for instructors doesn't specifically use any of the AIR APIs, but the choice to deploy to AIR was made simply to allow instructors to get efficient access to the application using a quick-launch program such as Quicksilver.
I have come to Flex, like a lot of people, as a Flash developer. I still use and love Flash. However, when developing applications, I turn to Flex. Even small applications like this come together so much faster with Flex. The framework and components offer the ability to develop applications rapidly. I often find myself building the UI and overall logic to an application quite quickly within Flex. The ability to then turn to CSS to style and skin an application is extremely valuable to me. It allows for a workflow in which a proof of concept project can evolve gracefully into a working application.
At Full Sail University, Flex offers me the ability to quickly develop small applications and widgets that enhance the students' education. The Help Desk is a simple tool. It took very little time to develop thanks to Flex.
The Help Desk has addressed the primary issue of logging student questions online. Students are able to resolve issues they encounter in a more efficient manner, and instructors are able to address those issues in the order they are posted.
With Flex, the development time was quick and concise. By deploying to the web we are able to update the student application as changes are necessary.
For an ActionScript developer, the jump to Flex should be relatively painless — nothing a few chapters of any one of the Flex books out there couldn't cure. The benefits are certainly worth it. The Help Desk application came together in no time. In the end it allows students to receive help with their projects in the fairest manner.