Presentation is loading. Please wait.

Presentation is loading. Please wait.

Grade Book Database Presentation Jeanne Winstead CINS 137.

Similar presentations


Presentation on theme: "Grade Book Database Presentation Jeanne Winstead CINS 137."— Presentation transcript:

1 Grade Book Database Presentation Jeanne Winstead CINS 137

2 Overview of This Presentation Project chosen How enhanced Challenges Tour Lessons learned Future enhancements

3 Project Chosen I chose the Grade Book Database Scenario (p. 544 in text) – Reasons Curiosity – When signing up for this course I particularly wanted to learn how to write Visual Basic applications in tandem with databases. Practicality – I feel there is a great demand for this knowledge in industry and the business world

4 How enhanced I modified the database so that the instructor can enter grades for multiple classes and multiple sessions. I tried to provide a streamlined and intuitive interface with enhanced functionality. – I linked the classes combo box to pull its options from the classes table in the database I modified the averages formula and logic so that instructor could get a running average throughout the semester.

5 Challenges The challenges seemed endless – Because I wanted to give the instructor a view by student name instead of student id, I had to join the student and grades table for my sql query. Joined tables knock out the datatable’s built in update method which generates the needed sql statements to update the database. So I had to write my own update statements in sql and send them to the database.

6 Challenges, continued – I wanted to protect the instructor from losing his or her updates if they forgot to press the save button. The obvious answer would be not to have a save button … but I didn’t go that route So that meant every event had to know whether there were changes pending – I guess there could be multiple ways of doing it. – I ended up having one event handler for the combo box and most of the buttons which handled changes and then routed to the appropriate control event handler. » These became regular subroutines

7 Challenges, continued – Somewhat related to the previous point, I only wanted the save button to be available if the instructor had actually entered changes. – Also, because I was using the datagridview box for multiple purposes, I had to make sure the content was editable when the instructor was entering grades, but that it was read only for any other display. – Along with that, I had to protect key columns from being edited in order to maintain the database’s referential integrity.

8 Tour – Opening Screen From the opening screen, the instruction can either choose a class section or quit.

9 Tour - continued Choosing a class section

10 Tour - continued Choosing a class section – Once a class section has been chosen, all options become available: Enter Test Scores Calculate Running Average Print a Grade Sheet Choose another class section

11 Tour – Making Changes Changing or Adding Test Scores – As soon as the instructor enters a test score, the Save Changes button becomes available.

12 Tour – Average checkboxes As previously mentions, the program provides a running average throughout the semester – This is done with checkboxes (to build the appropriate sql query formulas.) – The program defaults to all checked – If none are checked, the average and the grades buttons dim.

13 Tour – Print Letter Grades Here’s what the semester grade sheet looks like – Note that the class has not yet had their final, so the finals checkbox is unchecked and that column is left out of the logic for determining averages and letter grades. I used a modal form to produce the grade sheet.

14 Tour – Modal Forms I also used a modal form to check with the user about unsaved changed

15 Lessons Learned What the book said about drawing your form first and figuring out how you want all the controls to interact? – DO THAT – A Caveat – only sometimes it actually helps to construct a working model to help yourself figure out how you want everything to interact. Event Driven programming is a different kind of animal – There are fewer hierarchical relationships. Anything can happen at any time. Deal with it. It’s never done. – There is always something more to do – Or to fix. I now have a better idea of how database packages and Visual Basic work together. – If someone asked me to write a simple Visual Basic program at work with a database backend, I think I might be able to do it A Caveat – THERE IS STILL A LOT TO LEARN In concept Object Oriented Programming is a great idea – or so I thought. – It allows you to model the real world – However, it also becomes more and more abstracted from the real world – I can now see why OOP has critics. – In short, future generations of Computer Science people still have a lot of work to do in their field – Just like the rest of us do in improving whatever field we are in.

16 Future Enhancements Add exception handling Check for reasonable test scores Fix whatever I thought worked that doesn’t


Download ppt "Grade Book Database Presentation Jeanne Winstead CINS 137."

Similar presentations


Ads by Google