Hello everyone,
We will be removing your access to your Gitlab repos for this term.
You have until Sunday 28h May 11:59pm to store whatever files you want onto more permanent storage.
Please do not upload your code to a public location where it is likely to be seen by future students of this course.
-COMP6771 Teaching team
Hello everyone,
We have released your exam mark. You can view it from CSE give, or by running "6771 classrun collect exam" from the CSE machines.
On the whole, we are extremely happy with the exam mark spread. The highest exam mark was ~27 and the lowest non-zero exam mark was ~1.5. The average exam mark was ~17 with a standard deviation of 3 marks.
After discussing internally, to aid students who were affected by Gitlab slowness and other technical problems, we made the following amendments to exam marking:
And with this, the course has officially come to a close. Thank you all for the term, and we wish you luck in your future endeavours!
-COMP6771 Teaching Team
This notice will be periodically updated as any course-wide clarifications are made. We will try to keep this as minimal as possible.
Log
Good luck!
-COMP6771 Teaching Team
Hey everyone!
It has been a long time coming, but the final exam finally looms over as it is tomorrow.
Please find important information about tomorrow as well as assignment 3.
Thank you to everyone who filled out myExperience. For those who are privy, you know that having students, or anyone, fill in a survey is a gargantuan task, but so many wonderful students stepped-up and let us know how we did this term.
To that end, the results are in:
Response Rate: ~65% (64.97%) !!!!
Extra Exam Time: 20 MINUTES!!
You will see the updated time in the exam briefing page on WebCMS.
Note: If you are a student with an exam time extension, your personal extension has already been communicated to you by email.
We have already pushed out the repo where you will complete your work to you on Gitlab and is also available from the exam briefing page. At 9am tomorrow the exam spec will be available (it is linked to in your exam repo) and you will be able to complete the exam. Like all coursework this term, you submit by simply pushing your work to the main branch on Gitlab.
We have released ass3 marks (with a massive caveat, see below) and they are available from CSE give . As per usual, if you feel something has gone grossly wrong with the automarker, feel free to fill to out this form by Friday 12th May @ 12pm . After this, we will no longer be accepting any further requests to look into the automarker. If you would like to discuss the testing or style marks, feel free to email the tutor who marked you, whose zID should be at the bottom of the automarker output. After Friday 12th May 12pm we will no longer be accepting any further mark reconsiderations for style/tests either.
Caveat:
we have marked 90% of ass3, but there are around 50 students our dedicated tutors (who also have had exams!) haven't yet been able to get to. If your marks are not showing yet, check back in a few days and you should be able to view them then.
That's all for now. See you tomorrow :)
-COMP6771 Teaching Team
Hello everyone!
This is a quick notice just to keep you updated on all things C++.
You can now view your Week 10 Lab marks from here as usual . If you feel something has gone grossly wrong with the automarker, feel free to fill in this form and we will get back to as soon as we can with an outcome.
Due to the late penalty, we will officially begin marking assignment 3 from tomorrow.
We are hoping to get marks out before the exam. However, time constraints on the teaching staff may result in the marks being released alongside the final exam marks.
We know some students were disappointed that the lab number went from 8 to 4 midway through the term and, since enough students made it be known, we have decided to the release the raw material the Week 07+ labs would have been made from.
In fact, we have released the raw exercises all of the labs were made from. These exercises come from two sources:
The exercises themselves are quite rough around the edges and as such we do not officially support them as content of the term (but more practice is better than not), nor will we provide assistance around them. Nevertheless, feel free to look through them and discuss them with your classmates.
You can find the "lost labs" here .
That's all we have for you for now. Talk soon.
-COMP6771 Teaching Team
Hello everyone!
Welcome to the your final teaching week of COMP6771. What a journey I'm sure it's been.
It's almost time for a holiday, but don't hit snooze on you alarms yet! There is important information about the exam below...
Reminder that the Monday lecture this week was a guest lecture by Greg Saunders from Optiver. If you are interested in how C++ is used in industry, hopefully you attended but if not, the recording is available from the Lectures page.
The Thursday lecture will be course revision and a formal briefing on the final exam. And then, we will say goodbye.
Information about the exam can be found here, and in the course sidebar . Make sure you read this information and get thoroughly familiar with when the exam is: the final exam is Monday the 08th of May, 9 - ~12pm .
If you have any applicable ELP or Special Consideration that covers the final exam, hopefully by now you have communicated this information with the Lecturer in Charge (and if you haven't, you should ASAP).
We have released a practice exam for you to try. Note that this is to familiarise yourself with the exam conditions and is not necessarily indicative of question style or difficulty. There will be no solutions released.
Feedback on how we were able to teach you C++ is incredibly useful for us. We legitimately want to make this course up-to-date with how the industry uses C++, as well as the most helpful to students. How useful you found this term's lecture format, lab format, and overall layout, as well as what you think we did poorly, what you think we should do next time, and even what you loved are all incredibly precious pieces of information for us so that we can continue to provide value to the University, and more importantly, to future students.
To that end, please fill out MyExperience !
⚠️ To sweeten this deal, for EVERY % over 45% that fills in my MyExperience, we will INCREASE the length of the exam by ONE minute. See below for a quick conversion calculator:
MyExperience Completion % | Length of Final Exam |
40% | 3 hours |
45% | 3 hours |
50% | 3:05 hours |
60% | 3:15 hours |
75% | 3:30 hours! |
!! Click here to fill MyExperience in !!
Reminder that ass3 is due Friday at 8pm.
Submission as always is just pushing whatever code you have to your main branch on Gitlab.
The marks for the week 9 have been officially released and are visible here . As usual, if you think something has gone grossly wrong with the automarker, you can fill in this form and may do a manual inspection of what happened.
That's all we have for you for now. Talk soon,
-COMP6771 Teaching Team
Hi Everyone!
Please see below for important information.
Assignment 2 marks have been officially released.
You can view your marked submission at https://cgi.cse.unsw.edu.au/~give/Student/sturec.php . If you have questions about style and/or testing marks, please email the tutor who marked you (you can find who marked you, either by name or zID, at the bottom of the submission). If you are not satisfied with your marker's response, you can request your tutor to escalate to cs6771@cse.unsw.edu.au. Please do not email cs6771@cse.unsw.edu.au directly, your email will be ignored.
If you have questions about the automarker, please fill in this form . Note: we will only do a rerun of the automarker in the event something went grossly wrong.
Gregory Saunders is the Head of IT Education at Optiver Pty Ltd, a market-maker in Sydney that provides liquidity to financial markets by continuously quoting both buy and sell prices. He is responsible for onboarding intern and graduate software developers as-well as outreach projects and the recruitment process for university students.
Prior to becoming Head of IT Education, Greg worked as a C++ Developer on Optiver’s Automated Pricing team, helping to develop Optiver’s option pricing system.
Before joining Optiver, Greg spent 12 years as a Quantitative Analyst in the financial services industry. Greg holds a B.Sc. and Ph.D. in Computer Science from the University of Sydney.
He will be coming to lecture Monday Week 10 about how C++ is used at Optiver and what opportunities there may be for graduates. Furthermore, Optiver is offering a prize for the three best-performing students of COMP6771:
- First place: $1000AUD
- Second place: $750AUD.
- Third place $500 AUD:
This is not a lecture to miss, so please make sure you attend!
That's all for now. Talk again soon.
-COMP6771 Teaching Team
Hello everyone,
See below for important information.
Given the relative difficulty of ass3 and because it relies on Week 09 content, we have decided to extend the deadline of ass3 to Friday 21st April @ 8pm .
There will be an MR sent out soon with the updated deadline in the spec.
On that note...
We have scheduled some help sessions for ass3 / general course content.
You can find the schedule as always here .
That's all for now. Talk soon,
- COMP6771 Teaching Team
Hello everyone,
Welcome to Week 09, our penultimate week together. With the ass3 deadline looming and the final exam not too far off, we truly are entering the final days of this term. Whilst you're working hard, please make sure you read this notice thoroughly!
This is our last week of assessable lecture content. Our focus will be on Metaprogramming in C++ -- by the far the trickiest part of this course and in the language in general. Much of the Week 09 is brand new, so you're not going to want to miss the lecture on Thursday.
The marks for the week 8 have been officially released and are visible here . As usual, if you think something has gone grossly wrong with the automarker, you can fill in this form and may do a manual inspection of what happened.
We are hoping to get assignment 2 marks back by the end of this week. Stay tuned for a mid-week announcement.
We are currently in the process of scheduling help sessions for assignment 3. Stay tuned for a mid-week announcement.
We will be releasing information about the final exam next week, including a sample exam for you to practise. Stay tuned for that.
That's all we have for you for now. Talk soon,
-COMP6771 Teaching Team
P.S. Happy Easter!!
Hello everyone.
Welcome to Week 08 of Advanced C++.
This will be another brief notice with the only aim to keep everyone in the loop about how the course is progressing in its final weeks.
This week we will be looking into templates and static polymorphism. This will form the bedrock of C++'s compile-time programming abilities, so if you really want to become an expert in the language and impress your friends, learning how to use templates in C++ is the way to go.
Hopefully by now, most people have had a chance to read over the spec and to digest what assignment 3 is all about. Additionally, this assignment is big enough that thinking of a roadmap or implementation plan before sitting down to code is a good idea.
Make sure you are keeping your repos up-to-date on Gitlab and pulling the latest as we are sending out merge requests to fix small (but not insignificant!) typos in the spec as they arise.
Marking is well under way and we are looking to get your marks and feedback to you at least a week before ass3 is due.
The Week 7 lab automarks have been released. As always, if you feel there has been a significant error with the automarker, feel free to fill in this form and we may look into it if your concern has merit.
That's all we have for now. Talk soon,
- COMP6771 Teaching Team
Hi everyone!
As you may or may not know, the lecture slides this term have been completely redone (formatting, wording, content, etc.).
Though we try our hardest to avoid typos, grammatical errors, and code mistakes, sometimes they slip through the author's eyes and make it into the final product.
The following is a list of the lecture slides that have been updated, so feel free to redownload the slides.
Changes
:
-COMP6771 Teaching Team
Hey everyone!
Assignment 3 and its explanation video have been released. You can find a link to it from the Assignments sidebar.
It is due Monday Week 10 (17th April) @ 8pm.
Good luck!!~
-COMP6771 Teaching Team
Hello everyone!
Welcome back from your certainly not excessively stressful, care-free break.
Get ready for another action-packed, packed to the rafters, overall extremely enjoyable 4 weeks of Advanced C++!
To that end, see below for what's new this week.
This week's lectures are on Dynamic Polymorphism (a.k.a. virtual functions). If you have been following a previous offering of the course's lectures, this is where there is a major break in the lecture content schedule, and we have added much more content to the slides to round out the discussion about dynamic polymorphism in C++. Please make sure you attend the lectures, or watch their recording.
After receiving feedback form many students, we have decided to reduce the number of labs per week from 8 to 4. Concomitantly, the difficulty of the labs may have slightly increased to counterbalance the reduction of work. As always, you should be attending your lab times to get as much help and expertise from your tutors as possible.
Just a reminder assignment 2 is due tonight at 8pm AEDT. Please make sure you have submitted by pushing your work to your main branch on Gitlab.
Assignment 3 will be released either tonight or early tomorrow morning. When it is released, we will send out another notice.
That's all for now. Talk soon.
-COMP6771 Teaching Team
Hey everyone,
Please find below important information about the various assignments and labs!
Assignment 1 marking is now complete (save for about 10 students, due to last minute complications. If you look at your marks and you have gotten 0 due to no submission, or you cannot view your submission, please wait a few more days and we will have properly marked you.)
You can view your marked submission at https://cgi.cse.unsw.edu.au/~give/Student/sturec.php . If you have questions about style and/or testing marks, please email the tutor who marked you (you can find who marked you, either by name or zID, at the bottom of the submission). If you are not satisfied with your marker's response, you can request your tutor to escalate to cs6771@cse.unsw.edu.au. Please do not email cs6771@cse.unsw.edu.au directly, your email will be ignored.
If you have questions about the automarker, please fill in this form . Note: we will only do a rerun of the automarker in the event something went grossly wrong.
Week 5 lab results have also been released. As always, you can view them here (along with all other marks of the course). You can also get a potential rerun by filling in this form .
Assignment 2 is well and truly underway. Remember that it is due Monday Week 7 at 8pm.
As was mentioned in a prior notice, there are help sessions for ass2 this week. Please make sure you check the course timetable so that you don't miss out!
That's all for now, talk soon.
-COMP6771 Teaching Team
Hi everyone,
We have scheduled help sessions this week to help with ass2 (and anything else in the course that you may have questions with!)
You can see the schedule by going to the course timetable .
The first of the scheduled help sessions is tomorrow (Tuesday), 2 - 4pm AEDT.
That's all for now, talk soon.
-COMP6771 Teaching Team
Hello everyone!
This is another weekly notice giving a general update to COMP6771's progression this term.
This week's content is on dynamic exceptions, resource management (RAII) in C++ and also on smart pointers (pointer-like types that manage their memory resource). These three concepts together form yet another major reason why C++ is a powerful language.
As assignment 2 is continuing, we continue to see everyone working hard! Just a reminder that the forum is always available for questions, to keep watching out for any spec typo fixes, and to also rely on your tutors where you can!
Assignment 1 marking is well under way. We are hoping to get marks back to students by the end of this week / early week 6.
Week 4 lab automarker results have been released. As always, you are able to fill in this form to have your code potentially be looked into. We will get back to within the next 7 business days.
That's all we have for now. Another relatively cruisy week.
Keep working hard!
-COMP6771 Teaching Team
Hello everyone,
There has been a push of quite alot of ass2 spec changes (see the changelog at the top for the specifics).
Why is there such a large change?
After answering some questions on the forum (particularly around split()), it was determined that the spec in its current state simply was not sufficient to teach what we have learnt in the course thus far through implementation. In its current state, certain functions (again, like split()), would be extremely difficult and delve into parts of the language that are far above what we have thus taught.
Furthermore, some parts, such as operator==(), were outright missing from the spec, even though they are most definitely needed. Other parts were under-specified and caused too much confusion for students.
Thus, I collected all the changes and packaged them into one major update. This may cause merge conflicts when you try to merge them in -- if that happens, make sure to ask your tutor for help if you need it. If your class has already passed, then feel free to utilise the forum if you cannot figure out how to resolve merge conflicts yourself.
We do not expect to do another major update like this. We are sorry again for the inconvenience.
-COMP6771 Teaching Team
Hey everyone, just a few updates: see below.
Find it in the "Assignments" section of the left sidebar on WebCMS.
You can find your marks here: https://cgi.cse.unsw.edu.au/~give/Student/sturec.php .
As mentioned in the main Week 4 notice, you can again apply for a potential manual inspection of results. See that notice for more details.
That's all for now. Talk soon!
-COMP6771 Teaching Team
Hello everyone!
This is another weekly notice giving a general update to COMP6771's progression this term.
This week's content continues the discussion of the mechanics of class types in C++. We will be covering Operator Overloading and also C++ Custom iterators , both topics of which will be very useful for ass2.
Well done to everyone who has submitted ass1! If you are still working on it, make sure you submit before the hard deadline of Wednesday @ 8pm (unless you have an exception), Due to UNSW policy, any submission received after this deadline will receive an automatic 0.
We will begin marking by the end of this week and are looking to get feedback back to you before the end of Week 5. Stay tuned.
Ass2 is released and ready to go! As some of you may know, this is a completely new assignment so the spec may have some frequent clarifications / better wordings applied at the start. But this should slow down quite quickly. Thank you for your patience.
The automarks for week 3 of labs will be released latest by tomorrow. We are again offering potential manual inspections into the automarker results. Please fill out the same form as before once marks are released. You have until Sunday Week 4 (12th March) @ 8pm to fill out the form for week 3.
There was a small hiccup deploying week 4 labs but they should be out now and available.
A great associate some of you may know, Nick Patrikeos, is collecting some data on a potential new elective it seems. From Nick Patrikeos himself (who teaches SENG3011 - Advanced Software Engineering Workshop):
We are looking to find out whether non-Software Engineering students in CSE would be interested in taking an elective with a similar focus if it was offered. The course teaches students modern software engineering techniques and toolchains including AWS, Docker, GitHub, Jira/Confluence, Feature Flags and Observability, and advanced teamwork and leadership in a software engineering environment.
Please fill out this short survey:
https://forms.gle/CrTLwqq1maPFH1vF6
Thanks for your time!
That's all we have for now. Talk soon
-COMP6771 Teaching Team
Hey everyone!
Just a few reminders for tonight.
Reminder that assignment 1 is due tonight @ 8pm AEDT.
Please submit by pushing your code to your main branch on Gitlab.
Due to the late penalty, we won't be able to start marking until the middle of next week, but we're looking to have marks back by the end of week 5.
Assignment 2 will be released either tonight or early (read: 1, 2am) tomorrow.
There will be another accompaniment video released a little later due to the weekend, but hopefully that will give you enough time to read through the spec and start to gain some familiarity with it.
As always, you are free to ask your questions on the forum.
EDIT: ass2 has been released!
That's all for now. Talk soon.
-COMP6771 Teaching Team
Hello everyone!
I was doing some digging in the archives from previous versions of this course and found the assignment 1 reference solution from 2019. It surprisingly still works, with a few modifications...
The binary was built on CSE and thus only works on the CSE machines.
To use it, log into the CSE machines and run
6771 word_ladder_reference
You'll notice that it will throw an exception. To fix this, in your ass1 project root, copy src/english.txt into assignments/wl/words.txt. Then, you should be able to run the reference solution from your project root without fail.
You can use the reference to generate test cases for your own code. Pretty handy, huh?
That's all for now. Talk soon.
-COMP6771 Teaching Team
Hello everyone!
Welcome to Week 3 of Adv. C++.
We are almost at the end of the first third of this course and now, moving forward, we will be digging evermore into the specific and unique features that make C++ what it is. As such, this week's focus is on scope and class types (i.e. structs and classes proper).
Please find below some important bulletin points to keep in mind:
Assignment 1 Due
Help Sessions
To help with ass1, this week we will schedule extra help sessions. The timetable for them can be found here so make sure that if you need to attend one or more that you know when they are. If you don't see anything there yet, check back in a day.
There are no help sessions on the weekend.
Assignment 2
Assignment 2 will be released this Friday. Stay tuned for more information.
Lab Week 0 and Week 1 Results
We have officially released the results for lab001, lab10 x . You should be able to view them from the grade section in webcms (which now links to give ). Apologies for the delay, we ran into last minute issues with submission viewing and it wasn't rectified until today.
We are offering potential manual inspections into the automarker results. Please fill out this form if there is something that is exceptionally bothersome. You have until Sunday Week 3 @ 8pm to fill out the form for weeks 0 and 1 . After this time, we will not accept any more requests for automarking. If we decide to inspect your submission, we will be in contact via email within 5 business days.
Lab Week 2 Results
We have also officially released the results for the Week 2 labs. You can view them in the same way as above.
We are also offering potential manual inspections into the automarker results. Please fill out the same form as above. You have until Sunday Week 3 (5th March) @ 8pm to fill out the form for week 2 as well.
That is all for now. Keep working hard!
-COM6771 Teaching Team
Hello everyone!
Welcome to Week 2 of Advanced C++. The main theme this week is the S tandard T emplate L ibrary (STL, part of ISO C++ proper) and the design principles behind it. It is perhaps one of the things C++ is both famous and infamous for.
By now many of you have started (and maybe even completed!) Assignment 1. It is excellent to see that so many have started early. Remember, if you have any questions, feel free to post them on the forum.
Week 2 labs have also been released (lab201, lab202, lab203, lab204, lab205, lab206, lab207, lab208). They are due this Sunday at 8pm AEDT.
That's all in news for this week. See you all in the lectures!
-COMP6771 Teaching Team
Hi everyone!
I hope the first week of labs haven't been too hard (or, set-up too daunting...).
Due to a plethora of reasons, we have decided to extend the deadline for:
They are now due Tuesday 21st @ 8pm . Hopefully that will give people enough time to fully get everything set-up.
Just a reminder submission is done by pushing the files you edited to the default branch on Gitlab. This week only that branch is called "master", but in the following weeks, it will be called "main".
You can either use the git commandline to push, or use the Gitlab IDE to push. So long as the files are in your Gitlab repository, it really doesn't make a difference which method you use.
Good luck!
-COMP6771 Teaching Team
Hello everyone,
Assignment 1 has been released (early ==> more time for you!).
You should be able to clone it from https://gitlab.cse.unsw.edu.au/COMP6771/23T1/students/z5555555/ass1 (replace z5555555 with your zID). There is an explanation video here
Be sure to start early, and good luck!
-COMP6771 Teaching Team
Hi everyone,
Though we try our best to note have to update labs midway through the term, sometimes there are wording errors or clarifications that absolutely must be distributed. This notice will list the various repos (labs, assignments, etc.) that have been updated and when.
To receive the update, log into the corresponding repo on Gitlab, go to Merge Requests, and accept the merge request.
Updates:
Hello all,
You are receiving this notice because you are a student of COMP6771 in 23T1. What this means, among other things, is that you have taken the first steps to become proficient in the language with a wide, varied history and usage known as C++.
The teaching staff would like to offer you a warm welcome. The purpose of this notice is to give a brief overview of how this course is structured and to mention what will be in Week 1.
By now, you have hopefully read the course outline and understand the assessment structure. As a small recap:
We have lectures on Monday 10 - 12pm and Thursday 2 - 4pm. They will be hybrid lectures, where we have an in-person stream as well as an online livestream through MS Teams. Barring no technological issues, you should be able to flexibly attend whichever delivery mode you wish (but if you can, please go in-person!).
Our labs are majority in-person with a few being online. The purpose of the labs is for you to cement your knowledge from that week's lecture content, as well as receive direct instruction from your tutor. We recommend making extensive usage of your tutor if you wish to optimise your time in this course.
!!! An important point !!!:
lab001 and labs101 - 108 are due Sunday 19th February @ 8pm (Sydney time) .
Submission is done by pushing to your work to your main branch on Gitlab.
!!! end important note !!!
According to demand, we may also schedule additional help sessions.
The locations of all of these can be found in the course timetable .
Week 1 content involves a formal introduction, and a start to the C -> C++ transition. Also, assignment 1 will be released later this week, so check back later for that.
Again, very excited to have you all here with us this term. Hope to see you all in the lecture! (both in-person and virtually)
-COMP6771 Teaching Team
Hello everyone, and welcome to COMP6771!
A more comprehensive notice will be sent out once the term "officially" begins tomorrow in Week 01, but in the interim there are a few things to familiarise yourselves with:That's all we have for now. Talk again soon.
-COMP6771 Teaching Team