Download Powerpoint

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts

Clusterpoint wikipedia, lookup

Database model wikipedia, lookup

Transcript
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!