Assignment Update (2)

Week 10 Friday 20:00:00

Hi all!

We had some feedback yesterday on the changes we made to Assignment 2. Some students reported that the changes were signficantly breaking their assumptions about the assignment, as they'd not done it with a work pool (which was what the students we had been speaking to had done).

Given the feedback, we've loosened the requirement for a single thread to say it's the recommended approach for students using a work pool.

We realise that this many changes in the assignment are suboptimal, and we apologise. We decided that reverting this change was better than leaving it, and significantly breaking the assumptions of students who had already completed the assignment.

Assignment Updates

Week 10 Wednesday 14:00:00

Hi all!

We've done some relatively large updates to the assignment today. An incomplete list of the things we've updated:

  • Autotests now have some checks that you've submitted a mark_request, and that your answer isn't too long.
  • We guarantee we'll never get/set a cell bigger than ZZZZZZ999999
  • We clarify that you shouldn't parse the Rhai code yourself (use the CommandRunner), but that you will need to store the Rhai code so you can re-evaluate it when inputs change.
  • We guarantee you'll never get vectors like A1_A1
  • We narrowed the scope of Stage 6 to self-referential cells (i.e. A1 depends on A2 which depends on A1), not including cells that don't reference themselves, but do reference another which is self-referential (A1 depends on A2, A2 depends on A3, A3 depends on A2: we'll never ask for the value of A1)
  • We've clarified that you should have exactly one worker thread for calculating dependency updates, and that you should have one thread per connection to the sheet.
  • We've clarified Design Question 1: we meant to ask you how you were storing the command as a whole (i.e. get vs. set commands). Since it was unclear, we'll also accept detailed answers about how you're storing the Rhai command.

The forum was mostly up-to-date as of Tuesday night, and we'll try keep a close eye on it over the next few days.

Finally, some assignment 1 marks will be updated tonight; based on questions you've raised to us. Some assignments (mainly those with extensions) are being marked currently, and we'll try get those out as soon as we can.

Best,

~Tom

Delays in course responses

Week 9 Thursday 20:00:00

Hi all!

As mentioned briefly in the lectures, we've recieved a large amount of emails and forum posts recently.

Please expect to have emails replied to by Monday - if you don't recieve a response to your query by then - please email us again!

We'll also be adding some more tutors to the forums to help cover the recent additional load :)

Please make sure you are directing all emails to the cs6991 email address, and not to the individual admins or lecturer.

Thanks for your understanding, and best of luck with ass2!

Cheers, Shrey (~cs6991)

Make-up lecture livestream URL

Week 8 Wednesday 17:00:00

Hi all!

As mentioned previously, today's make-up lecture (due to the public holiday) will be hosted live on YouTube at our usual scheduled time (18:00-20:00). There will be a live chat to interact with myself and each other, and we will go back to our usual on-campus lectures next week Monday.

The live-stream URL for today: https://youtu.be/S_I0dyMYyhM

Thanks everyone, hope to see you there soon!

Zac

Help Sessions, and Christmas Tree

Week 6 Wednesday 21:00:00

Hi all!

Two things:

  1. We're going to run two help sessions this week. There will be one online Thursday 21st March from 6:30 to 8:30pm This will use the same Discord we use for online classes. There will also be one in-person on Friday 22nd from 4-6. We intend to use the Bugle and Horn labs (K17 Level 3) for the friday one, though that may change depending on lab availability. We may schedule more depending on demand and tutor availability.

  2. We've decided to remove the late penalty on the Week 3 Christmas Tree exercise. This means you can submit it all the way up to Friday Week 10 with no penalty. We've done this because we know it was a hard exercise, and some people may have left it but wanted to revisit it later.

Additionally, we've made a video which explains some of the concepts involved in Christmas Tree in detail. The video explores an exercise called "Christmas Lights" which is a similar style of problem. The code for the problem is here.

Hope you're all enjoying flex week,

Best,

~Tom

Lectures online this week

Week 2 Monday 13:15:00

Hi all!

The weather is absolutely crazy today, and I'm working down a sore throat myself. Moving the lectures online this week will hopefully save a few of your (what would be rather miserable) commutes through this nasty storm, and allow me to speak more quietly to preserve my voice (especially given our room's mic issues!).

So unless you have other important classes, please do consider staying home today and tomorrow! If you have any friends in COMP6991 who plan to join the lectures in-person but maybe don't check their email so often, maybe shoot them a quick message to forward this notice on.

The lectures will be hosted live on YouTube at our usual scheduled times. There will be a live chat to interact with myself and each other, and we will go back to our usual on-campus lectures next week Monday.

The live-stream URL for today: https://youtu.be/z5NhGZilkho

The live-stream URL for tomorrow: https://youtu.be/UPopGZhxesE

Thanks everyone, and stay safe!

Zac

Welcome to COMP6991

2024-02-12 00:00:00

Welcome everyone to the fourth offering of COMP6991: Solving Modern Programming Problems with Rust! We are so glad to have you all here and sincerely hope you enjoy your time with us here in this course.

First off, some quick administrivia:

Course website

The course website (where you will find this announcement) can be found at https://cgi.cse.unsw.edu.au/~cs6991/24T1/. This will also link you to the course outline, the course timetable, and the course forum. This course does not use WebCMS3 nor Moodle (except to access Echo360 recordings).

Lectures

Our first lecture starts Monday week 1 (2024-02-12 18:00:00). The lectures are from 6:00pm - 8:00pm on both Mondays and Tuesdays each week (sans week 6). We plan to examine not just Rust code, but hopefully many different programming languages during the lectures and through this set the scope of our studies for COMP6991.

The lectures are hosted in-person at Colombo Theatre A (K-B16-LG03). The lectures will be recorded (into Echo360), Live-streaming seems to be a coin-flip term to term. Hopefully it comes back this term, but it's sadly not something I have control over.

22T3's lecture recordings are also available anytime here.

Workshops

Through your myUNSW enrollment, you will have selected a workshop class to join each week. It may have shown up as LAB or something similar on the class registration -- this is your workshop. The workshops are held weekly (sans week 6) on Wednesdays, Thursdays, and Fridays. Please attend the one workshop that you are enrolled in.

The workshops are heavily practical and involve code design, programming in Rust, and finally reviewing code written and design decisions made, including considering what the experience may have been in other programming languages, etc.

I highly recommend all students to attend at-least your first couple of workshops -- I think you'll find them to be a fun, educational, and social experience, and hopefully you won't need further convincing after that point. If you make the effort to attend them and find this not to be the case, please tell us why and we'll do better!

We have one online workshop stream this term, which will be hosted on the Discord instant messaging / VoIP platform. The course discord URL can be found on the timetable page. Do note that the course Discord is only used for the online workshop, and serves no other purpose.

Our team

Our teaching team this term consists of:

  • Alex Miao
  • Brian Li
  • Daniel Field
  • Daniel Wang
  • Ethan Dickson
  • Giulia Betke
  • Hanyuan Li
  • Jaden Lanceman
  • James Appleton
  • Jared Lohtaja
  • Jayden Leung
  • Jennifer King
  • Larry Tang
  • Luke Fisk-Lennon
  • Matthew Kokolich
  • Patrick Hao
  • Peter Derias
  • Qinzhe Xu
  • Sabine Lim
  • Shrey Somaiya
  • Tom Kunc
  • Wisesa Resosudarmo
  • Xavier Carey
  • Zachary Ecob

Wow, so many tutors this term!! We are extremely lucky to have such a talented and friendly teaching team. Please show your respect at all times to our course staff, who I know for certain are all incredibly excited to be teaching this course for you all!

Weekly exercises

On the course website you will find your first set of weekly exercises has already been released! The due date is Week 2 Wednesday, and this due date structure (week n + 1 Wednesday) will follow similarly for later weekly exercises. These (usually) provide autotests, and are submitted with 6991 give-crate. Weekly exercises will be released weeks 1-5,7-9 (inclusive), bringing a total of 8 weekly sets.

Note that we've also provided some week 0 exercises that are not assessed, and solely exist to help you make sure your Rust toolchain (whether working on CSE or at home) is working correctly, and get you started on some fundamentals.

Weekly exercises have a 0% late-penalty for one week, before immediately increasing to 100% on the 7 * 24th hour. Note that all weekly exercises must be submitted before the end of term (Friday week 10) to be eligible for marks, meaning the final marked exercises (week 9) don't get the full week of no penalty.

Blog posts

In order to help recoup any lost marks from weekly exercises, we are offering "blog posts" for make-up marks! We hope they are a fun and rewarding activity, and you can read more about them here.

Difficulty

We would like to formally recognise that COMP6991 is a challenging course, with a relatively high workload. This will be spoken to further in the lectures, but if you are unsure whether COMP6991 is right for you, please send us an email to the course email address (see course outline).

myExperience

We received a lot of useful, actionable feedback from our most recent offerings in 23T{1,3} (thank you everyone who filled out the survey)!

I'm a big believer in transparency, so you can view the 23T1 course myExperience report yourself here. I have redacted any identifying information oustide of the admin team, but regardless, I hope you find this helpful in evaluating whether you would like to take COMP6991 this term!

I haven't gotten around to redacting any idenifying information for 23T3 yet, so we don't have that available yet (very hectic start of term, sorry!). Once I get around to that, I'm happy to make that available also.

I would also like to address our plans for this term based upon this (once again) very helpful feedback:

  • Last term we switched to continuous marking for weekly exercises. This seemed to be well received but had some infrastructure issues.
    • We plan to revisit the infrastrucure and try to make that more robust.
  • General assignment specification issues: late amendments, underspecified areas, confusing instructions, etc.
    • Assignment 1 will have general improvements and some new flavour for 24T1. We plan to look at forum questions for common confusions and fix them up in the spec. Hopefully less post-release changes.
    • Working on a new assignment 2 (as previous asst2 was conceptually confusing). We're pretty excited about this one so hopefully that pans out! Similarly will have another look at previous asst2 feedback and make suitable changes. Similarly, aiming for minimal post-release changes.
    • Trying to get marking back to students sooner (as always). Considering making asst2 marking more deterministic.
  • Potential experiments with workshops
    • Some students really engage with and especially enjoy the workshops.
    • Other students would simply prefer a more traditional LAB style "help-session" approach.
    • Interested in experimenting with a balance... let us know your thoughts on the forum!
  • Weekly exercises due date
    • Last term, we experimented with a final due date of Friday week 10 for all exercises.
    • Statistical analysis showed this didn't correlate with positive educational outcomes. Many students do just submit everything end of week 10 instead of working on problems week-by-week and revisiting missed ones later as the edge-case.
    • Trying a new approach this term, that's somewhere in the middle... let us know your thoughts on the forum!
  • Lecture / course notes
    • Last term, our tutor Wisesa worked on a draft course notes for us! I plan to revise this into official cs6991 notes to supplement (or, if you prefer, replace) your personal notes from lectures.
  • Final exam
    • Final exam feedback continues to be generally good, and well-received. I have been told the school will still allow online examination this term; assuming that continues to be a possibility, I have no personal desire to move the exam on-campus. Note that the exam is open-book and non-proctored, which we similarly have no plans to change.

--

Welcome to the course everyone :)

Zac