Final Exam is available here. You may start now:
Please click "View in Browser" to view the exam paper. Read the instructions and notes before you start.
Here are the reminder and some final notes before the exam.
A few of you have emailed me regarding issues with your a2 solution (they had not tested their code on grieg or did not run the sanity test, that would have picked up some formatting issues). I have decided to allow students, who have made formatting mistakes or have python loading issues (running fine on other CSE machines but not grieg), to resubmit their solutions.
For these students, please fix your solution and submit your fix using a2fix (You can find it at WebCMS assignments) by Monday May 4, 5:00pm (AEST) .
Your resubmitted solution will not be marked before the exam. Since the university has changed to SY grading for this term, if your final mark after the exam is FL, I will look into your a2fix submission to see if your grade can be changed to SY.
Please note that this resubmission is only available to students who have formatting or python loading issues. Any other resubmissions will not be considered for a grade change.
Marking for a2 is ongoing and will be completed soon. The results will be available on SMS by Tuesday. To check your marks, you can login to a CSE machine using vlab and run the following command (on Tue or afterwards):
3311 classrun -sturec
If you want to know your marks earlier, you can run the marking script on grieg now:
Please read the below completely.
Your final exam is scheduled on May 7, 2020 . The exam paper will be released and announced on this WebCMS course website at 9:00am 7th May, 2020 (AEST) and must be submitted by WebCMS / give before 9:00am 8th May, 2020 (AEST).
The exam is designed as a 3-hr exam , but has been scheduled for 24-hrs to cater for students in different zones and/or with poor internet connectivity. You can start the exam anytime after 9:00am 7th May, 2020 (AEST) and are assumed to spend at most 3-hrs on the exam. In case of internet connectivity issues or any other last minute system/internet issues, you are strongly advised to start the exam early and do not submit the exam last minute. In any case, the submission will be closed at 9:00am 8th May, 2020 (AEST) and no late submissions will be accepted.
We will be available for question clarifications only (no hints, pointers or any sort of assistance) between 9:00am-5:00pm 7th May, 2020 (AEST). So if you are from a different time zone, try to schedule sometime within this period to read the exam paper, and post any clarification questions that you may have. If you have any clarification questions during the above period, please email firstname.lastname@example.org via an UNSW email account (in case external emails are filtered) .
The exam consists of two parts: practical and written. The practical part involves writing SQL queries using sqlite3. They will be auto tested on CSE linux machines (all have sqlite3 184.108.40.206 installed). An SQL answer template will be provided (for you to fill in your answers). If you have poor Internet connectivity, you may want to pre-install the same version of sqlite3 at your home machine, if you have not done so already.
Questions in the written part may require:
For 1 and 2 above, you will be asked to fill in your answers in the same SQL template file provided.
For 3 above (e.g., an ER diagram), you are free to use any drawing tools, but the final answer must be in PDF format (and will be marked manually).
I have made a sample exam paper available to help you prepare for the exam. While most of its questions are just repurposing of some of the exercises or assignment questions, the main purpose of the sample paper is for you to get familiar with the exam format and style, so you can prepare and ask any general questions in advance. The actual final exam may use a different database, have different number of questions and cover different topics. Finally, as just advised by the school, the final exam marks will not be released.
The sample exam paper is available at:
There have been a few questions regarding the runtime performance of your a2 solution. As I've already mentioned in the forum, although the performance of your solution is not the aim of this assignment, each auto test has to be completed within a reasonable amount of time (e.g., in case of an infinite loop in Python).
We originally set the timeout to 30secs, because that is ample amount of time for each task in this assignment, based on the size of the supplied database. (For each task, there are solutions that can return answers within a few seconds.) 30s was the timeout used in the provided sanity check script.
However after receiving feedback from some of you, we have decided to increase the timeout to 1 min per test in auto-marking, hopefully this will accommodate all the correct solutions.
For those of you who have tried to optimize your solution to make it faster, well done! You have learnt what is required to write a reasonably efficient database application, which is a very important skill to have for your career.
To check your mark record in SMS, you need to login to a CSE machine using vlab and run the following command:
3311 classrun -sturec
Note that if you have been granted an extension, your mark will still be marked as L (if you submitted your assignment later than the original due date). However, the late penalty has not been and will not be applied.
To see which query went wrong, run the auto test script as described in the previous notice.
A simple bash script, as a sanity check, is available on Grieg. It attempts to check for incorrectness due to obvious formatting issues, such as incorrect number of whitespaces. However, it doesn't perform any serious testing. So you should still test your programs correctness. In particular, it removes blank lines before testing (and we will do so for the actual marking), so an extra newline at the end of the output will not affect the auto marking.
To run the script, simply go inside the folder that contains your Python programs and a2.db, type
To check a particular test file in details, you may view it in: ~cs3311/a2/
You can also read the script file "autotest" to see how each test is performed.
For those who have emailed me/Adam asking for partial marks for their queries that produced incorrect results during the autotest:
Sorry, there are no partial marks. There are many reasons why a solution does not produce a correct answer. Hence, to maintain the marking consistency, marks are only granted based on the auto testing results (plus the other checking as mentioned in the spec).
There will be no tutorials or lecture on the coming Easter Monday (instead, there will be an additional lecture and tutorial on Monday, Week 11, at the same time).
Marking for a1 is completed. The results will be available on SMS within the next few days.
If you wish, you can obtain the breakdown marks by following the instructions at:
While we do not measure the performance of your query / Python program in Assignment 2, any unreasonably slow query program that runs for more than 30 seconds on grieg will be terminated, and will receive zero points.
It is available now. It is due on Friday 17th April 5pm (2 weeks from today).
As indicated in the email announcements from the university and the faculty today, this course will adopt a Satisfactory (SY) grading system for assessments.
Online tutorials start from Monday (30/3). Please login to Moodle at your enrolled tutorial time, and choose your tutorial session under Tutorials at Moodle to join.
The tuts starting at 12pm, 1pm, 2pm and 3pm on Monday have been rescheduled for Week 7 only (i.e., 30/3 only), due to a power interruption where the tutor lives. He has emailed the affected students with details of the replacement tuts. You can also login to Moodle; check the time schedules of those tuts marked as "Replacement Tut" and join one of them.
As you may have realised, in addition to delivering course materials online, UNSW will not run in-person final exams for 20T1 due to the evolving COVID-19 situation.
Many of you have already filled in the school-wise online survey regarding ways to run the final exam. After considering the poll results and feedback comments, we are going to run a take-home exam and amend the assessment weights accordingly. The details of how the exam is run have to be decided by the end of tomorrow (Thursday). I have started a webcms Forum thread in (called Amended Assessments). If you have further suggestions and thoughts, feel free to post them there. I will consider any good suggestions and may adjust the way to run it.
If you have any last minute assignment questions, please post in the forums so that myself, other tutors or students can help to answer.
I have received many emails in the last few days (and many more this morning) related to the assignment. I will answer those emails regarding personal situations as my top priority, and then help to answer questions in the forums.
For those who have emailed me assignment related questions, please repost them in the forums, as I may not be able to get to them on time. Thanks.
As you already know from the VC announcement today, UNSW is moving courses online in response to COVID-19. For COMP3311, this means that from Wednesday 18th March, all course materials will be delivered online only via WebCMS.
This week (Week 5):
Next week (Week 6):
From Week 7:
I've clarified some popular assignment questions in the class today. Please review the lecture video.
Your lab tutor Ce Song is not feeling well. The two Wed labs this week are cancelled. Please attend any other available labs if you have questions or need help. You can find the other lab time/venue in:
It is available now. It is due on Friday 20th March 5pm . I'll go through the spec in the next lecture.
You are supposed to do the lab exercises and theory exercises in your own time.
Lab attendance is not compulsory, come to your lab session if you need assistance.
This is further information from us regarding those students affected by travel ban.
Some students have told us they are currently travelling. Some students have told us they are Sydney but can't attend classes because they are self-isolating .
If you can get to UNSW by end of Week 3 and can attend your week 3 classes, we look forward to having you in COMP3311. As mentioned before, please prepare and catch up by studying the lectures and exercises that you missed.
If you can not travel to UNSW by end of Week 3, you unfortunately can not take COMP3311 this term. You will need to change your enrollment.
You can remain enrolled in this course if you're back on campus by Mar 6 (end of week 3). You do not need to email us for special consideration. The assumption is that you will self-study all of the material for the weeks before you return, and do Prac Work & Exercises required in those weeks.
If you can't return by the end of Week 3, you should drop this course and start making plans for what to do when you return in 20T2.
Welcome to COMP3311.
There are no labs nor tuts in Week 1.
Labs start from Week 2, and Tuts start from Week 7. You can find the tentative schedule from the "Course Outline" .
Lectures of course start from Week 1, see you soon!