Brown's Course Evaluation System
An example of my work from data model to web app
Designing and building Brown's course evaluation system is a fairly complete example of my database developer skills from feasibility analysis to data modeling to application development. I built the vast majority of this system by myself in about six months without overtime (consultants rarely work overtime). This feat of productivity is one that I sometimes wonder if I could duplicate. I started the analysis and design in the summer of 2010 and the system went online at the end of the Fall 2010 semester in time for student use. I did not, however, complete the entire project before its first use and some things came later. For example, another developer wrote the evaluation results review pages while I completed other outstanding items. As such, those results pages are not shown below. What I did build myself was the data model (and database objects), the student course evaluation pages, and the staff "Course Evaluation Manager" pages that are used for building the evaluation forms and controlling the system.
Oh yeah, did I mention that this was also my first web app and some of my first web pages of any sort? Fortunately, I tend to absorb new technology like I do breakfast cereal.
A course evaluation is essentially just a survey and, normally, building a survey system should not be all that difficult. This system, however, required a large amount of flexibility to accommodate the needs of the Dean of the College (DOC) as well as each of the departments. Not only did it need the usual smattering of question and response types (including Likert scale grids), but the DOC needed to define a selection of different evaluation templates -- with both required and optional questions in it -- that the departments could then build their own evaluation forms upon. The system also supports question versioning so that a question can sustain minor edits and still be tracked over time while still maintaining the original forms. Finally, the evaluations forms can have sections set to repeat for each instructor and/or TA attached to the course with responses from those sections only viewable by the relevant faculty.
I built the data model in Toad Data Modeler. I prototyped most of the pages in Dreamweaver before rewriting them as Oracle PL/SQL packages. The student pages are mostly JavaScript-free and can run without JavaScript enabled. The staff pages, however, use a great deal of JavaScript, AJAX, and jQuery to enable single-page editing. Page styling is handled primarily by the student system product, SunGard's Banner ERP, and their WebTailor framework of PL/SQL packages (I added very little CSS to the baseline CSS). Thus, the pages are not pretty but they are consistent with the rest of the student system. I have not yet met another Banner developer that builds custom Banner applications with Banner's WebTailor framework -- sure, the pages others build are prettier, but I believe in the standardized code and CSS as well as the security and malicious code scrubbing that WebTailor provides. Thus, as "just the consultant," I do my best to quietly lead by example even if the engineering culture gets a bit hostile towards consultants.
A course evaluation is essentially just a survey and, normally, building a survey system should not be all that difficult. This system, however, required a large amount of flexibility to accommodate the needs of the Dean of the College (DOC) as well as each of the departments. Not only did it need the usual smattering of question and response types (including Likert scale grids), but the DOC needed to define a selection of different evaluation templates -- with both required and optional questions in it -- that the departments could then build their own evaluation forms upon. The system also supports question versioning so that a question can sustain minor edits and still be tracked over time while still maintaining the original forms. Finally, the evaluations forms can have sections set to repeat for each instructor and/or TA attached to the course with responses from those sections only viewable by the relevant faculty.
I built the data model in Toad Data Modeler. I prototyped most of the pages in Dreamweaver before rewriting them as Oracle PL/SQL packages. The student pages are mostly JavaScript-free and can run without JavaScript enabled. The staff pages, however, use a great deal of JavaScript, AJAX, and jQuery to enable single-page editing. Page styling is handled primarily by the student system product, SunGard's Banner ERP, and their WebTailor framework of PL/SQL packages (I added very little CSS to the baseline CSS). Thus, the pages are not pretty but they are consistent with the rest of the student system. I have not yet met another Banner developer that builds custom Banner applications with Banner's WebTailor framework -- sure, the pages others build are prettier, but I believe in the standardized code and CSS as well as the security and malicious code scrubbing that WebTailor provides. Thus, as "just the consultant," I do my best to quietly lead by example even if the engineering culture gets a bit hostile towards consultants.