You are on page 1of 20

Dynamic Web Applications

IS52027E
Lecture 1.1
Introduction to the Module
Outline
• Format of the module
• Labs
• Assessments
Format of the Module
• Lectures,
• Tuesdays 9am in PSH LG02, Professor Stuart Hall
• Recorded, available on the VLE by the end of Tuesday
• Theoretical content
• Labs
• Hands-on building web applications
• Labs are compulsory and will be assessed
• Either Wednesdays 11am-1pm or 1pm-3pm or 3pm-5pm in St James Blk 3
Ground Floor.
• Self-learning
• Reading, watching videos
• Most importantly: do some coding yourself
VLE
• Should be your one-stop shop for the module
• https://learn.gold.ac.uk/course/view.php?id=27980
Lectures
• Ten lectures, will follow roughly this structure:

• Week 1: Course Introduction


• Week 2: How to Build a Simple Web Application
• Week 3: Web Architecture
• Week 4: Web Technologies
• Week 5: Form Handling
• Week 6: Databases
• Week 7: Database Design
• Week 8: Database Querying
• Week 9: Advanced Database Topics
• Week 10: NoSQL
Labs
• Labs are 2 hours each
• One per week (10 labs)
• Compulsory
• Assessed
• Give you hands-on experience
Communication
• Speak to me, one-2-one
• Mondays 2:00pm - 3:45pm on campus (book on VLE)
• By arrangement on Teams (email me to arrange)
• Use the forums

• Let me know if something isn’t making sense!


• I can explain another way, give examples, etc either in the forums or in the
next lecture
• Let me know of an errors, suggestions, etc to content or VLE
Module Learning Outcomes

1 Explain in terms of established models and protocols (HTTP) the structure of


client server applications
2 Differentiate between conventional programming and web-based applications
and evaluate their respective advantages.
3 Explain how dynamic web-based applications interact with database servers and
identify appropriate contexts for their use.
4 Devise and explain an appropriate representation of data in a relational and non-
relational DBMS
5 Use entity-relationship modelling to motivate database schema development
6 Develop dynamic web applications which perform CRUD (create, read, update,
delete) operations on databases
Reading List
• Database System Concepts, Mc Grow Hill, 2019
https://www.mheducation.com/highered/product/database-system-concepts-silberschatz-
korth/M9780078022159.html

• Fundamental of Databases Systems 7th edition 2016


https://www.amazon.com/Fundamentals-Database-Systems-Ramez-Elmasri/dp/0133970
779

• Web development with Node.js and Express


https://www.amazon.co.uk/Web-Development-Node-Express-Leveraging-dp-1492053
511/dp/1492053511

• Express in Action
https://www.amazon.co.uk/Express-Action-applications-companion-tools/dp/1617292
Assessments
• 100% coursework
• 4 lab assignments 70%
• 4 quizzes 30%
• 15 credits
Assessment Schedule
• Due dates are Fridays
• Designed to be quick
assignments
• Done following the lectures (for
quizzes)
• Done within the 2-hour lab
session (for labs).
• Missing a deadline will make
the next week really hard!
Assessment Rules
Labs
• 5 marks for submitting on time, by the Friday
• Just like in the real-world, being on time is often rewarded!
• Lab extensions to Sundays at 4pm
• But you will miss out on the 5 mark bonus.
• An extra week extension for lab 4
Assessment Rules
Quizzes
• 15 mins, 2 attempts
• You are encouraged to submit your quizzes by the Fridays
• The cut-off date is the Sunday at 4pm
Labs
• 1. About me
• A simple web app using node.js and Express
• 2. Thirsty Student
• Adding EJS templating and forms
• 3. Berties Books
• Adding MySQL database
• 4. Forum App
• Your own app from scratch
Forum App
• 25% of your overall grade
• Build from scratch (no template)
• Developed over 3 lab sessions (and you will need to put in some more
hours)
• Think Reddit or Quora
Forum App
Minimum Requirements

1. The system should allow posts by users on specific topics.


2. A home page with links to other pages
3. A page to list existing topics
4. A page to list existing users
5. A page to list existing posts
6. A page to add a new post
7. A page to search for posts
8. An about page
9. Posts should be associated with a single user and single topic
10. Users should be members of topics before they can post
Forum App
Extensions

For a higher mark, you can add whatever extensions you want. Here are some ideas. You don’t have to implement all of
these for top marks!

 Replies to posts
 Delete post
 User profile page
 Topic details page
 List posts for a particular user
 List posts for a particular topic
 Tags, where any post can be tagged with 0 or more labels
 Add a style sheet to make your app look nice
 Use Mysql views for your database layer
 Use Mysql stored procedures for your database layer
 Allow a user to login/logout
Forum App
The marking scheme is as follows:

 Minimum requirements 30 marks


 Extensions 30 marks
 Documentation 10 marks
 Code quality 10 marks

 Discretionary marks for excellent work 20 marks


Tips for Success
• Come to the labs
• Ask questions, get help
• Go beyond the lab exercises – try to build your own web application
• Discuss with fellow students, but don’t just copy code!
• Don’t leave it to the last minute
END OF SLIDES

You might also like