(3/31) In an effort to get lean & highly structured notation back from this current assignment, here is a Warnier diagram as an example, which of course could be improved. It demonstrates:

Function CheckBoxes

Here's a sketched Class Diagram of the web app at info250.us/tinstructor. This is cast as a MVC - Model View Controller where the classes are referenced as 'Models' where a 'Controller' considers the Authority and Roles of the logged-in user and provides the 'Views' appropriate for their roles. The code is available from the command line: /home/tinstructor/SeSDoC/web.

SeSDoC Classes

(3/27) SeSDoC Dlv #3, for 5 points, is to create a database to hold data from your fictitious organization's application form. Dlv #4, for 15 points, is to protect pages so that only an authenticated user with an active session can access them. These introduce SQL scripting, SESSION data, and authentication.

(3/10) About SeSDoC Form Dlv #2: As you're customizing the form for your own fictitious organization take care that all object and variable names are meaningful for your form. Remove all references to SeSDoC & SouthEastern states. Make a site with at least 3 pages, consistently styled with an external css, mobile-friendly and valid html and css. Make clear links to your SeSPoP database reports and the new form. Due: Pd 5 3/17, Pd 7 3/20.

(2/27) See the new assignment for HTML forms handling posted for 2/27. Dlv #1 is due by Friday the 3rd, with an application form like the one at info250.us/SeSDoC styled to fit into your site. Check the link 'About the Form' for some explanation of the tech used for form handling at SeSDoC. Dlv #2 due date TBA. Sample code is available from the command line at /home/SeSDoC -- note that some components belong in the home directory and others are in web and web/media. See the notes

(2/8) Pythoners: info250.us/pygsx has examples of using GET & POST data and MySQL/MariaDB with python. Example code is available from the command line-height at /var/www/html/pygsx. Place python scripts with a .py extension in your 'python directory' which is named like 'pyyourid'. Python is unlike PHP in many regards including that python scripts must be executable, so use chmod 705 on each script. I'm working on 'session handling with python' using the request objects to help with later assignments...

(2/3) 1st Semester grades are posted in PowerSchool. Y'all rock, mostly, way too many A+s warm my otherwise chilly heart.

(2/3) SeSPoP Due Dates: SeSPoP Dlv #1 is due for 5 points Wednesday the 8th. Dlv #2 is due Friday the 17th. The pages for selecting reports and options must be styled like your site using external css. Mobile-first, responsive pages with valid html & css that accurately report SeSPoP's data are expected...

(1/24) Note from Dr Loving about study abroad:

Hello all teachers who may be aware of students interested in animation, architecture, business, IT, visual effects, and/or engineering/robotics!

There is a summer school program at La Salle University in Barcelona that specializes in each of the fields mentioned above (see below). It is taught in English. I visited La Salle while I was in Barcelona and I think that this program could be a fit for a number of our students. It does, of course, have a price tag consistent with what you would expect for a study abroad program but some students’ parents may be willing to pay it for the experience.

La Salle is a small campus in the hills in the residential area just outside of downtown Barcelona. It is not as grand as University of Barcelona, which was breathtaking, but the architecture and robotics programs in particular seemed to be very strong and focused. La Salle, as a university, only offers about five specialized majors, so I’m not sure I would recommend it as a 4-year institution for our students, but I remember thinking when I was there that this summer program was the best take-away from my visit there.

Please feel free to send any interested students my way!

(01/20) PoP Quiz:



1) We need to increase donations of the rare negative type blood.  
Prepare a list from the Entities table of donors in zips starting with 23.
Format the report like this:

+------------------+-----------+------------------------+-------------------+------------+--------------+
| Name             | BloodType | StreetAddress          | CityState         | PostalCode | Phone        |
+------------------+-----------+------------------------+-------------------+------------+--------------+
| Gary Steffen     | O-        | 1090 Jefferson Street  | Norfolk, VA       | 23513      | 757-836-1173 |
| Shelly Valdez    | O-        | 2365 Jefferson Street  | Newport News, VA  | 23603      | 757-820-1502 |
| Betty Lynn       | B-        | 4950 Pinchelone Street | Princess Anne, VA | 23456      | 757-385-7016 |
| Nicole Lanctot   | B-        | 575 Murry Street       | Norfolk, VA       | 23502      | 757-459-6112 |
| David Cataldo    | O-        | 4303 Biddie Lane       | Amelia, VA        | 23002      | 804-561-3465 |
| Reginald Bradley | A-        | 4035 Jefferson Street  | Hampton, VA       | 23666      | 757-826-1860 |
| Catherine Hayes  | O-        | 1862 Allison Avenue    | Norfolk, VA       | 23502      | 757-605-5937 |
| Robert Dennis    | A-        | 1650 Fleming Way       | Richmond, VA      | 23223      | 804-687-1994 |
| Joe Hogg         | A-        | 2548 Jefferson Street  | Hampton, VA       | 23669      | 757-722-7894 |
| Frank Hardy      | O-        | 3284 Kildeer Drive     | Norfolk, VA       | 23502      | 757-261-7399 |
| Edwin Rogers     | O-        | 4873 Worley Avenue     | Emporia, VA       | 23847      | 434-348-9586 |
| Marilyn Mclemore | A-        | 4647 Murry Street      | Norfolk, VA       | 23502      | 757-517-3605 |
| Rita Peters      | AB-       | 1538 Worley Avenue     | Farmville, VA     | 23901      | 434-315-5271 |
| Ken Ferguson     | O-        | 2259 Melody Lane       | Richmond, VA      | 23233      | 804-360-1421 |
| Myrtle Harris    | O-        | 4512 Allison Avenue    | Hampton, VA       | 23669      | 757-637-5249 |
| Lillian Frost    | A-        | 2858 Pinchelone Street | Norfolk, VA       | 23502      | 757-344-6978 |
+------------------+-----------+------------------------+-------------------+------------+--------------+
16 rows in set (0.04 sec)


