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
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
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.
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
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
Hi everyone,
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"
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
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:
Rob
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 .
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
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
(Link correction, previous one was to ENGG1811)
Hi everyone,
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
We try to buffer up notices so that you only get one email, so please take the time to read this.
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 :)
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:
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
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.
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
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.
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.
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.
Hi everyone,
See you later today!
Hi all, just some friendly advice for iteration 2.
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.
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!
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).
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.
Thanks everyone :) Keep being awesome and keep showing that incredible level of engagement you have been.
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
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 :)
Hi all,
On the topic of the project:
On the topic of the labs:
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 :)
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:
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 ^_^
Hi everyone,
Just some final few hours reminders that inevitably some students will have forgotten about iteration 1:
Couple of other points:
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!
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.
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.
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:
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.
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.
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
.
As a group
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.
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.
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.
(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.
Hi everyone,
Hi everyone,
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.
Hi all,
Please take a moment to read the below:
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:
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.
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:
Rob
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.
Hi everyone,
If you didn't notice, last night two videos were added to the Project page that:
The actual gitlab project page has been updated too to include:
Check it all out :) Any other questions ask on Piazza
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:
These are great points!! This was by design, because:
No stress, though, because this is part of the process and before tomorrow we will be providing:
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.
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.
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!
Hi all! Two things:
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.
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
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.
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.
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
!
Hi everyone!
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.
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.
:)