• Good News and Bad News

    Posted by John Shepherd Friday 24 November 2017, 10:38:55 AM, last modified Friday 24 November 2017, 10:54:31 AM.

    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

    Posted by John Shepherd Friday 24 November 2017, 12:04:10 AM.

    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.

  • Exam, Lost+Found, etc.

    Posted by John Shepherd Wednesday 08 November 2017, 05:10:44 PM.

    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 ...

  • Exam Tip

    Posted by John Shepherd Tuesday 07 November 2017, 05:46:26 PM.

    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.

  • PPEx exam.tar files

    Posted by John Shepherd Sunday 05 November 2017, 04:39:52 PM, last modified Sunday 05 November 2017, 04:40:29 PM.

    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

    Posted by John Shepherd Sunday 05 November 2017, 04:29:54 PM.

    Quiz answers are available. No time to write explanations.

  • MyExperience Course Evaluation

    Posted by John Shepherd Tuesday 31 October 2017, 12:30:25 PM.

    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 (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.

  • Sample Final Exam

    Posted by John Shepherd Monday 30 October 2017, 04:13:52 PM.

    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.

  • StuVac Consultations

    Posted by John Shepherd Sunday 29 October 2017, 08:48:53 PM, last modified Sunday 29 October 2017, 08:51:28 PM.

    I'll be running pre-exam consultations at the following times:

    • Wednesday 1 November 12.30 - 1.30
    • Thursday 2 November 12.30 - 1.30
    • Friday 3 November 11.00 - 12.00
    • Monday 6 November 11.00 - 1.00
    • Tuesday 7 November 1.00 - 3.00

    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.

  • Final Exam Seating Allocations

    Posted by John Shepherd Thursday 26 October 2017, 10:44:43 AM, last modified Thursday 26 October 2017, 10:47:57 AM.

    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.

  • Practice Prac Exams

    Posted by John Shepherd Wednesday 25 October 2017, 04:55:45 PM.

    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.

  • Week 13

    Posted by John Shepherd Sunday 22 October 2017, 02:54:37 PM.


    • Final Stream A lecture: Monday 12-2, Mathews A
      • including Richard Buckland, inspiring the next generation of tutors
    • Final Stream B lecture: Wednesday 9-11, Mathews B
    • Labs: Practice Prac Exam #2 (C programming)
    • Tutes: course revision/feedback, tutor evaluation
    • Quiz 6: due midnight Sunday 22 October (today!)

  • Final Lecture(s)

    Posted by John Shepherd Wednesday 18 October 2017, 04:29:12 PM.

    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.

  • Final Exam

    Posted by John Shepherd Tuesday 17 October 2017, 07:33:34 AM.

    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.

  • Practice Prac Exam #1

    Posted by John Shepherd Saturday 14 October 2017, 05:17:12 PM, last modified Saturday 14 October 2017, 05:18:19 PM.

    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.

  • Thursday Lecture Audio

    Posted by John Shepherd Thursday 05 October 2017, 08:20:24 PM, last modified Thursday 05 October 2017, 08:21:50 PM.

    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.

  • Assignment 2

    Posted by John Shepherd Thursday 05 October 2017, 03:52:43 PM, last modified Thursday 05 October 2017, 09:37:55 PM.

    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.

  • Friday Stream B Lecture has moved

    Posted by John Shepherd Tuesday 03 October 2017, 09:51:29 PM.

    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

    Posted by John Shepherd Sunday 01 October 2017, 08:25:56 PM, last modified Sunday 01 October 2017, 08:41:58 PM.

    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

    Posted by John Shepherd Friday 29 September 2017, 03:00:43 PM.

    Quiz 5 is now available. You must submit it before 11:59pm on Sunday 8th October.

  • MIPS Prac Exam Solutions

    Posted by John Shepherd Friday 29 September 2017, 12:41:30 PM.

    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.

  • Assignment 2

    Posted by John Shepherd Thursday 28 September 2017, 10:36:07 PM.

    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 during Break

    Posted by John Shepherd Monday 25 September 2017, 07:31:51 AM.

    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).

  • Ass2 Video Blooper

    Posted by John Shepherd Saturday 23 September 2017, 10:06:23 PM, last modified Sunday 24 September 2017, 12:10:44 PM.

    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.

  • Assignment 2

    Posted by John Shepherd Friday 22 September 2017, 05:08:08 PM.

    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 will not be changing, however ... unless someone finds a bug.

  • Quiz 4, Q3

    Posted by John Shepherd Tuesday 12 September 2017, 01:53:00 PM.

    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.

  • Practice Prac Exam Postponed

    Posted by John Shepherd Friday 08 September 2017, 02:41:35 PM.

    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().

  • Do NOT Merge board?.s and prog.s for Submission

    Posted by John Shepherd Wednesday 06 September 2017, 03:21:36 PM.

    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.

  • Quiz 4 Typos

    Posted by John Shepherd Sunday 03 September 2017, 10:38:00 PM.

    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.

  • Week 06 Extra Lecture Video

    Posted by John Shepherd Thursday 31 August 2017, 11:34:00 PM, last modified Thursday 31 August 2017, 11:34:44 PM.

    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 Access to Info Problems

    Posted by John Shepherd Tuesday 29 August 2017, 11:19:12 PM, last modified Wednesday 30 August 2017, 10:08:52 PM.

    Webcms3 is currently having difficulties accessing information through the web. Now fixed.

    Problem 1: it is unable to access your marks. Now fixed. 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. Now fixed.

  • spim vs spim

    Posted by John Shepherd Monday 28 August 2017, 04:05:05 PM.

    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.

  • Assessment for Ass1

    Posted by John Shepherd Saturday 26 August 2017, 04:24:14 PM, last modified Saturday 26 August 2017, 04:27:29 PM.

    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.

  • Bonus Lecture Video

    Posted by John Shepherd Thursday 24 August 2017, 11:23:57 PM.

    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.

  • Assignment 1

    Posted by John Shepherd Sunday 20 August 2017, 08:38:04 PM.

    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 :-(

  • Installing Spim

    Posted by John Shepherd Sunday 20 August 2017, 05:34:14 PM.

    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

  • Access to COMP1521 web pages

    Posted by John Shepherd Saturday 19 August 2017, 08:10:09 AM, last modified Saturday 19 August 2017, 09:44:12 AM.

    Something 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).

  • SPIM/MIPS Instruction Set

    Posted by John Shepherd Wednesday 16 August 2017, 12:04:54 AM.

    I've created a summary of SPIM assembly language in the Documentation directory.

  • Things To Do for Week 03

    Posted by John Shepherd Sunday 06 August 2017, 02:47:41 PM.

    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).

  • Lab02 Extension

    Posted by John Shepherd Tuesday 01 August 2017, 09:12:46 PM, last modified Tuesday 01 August 2017, 09:13:38 PM.

    Lucky You!

    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.

  • Quiz1 Reminder

    Posted by John Shepherd Saturday 29 July 2017, 07:46:01 PM.

    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.

  • Lecture Videos

    Posted by John Shepherd Monday 24 July 2017, 03:40:24 PM.

    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.

  • Tutes and Labs start in Week 1

    Posted by John Shepherd Sunday 23 July 2017, 12:59:18 PM.

    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.

  • A place for Musing

    Posted by John Shepherd Thursday 20 July 2017, 04:55:20 PM, last modified Thursday 20 July 2017, 04:55:58 PM.

    Rather than clagging the course web page with First/Second/Third, etc. I've made a page for posting random thoughts about COMP1521.

  • Welcome to the Inaugural COMP1521!

    Posted by John Shepherd Sunday 16 July 2017, 02:48:06 PM.

    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.

    We'll be using Webcms3 as the platform and a skeleton Course Website is already in place. The Course Outline has more detail on what's in the course and how it will run.

    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!

Back to top

COMP1521 17s2 (Computer Systems Fundamentals) is powered by WebCMS3
CRICOS Provider No. 00098G