2) Show the total, average, and count of Donations from each Region, including Regions with no activity.
Use case or coallesce to show 0.00 in place of null data.

+-------------------+----------+-----------+----------+
| RegionName        | Total    | Average   | TheCount |
+-------------------+----------+-----------+----------+
| Nullonia          | 0.00     | 0.00      |        0 |
| Phantomia         | 0.00     | 0.00      |        0 |
| Middle Penninsula | 11992.45 | 32.588179 |      368 |
| Osprey            | 16434.80 | 55.522973 |      296 |
| Savannah          | 239.60   | 34.228571 |        7 |
| Hampton Roads     | 2689.90  | 41.383077 |       65 |
| Sarasota          | 388.55   | 38.855000 |       10 |
| Williamsburg      | 58.85    | 19.616667 |        3 |
| Longboat Key      | 6283.74  | 37.853855 |      166 |
| River City        | 7644.65  | 37.658374 |      203 |
+-------------------+----------+-----------+----------+

3) Prepare a report of donations showing subtotals for each volunteer and region.  
Use rollup and case or coallesce to label the subtotals as below: 

+-------------------+----------------+----------+
| TheRegion         | Volunteer      | SumAmt   |
+-------------------+----------------+----------+
| Hampton Roads     | Alton Powell   |   244.00 |
| Hampton Roads     | Anne Dollitz   |    84.95 |
| Hampton Roads     | Gail Grainger  |   329.90 |
| Hampton Roads     | Grayson Martin |  1956.10 |
| Hampton Roads     | Wanda Grover   |    74.95 |
| Hampton Roads     | Total          |  2689.90 |
| Longboat Key      | Alton Powell   |   849.05 |
| Longboat Key      | Anne Dollitz   |    59.90 |
| Longboat Key      | Gail Grainger  |   249.80 |
| Longboat Key      | Grayson Martin |  5006.19 |
| Longboat Key      | Wanda Grover   |   118.80 |
| Longboat Key      | Total          |  6283.74 |
| Middle Penninsula | Alton Powell   |   933.50 |
| Middle Penninsula | Anne Dollitz   |   344.60 |
| Middle Penninsula | Gail Grainger  |   447.25 |
| Middle Penninsula | Grayson Martin |  9803.45 |
| Middle Penninsula | Wanda Grover   |   463.65 |
| Middle Penninsula | Total          | 11992.45 |
| Osprey            | Alton Powell   |  1165.50 |
| Osprey            | Anne Dollitz   |   544.75 |
| Osprey            | Gail Grainger  |  1068.65 |
| Osprey            | Grayson Martin | 13309.10 |
| Osprey            | Wanda Grover   |   346.80 |
| Osprey            | Total          | 16434.80 |
| River City        | Alton Powell   |   678.20 |
| River City        | Anne Dollitz   |   104.85 |
| River City        | Gail Grainger  |   504.45 |
| River City        | Grayson Martin |  6102.40 |
| River City        | Wanda Grover   |   254.75 |
| River City        | Total          |  7644.65 |
| Sarasota          | Alton Powell   |    59.90 |
| Sarasota          | Grayson Martin |   328.65 |
| Sarasota          | Total          |   388.55 |
| Savannah          | Alton Powell   |    29.95 |
| Savannah          | Grayson Martin |   209.65 |
| Savannah          | Total          |   239.60 |
| Williamsburg      | Gail Grainger  |    23.00 |
| Williamsburg      | Grayson Martin |    35.85 |
| Williamsburg      | Total          |    58.85 |
| All Donations     | Total          | 45732.54 |
+-------------------+----------------+----------+
40 rows in set (0.02 sec)



(01/18) PoP Quiz:


