COMP3311 Week 10 Tuesday Lecture
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [0/18]
In today's lecture ...
- Course Review, Exam Preview
Things to do ...
- Assignment 2 ... 390/450 submissions so far ?
- MyExperience course evaluation open until Thu 13 Aug
- So far only 8% of class (40/470) have filled ... want > 50%
- Go to https://myexperience.unsw.edu.au
- Update: Wed 5 Aug 10am, 9% completion (46/470) ... keep filling!
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [1/18]
At the end of this course you should be able to:
- develop accurate, non-redundant data models;
- realise data models as relational database schemas;
- formulate queries via the full range of SQL constructs;
- use stored procedures and triggers to extend DBMS capabilities;
- write applications in Python that interact effectively with databases;
- understand how queries are expressed via relational algebra operations;
- understand the overall architecture of relational DBMSs;
- describe how queries are evaluated in a relational DBMS engine;
- analyze performance issues in relational database applications;
- understand concepts behind transactions and concurrency control
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [2/18]
- Data modelling and database design
- Entity-relationship (ER) design, relational data model
- Relational theory: relational algebra, functional dependency, normalization
- Database application development
- SQL for querying, data definition and modification
(PostgreSQL's version)
- extending SQL:
Queries, Functions, Aggregates, Triggers
- PostgreSQL,
psql (an SQL shell),
PLpgSQL (procedural SQL)
- Python3,
Psycopg2,
accessing data programmatically
- DBMS technology
- performance tuning,
catalogues, access control
- DBMS architecture,
query processing, query optimization, EXPLAIN
- transaction processing: concurrency, serialization, locking
Things in
gray will definitely
not be examined.
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [3/18]
Your final mark/grade will be determined as follows:
quizzes = mark for on-line quizzes (out of 12)
ass1 = mark for assignment 1 (out of 13)
ass2 = mark for assignment 2 (out of 15)
exam = mark for final exam (out of 60)
okPrac = examPrac >= 14/35
okExam = okPrac && exam >= 24/60 (after scaling, if needed)
mark = ass1 + ass2 + quizzes + exam
grade = HD|DN|CR|PS if mark >= 50 && okExam
= FL if mark < 50 && okExam
= UF if !okExam
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [4/18]
Mon 24 August, 1:45-5:00pm, 3-hour exam, afternoon session only
Get a good night's sleep, Stay hydrated, Arrive by 1:30pm
Exam environment:
- invigilated, in the CSE labs, on CSE workstations
- closed exam environment, no Webcms3, no email, no web, no GenAI
- provided: questions, cheat sheets for PostgreSQL, Python, Psycopg2
- no BYO laptops, leave phones, watches and ear pods at front of lab
Use of smart glasses and spy cameras results in
serious misconduct charges.
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [5/18]
Questions ...
- 5 practical exercises, using PostgreSQL/Python3/Psycopg2
- 4 theory exercises, typed answers, like tute questions
What you have access to ...
- the exam paper (html), templates for all questions
- checking scripts for programming questions (like
autotest)
- cheatsheets for PostgreSQL/Python/Psycopg2
What you
do not have access to
- the class directory, your home directory
- Webcms3, email, messaging, etc. (the web browser can only see the local machine)
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [6/18]
When you login (zID/zPass) into the exam environment ...
- we create some working directories
- including templates and testing scripts
- we create a local PostgreSQL server for you
- we load the exam database into your PG server
- we start a web browser, pointing at the exam entry page
PostgreSQL server runs on your workstation
Database: will not be huge, will not be overly complex (e.g. < 15 tables)
You do not have access to VLab or /localstorage or /home/YOU
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [7/18]
For the prac questions ...
- files are contained in a
q? directory
- including a template, test cases and a
check script
For the theory questions ...
- each question has a text file template
q?.txt
General suggestions ...
- submit your answers using a
submit script (e.g. submit q2)
- give up on questions that are taking too long (e.g. > 30 mins for prac)
- submit questions as you complete them; can submit multiple times
- don't leave all submissions to the last minute; if late, not marked
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [8/18]
Want to know what are the questions on the exam ... ?
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [9/18]
Questions are as follows:
- an SQL query
- another SQL query
- a PLpgSQL function
- a Python3/Psycopg2 script
- another Python3/Psycopg2 script
- an analysis/synthesis question
- another analysis/synthesis question
- another analysis/synthesis question
- another analysis/synthesis question
Note that the database for Q1-5 will be available in advance.
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [10/18]
Sources for revision material:
- Lecture Material, Prac/Tute Exercises, Assignments
- Fundamentals of Database Systems,
Elmasri/Navathe
- Database System Concepts,
Silberschatz/Korth/Sudarshan
- Database Systems: Complete Book,
Garcia-Molina/Ullman/Widom
- Database Systems: App-oriented,
Kifer/Bernstein/Lewis
- PostgreSQL/Python3/Psycopg2 Documentation
Some Help Sessions will be held in Week 11 and Week 12.
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [11/18]
Supplementary Exams are only available to people who
- are absent from the Final Exam with good reason
(good = documented, serious, clearly affects ability to do exam)
- have performed well during the rest of the semester
If you are awarded a Supp Exam ...
- to be held in O-week of 26T3 (Sep 7-11)
- you must make yourself available for it
- non-attendance at the Supp ⇒ mark of 0 for the exam
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [12/18]
Assessment is about determining how well you understand the syllabus.
If you can't demonstrate your understanding, you won't pass.
In particular, I don't pass people just because ...
- please, please, ... my parents will be ashamed of me
- please, please, ... I tried really hard in this course
- please, please, ... this is my final course to graduate
- please, please, ... I'll be excluded if I fail COMP3311
- please, please, ... if I fail this, I can't do COMP93xx
- etc. etc. etc.
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [13/18]
Of course, assessment isn't a "one-way street" ...
- we get to assess you in the final exam
- you get to assess us in the Course Evaluation
MyExperience evaluations are online NOW
Several evaluations: course, lecturer, tutor
Telling us good things is ok.
Telling us things to improve is very useful.
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [14/18]
COMP9312 Data Analytics for Graphs
- manipulating large-scale graph structures
COMP9313 Big Data Management
- handling data that won't fit in a DBMS on one machine
COMP9315 Database Systems Implementation
- comprehensive study of DBMS internals
COMP9319 Web Data Compression and Search
- compression and searching algorithms, and XML
COMP6714 Information Retrieval and Web Search
- finding information in unstructured text
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [15/18]
The JAS quiz from intro lecture:
- AFL is Australian Football League ... best sport in the world
- GABS is Great Australian Beer Spectapular ... annual beer festival
- HP is not Harry Potter, but is Hye-young Helen Paik (HYHP?)
- IPA is India Pale Ale ... maybe obvious after Assignment 1
- KD is ??? ... I think it was Knowledge Discovery, a research area
- CFC is not Chloro-fluoro-carbon, but is Carlton Football Club
(who just happened to beat the reigning premiers by 76 points last weekend. Go Blues!)
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [16/18]
You need to learn for life, not just the exam.
In particular, learn to find answers for yourself.
Typically, no single correct answer.
(Solutions range from poor to excellent)
Take pride in your work.
(Aim for quality, not just correctness)
VScode and autotest will generally not be available in the workplace
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [17/18]
Good Luck with the Exams ... and Life ...
COMP3311 26T2 ♢ Week 10 Tuesday Lecture ♢ [18/18]
Produced: 5 Aug 2026