The second assignment feedback has been released to coincide with the release today by UNSW of final course marks. There are quite a few requests for Special Consideration for the final examination that are being processed by Student Services. These have been given a temporary grade of WC. I will say more about how the final examination went later.
As you know the final marks for the workshop were released last week. The profile of final grades is as follows: 26 got a HD, 34 DN, 47 CR, 45 PS, the 'flatest' profile I've ever seen. If you've received a WD I still need to complete your assessment. The 'bonus mark at the boundaries' rule was applied by the way, and it benefited about a dozen students.
The workshop was a pleasure to teach, although I do feel the workshop works better with real lectures and real tutorials, and a project. I would like to thank Alexander for his help, and his handling of the quizzes, and Arthur for managing the forum. They're as good as any tutors I have ever had. On the forum I would like to single out Ram and Sarah for their substantial contribution. I enjoyed reading and was sometimes surprised by their insights.
Many of you will have been frustrated by the lack of reference material on Dafny in the workshop. Next year, if I am the convenor, there will be a textbook, written by Dafny-creator Rustan Leino. It is only recently been made available (a draft version).
If you liked the formal approach to programming, and want to know more, the next step is Carroll Morgan's course, COMP6721. He uses python and C as well as Dafny by the way, and it is a very hands-on course, and challenging I assure you.
I wish you a safe and happy summer.
Congratulations on finishing! The exam is over.
You should have submitted all questions by now.
Please do not share, upload, or discuss the questions or your solutions as some students (with an ELP) are still completing the exam. This would still constitute a violation of the exam conditions.
The exam finishes soon at 12pm.
Please make sure you have submitted what you have so far. Don't leave it to the last moment to submit. It is your responsibility to submit before the deadline. Any submission received after 12pm may receive a zero mark.
You are now about halfway through the exam. Please make sure you have submitted what you have so far, and continue to submit each question as you go along.
Read questions carefully before posting queries. Normal exam rules apply, we can't answer specific questions about your solution/working.
Please note that:
- There is a typo in the exercise ex1.dfy: the 2nd assert, “assert !sorted(s)” should read “assert !sorted(t)”
- In ex2.dfy, in the conditions, it should read “the input array cannot be empty”
Also please remember this is normal exam conditions. You cannot ask specific questions about your work.
Hello everybody,
The Exam will be released at 8:50am on the exams page and can also be accessed by clicking HERE (I recommend accessing it here as WebCMS may load slowly ).
The first 10 minutes are (unenforced but recommended) reading/planning time, followed by 3 hours to complete the exam. You have until 12pm to submit all your questions. It is your responsibility to submit before the deadline.
If, for any reason, you need to contact us during the exam, you should do so via a private post on the Piazza forum. We will make any announcements through the exam via a WebCMS notice/your uni emails.
Please make sure you have familiarised yourself with the exam instructions. In submitting the exam, you are agreeing that you have read and understand the rules and terms of sitting the exam.
As in the exam instructions, all attempts to cheat, plagiarise, share solutions, receive unauthorised assistance, or anything else that may be considered misconduct will be treated seriously as per UNSW guidelines (as well as receiving a 0 mark). This includes communicating to others during the exam, via Facebook/Discord/in person/any other means. It also includes anyone else logging in to your uni account on your behalf.
Please remember to submit each question *as you complete it*. This is really important so that you don’t risk a late submission if everybody submits at the last minute, or tech failure.
Wishing you all the best. Ace it, SENG2011!
Not long now!
The final exam will be released at 8:50am tomorrow (Monday) Sydney time. It will be available on the course website. An alternative link will also be released in the morning. It will be hosted on OneDrive (this may load quicker). If you have issues accessing one, the other will be there as well. Both will be the same exam/rules.
In preparation, you should:
- Go over all of your previous work this term, recall what problems you had, why you had them, and how you solved them. You won't want to spend time trying to find things after the exam has begun.
- Read over the Final Examination Rules, very carefully.
- Decide (if not already) how you will do the exam. Keep in mind, your code must verify on the CSE Dafny. VLAB is generally less speedy than SSH'ing in to CSE. Think about what works for you. It is your responsibility to make sure everything is submitted
before the deadline
.
- Set up an exam environment with no distractions. If you live with someone, make sure you tell them not to disrupt you through the exam.
Remember that:
- Piazza forum will be on private mode from tomorrow, this is to communicate with us during the exam. Remember, we can't help troubleshoot/looking at your code (normal exam rules apply here).
- You must be available to receive an email throughout the exam to your Uni email. Any important announcement will be made on WebCMS (here) or via email.
- Open/download materials you would like access to from the Course Website BEFORE the exam (tonight). Don't rely on WebCMS to be fast, as the entire cohort will be accessing simultaneously.
- You must not communicate with anyone through the exam. Nobody else should have access to your uni account password to submit on your behalf. If they do - change it. Any group chats (Messenger/Discord/etc.) should not be accessed while and after the exam is taking place. You should not discuss the exam with anyone. This would constitute a serious violation of the examination rules.
Otherwise, see you in the morning (or otherwise, for those around the world!).
Smash it!
Many have noticed that the results for Assignment 2 were released on Thursday, and can be 'collected. Some points to make:
I have put my solutions to those two practice exercises on the website for those that are curious how I did them.
After 9 days straight marking I'm nearly finished assignment 2. I'll upload the results in a day or two. In the meantime I've released my solutions to assignment 2 on the Assignments page.
The 4th exercise in the assignment, the shuffle-based insertion sort, had a performance component to the marking. There were 39 correct solutions that ranged in verification time: slowest 116 secs to fastest 3.8 secs. Congratulations to Deren Sozer who was the creator of the fastest solution. Deren had the only correct solution that used a string update in the multiset invariant. You can find the technique in the solution ex4.dfy that I've released (the spec differs slightly from Deren's).
Re: the examination. I'll finish the assignment 1 'theory' marking next, but there will not be any 'theory' exercises in the examination. You should focus your study on program verification using Dafny.
Some points:
Hey all,
The final exam is coming up, here are a few points in relation to it.
- The exam will begin at 8:50am and conclude at 12pm on Monday 7th December. This includes reading time and submission time.
- The Final Exam Instructions are now available on the 'Exam' page of the course website. Please carefully read through and familiarise yourself with these before the exam day - they are very important. It is a condition that you read and understand this before taking the final exam.
- There is also a document titled 'UNSW Online Exam Preparation Check List' with some additional rules/advice (this is a general document, so some things do not apply - the 'Examination Rules' takes precedence).
- These above docs are on the same page that the final exam will be available from. Leading up to, and during the exam, notices will be made on the Web Homepage (which subsequently get sent to your uni email).
- To prepare, review the course content, redo assignment questions, play around in Dafny, redo the challenges given in Week 6. Arthur has posted some final tips on the Piazza to help you study as well.
Otherwise,
- Assignment 1 Solutions have been fully released. You can find them on the 'Assignments' page.
- Please fill out your MyExperience surveys -> They close on Thursday, and the cohort is really close to hitting 60% completion. Your feedback is invaluable. We'll keep doing more of the things you enjoyed, and less of the things you didn't. We will use this to keep this course (and school) up to scratch. You've been a great class this term, and we really respect and value your thoughts on how this course managed its new structure.
Thanks team - kind of a long one (sorry) but important. Ask any questions on the Piazza forum. We're almost there! :)
Great effort to everyone that completed the mock exam yesterday! An analysis of the responses, and the solutions to both questions can be found on the 'Exam' page of the course website. The final details about the final exam will be announced next week. It will be run similarly to the Mock exam.
Assignment 2 is due tonight at 9pm - as usual, please make sure you submit it with time to spare (in case of last minute submission difficulties!).
Otherwise, have a great weekend! :)
P.S. About another 50 students need to complete MyExperience for the bonus mark to kick in. It only takes a few minutes to fill out. Your feedback is *really* valued and will help shape this course for the future (and could even flow into the school/your other courses).
The examination ends at 9:50am. The system will still accept a submission after this time, but it may not be marked. Please make sure you finish up and submit before then.
The exam will be accessible on the ‘ Exam ’ page of the course website at 9am.
By then, you should set up your environment and do one final read of the Examination Rules. It is important that you treat this like a formal exam. Spend the first 5 minutes of the exam time reading and understanding what is required, then 45 minutes to complete the exam. Ensure that you submit your final solution by 9:50am. Remember - this will not be marked, but is the best practice you can do before the final (particularly with practicing the submission protocol).
Staff will be available on the Piazza forum in the case of any issues related to the exam. Any important updates through the exam will be made on the Course Website.
Hey all,
Week 10's lecture is on the Moodle page, (it will not be assessed in tomorrows mock exam).
The mock exam will be available from 9am tomorrow morning. Please read the MOCK Examination Rules before then (on the ' Exam ' page of the course website, where the exam will also appear at 9). You should try your best to treat this like an exam - do it in exam conditions, submit as you would an exam. This will be the best practice for the final.
Good luck! :D
The mock exam will begin on Thursday morning at 9am. You can access the Examination Rules from now on the course website under ‘Exam’. Please read carefully and familiarise yourself with these rules, and prepare your exam environment.
You will be able to access the exam from 9am on the same page. Submission must be made by 9:50am.
The mock exam exercises will not be marked and is not mandatory.
It is great practice for the final exam and for ironing out any issues with submission.
Also, don’t forget to complete your MyExperience surveys. So far, the response rate is sitting at 16.5% - the bonus mark (as per the Quiz 6 Q10) will kick in when 60% of the course have responded. Your feedback is very much appreciated and will help shape the course in the future! It is particularly important as this was the first time the course has been run online and remotely.. Your feedback will be used to make stronger courses in the future. Check your student email for the link!
Any questions, please ask on the Piazza forum. The forum will be monitored during the Mock Exam (make sure your post is set to private).
WebCMS will have some downtime tomorrow night (Saturday from around 6pm). Please avoid working on your quiz around then to make sure it is submitted. The Quiz deadline was extended to Monday 9pm to account for this.
The final exam format and other details will be announced early next week, and a mock exam will be hosted on Thursday morning at 9am . This will be run to the same format (with same submission protocols) as the Final exam (but shorter length), and will be a great chance to familiarise yourself with the format and submission process for the real deal.
Have a good weekend
The !last! quiz has is now available ! It is due on Monday 9pm.
MyExperience surveys have been opened. This term was the first time that the course has been run like this (virtually, no major project), and we've been hard at work to make it as strong and practical as possible. This has come in response to survey responses from previous years.
This is your chance to give your feedback, which we will use to help improve the course for future iterations.
You can access it from the access link sent to your student email, search for 'MyExperience'.
The forum will be checked through the week. Here are a few ground rules with respect to Assignment 2.
- Please note that specific questions that are made public and may help others will be prioritised.
- You must not post your code on public.
- Simply posting your code and saying 'this does not verify' will leave us with very little option to help you. Isolate the problem.
- Try to be specific with what your problem is, why it is happening, what you have tried, etc. while being concise and straight to the point.
- Arthur has/will post Assignment hints to the Piazza - make sure you check it regularly.
- You must also (obviously) not plagiarise content or be otherwise involved with plagiarism. This includes sharing your code with others or asking for help from informal channels. There are severe consequences for those that do.
- Also, please note that the Assignment 2 Submit Instructions were updated to explicitly forbid predicate methods as well as function methods (predicate methods are just a function method that returns a boolean).
Happy Assignment-ing! :)
The week 9 lectures have been released. The Quack exercise in Assignment 2 is based on the 'Verifying Ghost Data' lecture.
The solutions to the Dafny exercises in Assignment 1 are also available on the Assignments link.
Don't forget to submit the quiz before 9pm tonight if you haven't already!
Hello,
Quiz 5 is now open and is due on Sunday (8th November) at 9pm.
Hopefully by now you have started working through the assignment . Albert will be answering questions live on the forum from 9am to noon tomorrow (Friday 6th). During this time he will be online to respond to all assignment queries. This will be a great chance for you to set some time to get ahead and give the assignment a crack if you haven’t already!
Also, please note that there was a minor typo in ex3.dfy that has now been corrected. The ‘BadSort’ method should “orders the string into all the b’s first, then a’s and finally all the d’s”.
Have a good afternoon! :)
The lectures for week 8 have been released. The second lecture on the Dutch flag sort is relevant to the assignment.
Assignment 2 has been released, and there is new, shorter submit-instruction document. Both can be found on the Assignments link on the website.
Reminder as well that Quiz 4 is due on Sunday at 9pm.
Hey class,
Quiz 4 has been released this morning and is due at 9pm on Sunday 😁
There are three announcements:
The Dafny exercises
Hey team. Here are a few points to cover the next week (!!Flexibility week!!).
First, a few quick notices:
Flexibility Week is a great time to catch on the lecture/class content (across subjects), but here is a bit more guidance of what you can do to keep on top of this course:
Below are some suggestions of things you can try to program/verify in Dafny! I would encourage you to post your solutions and discuss on the Piazza forum. You can create a ‘permalink’ for your code in Rise4Fun that makes it really easy to share your solutions. Arthur and I will create some posts early next week where you can discuss! Give it an attempt before you look at other peoples solutions.
I have tried to order them from least difficult (same level as the assignment) to quite challenging. Please note this is isn’t graded or required, but think of them as extra exercises/challenges that WILL help you to learn Dafny! Pick the ones you think look most interesting to you to attempt.
Have an awesome week!
Hi all!
- Quiz 3 is due tonight at 9pm. Please make sure you have submitted before then.
- 2 lectures have been made available this morning. Albert will be putting up one more later today.
- Assignment 1 is due on Friday at 9pm. Don't forget to watch Arthur's videos to give you a helping hand for the earlier questions.
- There will be no new Quiz this week so that you can focus on the assignment. 😀
Heya,
There are still many students that haven't yet submitted Quiz 3. I'd imagine it is a pretty busy time of the term across subjects & with the Assignment 1 deadline approaching this Friday.
As such, we have extended Quiz 3 by 24 hours. It will now close Monday (tomorrow) 9pm. Hopefully this gives you a chance to do/review the quiz (and enjoy your Sunday afternoon). Good luck!
Hey! Hope everyone had a great long weekend && are now making good progress in the Assignment.
- Quiz 2 has been released. As per usual, the quiz is due Sunday 9pm.
- Assignment 1 is due Friday of next week. If you are stuck on something or struggling to get motivated, check out Arthur's help videos for a boost!
😀
Hey All,
- A reminder that Quiz 2 is due tonight at 9pm. Please make sure you have submitted by then (and if you're planning on cutting it fine, don't forget to have changed your clocks for Daylight Savings)!
- Arthur has put together some really helpful videos going through and talking about the Assignment 1 questions! There are some really great tips and tricks in there - I highly recommend watching, will give you a great head start in starting the assignment questions. You can access these on the Assignment page on WebCMS -> Click to 'View Directly In Browser' to see the full playlist.
- Lectures will be made available this week as per usual.
Hey all! Quiz 2 is now available to complete. Remember to submit early and often - you can make as many submissions as you like before Sunday 9pm (only the last submission counts).
Also, Assignment 1 submission instructions have been added to the Assignments page with instruction on how to format your solutions.
Hope everyone is enjoying the weekend! A decent portion of the class has not yet attempted Quiz 1. It is due at 9pm tonight (Sunday).
Please make sure you have submitted it correctly before then, as you will not be able to change your answers/resubmit after the deadline.
Otherwise -> Lectures/lecture materials will be available by tomorrow morning as per usual. Solutions to Quiz 1 will be made available in the next couple of days when you review the quiz. Start on Assignment 1 (due Week 5). Quiz 2 will open on this upcoming Thursday at 9am.
Have a great week :)
Assignment 1 is now released! You can find it under the '
Assignments
' link on the Course Webpage. It covers Predicate Logic, Hoare Logic and Program Verification (Dafny).
This is due 9pm Friday 16th October . Submission instructions will be released later on, so please keep an eye out.
Any assignment questions (and maybe a few hints 😁) should be on the Piazza forum.
Also, don't forget the quiz due this Sunday!
Hey all! Quiz 1 is live -> You can find it in the ' Activities ' section on the course webpage. It is untimed, and you are able to resubmit your answers as many times as you like before the deadline (Sunday 27th September 9pm). Only your final submission before then will count. Quiz 1 covers mostly content from the Week 1 lectures, and some earlier content from Week 2.
It would also help to familiarise yourself with the ' Getting Started in Dafny ' tutorial available with the Lecture materials under Week 2.
Hope everyone enjoyed their first week back! Here are a few notices:
Enjoy! 😀
Hello everyone,
The Week 1 Lectures were made available this morning, you can access them on the class Moodle page. They cover some content from Discrete Math & Hoare Logic. It's recommend getting onto this early before your work load builds up, as it is really powerful content to have mastered and will help a lot going ahead (particularly with Assignment 1). Lectures will continue to released regularly on Monday mornings.
The first quiz (Quiz 1) will be made available (online) next week. It will cover the content from the first two weeks.
By now everyone should have received an invitation to join the Piazza forum. If you haven't, you can access it here . This will be monitored regularly so please reach out there if you have any questions about the content or otherwise about the course.
Enjoy! 😀
Hello & Welcome to SENG2011!
General Info
This term, we're focusing on software verification and principles. We'll be exploring why we need to verify software, and how we can rigorously verify programs using a special language called Dafny. It's highly recommended to brush up on your Discrete Maths (MATH1081). If you've done COMP2111, you should look over that as well.
Course Resources
The
course website
is on WebCMS3, this contains all the resources/relevant links to resources you'll need (course outline, lectures, resources, quizzes, assignments etc.). We will also make all important announcements here.
Lectures
Lectures will be pre-recorded and released weekly on Moodle - The first lectures will be up on Monday.
Forum
This
Piazza forum
should be your first point of contact for questions about the course as it will be monitored regularly. You should receive an invitation to the forum today. For those not familiar with Piazza, it is a really powerful tool when used correctly. The best way to learn/cement content is to explain it to others, so don't be afraid to hop on and give others a hand! We'll also put some of our best tips and tricks on there as well.
The assessments are as follows:
Check out the 'Course Schedule' for intended dates and information for the assessments. We will announce them here as they become available as well.
Course Contacts
The forum is the best place to get a timely, content-related question answered!
Please reach out to Alexander @ a.georges@student.unsw.edu.au if you have a question specific to yourself not appropriate for the public forum. If you need to talk to the lecturer directly, you can email Albert @ a.nymeyer@unsw.edu.au
Logistics
Lectures will be recorded and released online. The assignments and quizzes will be announced and submitted online. <u>The time/location of the final exam will be determined by the university.</u> We'll let you know more about the exam as soon as we can.
Schedule
The intended scheduling overview of the course can be found on the Course Website as 'Course Schedule' .
We hope you enjoy the course and have a fantastic term! 😄
- SENG2011 Team
The SENG2011 team consists of the 3 A's: Albert the convenor, Alexander the system administrator, and Arthur the forum manager and general support. We look forward to interacting with you this term, and we really hope you learn lots.