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!