Notices

  • DELETING old COMP1531 group projects

    Posted by Robert Clifton-Everest Wednesday 23 September 2020, 10:50:08 PM.

    Hi everyone,

    If you're receiving this message, it is because you were previously enrolled in COMP1531.

    On MONDAY next week, we will be DELETING some of the old Gitlab repositories from the COMP1531 major project. A number of them are quite large and they are taking up considerable space.

    If you wish to keep a copy of your COMP1531 project for your own records, please clone your repos before Monday.

    This only affects project related repositories, those under the 'COMP1531' namespace (e.g. 'COMP1531/19T3/H11B-TeamName'). Your own personal projects (e.g. 'z1234567/19T3-cs1531-lab01') are not affected. Those are only removed once you are no longer enrolled at CSE.

    Rob

  • Late review of results

    Posted by Hayden 🎉 Friday 31 January 2020, 10:38:02 AM.

    Hi everyone,

    The university had some technical problems that meant the majority of review of results submissions were not successfully passed on to me/Rob until today. They will be addressed over the coming days and then passed back to the official UNSW channels. Don't be concerned unless you don't get any updates until at least the 10th Feb

  • Final Exam Results

    Posted by Hayden 🎉 Saturday 21 December 2019, 11:18:50 AM.

    Hi everyone,

    Congratulations on receiving your final results! I hope you're all proud and having a bit of a break after a hectic year for students under 3+.

    This notice is for students who are concerned, or have questions, about their final marks.

    To assist in closure from the course, we have released the short answer (as "ExamSA_processed") and programming part of the exam (as "ExamP_processed") which you can view on the GIVE website, or in Wecbsm3 grades. You will not be releasing individual question breakdowns nor the marks for multiple choice. If you have any concerns regarding this, we're always open to hearing them at cs1531@cse.unsw.edu.au.

    If you feel dissatisfied with the marking of your exam in this course, or you feel a clerical error has been made, you are able to request a review of results at any time. Please note, this request must be placed within 5 days of receiving your results. Please also note: "A review of your results may result in the mark going up or down." This is the only way in which we will be dealing with reviews of the exam with the intention to re-mark.


  • Iteration 3 and final project marks

    Posted by Robert Clifton-Everest Monday 02 December 2019, 10:09:57 PM.

    Hi everyone,

    Your iteration 3 marks are available to view, as are the final project marks for most of you.

    If your final project mark is not visible it is because you didn't fill out the peer assessment (something you should have done by now) or your tutor has not yet been able to finalise your mark. The tutors are working on that, so all of them should be finalised within a few days.

    Unfortunately, a number of final project marks did have to be scaled down. This was done in cases where the individual expectations described in the project spec were not met. In some cases this scaling was only minor, but in others it was more significant. In particular, those who contributed no or little code to the project may find they have a mark considerably lower than they were expecting. As was specified, a lack of code contribution could not be made up for with additional documentation contribution .

    Rob

  • Revision Lecture + Sample Questions

    Posted by Hayden 🎉 Saturday 30 November 2019, 11:15:22 PM.

    Revision Lecture

    • Monday 4pm-6pm in Keith Burrows is our revision lecture. It is recorded.
    • It is not a structured lecture. It's just your chance to ask questions about course material in relation to the exam, and for us to show the exam environment to students who haven't used it before.
    • Only 49% of the course filled out MyExperience (sad :( ), so we won't have pizza there, but depending on how much you nag and how many people rock up we might do snacks or something.
      • Dominos pizzas are only $5 pick up, so if people rocks up with $2.50 in cash that's half a pizza if money is pooled!! Only issue is needing a volunteer to do the walk there and back.

    Sample Questions

    • Sample questions have started to be put up here . There are only a handful right now.
    • There will be:
      • No extra multiple choice practice questions (due to the extensive list in the Kahoot from week 10)
      • A bunch of short answer practice questions
      • Very few programming practice questions (as the 7 labs should cover plenty of this)


    P.S. Hope life is swell; hope your exams are ok; don't stress, if you do bad at uni life will carry on; see some of you Monday

  • Marking labs you missed

    Posted by Hayden 🎉 Friday 29 November 2019, 08:30:52 PM.

    Hi everyone,

    Lab08

    If you want lab08 marked off, and haven't had it marked off yet, please do the following: Email your lab files to cs1531@cse.unsw.edu.au with subject "LAB08"

    Lab02-Lab06

    If you want any of these labs marked off, please email cs1531@cse.unsw.edu.au with a title "Lab0[X]" for whatever lab it is. Please send one email per lab. However , we will ONLY mark these labs off IF you have also forwarded an email from your tutor with them confirming that the reason you didn't get it marked off was their fault. So email your tutor first. But don't bother if the reason you didn't get it marked off was because 1) You didn't attend the lab, 2) You didn't get it marked off in the lab when the tutor had time, 3) You submitted the lab late

  • Lab 9 Automarking results

    Posted by Robert Clifton-Everest Thursday 28 November 2019, 10:24:57 AM.

    Hi everyone,

    You can see the results of the automarking for you lab 9 task by running

    1531 classrun -collect lab09

    or via the course website.

    It will only display whether or not you passed certain components and not exactly where you went wrong. If you want to find out why tests are failing when they should be passing, or passing when they should be failing, you'll need to rerun them yourself. In the class repo for lab09 there is a 'solution' branch containing a working solution to the exercises as well as the tests we used. In the 'incorrect' branch there are obviously incorrect implementations of the exercises we used to check if your tests were reasonable.

    The marking was generous, so many of you still got full marks in spite of failing some of the criteria. You should look at your results, even if you got 2/2 . Some general feedback:

    • If a question is going to be automarked, don't change the names of the function stubs you've been given. This causes you to fail all the tests and potentially lose many marks.
    • Similar to above, don't add extra arguments or otherwise change how the function can be called.
    • If a question says your tests may be run against implementations other than your own, it's important that your tests don't depend on any behaviour that wasn't described in the specification of the function under test. Don't add additional behaviours to your implementation and don't have checks for those behaviours in your tests. If you do, your tests will fail against different implementations or won't have complete code coverage. See comments in the solution to 'factors.py' and 'balanced.py' for information on how we tried to be lenient in some of these cases. You won't get such leniency in the exam!

    Rob

  • MyExperience, last chance! (+ No diagrams)

    Posted by Hayden 🎉 Wednesday 27 November 2019, 07:05:02 PM.

    Hi all! You only have 29 hours left to fill in myexperience for COMP1531 this term. It's been so great teaching such talented people and we'd love to see how you felt about the course overall. We're currently at 42% of students completing the survey, so hopefully we can do some more!! It only takes a few minutes.

    Also, just wanted to make clear that on the exam you will not be required to draw any diagrams. There will be comprehension questions on various kinds of diagrams, but you won't be required to draw any. This is shown on the exam topics page .

  • Exam Documentation

    Posted by Robert Clifton-Everest Tuesday 26 November 2019, 04:23:01 PM.

    Hi everyone,

    There have been a few questions about exactly what will be available in the exam. To make that explicit, you will get:

    Also, please fill out the peer assessment if you have not done so already.

    Rob

  • Peer Assessment

    Posted by Robert Clifton-Everest Friday 22 November 2019, 01:27:40 PM.

    Hi everyone,

    There are still a large number of you who haven't filled out the peer assessment. As previously indicated, you will not receive your project mark till you have completed the peer assessment .

    Please fill out the assessment today . The tutors will be looking at your peer assessments soon, so if you do not fill it out today, you may have to wait till they look at the assessments a second time, which might not be for a while.

    The link to the peer assessment is here:

    https://moodle.telt.unsw.edu.au/mod/assign/view.php?id=2636431

    Rob

  • MyExperience + Exam Seating (LINK UPDATED)

    Posted by Hayden 🎉 Thursday 21 November 2019, 03:33:49 PM, last modified Thursday 21 November 2019, 03:44:54 PM.

    (Link correction, previous one was to ENGG1811)

    Hi everyone,

    • MyExperience participation is still only at 20% :( We love honest feedback and it helps when we get a lot of it. I'll make you a deal: If you get the participation to 60% (that's barely half the cohort) I'll buy pizza for the revision lecture, and I'll also reveal Rob's shoe size (or some other fact you want to know about him)
    • You can find out where you're sitting during the exam HERE . Please bookmark this page, you'll need it on exam day to know where to go.

  • Week 12 Revision Lecture

    Posted by Hayden 🎉 Tuesday 19 November 2019, 11:51:03 PM.

    Hi all, I've had a few queries from people who don't attend lectures confused about the week 12 revision lecture. I just wanted to provide some background.

    We have a schedule lecture in week 11, which was going to be revision. However, because of how late the 1531 exam is, after speaking to various students, they said they'd find a revision lecture more useful closer to the exam, as a revision lecture so far out from the exam would likely happen at a time most haven't started revising.

    Revision lectures cover no new content. They're a chance to review particular topics that students feel they struggle with. Students will get the most out of the lecture if they attend it after they start studying, which reality is, for most of you will not occur in the next 5 days. So a later lecture should hopefully be better for most of you.

    Remember, it's recorded on echo360, so you don't have to attend :) You can watch at home.

    As always if you have any issues just email us cs1531@cse.unsw.edu.au

    I'll also bring some food along for fun time

  • Week 10 Updates

    Posted by Hayden 🎉 Tuesday 19 November 2019, 09:46:37 PM.

    We try to buffer up notices so that you only get one email, so please take the time to read this.

    • Please fill in your team feedback ASAP on moodle!!
    • Reminder that the week 11 lecture cancelled . There is a new lecture in week 12 that is recorded.
      • 4pm-6pm in Keith Burrows Theatre (2nd December)
      • This is a recorded revision lecture on echo360
    • Tutorial solutions have been released . You can find gitlab links to them in the "Tutes and labs" section
    • On Thursday we will be releasing the exam structure , with more to come in week 11.
    • If you don't manage to get your lab08 marked off in week 10 (because of your demo taking up time), you can ask permission from your tutor to get it marked off in a special session in Flute lab in week 11 on Monday between 12pm-2pm . Tutors will not mark your labs off via email, nor arrange a special time just for you.
    • Please don't forget to fill in the MyExperience survey !! Only 1 in 10 students have done so so far :(

    Also, congrats on finishing iteration 3. That's so exciting, we're really glad you made it through!! We're happy to see a lot of people had a good time, and for those who struggled, don't worry, we'll be running some feedback sessions in the coming month to get your feedback if you choose to give it :)

  • Project Peer Review

    Posted by Robert Clifton-Everest Sunday 17 November 2019, 08:47:10 PM.

    Hi everyone,

    Congratulations on completing the final iteration of the project. The only thing left to do is the peer review. The peer review is anonymous. Your team mates will not see what you write about them. Please be honest in your assessments. You will be rating your own contribution in addition to that of your team.

    Under no circumstances should you attempt to influence someone else's answers to the questions in the review. This includes:

    • Telling someone what to write.
    • Telling someone what you wrote.
    • Colluding on answers.
    • Letting someone else fill it out for you or filling out someone else's.

    You should fill the form out as soon as possible. You will not receive your final project mark until you do.

    The form is available here via a web app so hideous I can barely speak its name moodle:

    https://moodle.telt.unsw.edu.au/mod/assign/view.ph...

    Rob

  • Bushfire Consideration

    Posted by Hayden 🎉 Wednesday 13 November 2019, 01:55:34 AM.

    Hi all, to extend upon UNSW's statements about the bushfires, if anyone undertaking COMP1531 is experiencing direct or indirect issues relating to the state of emergency in NSW for bushfires, please don't hesitate to email me or contact me to see in what ways we can help you. If you need to skip tutorials or labs, you can make them up at other times easily.

  • Iteration 2 marks

    Posted by Robert Clifton-Everest Sunday 10 November 2019, 02:42:15 PM.

    Hi everyone,

    Your iteration 2 marks are now available to view on the course website, or by running:

    1531 classrun -sturec

    As discussed in the lecture on Thursday, these marks are only provisional. Your final project mark be significantly scaled down if you do not meet the individual expectations as described in the spec . In particular, there are number of students who have contributed little to no python code to the project. This coming week is your last chance to address that in any meaningful way.

    Rob

  • Final Exam - Morning/Afternoon Preference Form

    Posted by Hayden 🎉 Sunday 10 November 2019, 11:59:11 AM.

    Hi all! You have 7 days (closing Sunday 17th November) to allocate your preference for a morning or afternoon session for your final exam . It takes 30 seconds.

    Just fill out this form: https://cgi.cse.unsw.edu.au/~cs1531/19T3/seating/final/register.cgi/

    If you don't fill it out, you will be randomly allocated.

    Student's with another exam that day, or with special provisions have been pre-allocated.

  • Week 8

    Posted by Hayden 🎉 Monday 04 November 2019, 02:57:10 AM.

    • Iteration 3 frontend update was pushed to your repos earlier tonight .
      • This just includes the remaining functionality of the frontend.
      • Please note: A couple of trivial but notable changes were made to the interface to accommodate these changes. Please look at the change log. They would take a typical group less than 10 minutes to implement.
    • Tentative iteration 2 marks will be released later this week

  • Week 7 Updates (Iteration 3, Help Sessions, Fair Marks)

    Posted by Hayden 🎉 Thursday 31 October 2019, 08:03:03 PM.

    • If you haven't already seen, Iteration 3 spec has been pushed to your team's repo
    • Help sessions page has been updated for help sessions in weeks 7, 8, 9
    • Also! I understand there has been a lot of stress and tension for a small number of groups about teamwork, fairness, and equity. Please rest assured that between us and your tutors looking through your git history, along with using a peer review we'll send out in a couple of weeks, we will ensure that marks within a team are allocated fairly. For edge cases, we will spend the time investigating. Our primary goal is to ensure that two students with the same level of input, regardless of the team they work with, end up in the same place in terms of marks awarded. If you ever have the slightest concern about this, don't hesitate to talk to Rob and I at cs1531@cse.unsw.edu.au

  • Lab06 Extension

    Posted by Hayden 🎉 Friday 25 October 2019, 01:39:28 PM.

    Hi everyone,

    Because week 7 will be iteration demos, and there won't be a new lab (i.e. lab07), we have extended the due date of Lab06 until 8pm Sunday 3rd November (end of week 7).

    This should help make this weekend easier for you, plus it gives you time to properly think about ER diagrams.

  • [Updates] Iteration 2 + Post Lecture

    Posted by Hayden 🎉 Thursday 24 October 2019, 07:40:39 PM.

    Hi everyone

    Please watch the first 30 minutes of today's lecture if you get a chance. It covers a lot of the points addressed below and hopefully provides some perspective for why iteration 2 is going to be OK.

    Removing frontend requirement for iteration 2

    • >> For iteration 2, we have removed any formal requirement to have your server working with the frontend <<
      • This is due to a lot of stress / feeling a bit overworked that we're seen a lot of students in this last week. We don't want to extend the iteration due date, but we also don't want to see you feeling overwhelmed by getting too much working.
      • This is also being removed because it seems many students are quite distracted by the frontend and not focusing on the main point of iteration 2: Working well as a team, to produce a working backend, and providing assurances that it's functioning correctly.
      • We will be shifting the focus of the frontend to iteration 3, instead.
      • You can (if you want) still DEMO iteration 2 with your frontend, but you are not required to at all, and not doing so will not incur any loss of marks.

    Other Iteration 2 updates

    Other Updates

    • Things to remember :
      • Nothing on frontends is formally assessed in this course
      • You are not required to modify or do anything to the frontend for iteration 2 or 3
      • Iteration 2 is due on Sunday at 8pm at the end of this week
    • Things we're doing to help :
      • We will post solutions to labs from previous weeks very soon. Keep an eye on the " Tutes and Labs" page over the weekend
      • A video about React will be posted here tomorrow night before 10pm. You can find it here. I will not send out a notice when it's up, just check it out.
      • We put out some previous year(s) resources for help with GIT .

  • Lab released + Lab5 due date

    Posted by Hayden 🎉 Monday 21 October 2019, 08:40:27 AM.

    Hi everyone,

    • Lab06 and Tut06 has been released.
      • We made it a bit lighter this week since you have an iteration due at the end of the week
    • Lab05 due date has been clarified to be Tuesday 11:59am instead of Sunday 5pm. This Tuesday time was made clear in lectures, and the labs themselves, but there was a mistake in the give script for this week. All future labs will be due on Tuesday. Please check give now for the updated due time.
    • Thnk you to the keen students who got stuck into their flask servers and found the bugs and issues with Sally/Bob's frontend. A few really tiny errors (like a route /channel/create instead of /channels/create).
      • If you didn't already know, some of your tutors are Sally/Bob, and have been working on a frontend for your backends :)

    See you later today!

  • [Iteration 2] Friendly Advice

    Posted by Hayden 🎉 Sunday 20 October 2019, 11:56:03 AM.

    Hi all, just some friendly advice for iteration 2.

    1. Don't get too stressed about the JWT stuff. If it's too difficult or its confusing just send things as plaintext. It's just meant to be a fun challenge for you all!
    2. Don't overthink the admin/owner permissions stuff. Interpret the spec as a team, make some assumptions, keep your user stories up to date with these assumptions about how it should function, then move on and do it :)

    Keep it at all of you - you're doing great!! Don't ever get lost in the coding to the point where you forget to learn GIT, work with your team, focus on testing, or keep your stories and documentation up to date.

    P.S. Lab06 will be released tonight.

  • [Iteration 2] Front-end released

    Posted by Hayden 🎉 Friday 18 October 2019, 03:26:39 AM.

    Hi everyone,

    The front-end for iteration 2 has been released. You can begin integrating it into your project.

    Rather than elaborate here extensively, please GO TO THIS PAGE for info about how to get moving now that your repo will include a frontend.

    Please note: This is a very exciting project idea we've had for this term and have invested a lot of time into trying this out. Inevitably we're going to have some teething issues. The first 24 hours may be full of lots of little updates and another notice or two.

    We appreciate your patience with all of this - trying to make the course better definitely means some hiccups along the way!

  • Lots of project helpers + comments on feedback

    Posted by Hayden 🎉 Friday 18 October 2019, 02:45:26 AM.

    Project Help (as promised!)

    Here are some helpful items for you. There is a lot here, take the time to look at this and see if it can help you.

    It covers everything from timer (standup), email (password reset), tokens (logout), exceptions (errors).


    Comments on Feedback

    Thanks so much for the feedback in the form we sent out earlier! I just wanted to address a couple of the key points to assure you we're aware or are improving things. Here are a list of common items people raised.

    • "I don't like that group members can drop the course after we've formed a group"
      • We totally expect that to happen, and we make sure it doesn't impact you by ensuring if you lose 25% of your group, we expect 25% less from your group
    • "More regular help sessions"
      • Yep, on top of that. More will come up in weeks 7-10
    • "I want more python stuff!!"
      • I understand! Programmers love programming. But this is a course on software engineering, so we have a lot of software engineering theory around testing, coverage, schematics, to cover. We're actually covering far more python and technical aspects than is intended for the course (and certainly more than in the past).
    • There isn't enough content to help me study!
      • It's really tricky to provide materials for a course like this, because a language like python is quite unbounded in what you can do with it. We provide all necessary examples and resources for you to get off the ground, but beyond that we encourage a lot of self-learning. For example, there is no way we can teach all the content around HTTP or flask. However, if you want to learn more about specific things, and don't feel confident to seek out your own resources, then please just post on the forum and we'll help you find things :)
    • I hate how unclear the iteration 1 specification is
      • Firstly - I understand. Vagueness and imperfection is a frustrating part of software projects. It's not meant to feel good. But sadly we see our aim as trying to best equip you for things ahead. In the specification, ambiguities and uncertainties I can confidently break down to the following:
        • 70%: Ambiguities that we wanted there and are happy that they're there
        • 15%: Ambiguities that we put in there that we later found out were maybe a bit too harsh
        • 15%: Errors from our end, because we're writing an entire new project for you from scratch!
      • The aim of iteration 1 is to make assumptions, talk to your team, come to conclusions with justifications, and get to it. No group was penalised in iteration 1 for making the wrong assumption about something where there was room to for things to be open to interpretation.

    Thanks everyone :) Keep being awesome and keep showing that incredible level of engagement you have been.

  • Iteration 1 provisional results

    Posted by Robert Clifton-Everest Friday 18 October 2019, 02:32:44 AM.

    Hi everyone,

    This is just to let you know that your iteration 1 marks are now available to view via in your grades on the course website.

    Please note that these and all future project iteration marks are provisional . These marks are awarded based on the performance of your team, so, for the majority of you, they will remain unchanged. However, in some cases, where individuals have not met certain criteria, marks may be scaled down. See the project spec for details.

    Rob

  • Help sessions week 5 & 6

    Posted by Hayden 🎉 Thursday 17 October 2019, 11:36:21 AM.

    Hi all,

    Help session times are up for week 5 and week 6 , with one starting today at 12:30pm - 2:30pm .

    The first session is a bit short notice, but we were trying to confirm rooms and times and tutors and whatnot. If you miss it that's OK, there are many more in the coming week in the lead up to iteration 2 submission :)

  • [Week 5] Mid-week updates

    Posted by Hayden 🎉 Wednesday 16 October 2019, 10:41:39 AM.

    Hi all,

    On the topic of the project:

    • Before the end of next Monday you will receive more information on the following. In the meantime try and figure it out yourself, or focus on other aspects of iteration 2 :)
      • How do deal with exceptions nicely on the server
      • How to deal with a "timer" for standup/start
      • How to work with emails/password reset
    • is_unread has been removed from the message structure (see change log of spec)
    • The frontend is being released on Thursday evening

    On the topic of the labs:

    • Challenge exercises have had more information added to them in light of recent questions:
      • pycurl activity can only be done on your own laptop, not cse machines
      • More clarity given to the img email exercise it being an HTML email

  • Mid-course Feedback

    Posted by Hayden 🎉 Monday 14 October 2019, 03:10:36 AM.

    Hi everyone,

    If you have any feedback on the course - in terms of areas you want to see improved (so far), please let us know here :)

  • Lab05 + Project Comments

    Posted by Hayden 🎉 Sunday 13 October 2019, 10:59:05 PM.

    Hi everyone,

    Tut05 and Lab05 have been released. Lab05 is a bit bigger this week, so we'd recommend getting onto it!

    Due to Monday lab's missing a week due to the public holiday, ALL remaining lab submissions (not project) will be extended 43 hours to Tuesday's at 12pm. This gives Monday students time to ask questions about the lab with plenty of space before it's due.

    Just some comments on the project:

    • Don't forget to think about what you're doing in terms of standups, agile methods, taking notes for meetings etc. We'll be quizzing you extensively on this during your iteration 2 demo.
    • The lecture tomorrow will be on managing state (data), authenticate (auth/login), authorisation (tokens), dealing with ValueErrors etc
    • The front-end will be released later in the week
    • This is not a databases assignment . You can do this entire thing EASILY in memory (i.e. just in a series of memory structures like we talked about in lectures). You don't need CSVs, you don't need SQL. We will not be supporting you on your CSV or SQL journey - we will only support the ways we cover in lectures.
      • That being said, if your entire team is competent with CSVs or SQL, and you want to go down that path without support from course teaching staff, please go for it!

  • [Project] Iteration 2 Released

    Posted by Hayden 🎉 Tuesday 08 October 2019, 11:38:44 PM.

    Hi everyone,

    Iteration 2 of the project has been released. Please check it out.

    The new changes will be deployed to your team repos sometime tomorrow afternoon (Wednesday). This is because no doubt some students will point out a couple of typos or mistakes we've made (inevitable) tomorrow morning and we'll fix that up before the big push, to avoid spamming you with merge requests. Keep an eye out for the merge request tomorrow, and any future ones :) Post any questions on piazza.

    This is where things get fun. I'll see you all on Thursday afternoon ^_^

  • [Iteration 1] Final points + Next Week

    Posted by Hayden 🎉 Sunday 06 October 2019, 05:03:38 PM.

    Hi everyone,

    Just some final few hours reminders that inevitably some students will have forgotten about iteration 1:

    • Your user stories are submitted just by having them on your gitlab taskboard
    • Make sure you have pushed your latest code to "master" before running "1531 submit iteration1"
    • There is a firm deadline of 8pm for submission - do not submit late
    • What you submit tonight will be what you are given to present with next week

    Couple of other points:

    • There is no lecture on Monday due to it being a public holiday. Our next lecture is Thursday 4pm
    • Iteration 2 will be released on Tuesday. We're not releasing it then to force you to start it on Tuesday, just trying to get the info to you early!

  • [Over-communication] Iteration 1 Deadline

    Posted by Hayden 🎉 Saturday 05 October 2019, 03:42:59 PM.

    Hi everyone,

    Iteration 1 deadline is this Sunday (6th October) at 8pm . Originally we had some confusion between 5pm and 8pm.

    Please remember there are no late submission. Late submission may be awarded a 0 mark. So definitely don't leave it late to submit!

    Final piece of advice: Remember not to get lost in imperfections in this iteration :) There are intentional imperfections in the spec that are designed to lead to some interesting conversations in your group + some good assumptions being written down. Embrace the challenge!

  • [Project] "Do my tests have to pass for iteration 1?"

    Posted by Hayden 🎉 Thursday 03 October 2019, 06:58:00 PM.

    This is a good question I keep hearing coming up over and over. For those of you who have never tested before, I'm sure you'll find this a bit confusing.

    For iteration 1, you should be writing valid tests that currently do not pass/success as expected. The reason they do not pass/succeed is because the things they're testing are not implemented yet.

    pytest-3 whatever.py should not pass all tests because you haven't actually finished the thing you're testing.

    Your tests should pass everything if you were given a completed and correctly functioning interface.

    This question also shows this conundrum. It's OK for your tests not to pass. The point of writing tests before you develop is so that once you start developing you can develop toward passing them all.

  • [Project] Common Problems + Lab due end of week 4

    Posted by Hayden 🎉 Thursday 03 October 2019, 02:00:12 PM, last modified Saturday 05 October 2019, 02:16:50 AM.

    Hi everyone,

    After the help session this morning a lot of common themes/questions came up that I want to address.See below.

    Let me first say - this first iteration is meant to be challenging. Not in a technical sense, but just in a "thinking" sense. If you're feeling frustrated that you have unanswered questions, or that you aren't sure how things work, then good that means you're actually doing what you're meant to and engaging with an imperfect system to make sense of it.

    This isn't like normal university assignments. There isn't a theoretical best answer. There is just your ability to interpret something, make assumptions and decisions, and justify those assumptions and decisions.

    In most cases, students will not be penalised for making judgements/assumptions/decisions as long as they can clearly justify their thinking.


    Please show me what a basic test would look like :( :(

    OK OK, I understand some people are still confused and just need something tangible. Here is an example of how you might test channel_addowner .

    def test_some_name():
        registerResponse1 = auth_register("validemail1@gmail.com", "validpassword1", "validname", "validname")
        registerResponse2 = auth_register("validemail2@gmail.com", "validpassword2", "validname", "validname")
        u_id1 = registerResponse1['u_id']
        u_id2 = registerResponse2['u_id']
        token1 = registerResponse1['token']
        token2 = registerResponse2['token']
        channelResponse = channels_create(token1, "My Channel", False)
        channel_id = channelResponse['channel_id']
        channel_addowner(token1, channel_id, u_id2) # Should work since User 2 is not an owner
        with pytest.raises(ValueError, match=r".*"):
            channel_addowner(token1, channel_id, u_id1) # Should NOT work since User 1 is already an owner
                                                        # as they created the channel

    See how we're not concerned with how the data works? See how we're not just creating random data? See how this test should work with the functions in the interface once completed?

    Also note:

    • I wrote this code straight into the notice so there may be slight typos or something in it
    • We won't test you aggressively on the "match" component of pytest.raises. Matching r"*" (i.e. anything) is fine
    • See how I create user's at the start? You will probably have similar repetitive "setup" processes that you will want to pull out to replicate for many tests


    Where is all the data stored? Do I need to make it?? How do I store it??

    Don't worry about this! How this stuff is stored is part of iteration 2 when you actually have to store it.

    Go and look at the exam piece of code above. You'll see there that we aren't worrying about data models / data structures / databases, we're just using the interface that we've been given to generate this data.

    Don't worry about where the data is stored.


    How do I know that the data is reset after every test?

    Great question. Complicated answer. Don't overthink this for iteration 1. For now just assume everytime a "def test_*()" function is run that the "state" of the program is reset (e.g. all users are wiped). Or you can not assume this. Point is, we won't harass you about it.


    How many tests should I write?

    As a reminder, when we say "tests" in iteration 1, we are referring to interface tests (i.e. only testing input/output/exceptions, and not the inner mechanics).

    We asked you to write lots of tests. We didn't ask you to write tests for everything .

    • Some functions you will write a dozen tests for.
    • Some functions you will write very few tests for.
    • Some functions will be VERY challenging to write tests for, and you can either choose to do it or not, and justify yourself later.
      • Some of these will be functions with challenging interfaces. An example of a very hard one to test is some of the error cases of standup_send.
    • Some functions you will not be able to write tests for (we've talked about these on the forum)


    Is the reflection done individually or in a group?

    As a group


    Why does the specification have mistakes in it?

    Our aim with this entire project is to give you experiences that relate to actual scenarios you'll come across in the real world. Part of that includes imperfections in a specification.

    Being given an interface to work with with imperfections, lack of clarity, non-ideal return values, are all things you would experience working in a real interface. In the real world obviously it wouldn't take 2 weeks to get these fixed a lot of the time, but if you were working full time sometime it could take a few days - and since you aren't working full time on COMP1531, this is somewhat representative.


    What is an assumption?

    The specification outlines a lot. But occasionally you'll have questions that you want answered that the specification doesn't answer. For many of these we won't give you answers, so you get to pick an answer that YOU think is most appropriate, then record it in your assumptions document.

    If you need a tangible example of an assumption, I saw this morning a student had an assumption which was: Assume that two channels can have the same name. Is this assumption correct ?? Doesn't matter right now. As an engineer, it's important that you find all assumptions you're making, state them, so that later people can clarify them and you're aware how heavily reliant your program is on particular truths. Later this student might find out two channels can't have the same name!!

    All assumptions are OK, unless it's clearly stated in the spec.


    Lab03

    Finally, a reminder to everyone that the lab03 is due at the end of week 4 (13th October).

  • Help Session - Thursday 3rd October

    Posted by Hayden 🎉 Wednesday 02 October 2019, 02:45:46 PM.

    Hi all,

    A help session will be running in Piano lab ( map here ) tomorrow (3rd of October) from 10:30am-12:30pm .

    The particular focus of this help session will be for Iteration 1.

  • (Videos working) [Project] Updates - Tuesday 1st of October

    Posted by Hayden 🎉 Tuesday 01 October 2019, 03:14:48 PM, last modified Tuesday 01 October 2019, 05:53:12 PM.

    (UPDATE 5:43pm - Videos are now working)

    Hi all,

    Some updates:


    Just a reminder that for many of you you'll find writing these tests hard and confusing. And that's absolutely OK :) We won't be judging your raw programming talent or automarking things for iteration 1. We'll be judging your critical thinking, your thoughtfulness, and just how much you've clearly thought about the problem.

  • Updates - Monday Week 3

    Posted by Hayden 🎉 Monday 30 September 2019, 07:31:30 PM.

    Hi everyone,

    • Project questions about testing
      • I'm getting the same 2 questions appearing in my inbox about the project, including:
      • I'm just going to sit down sometime later tonight before bed or tomorrow morning before work and do a screen recording of myself talking through this a little bit more.
      • Don't feel silly - these are very challenging concepts if you haven't seen them before. It's our job to help provide some more clarity on this.
    • Consultations are still happening!! People keep asking me about them. They're the exact things we said in our first lecture, and listed on the timetable page .
    • Help Sessions will PROBABLY happen this term, we're just seeking some clarification from the school about how they want to go about it.

  • [Project] Iteration 1 Freeze + Pagination

    Posted by Hayden 🎉 Monday 30 September 2019, 05:00:48 AM.

    Hi everyone,

    • Iteration 1 as of Sunday afternoon now has a freeze on changes to the interface. This is so no one has to worry about things changing this week. Imperfections in the interface noticed by students will still be recorded and Sally/Bob will note them down and likely push them out into Iteration 2.
    • Someone asked about the channel_messages function and how that worked. A section of pagination has been added to the main spec . This will be pushed to your own repo (not that that's important) sometime in the next day.

  • [Project] More slight updates

    Posted by Hayden 🎉 Sunday 29 September 2019, 12:43:12 PM.

    Hi all,

    More slight updates have been made to the project in the last 24 hours. We've pushed these README.md changes out to your repo.

    Most are just small changes shown in the change log. The only one I wanted to point out is that we changed the return type of auth_login and auth_register from { token } to { u_id, token } to make things easier by getting the u_id. In the real world, as you'll learn in a couple of weeks, this isn't necessary because you can actually encode a u_id inside a token, but since we haven't covered that material yet to make things easier we'll just say that the backend returns a user id explicitly too.

    I'd like to thank all of the amazing students for being so curious and thoughtful about this interface. Your competency as software developers is driven far more by your ability to ask questions than your ability to provide answers - and many of you have demonstrated that. Also great work to the groups who have started this weekend on iteration 1, it will make your next week much more manageable.

  • Many Updates - PLEASE read :)

    Posted by Hayden 🎉 Friday 27 September 2019, 11:49:42 PM.

    Hi all,

    Please take a moment to read the below:

    Project

    Gitlab

    • A gitlab repo for your project has been setup for your group. This is different from the course repo
      • This means that instead of looking at COMP1531/19T3-cs1531-project, you should now look at z5555555/19T3-cs1531-project
    • Since the project was copied to your repo, we've already made some changes. These changes automatically attempted to be pushed to your repo, however, if there are conflicts (which only a few of you have already), then you will have to manage a merge request
    • If you've already created a repo this week, you'll have to migrate your changes to your new repo that was created today for you

    Changes

    A number of minor changes have been made to the project, and they will continue to be made. Changes from now on will made on the main repo, then at most once a day, we'll send you a merge request. This merge request will be automatically merged into your repo if possible, or will create a pull request.

    One important note that you may have missed is that THIS is the video you should be watching to derive your user stories from.

    Some key clarifications or changes of note:

    • Clarified iteration 1 deadline is Sunday week 3, at 8pm
    • Clarifications on reflection and plan docs
    • InputError changed to ValueError

    User Stories

    • Remember the structure of user stories is "As a < type of user >, I want < some goal > so that < some reason >"
      • Remember that you should focus on user stories that specify GOALS, not FEATURES. Features are often informed by goals, but a goal could be solved through a range of different features
    • Remember that you can use the board in gitlab to keep track of your group's user stories. This is how we'd recommend you store user stories for your project. Placing them here is perfectly fine and reasonable as a place to have them for submission of iteration 1.

    Week 3 Tut / Lab

    Week 3 tutorial and week 3 lab have been released. You can see them in the "Tutes and Labs" section, or in your gitlab for lab03.


  • Project teams

    Posted by Robert Clifton-Everest Friday 27 September 2019, 10:58:51 AM.

    Hi everyone,

    The vast majority of you have followed the instructions for registering your team as a project group on the course website, but a few of you didn't. As we will be creating repos for you this afternoon, it's important that:

    • If you're not in a team, you contact your tutor immediately !
    • If you're in a team, but not a member of a group on the course website, you join your group. You won't get marks otherwise.
    • If you failed to follow instructions and created a group in the wrong format (e.g. the group name contains non-alphanumeric characters), you may wish to change the group name. If you don't, I will change the name and you may not like what I change it to :-)

    Rob

  • More spec updates

    Posted by Hayden 🎉 Thursday 26 September 2019, 01:30:46 PM.

    Hi everyone,

    Trivial updates to the project will just be made and added to the changelog at the top. For substantial changes, or small changes that we will it's important for everyone to know, a notice will be posted.

    Two good questions were asked on piazza ( here and here ) and elaborations have been provided in the spec. This is in relation to user stories and the plan.

  • [Project] More information

    Posted by Hayden 🎉 Wednesday 25 September 2019, 12:55:13 PM.

    Hi everyone,

    If you didn't notice, last night two videos were added to the Project page that:

    1. Explained a bit more on the background of the project and desires from our UNSW client
    2. Just overviewed the project a bit more (elaboration from lectures)

    The actual gitlab project page has been updated too to include:

    • Links to the video
    • A much thicker flesh out (after talking to Sally and Bob) about what they expect from their front-end/back-end interface

    Check it all out :) Any other questions ask on Piazza

  • [Project] More specification to come

    Posted by Hayden 🎉 Tuesday 24 September 2019, 11:45:37 AM.

    Hi everyone!

    As you know the project released on Sunday. We also talked about it briefly in lectures yesterday. Please take a look, the first milestone is due on Sunday at the end of week 3! It's really important you get together with your group ASAP and start planning.

    My advice from one (previous) student to another is make sure you find some time between Wed-Fri to sit down, skype, or sync up with your team at least once, and then once again on the weekend. This will help you stay ahead of the curb and not have a stressful weekend next week.

    A few people have pointed out that:

    1. The requirements as to what features of slack are needed are limited.
    2. There is a lack of sufficient detail regarding the interface that Sally and Bob have provided.

    These are great points!! This was by design, because:

    1. In the real world you'll have to go through a discovery process
    2. Sometimes working with people like frontend developers (who provided an interface) will not be clear enough and omit things (like descriptions, or errors)


    No stress, though, because this is part of the process and before tomorrow we will be providing:

    1. A pre-recorded video from Rayden (Rob and I, your contractor) giving an explanation about what the features of slack they like are, and the overall "stakeholder" overview. This is the same as the elicitation part of Requirements Engineering discussed in Monday's lecture. You will use this material to generate your requirements (i.e. user stories)
    2. An updated specification including descriptions of functions on the interface, and specifications as to the errors that can be thrown by each function.


    Lastly, and unrelated, the dictionary question and stories question we didn't get time for in the lectures will be moved to your tutorial for week 3.

  • Join our dummy "Slack"

    Posted by Hayden 🎉 Monday 23 September 2019, 01:09:54 AM.

    If you've read the project specification, you've seen that it is heavily based off the currently existing app "Slack".

    We have created a course-wide slack that anyone in the course can join and play around with to get a feel for the application. This will come in handy in the next weeks as you try and establish requirements and understand capabilities of your own project.

    You can sign up here with your UNSW email address: https://comp1531-19t3.slack.com/signup

    A very strong reminder that your conduct in this slack application will be monitored no differently to normal communication channels. Any bullying, abuse, inappropriate, illegal, or unpleasant behaviour will not be tolerated and may impact your course results. Please feel free to report any poor behaviour to cs1531@cse.unsw.edu.au directly.

  • Draft Project details released

    Posted by Hayden 🎉 Sunday 22 September 2019, 11:15:11 PM.

    Hi everyone,

    Please checkout the draft project spec on Gitlab here. You can also find the link to it on Webcms3 here .

    I'm sure people will have questions, so please post them on Piazza. We can discuss it more in the lecture tomorrow, too :) We will be updating the repository page consistently over the next day or two!

  • pytest + git questions

    Posted by Hayden 🎉 Sunday 22 September 2019, 06:58:12 PM.

    Hi all! Two things:

  • Week 2 Tute & Lab available

    Posted by Hayden 🎉 Saturday 21 September 2019, 06:00:23 PM.

    You can check out tute02 and lab02 in the side bar :) They probably won't display, but you can click the "View in browser" button to open it on Gitlab.

    For the lab, alternatively, you can just directly load gitlab website and navigate to lab02.

  • Project Groups

    Posted by Robert Clifton-Everest Saturday 21 September 2019, 04:02:40 PM.

    Hi everyone,

    I'm Rob, you'll meet me in the second lecture next week :-)

    Right now, there are some important things I need to tell you about project teams. Project teams will be organised in the week 2 tutorial (next week) under the guidance of your tutor. Given that, it is incredibly important that you come to your tutorial on time .

    If you are unable to attend the tutorial next week, please email your tutor ASAP so that they know to put you in a team.

    If you neither attend, nor email your tutor, it will be assumed you do not intend to take part in the project and are forfeiting the associated marks.

    After you have formed a group, you will need to register it on the course website (see instructions on the tute sheet). If you and your friends have already formed a group, we appreciate your eagerness and organisation, but we ask that you hold off registering it as it may turn out adjustments need to made. Your tutors will try to take your preferences for team mates into account, but owing to various reasons, that may not always be possible.

    You need to register your group by 9PM Thursday week 2 (26th September) .

    Rob

  • pytest, project

    Posted by Hayden 🎉 Saturday 21 September 2019, 12:36:41 PM.

    Hi everyone,

    (1) The project iteration 1 will be released on Sunday night.

    (2) The pytest issues we had in the lecture on Thursday were quite weird. We eventually got down to the source of the problem and the CSE school IT support have updated some versions so everyone can use it better. I think it was an interesting example of the importance of testing, too! Those lecture activities were tested on an ubuntu machine, as well as another CSE account, but not my CSE account on vlab. Can never test too much can we :)

    To make up for it we'll be posting a video tomorrow to cover those topics of pytest from the lecture! So hold out for that.

  • Extra Resources - f-strings, tuples

    Posted by Hayden 🎉 Wednesday 18 September 2019, 03:36:46 AM.

    Hi all! When we have follow up questions from the lectures we'll try and put out some really short extra bonus content geared to this cohort. Two have been put out tonight, one on f-strings, and one on tuples. They're only 5 minutes each. If you understood them in lectures you probably won't find them too useful.

    https://webcms3.cse.unsw.edu.au/COMP1531/19T3/reso...

    Also, while I remember, on Thursday we will be covering git in much more detail. The choice was made to let everyone attempt their labs before we look at git in lectures :) In my experience students tend to understand git better when they have to play around first, and then have some of the theory reinforced! So yes, tune in on Thursday for more git. Git git git.

  • Getting linux on windows

    Posted by Hayden 🎉 Wednesday 18 September 2019, 02:16:34 AM.

    For those who want to start running some linux commands (e.g. python) on their local windows machine, and haven't already setup WSL (Windows Subsystem for Linux), here is the basic link to the instructions .

    If you have questions/comments, post in Piazza !

  • Lecture Recordings

    Posted by Hayden 🎉 Tuesday 17 September 2019, 11:51:11 AM.

    Hi everyone!

    1. Lecture Recordings link has been added to the resources section in the nav-bar on the left
    2. The Google Python Style Guide (our style guide) has also been added to the nav-bar on the left
    We'll be putting out some extra content about the python we covered today, as well as more clear guides for running python on windows with WSL :)

  • First lecture tomorrow

    Posted by Hayden 🎉 Sunday 15 September 2019, 09:47:32 PM.

    Hi everyone,

    Our first lecture is tomorrow from 4pm-6pm in CLB7. Looking forward to seeing you all there! Slides for most of the first week are up. There are PDF versions too for those who want to print things or use annotating software. The slide deck used in the lectures may change slightly and the PDF will be updated every week or so.

    Currently lecture recordings aren't up, but hopefully we'll resolve that tomorrow. Just resolving an issue with it first.

  • Welcome!!

    Posted by Hayden 🎉 Wednesday 11 September 2019, 11:41:10 AM.

    Hi everybody!

    My name is Hayden, and in conjunction with Rob Everest, we'll be lecturing and running this course for you in T3.

    COMP1531 is an extremely exciting course. I've had the privilege to teach a lot at UNSW and I can confidently say that I have never been so excited to teach a course before. Why? Because in my view, if we do our job right, and people are engaged, this will be the most impactful course for young computing students looking to hone their skills in the areas of teamwork and software engineering.

    Many of you have done COMP1511 or a similar course, so the lecture + tut/lab style will be something you're all familiar with. The main difference in this course is that instead of assignments, we have one major project that spans 9 weeks.

    There is a lot more to say, but I'll save that for our first lecture on Monday from 4pm-6pm in CLB7. I really hope I see you there!! We'll make it fun. And if you're bored you can just speak up and we'll make it fun somehow (always open to suggestions).

    For some of you, your tutorials and labs will be on Monday BEFORE your first lecture. That's OK, we've designed the first week's tute and lab to be self guided and independent enough that you it will all be fine even though you haven't been to a lecture.

    The only thing that everyone should do before next week is go and read the course outline . If you have any questions, comments, or concerns, we'll be inviting you all to Piazza (forum) later today. If anything is urgent please just email cs1531@cse.unsw.edu.au!

    Lectures, tutorials, and labs for week 1 will be released this weekend.

    :)


Back to top

COMP1531 19T3 (Software Engineering Fundamentals) is powered by WebCMS3
CRICOS Provider No. 00098G