CITS2002 Systems Programming  
 

Unit home

Project 1

help2002

Lecture & Workshop
recordings on LMS

Schedule

FAQ

Unit outline

C textbooks

OS textbooks

Information resources


Extra reading

Past projects

Recent feedback


Working effectively

Look after yourself!

CITS2002 Programming and Systems - Project 2 Feedback (2015)

Q9: Any comments or suggestions about the nature of the project?

  • Compared to other assignments/projects this was by far the most time consuming for me, i found it challenging and throughly enjoyed it, thank you Chris again for the effort you put into not only the project but the unit as a whole, it is by far the best value for money unit i have taken, keep up the cracking effort and passion for teaching it really shows!
  • I thought this was a fantastic project that challenged us to find solutions on our own, however it was quite tricky to get your head around initially. I feel that a lot of students didn't understand good programming practices and recursion or perhaps just couldn't visualise how the project fit together as a significant part of it (the parser) was already done and difficult to understand.
  • I loved the fact that this project has given me so much more of an insight into how shells and the overall computer works. It was challenging but rewarding. My only critisim is the steps that guided the completion of the project could have been worded better as i found some words were being used in two different contexts which became confusing.
  • The tutor in the CSSE lab was not helpful at all [Chris truncated the slight attack at the end of this comment].
  • Found the first project more difficult. This one was more guided (in a good way).
  • The project itself was truly fantastic. I think it was a a great way to combine the system and OS learning with the C programming that we generally do. I do have to say that the timing and organization left a lot to be desired. I think a project of this magnitude should be released much earlier and also be due much sooner than it was. This sort of deadline lead to me especially working on the project until the last day and then only having one week to get ready for the exam which is frankly much more important than the project in terms of marks. However, i do have to say that this project was a massive improvement compared to Project 1. Chris is an amazing teacher and he always supports help and that sort of thing on Help2002 and i think he is probably one of the best teachers that i have encountered in my life. I guess the only complain from me would be to just figure out a better way to organise the course so all deadline do not end up on the last day of the semester. Thanks for an amazing experience.
  • The 2nd project was alright in terms of difficulty, but it was overwhelming at first since there were a lot of concepts that we haven't encountered before like piping, file redirection and scripts. Thus it took me about a week before I started coding. The web program that displays the CMDTREE structure was a big help, though.
    I don't view projects as reasons just to assess what is already known, but as an opportunity to learn new things while applying them to the problem being solved. Reading, learning, designing are all part of projects, and CS, too; there should be no expectation that coding has to begin on day 1.
  • I preferred this project to the first one as it was more involved with the operating system topics.
  • I would have been interested in learning how to write the parser from scratch but that may have made the project's time requirement to be too long with other subject's final projects due at the same time. For some reason people in the unit thought the project was hard but it was incredibly basic in programming difficulty compared to some algorithm and data structure problems. I have no idea why students are given concessions in CSSE for projects which require research. The instructions were very obvious, all that was required was research and application. I would have preferred to get this project before the study break but did not find it hard to finish as a solo assignment in the time given.
  • it was unclear how to begin working on the project. Once over the initial hurdle all the tasks were laid out well
  • Look here, bit too hard [then Chris truncated the childish part]
  • This project was very interesting, it really helped me understand more about procceses, and how C language communicates with the Operating System.
  • we know how a fork works now so that it was probably a pretty good project. gotta say, thank you Chris for the project steps, we'd 100% have died without them.
  • Very interesting project. I had to go outside of the lecture content and do my own research occasionally, which is exactly in line with the method of learning stated for the unit.
  • There was too much guidance and hand holding in the project. Unlike the first project thr second was broken down into a series of very clearly defined steps, and recommendations were given for how to approach each individual step. This made completion of the project almost feel like following a tutorial. While I understand these were probably concessions made in the aftermath of the unit's inability to handle the (very fair) first project, perhaps not providing recommendations, and making students seek out the appropriate functions on their own, could have made for a more appropriate level of difficulty. I did very much enjoy.the second project.
    Glad that you enjoyed the 2nd project; your early comments (unfortunately) kindle the feeling of "you can't please everyone".
  • The restrictions on the use certain functions should have been stated as part of the initial brief i.e. not to use execvp() and system(). Understand why they were not allowed but would have been good to know up front. Other that all good, learnt a lot from doing the projects. Filled some gaps ( some quite large ) in my knowledge of C and the inner workings of Operating Systems.
    The clarification about the restrictions on functions was made on the 4th day, and more to cement the (I wish, obvious) idea of what's in the spirit of systems-focused projects - you don't implement or learn about the technical features of a shell by just calling an existing shell.
  • According to the feedback from project 1, it was marked too strictly. In the 1st project, we just wrongly wrote a path which led my program (can run successfully) failed the test, but it took off 5-6 marks of total. Also the requirement didn't write anything about that. And for a question of 6 marks, why could we get a -2 marks!! That is too cruel for us!!!
    It's unclear why you're commenting on the marking of the 1st project here. If you had concerns about project marking, there was a period of about 2 weeks in which you could have asked for further explanation or a review.
  • Without the command tree parser it would have been really really hard to do.
  • In my mind, programming is aimed to solve problem efficiently, cause I learned c before,I solved this problem without class material and I tried my best to solve the problem and let it execute nearly 1 sec to finish, I succeed, but I failed on structure and bin and I lost near half of marks. I think teacher can be more flexible in the future.
    This comment also seems related to the marking of the 1st project?? Agreed, efficient programs are desirable, but of greater importance are correctness, readability, and maintainability. These have been 'themes' consistently emphasised throughout this unit.


Q11: Do you have a single-line comment for future CITS2002 students?

  • Allow plenty of time for completion of projects, little bugs that "can be finished later" can sometimes be deceivingly time consuming.
  • Hard but worth it
  • Make sure to start on the project early, and make sure to have a partner that is equally as dedicated to the project or there will be a big gap in the teamwork.
  • This unit is a must iff you already love programming
  • Hopefully you get Chris as your unit coordinator!
  • Start Early people :P
  • Study the C language before undertaking this unit even if you have done other programming units so you can focus more on the theory aspect (operating systems) and not be bogged down with difficult concepts in C (such as pointers and memory management).
  • This is the best taught CS unit at UWA, if you find it too hard, I recommend changing your major.
  • You'll love this unit if you stay up to date on your lectures.
  • remember, no matter how bad this unit seems, or how much you struggle with labs or projects, [then Chris truncated the criticism of a different unit].
    May have been good to read what was so bad about this unit, as your other feedback indicated that, at least, you enjoyed the 2nd project.
  • Put the work in, and ask for help if you need it.
  • Go to the lectures. It's all there.
  • please take this unit prudently.
  • Make sure you have someone to bounce ideas off (even if you're working alone), talking about your program sometimes lets you see the solution.

The University of Western Australia

Computer Science and Software Engineering

CRICOS Code: 00126G
Presented by [email protected]