CITS2002 Systems Programming  

Unit home

Lecture & Workshop
recordings on LMS



C textbooks

OS textbooks

Information resources

Extra reading

Past projects

Recent feedback

Working effectively

CITS2002 Systems Programming - Project 1 Feedback (2022)

Thanks to the 89 (of 390) students who completed this survey. Presented below are links to your feedback, including all 'numeric' questions, and the ones for which you provided comments (including the 12 comments from students who asked for theirs not to be published - although they were all very reasonable and polite comments).

Please have a look through the comments of your peers, and the replies I've made in blue to some of them.

If you're a student who felt that the project was far too difficult, or even far too easy, you'll see the diversity of opinions and comments from other students.

Any follow-up comments or questions via email, or on help2002, are most welcome.

A number of the comments stated that the project description should have better identified possible edge-cases, and provided examples. In computing, an edge-case is a condition that occurs at the extremes or boundaries of data, requiring special attention to avoid them, or to specifically code to detect them. A typical example involves dealing with arrays - we need be concerned with array elements at either end of the array, so as not to exceed the array bounds. Or, perhaps, checking that function parameters are never negative, etc.

This project didn't have any edge-cases. Each input file consisted of two types of lines, comments and valid data lines, with the number of columns on each data line clearly defined. Any other line was, by definition, an invalid line. Invalid lines did not have to be specifically detected, diagnosed, corrected, or reported other than stating that they were not recognised. And that is exactly what the sample solution did. The whitespace-separated columns of the data lines were also well defined - integers within a defined range, 3-character lowercase strings, or asterisks. You could easily have experimented with the sample solution, then tested your own projects, with lines of random characters.

Chris McDonald
September 2022.

The University of Western Australia

Computer Science and Software Engineering

CRICOS Code: 00126G
Presented by [email protected]