The good news is that whatever marks are released next week can be changed if needed.
Bad news #1 is that I'm now on leave and won't be back at UNSW until January.
If you ask me to re-assess your exam (or anything else), I will do it in January. Be aware that if I discover that we were too generous in the initial marking, your mark will go down. On the other hand, if we forgot to mark something, then your mark will definitely go up.
Bad news #2 is that if you sat the Final Exam, you are not eligible for a Supp. Read the Course Outline again or watch the video of the Final Lecture.
Provisional marks and grades for the course are posted.
Congratulations to the dozen or so people who scored 98 or better.
A few of you have a UF grade. Note that UF means you failed, even if your mark is greater than 50. You only got UF if your exam was so appallingly bad that I couldn't in all conscience award a pass.
The marks distribution was the usual inverse bell-curve that tends to occur in 1st-year CSE courses: a significant number of HDs, a significant number of PSs, and less CR and DN.
Out of 670 people who took the exam today, remarkably only 3 people managed to lose something. Only one of those is still unclaimed: a purse in the shape of a cat head, black and made of soft, slightly-fluffy material. If it's yours, you can collect it from my office.
Now it's off to mark all of those exams. And also time to run plagiarism checking. If you're suddenly feeling guilty, it might be a good time to "'fess up".
If you have any feedback on the course, especially on what we can improve next time, drop me an email. Not anonymous, of course, but I don't hold a grudge ... unless you plagiarise ...
The Prac part of the exam is worth half of the marks; the Theory part of the exam is worth half of the marks. However, most people will do the Theory part faster than the Prac, and it is easy to get bogged down trying to "crack that last bug" in the Prac questions. I'd suggest that you attempt the Theory part first, and then go on to the Prac part. You can complete the questions in any order. Good Luck.
Some people have said that they couldn't open the exam.tar files for the practice prac exams.
I couldn't see any reason why they were inaccessible, but I have copied them all under the following directory: /home/cs1521/ppex/
There are subdirectories for each question, with each subdirectory containing an exam.tar file.
All of these directories and files are accessible to anyone logged in to a CSE workstation/server.
Quiz answers are available. No time to write explanations.
Please fill out the MyExperience survey if you haven't done it yet.
Response rates so far: A stream lectures: 33%, B stream lectures: 22%, Web stream: 26%.
It would be nice to get at least half the class giving us some feedback.
Login uses zID@ ad .unsw.edu.au (for some reason?) and zPass.
Note that responses are anonymous and I don't get to see them until your exams are marked.
Thanks for all your feedback.
I've posted a Sample Final Exam (based on questions from tutes and practice prac exams), to give you an idea of what the final exam might look like.
You cannot infer that the Final Exam will have the same number of questions (might have less Q's but larger ones). Nor can you infer what topics will be in the Final Exam based on what topics are in these questions.
I'll be running pre-exam consultations at the following times:
All consultations in K17-410
Save your effort if you plan to come along just to ask what's on the exam. All topics in the lecture notes are potentially examinable in the "theory" part. Some topics obviously don't lend themselves to programming questions in the "prac" part.
After the Poll idea didn't work out so well, Mei Cheng has done a seating allocation for the final exam.
I think we incorporated all the requests we received (outside the Poll). Let us know ASAP if we've allocated you to a timeslot that you absolutely cannot attend.
The Questions and Answers for the Practice Prac Exams will be placed under the Lab Exercises. PPE #1 is already there. PPE #2 will be there on Monday.
Reminder: the final lectures for COMP1521 are in Week 13. Stream A on Monday 12-2; Stream B on Wednesday 9-11.
If you're interested in tutoring, you won't want to miss the Monday lecture, when Richard Buckland will be there at the start of the lecture to give a pep talk on why it's good for students to take tutes.
And don't forget to give us some feedback in the MyExperience survey, especially give comments about things that were good and things that might be improved. It's anonymous.
The COMP1521 Final Exam is on Wednesday 8th November. There will be a morning session and an afternoon session. We'll randomly allocate people to sessions, taking into account hard constraints on some people (e.g. another exam on the same day). For more info, attend the lectures in Week 13.
I've posted all five of the exercises from the first practice prac exam (MIPS). They're under Lab Exercises . It took a fair bit of fiddling to extract them from the Prac Exam environment and make them work in the class account. Let me know if I've missed anything.
Hmmm ... some of the audio on the Thursday lecture video is messed up. Especially annoying because there seems to be no Echo360 video. On the other, it's a little bit "trippy" in places. I'll fix the audio sometime within the next week, but don't have time to do it immediately.
A reminder: you can change any functions in PageTable.c except that you can't change the interfaces of any functions mentioned in PageTable.h
You can modify PageTable.c to: change the data structures, change parameters to existing private functions, and add new functions. The main requirement is an O(1) process to find a victim. I will be testing your submissions using a trace which has a very large number of pages; if you use an O(n) process, it may time-out. You can easily generate such a trace yourself for testing using e.g.
$ ./mktrace 10000 1000000 > trace99 $ ./vmsim lru 1000000 1024 < trace99
but make sure that (a) you turn off all debugging output, (b) you recompile to make sure all calls to showPageTableStatus() have gone away.
Someone nabbed our CLB6 booking for the Friday 12-1 lecture this week, so for this week only the Friday lecture will be in CLB3.
Week 10 (Oct 2-6) is a quiet week (thanks to the Monday public holiday). There are no tute/lab classes for the whole week. And the Monday 12-2 Stream A lecture and Wednesday 9-11 lecture aren't running either.
I was planning on having the
The Thursday 1-2 Stream A lecture and Friday 12-1 Stream B lecture will run as usual. Since the lectures aren't in MyUNSW, they won't be Echo-recorded, but I'll still make my YouTube recording of Thursday 1-2.
Quiz 5 is now available. You must submit it before 11:59pm on Sunday 8th October.
I will eventually post solutions to the MIPS Practice Prac Exam questions, but not yet. There are a small number of students with special considerations for Week 9 who will be sitting the exam in Week 10. Once that's done, I'll post the questions and answers.
I've updated the spec to (what I think is) the final version. It includes links to some sample output. It also spells out that you must not implement victim-finding via a scan of the PageTable, even if it produces the correct output (see the red text near the bottom of the spec). The inefficient implementations of victim-finding in the spec are there simply to show you what properties the victim page must satisfy, not to give you an algorithm to implement.
Help sessions are running as usual during Mid-semester Break on Thursday and Friday.
I'll also be having my usual consultations (Mon 2.30, Thu 2.30).
Around the 18 min mark of the video, I made a "correction" to the code (changing nPages to nPages-1). Thanks to Emmet Murray for pointing out that the original code was fine, and the fix made it incorrect. I'll see if I can edit the video to remove this, but in the meantime, ignore that correction.
I've put a draft of the Assignment 2 spec on the course web site.
I'll add more tomorrow (in particular, a video on using the code).
The code in ass2.zip will not be changing, however ... unless someone finds a bug.
Q3 on the recent quiz was ambiguous. Depending on whether you read the documentation for the real MIPS or whether you look at how SPIM implements things, either 0x00400208 or 0x0040020C could be correct. I had 0x00400208 flagged as the only correct answer, because we've all been hacking away on SPIM and had probably observed how it worked there. I'll now treat both answers as correct and update the quiz marks for everyone who chose 0x0040020C.
The Prac Exam environment is not behaving itself at the moment, so rather than risking a mess in the Monday labs (and maybe later), I propose delaying the MIPS Practice Prac Exam until the following week (Week 9, 18/9-22/9).
In the Week 8 lab, we'll have a regular lab exercise, involving read() and write().
When you submit your Assignment 1, do not include board?.s in your prog.s file.
Submit just the raw prog.s file. We will merge with a range of boards for auto-testing.
If you took Quiz 4 before 10:30pm on Sunday 3 September, please take it again. I've fixed a couple of annoying typos that will probably have caused you to get some answers wrong.
I did another extra video this week to introduce linked data structures in MIPS.
There'll be some questions on these in next week's tute, so try to watch it before your tute.
Webcms3 is currently having difficulties accessing information through the web.
it is unable to access your marks.
The marks are not lost, and you can access them via the command-line on a CSE server using the command:
DISPLAY=; 1521 classrun -sturec
or via SMS's web interface .
Problem 2: the CSE web server is unable to find the files in the cs1521 web directory. I think this is a temporary systems problem. If you're desperate to read them in the meantime, you could login to a CSE server and change into the directory where the source for the documents lives. E.g. the assignment1 spec is in the directory ~cs1521/web/17s2/assigns/ass1/, in the file index.php.
We seem to have acquired two slightly different versions of spim on the CSE workstations
There's a newly-installed version in /usr/bin/spim .
The version that I've been using for all my work in lectures, and for testing labs, is in ~cs1521/bin/spim .
I'll work out what the differences are and then we can standardise on just one of them.
No doubt someone is about to ask "Which version will be used for testing the assignment?". I think I'll need to run your programs on both and use whichever one produces better results.
I've added some details on the assessment for Assignment 1 on the assignment page .
The boards we use for auto-testing will all be valid (i.e. the definitions for board and newBoard will be consistent with the value of N ). We will use a range of board sizes, but not smaller than 5x5 or larger than 50x50.
I didn't get as far as I'd planned in the lecture today, so I made an extra 25 min video discussing what goes on at the start and end of a function in MIPS. I'll re-visit the final exercise (slide 46) in the first lecture next week. If your lab happens before your lecture, you would be wise to watch this video before your lab.
The final(**) version of the Assignment 1 spec is now available. I changed a few things from Friday, primarily to make it easier to test. Apologies if you've already completed it and now have to go back and make a few minor changes.
I haven't yet set up submission, but it's not due until Sept 10, so hopefully not an issue.
** It's "final" modulo you telling me all the typos or unclear bits :-(
I've put instructions for installing the spim command-line interpreter under Documentation.
And I've installed a copy of spim on the CSE machines, runnable as /home/cs1521/bin/spim
seems to be
was broken with the web server that serves the Lab and Tute pages.
While waiting for systems support to sort out the problem, I've made the pages available at
Edit: Problem solved . You can forget about the above URL ... unless the CGI servers fail again (which happens very rarely).
I've created a summary of SPIM assembly language in the Documentation directory.
The second quiz is out. Must be completed by midnight Sunday 13 August.
I've added an extra optional lab for those who finished the Bits lab already.
The Week 03 tute exercises are now out (with some minor changes from the version before 1pm Sunday 6 August).
Your tutors have persuaded me that this week's lab is proving challenging for many people.
I would rather you worked on it longer and understood how to do it than just hack together an attempt for this Sunday. The lab is now due on Sun 13 August and you can work on it in labs next week.
If you've already finished it and found it trivial, let me know, and I'm sure I can find something else productive for you to do.
Almost 40% of the class still hasn't done Quiz1. It has to be done before 11:59 on Sunday 30 July. Judging from the results of people who have done it, it's easy marks.
The videos for the Monday lecture are now on my YouTube channel (links under Lectures).
After each lecture, it takes an hour or so to post-process them and get them uploaded.
Echo360 videos will also be available, as soon as I'm correctly set up as COMP1521 LiC in Moodle.
Don't forget that COMP1521 tutes/lab classes start in week 1. Many of them are happening before the first lecture. Since the exercises this week are (hopefully) revision for most people, this should work OK. Let me know if not.
We have made some videos on topics relevant to this week, and I'll post them on the site soon.
The Week 01 exercises are available via the Tutorials and Lab Classes links in the Webcms3 menu.
Rather than clagging the course web page with First/Second/Third, etc. I've made a page for posting random thoughts about COMP1521.
COMP1521 Computer Systems Fundamentals is a new course being offered for the first time in 17s2! It aims to give students an overview of how computer systems work, at a low level, to give you an understanding of what happens when your C programs run, and as a basis for future study in the systems area (hardware, OS, Networks, etc). We look forward to developing this new course with you over the next 15 weeks or so.
While COMP1521 is core for all CSE degrees (BioInf, CompEng, SoftwarEng, CompSci), it is only essential for CompEng students to take it in their second semester of study. You might find that taking COMP2521 in 17s2 opens up more options in your second year, and COMP1521 can always be taken later. I'll discuss this more in the first lecture.
If it helps, COMP2521 will be running over summer from Dec 2017 - Feb 2018.
I look forward to seeing most of you on Monday 24 July at 12noon in Mathews A. The rest of you will be meeting Zainab in Mathews B on Wednesday 26 July at 9am.
Welcome aboard the roller-coaster!