Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
The Big Picture Week 1 INFM 718N Web-Enabled Databases Agenda • • • • • • Teaching theater orientation Why do this? Architecture Tools Course design Term project Teaching Theater • Login – University password and ID • Tech support • Notes – RTF for Word, Powerpoint for printing • Video – RealVideo + Videotape Looking at Examples • Explore one Web-enabled database (7 min) – Work in 10 teams of 2 people each – Identify features you like and dislike • Report to the class (1 minute!) – Very briefly describe it • Content, control, presentation, policies – Say one new thing you like, one that you don’t • Relational normalization • Structured programming • Software patterns • Object-oriented design • Functional decomposition Business Interaction Design rules Interface Design Client Hardware Web Browser Client-side Programming Interchange Language Server-side Programming (PC) (IE, Firefox) (JavaScript) (HTML, XML) (PHP) Database (MySQL) Server Hardware (PC, Unix) Model: An Abstraction of Reality • Formal – To permit automated reasoning • Necessarily incomplete • Useful for a purpose Upside • Data reuse • Multiple views • Scalability • Personalization / access control Downside • Brittle – Depends on 3 servers • Complex – Learning, design, implementation, debugging • Formally modeled Languages and Protocols • Web – Standards: – Software: HTTP / (X)HTML / URL Server, Browsers • Database – SQL • Programming languages – Server-side: PHP, Perl, JSP, ASP.NET – Client-side: JavaScript, Java • Data interchange – XML / DTD Tools • WAMP (for PC) – PHP 5.1.2 + MySQL 5.0.18 + Apache 2.0.55 – GUI tools • OTAL (Sun Unix) – PHP 5.0.5 + MySQL 4.1.15 + Apache 2.0 • Text editor/Integrated Dev. Environment – Eclipse, emacs, notepad, … Introductions • Pair with someone you don’t know • Briefly interview each other – Name and what program they are in – One interesting thing about them – One thing they want to learn from this class • Take a 10 minute break • Introduce them after the break – 30 seconds per person! Controlling What Computers Do • Process design – Logic errors • Algorithm design – Run-time errors • Coding – Syntax errors Programming Skills Hierarchy • Reusing code [run the book’s programs] • Understanding patterns [read the book] • Applying patterns [modify programs] • Coding without patterns [programming] • Recognizing new patterns Three Big Ideas • Functional decomposition – Outside-in design • High-level languages – Structured programming, object-oriented design • Patterns – Design patterns, standard algorithms, code reuse Installing WAMP • http://www.en.wampserver.com/ • Run phpinfo.php – Error reporting on? MySQL configured? • Create a database and user accounts (mysql) • Run mysql_test.php – Connects OK? Working with PHP • Local vs. server-based display • HTML as an indirect display mechanism • “View Source” for debugging • Procedural vs. Object-Oriented Some Related Courses • Database Design (LBSC 793) • Java Programming (LBSC 790/INFM 718B) • Human-Computer Interaction – LBSC 795 or CMSC 434 • Information Retrieval Systems (LBSC 796) • XML Encoding (LBSC 708Y) Learning Strategies • Weekly class sessions – Ways of thinking – Mixed-initiative interaction (questions, teamwork) • Readings – Exposure to ideas, details, and references • Structured exercises – Points of departure for experiential learning • Project – Experiential learning, mastery of details • Mailing list and optional TA “lab sessions” – Student-initiated interaction Grading • Project: 80% – Team grade: 40% – Your management role: 20% – Your technical role: 20% • Homework: – PHP, MySQL • Participation: – Class sessions, mailing list 10% 5% each 10% Term Project • Optimally 3-person teams – You pick ‘em, you live with ‘em! – Minimum of 2 (severely limits what can be done) – Max of 4, but only for Ajax teams • Must solve a real problem for a real client – But don’t over-promise! • No configuration/language limitations Preparing for the “Idea Rally” • A 90-second “elevator pitch” – One interesting and feasible idea – Plus why they should want you on their team! – Showing one optional powerpoint slide • Illustrate your point, don’t say the same words! • One-page handout (22 copies) – Your idea in a short paragraph – Your name, picture and contact information – A list of your strengths First Things First • Functionality • Content • Usability • Security/Stability One-Minute Paper What was the muddiest point in today’s class? • Be brief! • No names!