Find the people with the rare blood type AB- nearby, in zips 23200 through 29999:


+-----------+----------+------------+----------------------+------------+-------+--------------+
| FirstName | LastName | PostalCode | StreetAddress        | City       | State | Phone        |
+-----------+----------+------------+----------------------+------------+-------+--------------+
| Carmen    | Easter   | 25301      | 2620 Tavern Place    | Charleston | WV    | 304-222-8399 |
| Michael   | Curtis   | 28801      | 500 Diamond Street   | Asheville  | NC    | 828-531-5697 |
| Richard   | Rood     | 28202      | 1568 Kelly Street    | Charlotte  | NC    | 704-966-2088 |
| Houston   | Estrada  | 27713      | 4142 Jennifer Lane   | Durham     | NC    | 919-483-1562 |
| Emily     | Green    | 29453      | 2120 Broadway Street | Cross      | SC    | 843-753-1797 |
| Rita      | Peters   | 23901      | 1538 Worley Avenue   | Farmville  | VA    | 434-315-5271 |
+-----------+----------+------------+----------------------+------------+-------+--------------+
6 rows in set (0.05 sec)


List the name of the volunteer, region, and member with address for the top 20 donations:

+----------------+---------------+----------------------+--------+---------------------------+--------------------+-------+
| VolunteerName  | RegionName    | MemberName           | Amount | Address                   | CityState          | Zip   |
+----------------+---------------+----------------------+--------+---------------------------+--------------------+-------+
| Grayson Martin | Osprey        | Kenneth R Umstattd   | 880.00 | 804 Henri Rd              | Richmond, VA       | 23237 |
| Grayson Martin | Osprey        | Beatrice Sammons     | 784.00 | 603 Longboat Club Rd      | Bradenton, FL      | 34210 |
| Grayson Martin | Osprey        | Richard Weston       | 560.00 | 925 Cypress Wood          | Scarborough, NY    | 10510 |
| Gail Grainger  | Osprey        | Carolyn Evans        | 540.00 | 1801 51st St W            | Chesapeake, VA     | 23322 |
| Grayson Martin | Osprey        | Ann Rudin            | 300.00 | 601 Hamilton Dr           | Bradenton, FL      | 34205 |
| Anne Dollitz   | Osprey        | Katie Ondrey         | 280.00 | 5 Lexington Rd            | Richmond, VA       | 23236 |
| Grayson Martin | Longboat Key  | Paul Roberts         | 239.60 | 5750 Axminster Dr         | Sarasota, FL       | 34242 |
| Grayson Martin | Osprey        | G William Mulqueen   | 210.00 | 470 Fairway Isles Dr      | Mechanicsville, VA | 23111 |
| Alton Powell   | Longboat Key  | Susan Eisenman       | 210.00 | 1707 Locust Hill Rd       | Virginia Beach, VA | 23455 |
| Grayson Martin | Osprey        | Darlene Baker        | 210.00 | 10281 Henderson Hall Rd   | Fredericksburg, VA | 22407 |
| Grayson Martin | Osprey        | Jerry Sutton         | 175.00 | 7501 River Rd Apt 7G      | Quinton, VA        | 23141 |
| Grayson Martin | Osprey        | Daniel Minson        | 175.00 | 4555 Las Brisas Ln        | Fredericksburg, VA | 22407 |
| Grayson Martin | Osprey        | Sandra Quackenbush   | 175.00 | 5400 Eagle Pnt Cr         | Virginia Beach, VA | 23451 |
| Grayson Martin | Osprey        | Joanne Jackson       | 175.00 | 30 Jefferson St           | Richmond, VA       | 23226 |
| Grayson Martin | Osprey        | Teresa Felkins       | 175.00 | 1916 Idlebrook Dr         | Virginia Beach, VA | 23456 |
| Gail Grainger  | Osprey        | Vivian Yavorski      | 140.00 | Po Box 335                | Wilmington, NC     | 28412 |
| Grayson Martin | Osprey        | Shirley Marquina     | 140.00 | 4103 Summit Ln            | Virginia Beach, VA | 23452 |
| Alton Powell   | Osprey        | S Elizabeth Williams | 140.00 | 9819 Thacker Ln           | Vesta, Va          | 24177 |
| Grayson Martin | Osprey        | Wallace Rice         | 140.00 | 5513 Garden Lake Majestic | Yorktown, VA       | 23693 |
| Gail Grainger  | Hampton Roads | Bill Miga            | 140.00 | 4455 Old Fox Trail        | Chesapeake, VA     | 23320 |
+----------------+---------------+----------------------+--------+---------------------------+--------------------+-------+
20 rows in set (0.01 sec)


Show the totals for each volunteer, including those who collected no donations:

