as offered at Maggie Walker
Governor's School 2008 – 2009
arp may answer questions? Get the thing backed up!
assigned 2/27, for advanced DBMS Project, to
gather data for statistical analysis:
- Learn to administer your database at info250.info. Demo
facility with SQL Scripting to create tables, to dump them, &c.
This link provides the basics for this.
- Use the site at info250.info/gschool/,
or start with an _approved_ fresh technique,
and use Structured Notation to make a design for your new site.
- Make a table with User data (UserId, Password, Authority, Preferences, &c)
and php scripts to authenticate and authorize Users' access to the pages
involved in the solution using a mechanism to protect each page
from Unauthorized Access. This may be similar to that used in /home/gschool/web/
or it may be an _approved_ approach.
- Design and construct tables needed: There will need to be a table
to identify 'batches' of data, the dependent & independent
variables &c needed to title columns & rows on reports,
and to collect the Observations. Present structured designs for
approval before getting into construction.
SQL Data Types & Keys: (2/27)
Examine the SQL Scripts at /home/gschool,
create tables, drop tables, insert records, &c, &c..
Last chance for Last Points, assigned 2/2, for Intro Exercise about reporting on data at SeSPoP. Demo the following on or before Thursday 2/12 for max 15 points:
- Proficiency with MySQL at the command line, especially agility with 'simple inner joins' in the where clause.
You're welcome to investigate the JOIN keyword, especially the sometimes-critically needed OUTER JOIN if you're intrepid, and I'll get some data in the SeSPoP
database for you to try it out. Demo proficiency by making at least two queries at the command line, both involving joins and neither
being a direct copy of the queries in the GET & POST examples at SeSPoP. One of the
queries should demo the sum() operation, using group by & order by clauses to shape the report.
- Database Reporting to The Web using PHP & MySQL may be demo'd either by making a fresh start if you
think you can do it by the due date, or by copying LinkToReports.html, DonationReports.php,
LinkToReportsPOST.php, & DonationReportsPOST.php from astudent/web/ to your own web directory, where
they may be studied and integrated into your websites' css & pages with minimum mods.
- Delivering 'active content' requested by a User, either directly on your home page at info250.info, or on a page like LinkToReports.html. At least two of your new reports must use FORM elements, especially the <select control with appropriate <options, and use of POST data to pass the selection into your demo script. The other two reports may be chosen using GET data or POST.
- Improvement of the clearly flawed example scripts by removing the database authentication data to a file in your /home directory, referenced with PHP's require statement,
and not in your 'web root directory'. Request that I set it as in apache's group so that a chmod 660 may be set to deny
this privileged information from others. Any other improvements, please keep me aware...
- Clearly Structured Notation of the project, showing the html & php pages & 'requires' involved in the project, highlighting how GET & POST data are used to deliver the appropriate
reports, and how the newly encountered if/then/elseif structure is used to validate and act on $NextAction, or
a variable like it, and otherwise document your work.
is prevalent in job listings, stands for Linux/Apache/MySQL/PHP-Perl-Python.
These next few classes are an intro to this environment.
Intro to DBMS
as shown in class.
Learn SQL as
your intro text for MySQL and visit mysql.com for a detailed
reference. Use SeSPoP to make some queries, focusing on queries that
require joining tables and providing totals & subtotals.
More intro to
as at SeSPoP.
Log into mysql _after_
you log into info202.info! From the command line, use this to get
the mysql prompt:
mysql -ustudents -plittlesecret
Use w3schools.com, Server
PHP as your introductory text to Web Programming with PHP. (Prior work with PHP was for CLI --
Please do not run CLI scripts from the web!)
Visit us2.php.net often for detailed stuff about PHP.
If you want to walk on
the wild side and deplay the LAMP environment on your notebook
computer, download wampserver and it will insall WAMP - Windows,
Discussion of the
sample scripts: Database
programming with PHP & MySQL
Project #3: Using the
$_GET samples, make three
queries that are not already on one of the reports pages at
info202.info/astudent and get them linked to your home page.
They must demo table joins & functions like sum/group by. They
should be appropriately tabulated with tables or divs.
Project #4: Using the
$_POST samples, make three queries where the User of the web page
gets to select from a list of properties, and gets back an
appropriately tabulated report.
As Project #4 is
demo'd complete individual and team databases will be provided so
you can proceed directly to
Stuff. Watch this spot for more: techniques for database
abstraction & UI using PHP & browser interface; essentials of CRUD;
transaction logging; &c; &c...
Then, teams construct
'Stat Sites' as tasked a few weeks back...
Be thinking of 2nd &
3rd languages to master for next semester.
We'll be using
choice of other languages next semester: RPG, Java, C++, Python, Perl,
Languages' don't exist in a vacuum, business doesn't run on PCs.
The environment today, effect of FOSS on proprietary OS & languages
Kinds of Software;
9/5 'Range of
Computing Platforms' from embedded thru super computers
'Generations of Programming Languages' 1 thru 4, 5 maybe...
Algorithms, Flowcharts vs. Structured Notation. Algorithm for
counting & accumulating numbers and calculating an average. 'Desk
checking' the algorithm on the board.
Introduction to Programming:
9/28 Examining and Describing Data:
Algorithms for describing data; sorting data with
pocket sort; calculating central tendency (mean, mode, median) and
standard deviation . Use data from files provided & from coin
some algorithms, may contain errors, watch out! Please
note the method used to 'show the whole thing on one page' and
'explode the details on other pages'.
Due 10/22, Working app to find min & max + structured
notation, 10 points
Due 10/31,Teams of two investigate other sorting
algorithms, some using features of PHP, runoff to determine fastest
approach. 10 points.
Due 11/14, Teams demo sort algorithm & structured notation.
Sorts were: Quick Sort, Radix Sort, Merge Sort, and three variations
on Pocket Sorts. Next two classes worked out timings proving
that the more complex algorithms got the quickest sorts.
Due 11/26, Teams demo complete descriptive stat
package and structured designs, ranging 8.5 to 11.5 of 10 points
when difficulty was factored in and not much for accuracy.
None showed The Mode, so this is the nugget for the next demo, to
perfect the stat packages and prove them accurate.
Due prior to Winter Break will be polished stat
packages, and individuat projects in HTML, XHTL, XML, CSS, and
web-programming features of PHP, and MySQL...
12/10 with requirements, 12/12 to add some links that might be helpful...
project due 1/7, scored with this
Quiz #1 January
12th - Study Questions
Instructor: Gerald Saunders
Everything else needs to be entirely revamped
to fit 'Programming Languages' for 2008
The course provides an
introduction to the several technologies involved in today's web and
eBusiness. Components of today's networks & systems are presented and
discussed from an historical perspective, and basic skills in the
technologies supporting eBusiness are developed.
Students learn about current
hardware, software, & networking technologies; HTML; structured
programming using PHP; relational database using MySQL; Accounting; and
Tools for system analysis &
design are introduced and used in exercises to develop requirements for
case studies and make designs for systems to meet the requirements.
Students are introduced to structured and object-oriented analysis and
design techniques using the Unified Modeling Language, Unified Process,
& Project Management concepts & tools.
Internet & World Wide Web -- How to
Program; Deitel, Deitel, & Goldberg; Prentice Hall; 2004
Objectives: To develop basic
skills in the several technologies of eBusiness, introduce system design
and project management tools.
- Survey the range
of computer platforms involved in eBusiness, considering hardware
and operating systems likely to be encountered in today’s systems.
- Learn to build a
web server, deploy it securely, and use it.
- Gain experience
with the Linux command line environment.
- Learn to write
html, including cascading style sheets for those students most
interested in ‘web design’.
- Learn to design
and write well-structured programs, with exercises involving common
data structures and delivery of active content.
- Gain intermediate
skills in relational database.
interested most in ‘programming’ will gain experience in supplying
‘database driven’ web content and working with web forms to provide
- Learn financial
accounting applicable to eBusiness.
- Gain introductory
skills with system design and project management tools
- Survey of current
hardware/software platforms and emerging technologies.
- Building and
securing a Linux web server.
- Basic networking
concepts: equipment, network media, addressing
- Basic operating
- Web design:
Graphics for the web, and HTML
- Logging into a
Linux server and working at the command line
- Introduction to
structured programming logic
- Introduction to
structured programming with PHP
- Introduction to
relational database using MySQL
- Cascading Style
programming with PHP & MySQL & web forms.
concepts for programmers
architecture & design tools: Visio, the UML & Unified Process, and
classroom is a tiered computer lab with a networked computer for each
student. The instructor’s system at the lectern is connected to a
hi-resolution projector. Visualize is available so that work on
any student's monitor may be displayed on all monitors, or projected for
all to see.
‘open source’ software is available for free. The instructor will
provide an internet-accessible server where students will make their
websites. The Microsoft Academic Alliance provides other software
for free download, and of this suite we will be using Visio and
who are especially interested in pursuing information systems and want
to gain more experience are encouraged to build and deploy
servers/firewalls on their networks at home so that they will gain
valuable experience in networking and security by ‘watching their logs’
and administering their own server on the internet.