Hi again everyone. This email concerns anyone who has emailed me in the last few days.
There has been some errors by CSE that have meant I can't access certain accounts that I need to to sort out your inquiries. This may be resolved today, or could be as late as Monday. Please be patient with me while I wait for others to sort this out :)
Hi all,
I have about 20 people's emails I haven't sorted out yet. Whether your marks are sorted today or tomorrow, the outcome is the same. If there are genuine errors made, your transcript can be fixed, don't worry. I'll get to you all ASAP.
Hi everyone,
I'd like to give a big congratulations to Brittany Evat and her performance in the course. She has been the highest scoring student in COMP6771 during 19T2. She should be commended for her consistency - her final mark wasn't the product of any single super-star result, but rather an array of good results across all parts of the course and exam.
If you see her around university please give her any spare food or other novelties as tribute to her achievements.
Also Brittany is finding out about this via the notice - so Brittany - congrats!!
(See update at bottom)
Hi everyone,
Marks for COMP6771 are now complete. A number of specific changes were made (you know who you are), and everyone's marks should have shifted slightly. Largely the spread was reduced, what this means is that:
The reasons for this are complicated so I won't post about them. But rest assured it all makes sense.
All necessary marks have been reviewed. I understand some of you may be disappointed your
raw
marks for section 3 (coding), but please understand in general this course was quite generous to students, so this was a harder part of the exam. Remember that a lot of your marks are determined here by automarking. Unless you genuinely think there has been a massive administrative error it's extremely likely you're in the same boat as many other students and just scored less strongly in that section.
No student's final scaled mark is lower than their raw mark.
Grades have been updated to reflect this:
UPDATE:
Yes, this means that "final_scaled" and "hurdle_passed" are outdated. Please refer to FINAL and HURDLE as above now, instead.
Hey everybody!
To the dozen or so people now (and the dozen or so later, no doubt), there is no need to resend your email to me 15 minutes after you originally sent it :) I will get to your email when I can
Hi everyone,
Your
tentative
final marks have been released. Why do I stress tentative? Because they may change; possibly slightly because of scaling changes; possibly slightly because of the school reviewing the marks; possibly largely if we made an administrative error. So please, when you see them, don't get attached to them (for better or worse) just yet. Wait until your final results are received on your transcript for that. Remember, the school can always step in upon marks review and change marks. It's often recommended not to share tentative marks because of potential frustrations, but I trust that you're all adults and would prefer this transparency, even if marks move around slightly (for better or for worse).
Why are we releasing the tentative marks early? So that if we made a big mistake (e.g. your assignment you submitted got a 0 for some random reason) we can fix that up before I have to submit marks in 14 hours. Don't panic though, if things are truly wrong (for the 0.5% of you) then marks can be amended later.
Very limited scaling was done. Your raw marks were pretty well distributed, though most of the course got very very slight bumps upward. The only major adjustment that was I dropped the section 2/3 hurdle from 3 0% down to 23% . 25% probably sufficed but I feel that extra bit of help was necessary.
Your section 2 (short answer) marks may be slightly lower than expected. Just because you wrote an answer that's wordy and made sense to you, doesn't mean marks were awarded.
Your section 3 (coding) marks will likely be lower than you expect. A fair bit lower. Most of this section was automarked and was testing your ability to write correct C++ code that works. Many students wrote mostly-there code and would get 0/3 or equivalent. This is just how that section operates. Some questions were completely manually marked. Others were automarked with a human sanity checking nothing crazy went wrong.
Some of you did really well. Some of you did OK but failed the hurdle. Some of you did not that OK. And that's all OK. Lots of congratulations are due for many worried students, but to those who are really unhappy about their mark, I just want you to remember that I can honestly say to you that in my life I've seen dozens and dozens of students fail a couple of subjects in their degree and I legitimately have never seen it impact their life in the longer term. If these results are bad for you, embrace it, mope around for a while, it's OK to feel crappy, then pick yourself up in a couple of weeks and move onto the next stage of your life. For all of the exciting "challenges" that trimesters bring, one shining light is that you can move on to the next chapter much quicker.
How do you access your marks?
You can view your grades on webcms3 .
A reminder that a "final_scaled" mark > 50 but a "passed_hurdle" of "0" means you failed the hurdle, and receive a UF grade (not an FL grade).
You can also view the components that made up your mark. Including your 3 assignments, and 3 exam components (exam_s1, exam_s2, exam_s3).
What if you think your mark is wrong?
Please email me. If your mark is low because you screwed up - I can't help you. If your mark is low because you think there was a legitimate administrative issue on our end or marking mistake, please email me. Just please don't think emailing and trying to get a mark changed when deep down you know your mark is fair. That will just waste your time!
Hi all,
I will be releasing tentative marks later today between 7pm-10pm. If you could keep an eye on your computer around this time to sanity check we haven't made an administrative error that would be appreciated.
Hey all! Firstly, congrats to everyone who has finished. You can put the term behind you now (for nearly all of you) and catch a breath :) Was great to see so many of you today.
I saw many students feeling happy about the exam, and confident things went OK and curious to see whether it a little OK or a lot OK. But not everyone was like that!
Once again, regardless of details, congrats all for finishing.
I'll be in touch soon
Hi all,
It appears that a notice I wrote up yesterday that I thought was posted wasn't... I've been confused today why students are asking me about their ass3 marks being released when I wrote the post yesterday. But yes, it appears it isn't there... I'm terrible sorry about that.
The notice basically said that as of this afternoon we've marked approximately 75% of the students. We've had some slow downs due to exams, busy-ness of tutors in this period, and taking extra care with these marks because the assignment is quite hard. The remaining 25% will be marked between now and the end of the weekend.
Even though knowing your mark before a final exam doesn't change anything, I'm conscious of the fact that of that 25% a small handful will be experiencing a lot of anxiety and stress surrounding that. I (thought I) posted last night telling people that if you fall into that small group of people who feel you want to desperately know your mark before the weekend, to
email me
ASAP and we'd mark it today. Today is nearly over, but if you still fall into that category, please email me ASAP and I can try and mark your assignment tonight if that helps.
Also, I added a
followup
to Revision Lecture 2 last night
Hey all! I just wanted to say good luck in your exam tomorrow :) Make sure you get some sleep and don't stress too much. Make sure you tackle the hard questions early so that you have the most time to think about them. Don't waste your time on any questions you just don't know the answers to. Don't stress if you can't finish the exam - many students will be unable to. Whether the exam is easy or hard, we'll make sure it's fair.
One way or another it's all over tomorrow. It's been a pleasure getting to spend time with you all this term and getting to know you - so thank you for that privilege. You'll be great tomorrow - because you're all very talented. After it's all done, I hope I see you around in the future :)
Final note,
if you have any mark adjustments to be made for assignments, PLEASE get your email to me no later than Saturday 9am (31st August).
If you've already emailed me in the last 48 hours and are still awaiting my reply, no need to email, just wait.
Hi all, section 3 questions have been added to practice exam questions.There may be slight typos or bugs in the code, please don't get caught up on them, but feel free to point them out :)
Hi all,
Revision lecture 2 is online and can be accessed on the lectures page.
Hi all!
Hi all, I've done a sweep of the PDFs and re-exported the slides. However, they're all black. Sorry sorry but it's to avoid any text colouring issues.
Hi all,
Practice exam questions can be found HERE (bottom of tutorials page). As of 9:55pm there is only one question, as I've been trying to get the extra pages up. Over the next hour or two you should see many more questions come up and more come tomorrow too.
Hi all,
Exam questions will be coming out today, likely later afternoon to this evening. I know they're a couple of days late, I apologise for that, because my role is part-time/casual sometimes I get jostled around. Rest assured I'll be here to support you in the leadup to your exam :)
Reminder that Monday's lecture will be 1 hour of Q&A, no planned content. It will always be recorded.
I will answer more forum questions and update about the lab environment tonight as well.
Hi all, today's revision lecture has been added to the lectures page and exam page :)
Hi everyone! Hope exams are going well. Keep being awesome. Some updates for you:
Hi all,
Please view your exam time and seating allocation here .
We've added another slide to the std::forward slides upon a students request. We've now completed all the updates brought up last Friday.
More exam material and practice to come next week.
Good luck in your exams in the interim. You'll all do great ^_^ Everyone always comes out the other side OK.
And finally some updates:
Hi everyone! Sadly the time that suited Chris tomorrow doesn't suit me and I'm unable to make the talk. Since Chris is skyping in, is there anyone who would want to volunteer to just sit up the front the help setup the call + relay questions from students to Chris (since he won't be able to hear very well if someone asks a question from the back of the theatre).
If you're keen, email me on hayden.smith@unsw.edu.au. Once someone replies I'll update this notice saying we've found someone.
Hi all, last couple of reminders:
Hi all,
We've had some teething issues with this bonus-script we wanted to add to help bring you some peace of mind about submission. It appears that for some students clang-format on the CSE machine always complains. We haven't quite figured out why this is for particular students yet, but in the interim, please just ensure you pass cpplint.py and clang-format on your local machine . Don't stress or waste time about the CSE script.
Hi! Assignment 3 has some added clarifications to it. Check them out please :)
And yes, I know we have some dgtest clang-format issues. Will send notice when they are resolved :)
Hi everyone, Chris Di Bella will be giving his talk on Algorithm Transformations on
Thursday Week 10, 5pm-7pm
. The location is TBD.
Save the date/time.
Also, I will get to many dozens of your emails soon, bear with me!
Hi everyone, after consultation with your classreps we have extended the assignment 3 deadline by 48 hours to Tuesday 11:59pm.
We'll have some spare time in the lecture tomorrow. If there's anything you want us to cover, please add a comment with a specific question in the comment section in the link below (obviously, we don't have time to cover whole topics).
https://webcms3.cse.unsw.edu.au/COMP6771/19T2/resources/31171
Hi all! If you run "6771 dgtest" with your graph.h, graph.tpp, graph_test.cpp files in a directory you're calling it from, it will run cpplint.py, clang-format, and run it against two tests cases.
If you have any issues with the tests, or feel that the sample solution produces incorrect results, please post on the Graph forum page.
Hi everyone,
Please read all that is below
Hi all,
Chris Di Bella 's lecture is going to be on either Tuesday or Thursday evening in week 10. The exact timing we will choose based on student preferences. PLEASE MAKE YOUR PREFERENCES CLEAR HERE .
Hi everyone. You can now submit on give. Your groups have been setup. A few people pointed out some simple errors in the assignment spec in the last two day sand these have been fixed and added to the change log.
I'd like to congratulate everyone for their amazing work in starting this assignment early and really engaging with it. Your motivation and interest in what you're doing is genuinely admirable :) Enjoy the rest of your weekend.
Hi everyone - due to groups being added and finalised for this assignment we are still in the process of setting up give submissions. This will get working early/mid next week (at minimum a handful of days before it's due).
Nothing to worry about - give submissions don't do any testing so having access earlier won't help a huge amount :) Just wanted to update
Hi everyone,
A .bazelrc update to the git repo was done approximately a week ago. This was to help with address sanitizing when it came to debugging. This appears to have broken some people's ability to compile on OSX. If you want the old .bazelrc please find it here .
Lecture code available online
Students were requesting today to post the lecture code to the Github, so we now have a new branch for the post-lecture code (it's not part of master). For any code that isn't already in the repo (most of it is), we will try and make an effort to push to that branch after the lecture for the rest of the trimester.
Additionally, I had some interesting questions during the help session regarding assignment 3, and thought it would be useful for the whole cohort for me to answer this:
Assignment 3 tips
Use multiple iterators
Your iterator class may want to look something like this:
class const_iterator { node_container::iterator node1_it_; other_node_container_for_node::iterator node2_it_; other_edge_container_for_node_pair::iterator edge_it_; };
For a more concrete example, if you are trying to make an iterator for a std::vector<std::vector<int>>, you might do something like this:
class twodvectoriterator { // This is very similar to storing two indexes, one for the outer vector, and one for the inner std::vector<std::vector<int>>::iterator outer_iterator; std::vector<int>::iterator inner_iterator; };
Why set contains const items, when to use mutable in set
std::set<T> contains const Ts, rather than Ts. The reason for this is that modifying T's is liable to change the ordering of the std::set.
If you have a type specifically for being stored in a set, and you need to change the value of some part of it, set will not allow you to because of the reasons above. However, if this change in value will not affect the ordering of values, then it may be required to make the field not used in the comparison mutable (If you do something like this, you should add a comment about why it's mutable, though).
Can I inherit off std::iterator?
Short answer: No, it's been deprecated as of C++17
Long answer:
https://stackoverflow.com/questions/6471019/can-sh...
Hi all! Assignment 3 has officially been released. You have two and a half weeks with it. Much of the detail is in the specification .
Please remember that we recommend working in pairs, and if you work in a pair, you're required to register that pair no later than Friday 11:59pm THIS WEEK.
You can register HERE .
To find a teammate if you don't have one already, go to your tutorial and your tutor will help you sort one out. If you forget to in your tutorial group, or you're unable to attend your tutorial group this week, please join the Webcms3 group and follow instructions.
Hi everyone,
Assignment 3 draft has been released. It will undergo a period between now and 3pm Wednesday (the lecture) where we will seek feedback / corrections / clarifications from any eager or curious students. In this time nothing will be added to the changelog. Please check it out if you're curious, but consider it in a "tentative" state until Wednesday afternoon. If anyone does have any comments/questions about the assignment: would love you to comment on the assignment page.
More information about the pairs will come out soon. In the meantime, if you're able, start thinking about who you want to work with as a pair in this assignment. They do not have to be from your tutorial .
Hi everyone. A few clarifications (not changes) made to assignment 2. Just questions students asked on the forum that we wanted to see even more firm in the spec.
Hi all. Most assignment 1 issues have been sorted out. If you have more please email @ cs6771@cse.unsw.edu.au.
There are two issues we will resolve for EVERYONE and you do not need to chase up on:
Hi everyone who sent a followup email regarding assignment 1. They are taking a while to process through, but that's ok, we'll get there - just remember not to worry. It's just due to how the CSE marking systems works (which isn't always quick to modify things) :)
Hi everyone, please check out the change log at the top of the assignment page . A number of clarifications and bits of help have been added after discussions in yesterdays lecture. It should clear much stuff up and make things easier - please post on the forum of the EV assignment if further questions arise.
Also note: We won't be doing bonus marks for this assignment. Just not enough demand and didn't want to add more confusion.
Hi everyone - just another reminder (given the first one didn't sink in). We're still moderating and finalising marks for wordladder. We will let you know when we'd like to start receiving emails about issues/concerns with marks. Please remember resolving these is not urgent. Any emails about your assignment at the moment will not be addressed in the interim. Patience :)
Hi everyone - it appears some automatic emails have been sent out regarding assignment 1. I'm sure many of you will have questions/concerns - however if you could hold these until we talk about things and finalise marks post-Wednesday, that would be great.
Remember that we can modify your marks and fix things all the way until the end of the course, so there is no rush :)
Some required and optional videos have been released
These can all be found here too.
Hi everyone,
The lecture today is officially cancelled. More updates to come.
Hey everyone, UNSW is having some "technical difficulties". The power is currently out but that may change at any time. If the power comes back at any time we'll continue the lecture. Unless you have something urgent to go to I'd probably recommend hanging around for a bit in case the power comes back on. If the situation changes I'll send a notice. There is no need to come to the lecture theatre until the power issue is resolved or you receive further email from me - so justtight on your email.
Please follow all fire marshals and their directions. above all else
Hi everyone! As part of this course we're providing some really exciting guest lecture time by Chris Di Bella. He has 4 potential talks that he'd like to give, but we only have time for 2 of them. So it's up to you to vote on which ones you want to see.
Keeping assignment code on a publically accessible github repository exposes you to potential plagiarism penalties. If you have your code public, and another student copies your code, both them and you may face plagiarism charges.
If you have your assignment code on github,
please check right now (if you haven't already) to ensure your repository is private, not public.
Hi everyone!
If you could really take a moment to read this notice it would be immensely appreciated :) It's all relevant, promise . Particularly point 3.
To the majority of you who have submitted your assignment, it's awesome to see so many people learn so much in such a short time. I know it's been bumpy and stressful for some, but just think about the fact that 18 days ago many had never touched C++, and since then you've not only learned some really important basics but you've been awesome programmers and found optimisations in your code. These skills around choosing methods to improve your performance are some of the most valuable skills you can learn in computer science. So congrats:)
If you haven't given feedback on the first please do so if you have time :)
Thank you for your patience with us getting this course back together. It hasn't run in 2 years and has lacked good support for 3 years. It's a bit of a teething period and I know it's not fun to be on the receiving end sometimes - but sadly we have to start somewhere, and we'll keep doing our best.
The most common feedback we got from students was their frustration with the environment setup. At the beginning of this course our hope was to be able to setup an industry-typical build system along with a proper IDE. I think that intention was fair - but the issues that followed were a 1) Much larger than expected proportion of people using Mac OSX, and 2) More problems with the VM (technical issues + resource constraints) than expected.
The difficult part of the environment setup was mainly that we were trying to get most students to work with CLion and make that a part of the course. The rest of the setup aspects are actually quite trivial on basically all operating systems. We wanted to simplify this down for everyone, and wind back our aspirations for the 19T2 offering.
tl;dr - we aren't expecting you to setup CLion.
We have updated the
Github README
and
Environment setup
page to make our expectations on your setup much simpler and much clearer. This should ensure every student is able to reasonable set up the environment on their local machine.
Week 4 is an important week!
If you can make it to lectures - awesome! If not, try to make sure you watch them online pretty quick after :)
Hi all,
A lot of students in the last week or two have been asking about lvalue/rvalues. The explanations we gave in week 1 were intended to be very simple and not rely on any other knowledge, but this week on Friday we'll be going through lvalue/rvalue concepts in more detail in relation to copy/move semantics. If you are one of those eager beans who wanted to read more than this is a good place to start .
Hey! Bunch of small updates for everyone:
We've been talking to a lot of students over the last few days and we've seen that many students have 1 or more other subjects with assessments due on the Friday night. That, combined with some empathy for people's environment setup struggles, means we're extending the deadline to Saturday 22nd June, 3pm . We're hoping this will alleviate some of the pressure off your Friday night.
Please remember that it's 2% off the maximum per hour afterward. So if you want until midnight saturday to work on it (for whatever reason), you can still get a maximum mark of 82%.
Keep at it everyone - you're all awesome and it's been incredible seeing some of the good work people are doing and persistence they're showing.
Hey everyone! If you had already tested/submitted/finished your assignment with the old lexicon.h (with a set, instead of an unordered set), and your code relied on the fact that a set was internally ordered by key, please email me :) Nothing bad will come of it, we just want to make sure we know who was relying on this.
The change to unordered_set was to help the large chunk of students who were struggling with their performance - so it's a good change, and one that we'll make sure impacts any small number of people that relied on the internal nature of a set.
Followup from Matt on the Friday lecture
During the lecture, Matt mentioned that there was a problem with the slides that used for_each to attempt to modify a container. According to the documentation, "if the iterator type is mutable [the iterator may be an input iterator, which is not, but could also be >= forward_iterator, which is], f may modify the elements of the range through the dereferenced iterator. If f returns a result, the result is ignored".
What this means is that if you want to modify the value in a container, you don't return a value - instead, you pass in a reference to that value into the function and then modify the reference.
The slides have been updated correspondingly (see slides 5.1, 5.2, and 5.3 in the week 2 friday lecture for an example).
Wordladder (Assignment 1)
Lectures
(2.2)
Slides for week 2 Friday (today's lecture) were updated, so the PDF has been reuploaded.
Further, just a clarification on my previous clarification regarding the semi-colon in the if statement. This is C++17 and beyond compliant, but not C++14 and prior. I confused myself about this and I apologise for this.
Hey all - answered the Pollev questions from week 2 here . Check them out. Any further questions just post on the forum on that page.
There is a clarification to be made too. For the code on slide 2.2, it wasn't clear that the semicolon in the if statement is valid in C++17 and beyond, but not prior.
Matt and I will see you tomorrow!
Assignment (Word Ladder) Timing
Environment Setup
OSX Reference Solution
Cool Cyber Security Event
These are the followup answers from week 1 friday lecture:
Hey! Some quick updates:
Hey everyone! I hope your first week of university for T2 went OK :)
Week 1 was a bit of a slow week to warm everyone up, so I'm sure we'll all looking forward to things picking up next week. Most forum questions have been answered, and lots of issues have been solved. Just wanted to give an update:
Overall, things should be clear: Set up the environment; try and do the assignment :) I know some of this setup isn't always fun, but we really appreciate your patience as we try this out for 2019 - after all - this has been introduced after students asked for more industry-style work! Getting it setup is the main hurdle :)
tl;dr - Actionables for you:
Information on consultation hours can be found here now.
Assignment 1 has been released, you can see it on the assignments page . Check it out, ask questions, and we'll talk about it more today. Don't be disheartened by an early assignment! This first one is very manageable for most students. Make sure you make a start this weekend to stop it getting away from you.
More information was added to the course outline in the "Teaching Strategies" section. It doesn't tell you anything new but clarifies a bit more clearly what was discussed in lectures yesterday. We would recommend attending tutorials, not for some arbitrary reason, but because we want you to be the very best you can be :) If you have further questions post on the course outline forum
For those unable to see lecture recordings we've resolved all of these now. You can see lecture videos.
Nice to meet (many of) you today!
It's a shame we only have an hour before your tutorial this week (and didn't want to smother you with content straight away). This week's tutorial is very straightforward and a nice warm up. There are three thing we won't cover until Friday that your tutor will introduce you too - so don't be alarmed that you haven't seen them or understand them yet:
We will talk more about these on Friday! Finally, a few other miscellaneous points from people's questions/comments
Any other questions, just ask away
Hey all, looking forward to seeing you today at 3pm in the Science Theatre.
Week 2 lectures (slides) are released. Week 1 lecture PDFs are also up. We'll make sure the PDFs are up closer to the lectures.
Would recommend only using PDFs as exports for annotations for the lectures. The slides are a live link to slides that we can update more dynamically before/after lectures as clarifications and examples become more apparent. Because PDFs need to be manually exported they might only be exported every week or so - so the PDFs may sometimes have slight differences to the lecture slides :) Comment if you have any questions!
We'll be releasing our first versions of week 2 lectures and tutorials this evening. Look for them later today! We will also be releasing PDFs of the first week of lectures this evening too.
Hi all - lecture 2 has been up for an hour or two. Tutorial coming in the next hour or two (just check it later, I'll save you the extra email).
Many have asked about PDFs for lectures. This is on my list - no need to chase it up - I will satisfy your cravings for the PDFs.
Hey! Lecture 1 has been released and is in the lectures section. Note that it's a slides.com slide, which means you can go "left/right" across slides and occasionally "down." Any questions just post on the page.
Remaining lecture/tutorial content for week 1 will be out tomorrow, there are just a few things to sort out before we release. Thanks for being understanding!
Hi everyone, a special consideration component has been added to the course outline.
Hi! Course outline was released a bit under an hour ago. If you have questions or comments about it, please comment on the course outline page .
A number of students have emailed me asking me for previous year's lecture notes. I will link them once here , with some big disclaimers. These notes are from 2016. Back then, the course had different assignments, contained topics that are no longer in it, and does not cover topics that will be in it in 2019. The overlap is about 75%~ for content (not a scientific number). This was for semester structures, but the course this term is for trimesters. In some areas we will cover more depth than 2016, in other areas less depth. This all points to the same thing: This course has a lot of difference in the details - so this is not endorsed study material or something I'd even encourage people to use, because it could confuse you or cause you to waste time. However, you're all adults, so I don't have an excuse not to share them because you can manage yourselves :D
Hey there - my name is Hayden and I'm the Course Convenor and one of your lecturers/tutors for Advanced C++ in 19T2. We've got a great team who are excited to run this course. COMP6771 in T2 has hundreds of students taking it, a pretty even mix of postgraduate and undergraduate students. No matter what year, stage of study, or technical expertise background you come from, welcome to the community :)
We'll be releasing the course outline on Monday May 20th (2 weeks before course starts). We'll be releasing week 1 lectures and tutorial on Monday May 27th (1 week before course starts).
But that's all for now. Enjoy the rest of your holidays! Take some time to switch off, otherwise T2 will creep up on you too quickly.