+----------------+----------+
| VolunteerName  | Net      |
+----------------+----------+
| Grayson Martin | 36751.39 |
| Alton Powell   |  3960.10 |
| Gail Grainger  |  2623.05 |
| Wanda Grover   |  1258.95 |
| Anne Dollitz   |  1139.05 |
| Lazee Susan    |     NULL |
| Sam Slacker    |     NULL |
+----------------+----------+



(1/6) Database Programming Due Dates:

(1/5) Y'all advanced students might consider the Computer Science AP Exam. It may provide some more options for IS or CompSci majors than dual-enrollment credits, which usually transfer as introductory courses. I'm always being impressed by the hotshots who know more and have more skills than I've taught. Check out the pdf to see more about 'computer science' that goes beyond what ebus tech and programming languages offer. Let Ms Deck know if you're interested, she's got one student who wants to take it and is looking for more...

(1/4) We're starting on database with MySQL/MariaDB next, then 'database programming' with PHP. Noobs, see 1/4 below and get to work with the MySQL command line. Advanced students, figure out how to connect to MySQL/MariaDB with your new language...

(12/5) Specs for Part #2 have been ammended to require more than the minimum to get points. Please check them out and get questions answered...

(12/5) For mobile-first, responsive html5 and css3 the instructor provides a sample at info300.net/Resp which meets the specs for semantic markup and responsive style for the next project. It was built from the RWD tutorial at W3Schools and has been modified to use semantic markup appropriately where W3Schools uses divs instead of elements like nav, header, or footer. You're welcome to use it as a starting point or meet the specs in some other way the instructor approves.

(11/1828) Server-side HTML5, CSS3, and JavaScript is under way. Show 90% or better on the three quizzes. Apply what you learn to your link at info250.us with validates and demos HTML5, CSS3, and JavaScript to the specs below. Due Dates:

(10/28) Make sure to test your mode/histogram against the 'Sample runs of selected .nbrs files' below. The set of nbrs files has been updated to add two more multi-modal distributions. These files have multi-modal data: 100_100_1_180_15.nbrs, 2KTriModal.nbrs, 2KTriModal.nbrs

(10/10, 28) Project #3 is in two parts: Standard Deviation is due by the 14th. Mode and histogram are due by the 21stNov 1st.

(9/26) Project #2 is due Wednesday 10/5. See the structured notation and specs below on the 26th.

(9/15) I'm not happy to miss Friday's class, but please carry on with the projects and treat 'the sub' better than you do me... Several 1Bs have been demo'd with max aplomb and I ask those who demo'd to patiently attend to the efforts of those who haven't quite figured out what's going on, or are stumped on debugging. Make as much progress on 1C as you can. Advanced students: After you figure out file input and arrays in Project 1B in your new language, please set to keyboard input like project 1C requires...

(9/14) Project #1 is due 9/23. Plan to demo part 1C and turn in structured notation on paper.

(9/14) For sub-project 1B please use the example headed "Here's another version of the script as demo'd, which lets the User choose a file by entering a number. It introduces the concept of 'Arrays'. "

(9/15) I'm not happy to miss Friday's class, but please carry on with the projects and treat 'the sub' better than you do me... Several 1Bs have been demo'd with max aplomb and I ask those who demo'd to patiently attend to the efforts of those who haven't quite figured out what's going on, or are stumped on debugging. Make as much progress on 1C as you can. Advanced students: After you figure out file input and arrays in Project 1B in your new language, please set to keyboard input like project 1C requires...

(9/14) Project #1 is due 9/23. Plan to demo part 1C and turn in structured notation on paper.

(9/14) For sub-project 1B please use the example headed "Here's another version of the script as demo'd, which lets the User choose a file by entering a number. It introduces the concept of 'Arrays'. "

(9/5) Course Description

Students develop programming skills using open source technologies, and gain novice skills in at least three Programming Languages, plus SQL for database. The first exercises introduce structured programming, data structures, and algorithms for keyboard and file processing using PHP at the command line on a Linux server.

Projects include design of algorithms for descriptive and inferential stats, and for loading and accessing data in data structures such as sequential files, keyboard, linked lists, hash/ISAM indexes, and binary/balanced trees. Object-oriented programming is introduced with the HTML Document Object Model and JavaScript. Exercises introduce security and programming for the web with JavaScript, PHP, and SQL.

W3Schools' tutorials introduce semantic markup and styling for the web, and object-oriented programming with the DOM and Browser-Side scripting: HTML, XHTML, HTML5, CSS, JavaScript, and jQuery. Server-Side Scripting involves the 'LAMP Stack' of Linux, Apache, MySQL, and PHP.

In the 2nd semester, students continue with projects in another language of their choice. They may repeat earlier exercises in another language, or work on fresh projects subject to the instructor's approval. Other languages in recent years have been: Java/NetBeans, node.js, SDK for a Mobil Device (iPhone or Droid), Python, Bash, Perl, Ruby, and C++.

Topics and Skills: