• Final Marks are In

    Posted by John Shepherd Monday 31 August 2020, 04:52:15 PM, last modified Monday 31 August 2020, 04:53:59 PM.

    The final marks have been submitted and approved. You can ignore any mark on the sturec page that says "N/A". They're not supposed to be visible in sturec ; but Webcms3 knows about them and displays their name but without being able to show the mark from SMS. Marks will be released on Thursday (maybe Wednesday).

    The marks distribution for COMP2521 was terrible; most people got DN or HD. The marks system gives us a "WAM diff" for each course (the difference between your mark for this course, and the average mark for all of your other courses). A value of +/- 3% would be typical. COMP2521 had +15%, which means that your mark for this course was, on average, 15% higher than for all your other courses. Happy Xmas.

  • Marking (ii)

    Posted by John Shepherd Thursday 27 August 2020, 09:44:14 PM, last modified Thursday 27 August 2020, 09:47:10 PM.

    Well ... at least the exams are marked. And ass1 is done. Just polishing off some late labs. Ass2view is being done now. Ass2hunt and Ass2team will be sorted out on Saturday. Just in time to submit on Sunday.

    Marks can always be altered after they have been "finalised" and released by UNSW (next Thursday).

    Although I don't see that anyone will have cause to complain, given how easy the exam was. You'll probably all be getting the best mark you've ever got during your study at UNSW.

  • Marking

    Posted by John Shepherd Sunday 16 August 2020, 12:14:23 PM.

    Ok ... the exam is done and dusted ... now for marking.

    Marking schedule

    • ass1: clean up a few outstanding cases
    • ass1: do plagiarism checking (feeling guilty? confess now)
    • ass2view: Kevin has written the testing scripts; need to assess style
    • ass2hunt: I've written the scripts to generate the marks**
    • teamwork: will check peer assessment, Git repos, etc.
    • mark exam

    Keep checking your sturec to see as marks are added.

    Should all be done by mid-next-week (Aug 27).

    ** slowed down by the need to determine who gets penalised for non-contribution

  • Exam: asking questions

    Posted by John Shepherd Saturday 15 August 2020, 04:52:47 PM.

    I'll have limited network access between 5pm and 10pm.

    And I won't be answering any questions between midnight and 7am.

    Hopefully the FAQ has enough for you to work things out.

  • Exam FAQ

    Posted by John Shepherd Saturday 15 August 2020, 12:50:48 PM.

    I'm starting to get the same questions over and over.

    I put an FAQ at the top of the "Final Exam Q and A" page. Check there before asking.

  • Exam Q2

    Posted by John Shepherd Saturday 15 August 2020, 11:28:58 AM.

    If you want a new comment to put at the top of the graphIsBinTree() function, try this:

    // Test whether a graph is a binary tree
    // It must satisfy the following conditions
    // - only one node has no incoming edges
    // - all other nodes have exactly one incoming edge
    // - nodes may have 0, 1 or 2 outgoing edges

  • Exam Q1 and Q2

    Posted by John Shepherd Saturday 15 August 2020, 10:59:41 AM, last modified Saturday 15 August 2020, 11:06:24 AM.

    No need to keep asking about Q1 and Q2 ... there was one error ... Q1 made one mention of the graphIsBinTree() function from Q2 ... now, as far as I can tell, Q1 only refers to sortStudents() and Q2 only refers to graphIsBinTree().

    Although I now see that the problem was comments in the *code* ... not on the question paper.

    Ignore the comments that obviously refer to Q1 ... remove them from the code if you like. I don't want to make a new version of because people will unzip over the top of some answers they've already written. Which is worse than ignoring a few comments.

  • Exam Q3

    Posted by John Shepherd Saturday 15 August 2020, 10:18:46 AM, last modified Saturday 15 August 2020, 10:39:37 AM.

    I just reformatted the program in Q3 ... some tabs had slipped in and there was a missing "{" ... if you already downloaded the exam paper ( you'll have the old ugly version ... you could re-download if you want to fix your local copy.

    There was more mess with the function in Q3 ... I think I have fixed all the errors ... the new version is both on the web and in an updated Beware browser caching.

    These mistakes were not intended to be a trick. And they don't really affect what the question is asking.

  • Exam is Live

    Posted by John Shepherd Saturday 15 August 2020, 09:59:27 AM.

    The Final Exam is now accessible via the (surprise!) "Final Exam" link in the sidebar.

    Good luck.

    When you finish, could you fill out the poll to say how much time you spent on it.

  • Exam Information

    Posted by John Shepherd Friday 14 August 2020, 11:54:23 PM.

    The Final Exam will become accessible around 10am on Saturday 15 August and will remain accessible until 10am on Sunday 16 August.

    You will be able to access it via the "Final Exam" link in the sidebar (this link is currently called "Exam Stuff").

    For the first hour (10-11), I'll run a Bb Collaborate session, which you can access via the course Moodle site (via the Tutes/Labs link).

    After that, if you need to contact me, you can either send email to or use the "Final Exam Q and A" link in the sidebar. I'll try answer ASAP, but, depending on what I'm doing at the time, it may take up to 15 minutes before you get an answer. In the meantime, work on another question.

    I'll respond either by email or on the "Final Exam Q and A" page (which you might want to subscribe to), or, if it's something that might concern everyone, via the Notices on the Home page (which will be emailed to you).

  • Evaluating Things

    Posted by John Shepherd Thursday 13 August 2020, 09:55:35 AM.

    Please enter your peer assessments if you haven't yet done so. Closes midnight tonight.

    And, if you haven't done MyExperience yet, please do that. It also closes at midnight tonight.

    Finally, if you have any comments on the course that you'd like to email me, please do so.

    Unlike MyExperience, you can do this any time, even after the exam if you'd prefer.

    The emailed comments so far have been thoughtful and useful.

  • Peer Assessment

    Posted by John Shepherd Wednesday 12 August 2020, 10:37:25 AM.

    I've set up the peer assessment . Login is via zID/zPass (same as Webcms3).

    It shows groups as they were in the Hunt phase.

    Please give an honest assessment of your team-mates' contributions over both the View (if they were in your team then) and the Hunt phases.

    We will also access the Wiki, GitHub/GitLab repo, and other communications channels that you give us access to, to validate contributions and overall teamwork.

    Let me know ASAP if the data doesn't correspond to reality.

  • Tournaments are O-v-e-r

    Posted by John Shepherd Monday 10 August 2020, 09:00:35 PM, last modified Tuesday 11 August 2020, 07:39:13 AM.

    The final tournament just finished.

    Congratulations to Darcy-Aisha-Cherise-Muhammad who topped the Hunters table, just ahead of Jay-Gabriel-Michael-Olivia and sam-nick-alex-mark.

    And congrats to anish-luke-nikhil-rishabh who finished on top of the Dracula table, just ahead of Saurav-Isaac-Liam-Sumanth.

    P.S. Ignore Round 99. That was just some testing. Round 13 is the final round.

  • autotest in the Practice Programming Exercises

    Posted by John Shepherd Monday 10 August 2020, 06:10:11 PM.

    The autotest files in these exercises weren't set with execute permissions.

    However it's easy to fix this yourself

    chmod 755 autotest

    Alternatively, just run the autotest script via

    sh ./autotest

    I won't be using this scripts in the final exam, despite the pretty colours. They rely too much on things that are installed in CSE, but unlikely to be installed on your home machine.

    I'll stick with my much simpler (and therefore more portable) script

    What you need on your home machine is gcc and make .

  • Marks

    Posted by John Shepherd Monday 10 August 2020, 05:05:41 PM.

    I've added the total quizzes and labs marks into the database that produces sturec (click on the little graph icon next to your name at the bottom of the left sidebar menu).

    The quizzes mark (out of 12) is pretty straightforward (add up the marks, cap at 12).

    For the labs mark (out of 18)

    • if you already achieved full marks, then you'll have 18/18, even if some labs are not yet marked
    • if you haven't achieved full marks, but there are unmarked labs, you should see "?"
    • if you haven't achieved full marks, but there are no unmarked labs, that's your mark

    For assignment 1, most people's marks are finalised. Some people reported auto-marking issues to the tutors or me. Those assignments probably have a "?", but will be resolved soon.

    Assignment 2 will take longer to mark, because there are bits and pieces all over the place (Wiki, Git Repo, Chat, etc). The tournament mark (ass2hunt) will be auto-calculated after the final tournament tonight. I'll set up some peer assessment stuff for you to fill out.The auto-marking for the Views is almost done.

    The ass2view and ass2hunt marks currently show as N/A because they were group submissions.

  • The Last Tournament

    Posted by John Shepherd Sunday 09 August 2020, 05:51:56 PM.

    The final tournament is Monday 10 August at 8pm.

    Submissions made any time before that will be used in the final tournament.

  • Scoring in Tournaments

    Posted by John Shepherd Saturday 08 August 2020, 12:42:02 PM.

    There seems to be some confusion on how you get marks for tournament participation.

    • Program that doesn't compile ... 0 marks
    • Program that compiles and fails (DQ) in all games ... 0.1 marks
    • Program that compiles and DQs half the games ... 0.3 marks
    • Program that compiles and completes all games ... 0.5 marks

    We use the DQ counts (divided by 4 for hunters) to determine what proportion of games you succeeded in, and therefore what mark you get in the range 0.1 .. 0.5

    Since marks accumulate over all rounds entered, I'd expect most groups to get full marks for this part, unless they submit something that doesn't compile or which crashes in every game.

  • Updates to Provided Views

    Posted by John Shepherd Saturday 08 August 2020, 12:05:19 PM.

    If you're using our View code, then make sure you check


    Kevin fixed a bug last night (Fri 7 Aug).

    Also, some programs have been "hanging" (not making progress, but not consuming any computer time). Such programs aren't killed by the game engine, and end up sitting on the servers, preventing the Round from completing. When I notice such programs, I kill them so that the Round can finish. For the offending program, it just looks like a crash.

  • Feedback on the course

    Posted by John Shepherd Friday 07 August 2020, 08:35:50 PM.

    While the Faculty is obsessed with as many people as possible filling out the MyExperience survey, I am way more interested in feedback from *you*.

    If you want to give feedback anonymously, use MyExperience, but it's way more useful for me to get detailed feeback from you vis email. The downside: it won't be anonymous, but if you don't mind that, send me email with suggestions on how to improve this course.

    A few people have done this already.

    But do MyExperience anyway ... to keep the Faculty happy.

  • Tournament Round 06

    Posted by John Shepherd Friday 07 August 2020, 11:42:24 AM.

    Oops ... the latest tournament started late ... it should be finished by 12:30.

  • Videos, Sample Exam Q's

    Posted by John Shepherd Friday 07 August 2020, 01:21:18 AM.

    I've just uploaded the video and slides on Higher-order functions (now in Week 10). I'll make and upload the other videos from Week 09 over the weekend. A sure-fire way to make you ignore them is to tell you that the string matching and text compression stuff will not be on the exam ... which it won't.

    I'll also be making an Exam Preview video where I talk more about the exam (including what topics are not going to be in the exam).

    And I haven't forgotten the programming questions for the Sample Exam ... coming soon.

  • Tournament Times

    Posted by John Shepherd Wednesday 05 August 2020, 06:18:23 PM, last modified Thursday 06 August 2020, 10:23:20 AM.

    Tournaments run daily at 10am and 8pm

    You should wait for at least an hour after the start time to ensure that all the scripts have run. If you look while the tournament is running, the website will give strange results (e.g. all compiles failed)

  • Quiz 8

    Posted by John Shepherd Wednesday 05 August 2020, 08:25:33 AM, last modified Wednesday 05 August 2020, 12:17:36 PM.

    Out now ... due Sunday 11:59pm

    Update : just fixed an unintended error in the naiveStringMatch() function in Q2. If you assumed "None of the above" on the basis of the function not being compilable, have another look at the question and resubmit the Quiz

  • Testing Your AIs

    Posted by Kevin Luxa Wednesday 05 August 2020, 05:30:52 AM, last modified Wednesday 05 August 2020, 12:06:23 PM.

    Hi everyone,

    I've added another dryrun script that will enable you to run your hunter AI against your Dracula AI. To run it, use the following command:

    /web/cs2521/20T2/ass/ass2/hunt/dryrun/ files-to-be-submitted...

    UPDATE: Please note that the command doesn't have sh at the beginning.

  • Correction to provided GameView ADT

    Posted by Kevin Luxa Wednesday 05 August 2020, 12:03:33 AM, last modified Wednesday 05 August 2020, 12:18:42 AM.

    Hi everyone,

    I've made a correction to the supplied GameView ADT. You can see the corrections and download the new version on the hunt spec. (If you're using your own GameView ADT you don't need to do anything.) Thanks to the students who pointed out the issue.

    If your AI crashes during a tournament round, you can check if it is a problem with the provided view by doing the following:

    - Temporarily add the -g flag to CFLAGS in your Makefile

    - Using gdb, run your AI locally with the pastPlays string that caused your AI to crash

    - If the program crashes in any of the provided code, let us know by making a post on the forum. Also make sure to include a link to the tournament page showing where your AI crashed (so we can reproduce the error and fix it).

  • Tournaments (vi)

    Posted by John Shepherd Tuesday 04 August 2020, 09:50:11 PM.

    Kevin found the one character change (!) that made the tournament web interface work.

    Go to

  • Tournaments (v)

    Posted by John Shepherd Tuesday 04 August 2020, 09:12:50 PM, last modified Tuesday 04 August 2020, 09:13:03 PM.

    As the script says

    Round 01 completed!
    Hunt completed at Tue 4 Aug 20:44:28 AEST 2020

    Still no luck with the whole web interface, but you can look at the rankings, and all of the game logs are available in


  • Tournaments (iv)

    Posted by John Shepherd Tuesday 04 August 2020, 03:22:15 PM, last modified Tuesday 04 August 2020, 03:22:35 PM.

    While I battle with the script to show you all the info in the browser, here's something you can do to see the same information (but not quite aa beautifully)

    login to a cse server
    cd ~cs2521ass/public_html/20T2.dracula/round00/

    This puts you in the directory where all the data from the tournament round00 ends up.

    There are two relevant directories here ( c ompilation_logs and logs ) plus a bunch of other stuff which you can safely ignore.

    If you cd compilation_logs , you should be able to find the make output from trying to build your players.

    If you cd logs , you will find hundreds of files with names like h-gXXX-d-gYYY.log.xz . Each of these is a log of all the moves in one game between the hunter from group gXXX and the Dracula from group gYYY .

    You should be able to find your game logs easily enough via ls *gXYZ* (where gXYZ is your group ID).

    To look at a log, use the command xzcat h-g082-d-g076.log.xz | less

    All that the web interface (when it's working) gives you on top of this is prettier formatting and the ability to click your way to the info.

  • Tournaments (iii)

    Posted by John Shepherd Tuesday 04 August 2020, 12:08:20 AM, last modified Tuesday 04 August 2020, 12:13:28 AM.

    Finally got a complete tournament run. For those obsessed with rankings, take a look at

    It shows ranks and some numbers, but doesn't yet show detailed game play. We should have that working by Tuesday morning.

    At the moment, we're only using Group numbers to identify groups. Don't know you're group number? Look up your marks on Wecbms3 (ass2grp). If you'd prefer a different name, let me know.

  • Online Sessions in Week 10

    Posted by John Shepherd Monday 03 August 2020, 11:50:21 PM.

    Tue 4 Aug 11-1: exam, SortLab, higher-order functions

    Wed 5 Aug 10-10.45: wrap-up

    And please fill-in Myexperience ... we like the feedback ... the Faculty likes high response rates.

  • Tournaments (ii)

    Posted by John Shepherd Monday 03 August 2020, 07:56:47 PM.

    I have it playing tournaments and producing results BUT the script that renders the results is having problems on the 20T0 data.

    If you want something to look at, and to see what your output will eventually look like, try

  • Tournaments

    Posted by John Shepherd Monday 03 August 2020, 11:28:36 AM, last modified Monday 03 August 2020, 06:14:26 PM.

    Still working on it ... hopefully later this afternoon ... want to get a test run in before first real tournament this evening.

    Update: Arrrrrrrggggghhh ... so many inconsistencies between the old infrastructure and what we need ... but I am determined to get this working before 8pm.

    One thing you should do: use before submitting ... many of the submissions don't compile, some because they're missing files.

    And another thing to do: change all references to

    void registerBestPlay(const char *play,...)


    void registerBestPlay(char *play,...)

    No matter how much you think it should be there.

  • Sample Exam (draft)

    Posted by John Shepherd Sunday 02 August 2020, 08:39:20 PM.

    There is now a mostly complete Sample Exam available.

    What's missing:

    • sample programming questions ... I'll add them over the next few days
    • the ability to submit your solutions ... although the submission instructions are accurate

    The questions are all drawn from the tutes, and solutions are available there.

    The aim is to give you an idea of the structure of the final exam and the options for doing it on the exam day.

    Is the level of difficulty similar to what's on the Final Exam? I think it's similar, but I'm hopeless at judging difficulty level.

  • Solution for Views

    Posted by John Shepherd Sunday 02 August 2020, 10:49:43 AM.

    A sample solution for the View part of the assignment is now available. (The link will most likely automatically download the ZIP file, depending on your browser).

  • Assignment 2 Tournaments

    Posted by John Shepherd Saturday 01 August 2020, 09:42:56 PM.

    We will set up submissions for the Hunt tournaments tomorrow (Sunday 2 August). If you have AIs ready to submit by Sunday evening, feel free to submit. We will run a test tournament on Sunday night, to check that the tournament infrastructure is working correctly.

    What to submit each time? All of the C source code (*.c, *.h, Makefile) that is needed to create Hunter and Dracula players.

    You can submit new players as many times as you like over the week. The latest submission by 8pm will be used for the tournament which run after 8pm each night.

  • Reorganising Assignment 2 Teams

    Posted by John Shepherd Saturday 01 August 2020, 09:10:37 PM.

    Most teams are working well, and I would prefer that they continue unchanged into the next phase of the assignment. If you are happy with the way your team is working, you can ignore the rest of this message.

    However, some teams are not functioning so well. Specifically some team members think they can make no/minimal contribution, but still share in the rewards generated by other team members, who have had to work extra hard to finish the Views.

    We would like to reorganise such teams, and anyone who wants to swap out of their current team should let us know by filling out the form below before 11am on Monday 3rd August.

    Link to Microsoft Forms Form

    We will reorganise the membership of relevant teams as soon as we can after 11am Monday.

    The marks for the View part of the assignment will still be based on the existing teams, moderated by team contribution, as already specified.

    If you think that you won't be able to contribute to the rest of Assignment 2, you can be honest about it and let me know that you're not continuing. You would get the group View mark, moderated by your contribution, but zero for the Hunt mark.

  • AWOL on Assignment 2?

    Posted by John Shepherd Thursday 30 July 2020, 10:19:39 PM, last modified Thursday 30 July 2020, 10:20:22 PM.

    It is good to see that most teams are functioning well and have decent contributions from all members.

    BUT I have observed that some member of some teams are absent from commits in the repository or have not appeared in the Wiki or even on Discord.

    I hopefully don't need to remind you that there is a peer assessment component at the end of this Assignment. If it's clear from that and from the other online evidence trails, that you have not put in any effort on the assignment, then I don't think you deserve any marks.

    It is also not helpful, and not evidence of good teamwork, if you commit things to the repository over the top of work other people have done. Keeping in touch with your team mates is critical in making the team work.

    If you don't plan to work on this assignment please let me and your team mates know. Don't pretend that you'll work on it and then not deliver.

    Teamwork require communication, cooperation and respect for your fellow team members.

    Thanks for your attention.

    P.S. If you don't know what AWOL means, ask Google.

  • Detailed Submission Instructions

    Posted by Kevin Luxa Wednesday 29 July 2020, 10:15:55 PM.

    Hi everyone,

    I've added detailed submission instructions to the view spec. It should tell you everything you need to know about what you need to submit, and how the dryrun tests work.

  • Discord

    Posted by John Shepherd Wednesday 29 July 2020, 08:06:57 PM, last modified Thursday 30 July 2020, 10:17:35 AM.

    Goodness knows why you want to use Discord for group discussions, but a lot of you are. Maybe I'm just an Old Fart, but Discord looks like a hideous mess.

    More Important, however, is that if we can't see what your group is doing, we can't award marks for it. I've been receiving tons of Invites to join Discord groups/servers/whatever, but it keeps telling me that the Invite is Invalid.

    The COMP2521 account on Discord is cs2521 #5672, if that makes a difference.

  • Online Sessions in Week 09

    Posted by John Shepherd Tuesday 28 July 2020, 09:54:05 AM, last modified Tuesday 28 July 2020, 09:55:21 AM.

    Tue 11.00-12.30, Wed 10.00-11.00 on Bb Collaborate

    Tue session: heaps, tries and, no doubt, Assignment 2

    Wed session: what do you want? let me know via email

  • Git video

    Posted by John Shepherd Saturday 25 July 2020, 10:44:55 AM.

    If you're still struggling with Git (after the Week 08 Lab), CSEsoc have made a video explaining how to use it.

    If you know of any good Git resources, let me know.

  • Assignment 2 Groups

    Posted by John Shepherd Friday 24 July 2020, 03:56:12 PM.

    It is good to see that many assignment groups are functioning well, committing code, writing meeting minutes, etc.

    However, it has come to my attention that some students are making no effort to participate in their Assignment 2 groups. I might remind you that part of the assignment mark comes from how well you contribute to the group and how well the group functions. I also said that students who did not contribute at all would be penalised on their overall assignment marks. As some incentive to participate, if you don't attend meetings, write code, help to maintain the wiki, etc. then you'll score ZERO for the assignment.

    If you want to bail out of this assignment and are happy with a mark of zero, let me know asap so that I can try to reorganise teams.

  • Asking Questions on Assignment 2

    Posted by John Shepherd Friday 24 July 2020, 09:20:44 AM.

    Before you post a question about Assignment 2 on the forum, please do the following:

    • use the forum search function to check whether it's already been asked
      (use a single well-chosen keyword, e.g. "hospital", "trap", or a function name)
    • read the comments above the function in the *View.c file
    • ask your group members whether they've worked it out

  • Corrections to Assignment 2 Test Files

    Posted by Kevin Luxa Tuesday 21 July 2020, 09:32:00 PM, last modified Wednesday 22 July 2020, 07:22:37 PM.

    Hey everyone,

    I've added a list of corrections for testGameView.c and testHunterView.c to the assignment spec. You can view them here . I've also fixed the errors in the starter files.

    Update: Made some more corrections. Thanks to all the students who have been pointing out errors.

  • Online Sessions in Week 08

    Posted by John Shepherd Tuesday 21 July 2020, 09:35:56 AM.

    Tuesday 11-1 and Wednesday 10-11 on Bb Collaborate as usual

  • Assignment 2 Views

    Posted by John Shepherd Tuesday 21 July 2020, 12:54:06 AM.

    Apparently some people read the original typo that the Views were due on August 29 as literal. This was never possible, because that date is after the exams. We corrected it to Wed 29 July on the spec, but some people seem to have missed this, and are now panicking.To alleviate the panic, we'll change the due date for the Views to Friday 31 July 23:59.

    Since getting the Views working is critical to the second phase of the assignment, we plan to release a working version of the Views at midday on Saturday 1 August. No late submissions will be accepted after the solution is released.

    For the next phase (the Hunt/tournament) you'll need to have your AIs working, based on the View ADTs. You can either use our version, or you can use your own View ADTs.

    Since you know what the View interfaces are, you can start working on your AIs before you complete the implementation of your Views. The sooner you complete the Views, the sooner you'll be able to start completing and testing your AIs in preparation for the Hunt.

    If you want to organise your teams so that some people work on the Views and others work on the design of the AIs, that would be a plausible arrangement. Alternatively, the whole team could work on the Views to get them finished early, and then get on to the AIs. Up to you.

    You have enough "programmer power" in your teams to complete the assignment in this time-frame, but you will need to make sure that your team is well organised.

  • Week 08

    Posted by John Shepherd Monday 20 July 2020, 10:33:14 AM.

    Please look at the Week 08 preview video (and Week 07, if you didn't watch that).

    Also, make sure that you look at the lab exercise before your lab class, since it's important for moving forward on the assignment.

  • Ass 1 Testing Results

    Posted by John Shepherd Thursday 16 July 2020, 02:01:26 PM.

    I think I've set things up so that you can see your testing results via the "Collect Submission" tab on the Assignments > Assignment 1 > Text Analytics page.

    The aim of giving you this to check for the sanity of the auto-marking. Let me know if you spot any glaring errors. Your program not compiling on CSE, when you never tested it here, is not a glaring error.

    What you'll see in the output:

    • a comment that says "Your submission is marked" ... ignore that ... it's only been tested, not marked
    • the two files you submitted (tw.c and Dict.c)
    • a description of how we did the tests
    • the output from running the tests (includes timing data and diffs)
    • the output from the script that analyses the testing output and gives a preliminary assessment

    Let me know if you spot anything strange.

  • Ass 2 Groups

    Posted by John Shepherd Wednesday 15 July 2020, 11:27:11 PM.

    It's good to see that most people have formed assignment groups, and some have even started playing with the group wiki.

    However, there are still around 90 people who aren't in a group yet. If you get yourself into a group by Friday evening, we'll start putting people into random groups.

    There are some anomalies in the created groups. A couple of groups have zero members. The group system is supposed to remove the group when the last member leaves, but seems to have missed a few. If you're responsible for creating one of these groups, could you let me know that you no longer need it.

    Also, some groups have 4 names mentioned in the group name, but only three members. If the 4th name is actually a member, please make it official. Also, if you have the 4th member as a "placeholder", please try to find someone asap.

    I'll make another entry under Assignments > Assignment 2, where I'll start posting ideas that I think might help you with this assignment. One idea, from the tutors, is for groups to form a Team under Microsoft Teams (which you all have access to via zID and zPass, and can load an app onto your local machine). You can use this team to set up synchronous (face-to-face) meetings.

  • Wed 15 July Online Session

    Posted by John Shepherd Wednesday 15 July 2020, 10:00:41 AM.

    Starting now (10am) ... I forgot to create the session in BB Collaborate ... now it's there

  • Week 07 Preview

    Posted by John Shepherd Tuesday 14 July 2020, 09:48:22 AM, last modified Tuesday 14 July 2020, 09:48:41 AM.

    The Week 07 Preview video has some discussion about Assignment 2 and Teamwork. Worth a look.

  • Online Session Tue 14 July

    Posted by John Shepherd Monday 13 July 2020, 08:56:25 PM.

    The Tuesday session this week will finish at 12 noon (I have another meeting to attend).

    See you at 11am on Tuesday 14 July on BB Collaborate.

    Topic: Assignment 2, and any other questions you might have.

    But you can't ask about fine details of The Rules. I haven't re-read them yet, and won't have a chance to read them before the Online Session.

  • Inspera and Final Exam

    Posted by John Shepherd Monday 13 July 2020, 09:38:39 AM.

    You may have recently received an email saying that the trial of the Inspera* system for exams had been cancelled ...

    This means that the mock exams which were scheduled to commence on Monday July 13 and run through to Friday July 24, will not go ahead . It also means that you will complete your end of term examination via Moodle.

    This doesn't affect COMP2521. We'll still have a 24-hour exam, delivered as I originally planned via Webcms3 (to access the questions) and Give (to submit your answers). No Moodle involved.

    I'll make a sample exam available in Week 10, so you can see what the final exam setup looks like.

    * "What is Inspera?" you say. It's a commercial remote assessment system that UNSW was considering eventually using for all courses, and all assessments, including exams. We (CSE) don't need it.

  • Group Tools

    Posted by John Shepherd Saturday 11 July 2020, 05:15:45 PM.

    Note that each group has a private group blog; no need to go to FB or other platforms to arrange meetings, etc.

    Also, each group has a Wiki, which may be useful for storing design notes.

    There's a bug where it looks like the group wiki is visible to the entire course. In fact, like the blog, it's private to the group (or supposed to be).

    We'll be sorting out repos on GitLab next week for code sharing.

    We'd rather keep everything "in house" than splatter stuff all over the Internet.

  • Assignment 2 Teams

    Posted by John Shepherd Friday 10 July 2020, 11:19:43 PM.

    In my previous Notice, I assumed that you had access to a list of students in your tute class to help with team formation.

    It seems that you don't ...

    So I have set up a new page " Ass 2 Teams " where you can find this out and/or organise team membership via the Comments.

    Reminder: groups should be created using the Webcms3 Groups page, should have 4 members, preferably from within one tute, and be named using the names of group members (e.g. like bob-carol-ted-alice).

    At this stage, the critical things are to form a team, and familiarise yourself with the rules of the game. We'll provide more info soon.

  • Assignment 2: "Fury of Dracula"

    Posted by John Shepherd Friday 10 July 2020, 12:03:41 AM, last modified Friday 10 July 2020, 03:52:42 PM.

    The assignment spec is now available. The context is a board game called "Fury of Dracula". The aims of the assignment: write some game mechanisms (views), write an AI to play the game, compete against other AIs, learn how to work effectively in a team.

    What you should do now

    • form a team
    • learn about the game

    Team formation ...

    • use the Webcms3 Groups system (in the sidebar menu)
    • make a Default-type group of size 4 (not 3, not 5, but 4)
    • name the team after its members e.g. bob-carol-ted-alice
    • prefer all team members to be in the same tute/lab
      ( take a look at your tute roll under Timetables for a list of people )
      (I'll need to work out some way to make tute lists visible)
    • more details on teams to follow ...

    Learn the game

    • read the Intro and Rules section of the spec
    • (optional) find a free online version of the game, and let us know
    • play the game within your team once everyone's up to speed
    • more details to follow on code, tournaments, etc ...

  • Flex Week ... No Online Sessions

    Posted by John Shepherd Monday 06 July 2020, 08:27:32 PM, last modified Monday 06 July 2020, 08:30:39 PM.

    This being Flexibility Week, there'll be no online sessions (Tue 11-1, Wed 10-11), and no tute/labs.

    Instead, we'll release the assignment 2 spec and you can read/think-about that.

  • Quiz 4

    Posted by John Shepherd Friday 03 July 2020, 09:24:34 AM.

    As of this morning (Fri 3 Jul), less than half the class had done Quiz 4. Quizzes are useful because (a) they're relatively cheap marks, (b) they let you review material from the previous week. Please do the quiz before 23:59 today. And, if you have already done it, but are having second thoughts, you can always re-submit.

  • Week 05 Lab: bug in lab.c

    Posted by John Shepherd Thursday 02 July 2020, 11:45:18 AM, last modified Thursday 02 July 2020, 03:39:25 PM.

    I fell for the oldest trick in the book ... forgot to put a break at the end of the case for edge removal.

    Now fixed in . Easy enough to fix in your own copy of glab.c . Search for case 'r' .

    Thanks to Pierre Lingat for spotting this and pointing it out to us. Please point out bugs in labs and assignments asap, to avoid others getting stumped by the same problem.

  • Wee 05 Lab: Bug in List.c

    Posted by John Shepherd Tuesday 30 June 2020, 09:42:30 PM, last modified Thursday 02 July 2020, 11:45:33 AM.

    Oops ... the function showList() in List.c was missing a critical statement at the end of the while loop.

    Clearly the loop should have looked like

    while (curr != NULL) {
       if (curr->next != NULL)
       curr = curr->next;  // this line was missing

    Kevin has fixed it in the supplied code. If you want to fix it in your already downloaded copy of List.c , feel free.

  • Online Session Tue 30 June

    Posted by John Shepherd Tuesday 30 June 2020, 10:12:02 AM, last modified Tuesday 30 June 2020, 10:13:02 AM.

    Today's online session will be on performance analysis and debugging.

    Using an ancient lab exercise which (ahem) counts word frequencies ... but much much simpler than Ass1.

    The code is available under the " Online Sessions " link in the sidebar menu.

    The supplied code is (deliberately) buggy.

  • Week 04 Lab infinite loops

    Posted by John Shepherd Sunday 28 June 2020, 08:10:45 PM.

    We've had a few students saying that they've exceeded their disk quota. It seems that at least some of these cases were caused by infinite loops in your Tree code causing potentially infinite output from the test cases in

    Please check your tests/ directory after you've used and if you find a giant file there, get rid of it.

    If you use and it "hangs", use control-C to kill it.

    Ideally, you would all modify you script to prevent the giant file being created, but the chances of everyone doing that are vanishingly small.

    On the off chance, try changing the two lines ...

    ./runway -e < commands.txt > tests/$test.out
    ./testTree $test > tests/$test.out

    to something like

    ./runway -e < commands.txt | head -10000 > tests/$test.out
    ./testTree $test | head -10000 > tests/$test.out

    Even these won't fix the problem unless your output is liberally sprinkled with newlines ('\n')

  • Quiz 2 and 3 Marks

    Posted by John Shepherd Sunday 28 June 2020, 12:30:14 PM.

    I've added the marks for Quizzes 2 and 3 to sturec (SMS).

    A reminder that there were issues with Q1 on both quizzes and I accepted both my "correct" answer and "None of the above" as both correct. Unfortunately, Webcms3 cannot represent two different correct answers for a multiple choice question, so anyone who chose "None of the above" will still show as incorrect in the Webcms3 quiz page.

    However, the extra mark has been carried across to sturec , so the mark you see in sturec may be different (and should be greater than) the mark you see on the Webcms3 quiz page.

    If you don't know how to access the sturec info from Webcms3, there's a little graph icon next to your name at the bottom of the left sidebar menu.

  • Lab Submission Deadline

    Posted by John Shepherd Sunday 28 June 2020, 10:14:13 AM, last modified Sunday 28 June 2020, 10:16:42 AM.

    The CSE servers will be inaccessible from 23:45 tonight (Sun 28 Jun) for maintenance. This effectively pushes the deadline for lab submission forward by 15 mins. Make sure you submit before 23:45 to be safe.

    Update : if you're logged in before 23:45, you should be able to stay logged in. But I wouldn't rely on this. Nor would I rely on submission via Webcms3 to continue working after 23:45.

  • Quiz 3 Q1

    Posted by John Shepherd Thursday 25 June 2020, 10:50:25 AM.

    There has been some debate over what is the correct answer to Q1. And, of course, it had to be the only question where I didn't have a "None of the above" option. Webcms3 doesn't allow me to add a new option at this stage, so I had to replace one of the existing options by "None of the above". Fortunately, hardly anyone had chosen that option, and most people had actually chosen the "correct" option anyway. If you're worried about this, go back and review you answer to Q1; you can always resubmit.

  • Assignment 1 Stemmer

    Posted by John Shepherd Tuesday 23 June 2020, 08:03:52 PM.

    If you're getting compilation errors from stemmer.c on CSE machines (especially if they mention misleading-indentation ) then grab a new copy of the stemmer.c from here . Kevin has gone through the file and changed only the indentation, so if you're not getting these errors, you don't need to worry.

  • Week 04 Online Sessions

    Posted by John Shepherd Tuesday 23 June 2020, 09:52:26 AM.

    The code and the slides for Week 04 are under "Online Sessions".

    The sessions will be running in Bb Collaborate ... soon-ish.

  • Help session timetable updated

    Posted by Kevin Luxa Saturday 20 June 2020, 05:17:37 PM.

    Dear students,

    The help session timetable has been updated with more sessions. Please see the Help Sessions page for details.

  • Bug in Assignment 1 Makefile

    Posted by John Shepherd Thursday 18 June 2020, 03:00:12 PM.

    Leon Qian has just pointed out a bug in the Makefile.

    The line that currently reads

    CFLAGS=-DWall -Dwerror -g

    should read

    CFLAGS=-Wall -Werror -g

    You should change it. The way it's currently written the C compiler will be doing less error checking and reporting than you're used to.

  • Week 03 Online Sessions

    Posted by John Shepherd Tuesday 16 June 2020, 10:47:05 AM.

    The code and the slides for Week 03 are under "Online Sessions".

    The session will be running in Bb Collaborate ... real soon.

  • Assignment 1 Spec

    Posted by John Shepherd Saturday 13 June 2020, 09:10:21 PM, last modified Sunday 14 June 2020, 09:20:01 PM.

    The specification for Assignment 1 is now up. Please read it and let me know if anything's unclear.

    I'll put up the testing framework later in the week.

    The testing framework is now available, thanks to Kevin Luxa's hard work.

    The spec is now complete (including info on Testing and Assessment). However, it's still subject to change if you find some gross error/inconsistency.

    Update : after some extra testing, we've decided to reduce the time-limit for execution from 5-sec to 1-sec. Any decent implementation of the dictionary should process even the largest book file in well under 1 second. We will still run a 5-second limit test to see whether your program is correct, but inefficient.

  • Help Sessions

    Posted by Kevin Luxa Wednesday 10 June 2020, 06:03:05 PM.

    Dear students,

    The first help session has been scheduled for tomorrow (Thursday 11th of June) at 6-8pm. You can find out how to join the session by going to the Help Sessions page listed in the sidebar.

    We will update the schedule with more times soon.

  • New Vids and Quiz 1

    Posted by John Shepherd Wednesday 10 June 2020, 04:32:31 PM.

    The videos and code from the Week 2 online sessions are now under the " Online Sessions " link.

    Quiz 1 is due before midnight Friday. Only 1/4 of the class has done it so far. It's relatively easy marks. Don't forget to do it.

  • Problem-solving Session Wed 10 June

    Posted by John Shepherd Tuesday 09 June 2020, 09:47:02 PM.

    Session starts at 10am on Blackboard Collaborate. More on Set Lab, including flexible arrays and bit-strings. Remind me to start recording at the start of the session.

  • Things to try ...

    Posted by John Shepherd Tuesday 09 June 2020, 09:00:00 PM, last modified Tuesday 09 June 2020, 09:48:09 PM.

    The following, developed by UNSW IT, may help with not-so-great network connections. It's clearly targeted at students in China, but may work for others. No guarantees.

    Could people try it and let me know? (email

    Update: Allegedly, CSAN also allows YouTube access. Is this the case?

    And speaking of things to try, accessing Echo360 via Moodle is painful. There may be a way to go straight to the COMP2521 Echo360 page, without Moodle. This method has been flaky in the past, but might work now

    Could people let me know if it works? (email

  • Problem-solving Code

    Posted by John Shepherd Tuesday 09 June 2020, 01:12:59 PM.

    The code from today's session is available under Online Sessions > Week 2.

    Includes a ZIP file containing all the other files.

    I'll add the video whenever BlackBoard finishes processing it.

  • Problem-solving Session Tue 9 Jun 11-1

    Posted by John Shepherd Monday 08 June 2020, 08:59:13 PM.

    Since Blackboard Collaborate was the 2nd most most popular choice of platform** for the problem-solving sessions, I'll give it another try.

    I've created a session in the same Blackboard Collaborate location where you access your tute/lab classes. When I looked, it was the last session on page 3.

    See you at 11am on Tue 9 June.

    I'll put the slides and some of the code online before the session. The session will be recorded.

    I'll be looking at ADTs and Trees, so it would be worth looking at the Videos on those topics before the session.

    ** "YouTube Stream" was the most popular but is allegedly not available in China. If someone in China tells me otherwise, I'll try it on Wednesday.

  • Problem-solving Session 10-11

    Posted by John Shepherd Wednesday 03 June 2020, 07:15:38 AM, last modified Wednesday 03 June 2020, 11:19:00 AM.

    Today we'll try BlackBoard Collaborate for the problem-solving session.

    Go to the COMP2521 Moodle site, click on Tutes/Labs, and you should see a session called "Wednesday 10-11 Problem Solving Session"

    Update: worked OK, I guess ... except for being kicked off at the end. I've put the code under "Online Sessions" and will put the video there, once I can find where Collaborate has put it ...

  • Online Material

    Posted by John Shepherd Tuesday 02 June 2020, 03:05:55 PM, last modified Tuesday 02 June 2020, 03:45:59 PM.

    I think a lot of people don't understand how this course is running, so here's "the deal":

    There are no "lectures" in the course, in the sense of me talking in 2 hour chunks about content.

    "Slides and Videos" has all of the content. This has videos on YouTube and Echo360, and the slides of the videos are also available. Each week, before the start of the week, I'll post videos and slides for the topics that we're going to consider that week.

    "Online Sessions" are videos and code from the problem-solving sessions that I'll be running on Tue 11-1 and Wed 10-11. These are sessions to work through examples, typically based on the content videos for that week. I'm still trying to work out the best platform for these sessions.

    "Tutes and Labs" are the exercises for the online tute classes and lab classes. They will also be posted at the start of each week.

    Quizzes are weekly, from week 2, and links to them will appear in the right-hand sidebar on the Webcms3 front page. Similarly, assignment specs will appear as specified in the Course Schedule.

    If you haven't read the Course Outline or watched the Intro video , I'd suggest doing that ASAP.

  • Platform for Problem-solving Sessions

    Posted by John Shepherd Tuesday 02 June 2020, 01:37:43 PM.

    After the debacle in MS Teams on Tuesday morning, we won't be using that again.

    People suggested a few different platforms, so I've put up a poll . Let me know what you'd prefer.

    And I suspect I'll probably get equal numbers for each of the platforms ... but you never know.

  • Forum poll

    Posted by John Shepherd Wednesday 27 May 2020, 11:01:52 PM, last modified Monday 01 June 2020, 04:05:20 PM.

    Based on Lorenzo's question in Q and A, I've added a poll to find which forum people would prefer.

    You'll probably all say Ed, because you used it in COMP1511, but Ed is not available to us in 20T2.

    Please give me some feedback (and also let me know where you'll be this term in the Timezone poll)

    Update : the Webcms3 forum substantially (and surprisingly to me) outpolled Piazza, so we'll be using it ... if that wasn't obvious from the Week 01 Catch-up video.

  • Timezone Poll

    Posted by John Shepherd Tuesday 26 May 2020, 08:23:38 PM.

    Now that you've read the Course Outline (:-), you might be looking for something else to do while you're trapped at home and bored with Netflix...

    Two suggestions:

    • fill out the Timezones poll (so that I know where everyone is studying in T2)
    • revise/learn debugging with GDB on Kevin Elphinstone's video

    If you find a better GDB video, let us know about it on Q and A .

  • Welcome!

    Posted by John Shepherd Sunday 24 May 2020, 08:31:33 PM.

    Welcome to COMP2521 20T2.

    I'll post an intro video in a couple of days to explain how the course will run in these "interesting" times.

    One thing for sure ... everything's online again, so at least you have no l-o-n-g Sydney commutes.

    In the meantime, you could always read the Course Outline .

Back to top

COMP2521 20T2 (Data Structures and Algorithms) is powered by WebCMS3
CRICOS Provider No. 00098G