Dear All,
In my Week 4 Monday lecture, I explained how to get the linear time complexity for both union tree and intersection tree. If you did not attend the lecture, please watch the lecture recording.
Best,
Hui
Dear COMP9024 Students,
We had a difficult term due to Covid-19 pandemic. In spite of the difficult situation, many students worked very hard and completed all the assignments, especially the last one. I would like to congratulate the following students who got full marks in all the four assignments:
Chen, Yuanzhao
Kwanda, Rittisak
Ly, Danny
Ma, Xizhen
Ren, Yi
Rodionov, Yulia
Shi, David
Tandjiria, Sidney
Wang, Kunpeng
Yong, Fong Chuan
Zhang, Zixuan
Zong, Yi
Well done guys!
I wish everyone all the best in your future study!
Hui
Dear Students,
Please read the following two announcement very carefully.
Announcement 1 : Assignment 4 marks
Assignment 4 marks have been released. I appreciate your individual efforts in giving your best with both the solution and design manual. Please check your marks and email me (sidra.malik<at>unsw.edu.au) for any queries by 17 th May, 9 pm. Below are the cases for which you should be contacting me. Please note Do Not send emails to LIC or Admin, directly email to me. Your email subject must start with: [Assignment 4][zid Name]
I will release the stats after attending to the queries.
Announcement 2: A1, A2 A3 Marks
Dear All,
Please make sure all those who have submitted A1,A2,A3 have been marked. If for some reason you haven’t been marked (please note we will not accept any new submissions) please let me know by 1 7 th May, 9 pm today as we have to finalize the results soon.
Your email subject must start with: [Assignment #][zid Name]
Thank you all and Good luck.
Best regards
Sidra
Dear All,
This is just a reminder.
Best,
Hui
Dear All,
As many students may still need help, we will continue to offer online help sessions as before this week.
All the best,
Hui
Dear All,
The last assignment requires you put together your knowledge about arrays, linked lists, priority queues and graphs and design complex data structures and associated algorithms.
First of all, you need to work out the major data structures for representing the edge-weighted digraph for the bus network. The key data structure is the adjacency lists which is a one-dimensional array where each element stores the corresponding bus stop names and a pointer to a linked list that stores all the outgoing adjacent vertices with respect to the vertex denoted by this element. In addition, each element of this array may need to store other information depending on your design. For example, you may find it is necessary to store a pointer to the node that contains the information of this vertex when you use a priority queue for Dijkstra's shortest path algorithm.
For each node in an adjacency list, your may need to store the distance between the two bus stops and a pointer to another linked list that stores all the buses stopping at this vertex (bus stops).
For the problem of finding maximal strongly connected components, you need to be aware that the digraph is a special one, not a general one. If you use DFS or BFS to find maximal strongly connected components, you need to prove that your algorithm is correct, i.e. using DFS or BFS is guaranteed to find all the maximal strongly connected components.
For the priority used in Dijkstra's algorithm, you need to implement another operation (function) updateKey( int index, int newKey), where index is the index of the vertex and newKey is the new key of the vertex. With the index, we can directly get the pointer to its node in the priority queue via the additional pointer stored in the one-dimensional array in O(1) time.
What I suggested above is just a guide. You need to work out the C data structures. Of course, you can have your own wisdom and creativity to design better data structures and algorithms.
In summary, you need to have a global view of the data structures and algorithms for this assignment before coding.
Stay safe and healthy,
Hui
Dear Students,
Assignment 3 Marks have now been released.
In case you have made a submission and you haven’t been marked, please let me know.
Here is a graph showing the marking range:
Best of Luck for A4.
Regards
Sidra
Dear All,
Yesterday (Saturday) my dear younger brother suddenly passed away. I will try my best to answer your questions in time. If I won't, please bear with me.
Stay safe and healthy,
Hui
Dear All,
Please fill out the MyExperience survey. It will close on 1 May.
Your feedback and suggestions are invaluable. We have had difficult time due to Covid-19 pandemic. Therefore, I'm keen to receive your feedback and suggestions on online teaching & learning.
Have a good weekend and stay safe & healthy!
Hui
Dear All,
Somehow I removed a part of the lecture recording of Graphs (II) when editing it. The part removed includes strongly connected components. I have made it complete. Sorry for the mistake.
Best,
Hui
Dear All,
Please download the four sample input files again as previous files were not complete.
Best,
Hui
Dear All,
I have released the exam paper that was written for this term. You can find it on the Problem Sets page. As you all know, there is no more exam. Some students want to know what the exam looks like. Therefore, I release this exam paper. You may have a try to test your understanding of course material.
Cheers,
Hui
Dear All,
I have added more instructions about the main function and README which read as follows:
Main function
Your program needs to include a main function for testing all the four functions. You have freedom to design your main. However, you need to describe how a user uses your main to test your program with different files defining a bus network in MEADME.pdf.
README.pdf
You are required to prepare a file named README.pdf. README.pdf should contain the following components:
1. A paragraph that gives a simple description of the command for compiling your program and the platform you used to run your program.
2. Detailed descriptions about how to test your program using your main function.
3. Any other useful comments for marker.
Cheers,
Hui
Dear All,
I have made changes to the parameters of the last two functions. Now the parameters of the last two functions include four more parameters which collectively define a bus network. I also fixed several typos. Please download the specification again.
Best,
Hui
Dear All,
The last assignment has been released. As I said in the lecture, this assignment is significantly harder than all the previous assignments. Since the final exam has been cancelled, we use this assignment to partly replace the final exam. You need to work more independently. Hence, I will not provide any C template and sample main function. You need to work them out on your own.
This assignment may take a large amount of time. Please start as soon as possible.
Online help sessions will continue next week, and will be no longer available in Week 11. However, I will continue to provide online consultation in Thursday afternoon and answer your questions on the forum.
There will be no lecture next week.
Stay safe and healthy!
Hui
Dear All,
If you don't know how to connect to CSE using VLAB, please refer to the guide entitled "Connecting to CSE Using VLAB" in the left pane of the course homepage.
Best,
Hui
Dear All,
In order to make marking easier, please make sure that your program can run on CSE Vlab. At least you need to give the platform your program runs at the beginning of your program as comments. Thanks.
Best,
Hui
Dear All,
This is a reminder. If you have not submitted it, please remember to do so by 11:59 pm tomorrow.
I will release the last assignment this Friday morning.
Best,
Hui
Dear All,
Sidra and Sahil will be running the help session 6pm - 8pm today. If you have any programming questions about assignment 3, please attend it.
Cheers,
Hui
Dear All,
Assignment 2 marks released, and I would like to make things clear as you may fall in one of these situations. Thus, please contact the right person.
1- If you submitted the assignment and your mark NOT in WebCMS3 , Please contact me directly. My email address is w.alghamdi@unsw.edu.au.
2- If you would like to discuss your mark , please contact the Assignment 2 tutor who mark the assignment for everyone. Her name is Sidra, and her email address is sidra.malik@unsw.edu.au
Good job everyone.
Regards,
Wael
Dear All,
I offer consultation via MS Teams. My ID is my email huiw@unsw.edu.au. You can also find my name on Teams. I will be available 2-5pm Thursday. For other time, please make an appointment.
Cheers,
Hui
Dear All,
I have included the marking scheme for Assignment 2 to the assignment specification.
Marking scheme:
1. Implementation of binomial heap 4 marks
2. EDF Task scheduler (90%) + time complexity analysis of task scheduler (10%) 6 marks
As we may expect different implementations, 4 marks for the implementation cannot be distributed to each function.
For the EDF yask scheduler, the time complexity is worth 10%, which is 10%*6= 0.6 mark, and the task scheduler is work 90%, which is 90%*6=5.4 marks.
The deadline is 11:59pm Thursday 16 April.
Cheers,
Hui
Dear All,
Engineering Faculty has made it clear that any course giving Pass/Fail this term will be excluded from WAM. So your result in this course will have no impact on your WAM.
Best,
Hui
Dear COMP9024 Students,
The final exam has been cancelled. The new assessment scheme is as follows:
I have had a difficult time in order to make a reasonable decision. We have no way to ensure the accuracy of an online exam. I understand that many students would be disappointed with this decision as they have been working very hard and expect to receive good marks. I feel very sorry for those students.
What I want to emphasise is that what you have learned in this course is most important. Without the final exam, you can put more efforts to understand the course material and improve your skills in algorithms and data structures. In addition to assignments, you can practise on the weekly problem sets and questions in the textbooks as well as the questions on internet. For example, this website hosts a large number of questions on data structures and algorithms:
https://blog.usejournal.com/500-data-structures-and-algorithms-practice-problems-35afe8a1e222
I also added this link to Online Resources on the course website.
Since we have no final exam, we have more time for assignments. I will extend the deadline of Assignment 3 to 16 April and will give you more time for the last assignment.
Best wishes,
Hui
Dear All,
I have released Assignment 3. Again, you work solo. The deadline is 11:59pm Sunday 12 April.
I prepared an video for this assignment. The video is with lecture recordings on the course website on Moodle and has the title " Video for Assignment 3".
Please start working on it as soon as possible.
Cheers,
Hui
Dear All,
Please remember to submit it.
Best,
Hui
Dear All,
It covers pattern matching, tries and greedy method and is 2 hours and 47 minutes long.
Have a nice weekend.
Hui
Dear All,
Echo is extremely slow in processing lecture recording today. The lecture recording has been processed for almost 4 hours and is still not done yet.
Sorry for the delay.
Best,
Hui
Dear All,
If you have not completed the poll, you still can do it. I have extended the deadline to tomorrow night. Many thanks.
Best,
Hui
Dear All,
Could you complete the poll by 10pm tonight? Many thanks.
After you click on Activities in the left pane, it will lead you to a page as shown in the following screen shot. Then click o Final Exam.
Best,
Hui
Dear All,
I just forgot to mention that the final exam will be an online one if it is not cancelled.
Best,
Hui
Dear All,
Engineering Faculty is planning to have Pass/Fail for all the courses in this term without giving course marks. If the decision is finalised, you will receive either Pass or Fail in this course. I have created a poll about the cancellation of the final exam. I want to know your opinion.
There are three choices in this poll:
1. I prefer to have the final exam and receive marks instead of Pass/Fail.
2. I prefer to have the final exam and receive Pass/Fail instead of marks.
3. I prefer to have the final exam cancelled and receive Pass/Fail.
Please select one only. You can change your mind and reselect one.
To complete the poll, please click on Activities in the left pane of the course homepage. The deadline is 8:00pm this Saturday.
Many thanks.
Best,
Hui
Dear All,
I encourage all of you to post your questions to the course forum as your questions and answers are visible to all the students. I try my best to answer all the questions in a timely manner.
Best,
Hui
Dear Students,
I have released the marks for assignment 1. I would like to point out few comments on this assignment.
1- I have marked it for the entire class so please consult with me if you have any question or if you wish to discuss your mark. DO NOT email the LiC (Hui Wu) to discuss the mark (unless stated in my comments otherwise). I will have virtual office hours on Wednesday 25 of March from 7-9 pm. I will be happy to respond over email, Microsoft Teams (z3478725@ad.unsw.edu.au), and WeChat.
2- I have made comments for every students who did not get a full mark. However, I was very nice in marking and consider the fact that some of you did not take the programming fundamental course yet. **If you Submit the assignment and your mark is not shown please drop me a line**
3- Some submitted code did not run or compile even though I was using “cse vlab”, However I still went through the code and marked it. If you think your mark unfair, that’s why I do have virtual office hours. Come and talk, we can fix it.
4- Very rarely, Some people got “Zero”, not because their mark is actually zero, but because I need to consult with the student and mark it again.
5- Always useful to leave comments in your code, it helps both of us…
6- Please check you code before submission especially if you had to modify the given main method. I had to fix some codes to make it run.
7- Please, next time follow the instructions of the file name, what and how to submit.
8- Take a look for the Marks Ranging if you like. The x axis is the marks range while the bars is the number of students who their marks fall in that range. Good Job everyone...Well done:)
All the best,
Wael Alghamdi ( Course Admin)
z3478725@ad.unsw.edu.au
To all students who are currently not in China:
Please go to the Moodle course webpage where there will be a section ‘Online Consultations’. There is a link under that section “Link for Online consultation sessions”. Click the link to join an active consultation session (powered by Blackboard Collaborate) named by the date and time.
(Wednesday – 12:00 -2:00 PM and Friday 6:00 – 8:00 PM)”
To make up for the lost consultation session last Friday, Sidra and I will have a make-up help session on coming Monday, 30th April, 6:00 – 8:00 PM.
Best regards,
Sahil
Dear All,
On the previous slide 13, there is a paragraph that reads as follows:
- As this restructuring may upset the balance of another node higher in the tree, we must continue checking for balance until the root of T is reached.
This is wrong. This slide was taken from the book "data structures and algorithms in java" written by M.T. Goodrich, R. Tamassia, and D.M. Mount, and I forgot to remove it.
I have removed this paragraph and added the following sentence:
After this restructuring, the whole tree becomes balanced.
It is easy to prove that at most one tri-node restructuring is required. We just need to prove that after the tri-node restructuring the height of the subtree rooted at node b is equal to the height of the subtree previously rooted at z -1, which is straightforward.
However, in programming, we still need to visit all the ancestors of node b to update their heights.
Thank Yuan Tao for pointing this out.
Best,
Hui
Dear All,
It's available now. At the beginning, I was not used to giving a lecture without any audience and had a slip of tough. removeMin() or removeMax() is actually removing an item with the highest priority. Sorry for the mistake.
Have a good weekend,
Hui
Dear All,
This is a reminder that all the lectures, consultations and help sessions are online.
Sahil and Sidra are still working on the setting of online help sessions. We plan to use Blackboard Collaborate on Moodle for online help sessions, and online help sessions will start in next week.
For the scheduled help session today, we move it to next week, likely next Monday. We will inform you once the online help session setting is done.
Cheers,
Hui
Dear All,
Due to the increasing impact of COVID-19, all the lectures and help sessions will go online from tomorrow.
Sahil and Sidra are making preparations for online help sessions for all the students in Sydney. We will inform you of the details about online help sessions soon. For students in China, Wael will continue to help you as before. Please let me know if you have any issues.
For lectures, watch the lecture videos hosted on the Moodle course site. As before I will answer all the questions posted to the forum each day.
My in-person consultation on Thursday also goes online. Please post your questions to the course forum (recommended) or email them to me.
Stay safe and healthy.
Hui
Dear All,
I explained how to achieve O(m+n) time complexity for the AVL tree union at the beginning of lecture this afternoon.
Cheers,
Hui
Dear All,
This is a reminder for assignment 1. Please remember to submit it by the deadline.
Best,
Hui
Dear All,
Two slides have errors:
1. On slide 20, the rotations for two zig-zag cases were wrong.
2. On slide 24, two depths were wrong. You can easily spot the wrong depths.
I have fixed all the errors on both slides. Sorry for the errors and thank Vishal Bondwal for poiting the errors on slide 24.
Cheers,
Hui
Dear All,
Assignment 2 is available. The deadline is 10:00pm Sunday 29 March. Again, you work solo.
Please read the assignment spec carefully to understand the requirements and download the C template.
Have a good weekend,
Hui
Dear All,
Friday Help Session is 6-8pm at Organ Lab (beside Piao Lab), NOT Piano Lab.
Best,
Hui
Dear All,
Just a reminder of the time change.
Cheers,
Hui
Dear All,
I just want to confirm that the deadline for Assignment 1 is
Sun 15 March 2020 at 10:00 PM
. If you have been restricted from traveling because of the travel ban, Please be notified that this time is based on Sydney time.
Please consider the time difference
.
Regards,
Wael
Dear All,
If you are using Eclipse C on Windows, please read
https://webcms3.cse.unsw.edu.au/COMP9024/20T1/resources/43299 .
Best,
Hui
Dear All,
As I explained in last lecture, the time of Wed Help Session (Lab) has been changed from 2pm-4pm to 12pm-2pm. The venue is still Piano Lab.
Best,
Hui
Dear All,
Assignment 1 is available now. You work solo. The deadline the Sunday of Week 4.
What you need to do:
1. Download the C template.
2. Download the two text files which are used by the sample main.
3. Implement all the functions.
Cheers,
Hui
Sorry guys. It start at 2pm, NOT 4pm. My apologies.
Hui
Dear All,
Piano Lab is a small CSE lab right below Physics Theatre.
Cheers,
Hui
Dear All.
If you cannot run a program, it's likely that you have not set up the path for the C compiler on Windows.
Read https://www3.ntu.edu.sg/home/ehchua/programming/howto/Cygwin_HowTo.html#cygwin for setting up the path.
To add an environment variable to Windows 10, read https://www.architectryan.com/2018/08/31/how-to-change-environment-variables-on-windows-10/ .
Cheers,
Hui
Dear All,
If you have an issue in launching Eclipse for C, re-download it here https://www.eclipse.org/downloads/ . This is an installer. Run it and select Eclipse IDE for C/C++ Developers. Also remember to download a GCC compiler.
Cheers,
Hui
Dear All,
CSE Careers Fair – for industry
When: 25 February 2020 - 12:00pm
Venue: Leighton Hall, Scientia, UNSW
For details, refer to https://www.engineering.unsw.edu.au/computer-science-engineering/news-events/all-events/cse-careers-fair-%E2%80%93-for-industry
Cheers,
Hui
Dear All,
The first lecture recording is available. Click on Lecture Recordings in the left pane. It will bring you to COMP9024 Moodle site. After signing in using your zPass, scroll down and click on Access to your Lecture Recordings. Note that COMp9024 Moodle site is for watching lecture recordings only.
Cheers,
Hui
Dear All,
I have added more contents and fixed a bug in Example 2 on the third to last page. Many thanks to Yuan Tao for pointing out the bug.
See you later.
Cheers,
Hui
Dear All,
Welcome to COMP9024, 20T1. This is
Wael Alghamdi,
the Course Admin.
If you have any admin issues such as deadline extension for assignments, please either email me at (W.alghamdi@unsw.edu.au), or catch me in my office Monday and Tuesday (K17-205).
I would like to point out a few things:
1-
All Chinese Students who are unable to attend classes because of the travel ban, MUST come to campus to take the final exam OR supplementary exam before T2. And please fill up the form below:
2-
There are several online resources about Eclipse C/C++ IDE and C.
* How to Install Eclipse IDE for C/C++ Development Complete Guide for Windows......
[PLEASE CLICK HERE]
* Using Eclipse for C, get involved and familiar......
[PLEASE CLICK HERE]
* C Programing Tutorial.. Learn C Programing.....
[PLEASE CLICK HERE]
3- Under the "Course Work" Menu, in the left hand side, I have initiated a Practice Online Resources. This is where I am going to post Practicing materials from online resources. Please keep an eye on it.
Thank you!
Wael
Dear All,
In the previous course outline, time and locations were incorrect. I have fixed them and added links to the locations so that it's easier for you to find them.
The current lecture notes and problem sets are mainly for those who study in advance, and may be subject to change. The latest lecture notes will be available the day before the lecture and the latest problem set for each week will be available on the Monday.
Only recently, CSE removed COMP9021 from the prerequisite of COMP9024. To help students who don't have any programming experience, I will arrange two labs, starting with Week 2, where you can get help from tutors. Details about labs will be available early next week. Depending on the need, I will arrange more labs if needed.
The programming language in this course is C. C is used in all the four assignments and will not be examinable in the final exam.
There are two assessment components:
1. Four assignments (40%).
2. Final exam (60%). The final exam is a written exam.
See you guys at 4pm at Physics Theatre next Tuesday.
Cheers,
Hui
Dear All,
The correct start time for all the lectures is 4:00pm, NOT 6pm. Sorry for the mistake in the previous announcement. Thanks Carolina Ibacache Astudillo for pointing this out.
For those working full-time, please make proper arrangements for the lectures (twice a week, Tue and Fri).
All the best,
Hui
Dear COMP9024 Students,
Welcome to COMP9024. Please read the course outline for the course summary. The course URL is https://webcms3.cse.unsw.edu.au/COMP9024/20T1 , please bookmark it.
The course website contains all the course material, including lecture notes, assignments, problem sets and solutions, and lecture recordings.
For those who are affected by coronavirus, you can watch the lecture videos. The lecture video of each lecture will be available early next day. All the assessments, excluding the final exam, can be done remotely online.
If you have any questions, please post your questions to the forum or email them to me if necessary.
The first lecture will be at 4 pm next Tuesday at Physics Theatre. See you guys next Tuesday.
All the best,
Hui Wu