View
221
Download
2
Embed Size (px)
Citation preview
Week 1
INFM 718N
Web-Enabled Databases
The Big Picture
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
Database
Server-side Programming
Interchange Language
Client-side Programming
Web Browser
Client Hardware
Server Hardware (PC, Unix)
(MySQL)
(PHP)
(HTML, XML)
(JavaScript)
(IE, Firefox)
(PC)
Bus
ines
sru
les
Inte
ract
ion
Des
ign
Inte
rfac
eD
esig
n
• Relational normalization• Structured programming• Software patterns• Object-oriented design• Functional decomposition
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: HTTP / (X)HTML / URL– Software: 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: 10%– PHP, MySQL 5% each
• Participation: 10%– Class sessions, mailing list
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!