CITS2002 Programming and Systems - Project 1 Feedback (2016)
Q8: Any comments or suggestions to improve the project assistance in
future years?
The amount of people in the lab during the project time meant that
there wasn't much time for individual help, maybe adding another lab
demonstrator or extra lab times during the last week of the project
would be helpful, and ensure the students are aware of the extra time.
Fully agree;
unfortunately we're rather constrained, financially,
as to the number of people able to help in labs and mark projects.
I appreciate that you won't like the comment - but labs are often far
quieter in the first two weeks of projects (in all units).
Need clearer clarification from the project
The difference between the tutor's and the Chris' understanding of
the project requirements was a bit on the large side.
Perhaps more of the Unit Coordinator's responses to student questions
on help2002 could be consolidated on the Project Clarifications webpage,
to save students from feeling the need to regularly trawl through help2002
for useful clarifications.
It appeared less necessary, but we took this on for the 2nd project.
An effective alternative to 'trawling' the forum is to read it a couple of
times a week, search, and to flag articles for later reading.
Assistance at the hours of deadline?
Maybe increase the number of lab hours during and one week prior to
project deadline. Because in the last week, there weren't enough seats
to attend the lab as it was occupied by previous lab members.
I found the help programs (to generate and view the execution of
scenario files) extremely useful - in fact, I wish I'd had something
similar for projects in previous programming units. However, I was unable
to access the CSSE iMacs remotely, which was a real inconvenience given
a hectic mid-semester test schedule and a two-hour commute to campus. I
understand the problem was reported to BITS but it would have been
helpful if it had actually been fixed :)
Glad that you found the helper programs useful.
External access to the iMacs certainly was a problem,
which I understand was far better for the 2nd project.
After encountering an error which literally erased our work we
attempted to contact the coordinator and the 'assistance' that was given
was completely useless.
When you contacted me you stated that you'd overwritten your project's
source code on your personal laptop, and that you had no backup.
What assistance were you seeking?
I literally had no idea there were lab demonstrators available to
help during the project period (I guessed I missed the one announcement
that was made about it in the help forum - amongst all the other
hundreds of student questions/ announcements). Next time make a specific
thread/sub-forum thats devoted purely for project related questions/
announcements (having just one massive thread for each and every type of
question and announcement really makes it difficult to search for topics
that might be of help to you). Or a suggestion thats probably more common
sense than anything - put such information on the project website page.
The lab demonstrators need to show more enthusiasm! Show us that you
actually want to be there, or if this isn't the case, at least act
like it. One of the most off-putting things is raising your hand for
help, but feeling like your annoying the lab demonstrator because they
just seem uninterested. If you sign up for this type of role, which is
fundamentally all about interacting with students, then expect to do
these types of things, connect with your students, be approachable, act
like your actually there to help! One big suggestion that could easily
solve this issue is simply asking everyone on a regular basis how they're
going with the work? are they have any trouble? that is, be a proactive
tutor, don't just sit back in a chair and wait for students to call on
you instead. I always feel like a burden on the tutor if I constantly
have to get the tutor out of their chair to help me. We want to feel free
in asking questions on a regular basis, not feel like a burden. Yes we
understand that you may be doing your PhD and thus may be dreading life
at the moment, but we can't help that. If you can't at least act like you
want to be there and want to help, or simply just don't understand that
a major part of teaching is connecting and interacting with students,
then please stop tutoring.
Two out of the four times I went into a scheduled lab time the lab
assistant was not there. Chris was very helpful in his answers but one
of the other lab attendants just made things even more confusing.
If you find a scheduled lab unattended (for any unit),
please tell someone who can try to arrange a replacement demonstrator.
I feel as though the project needed clearer directions as to what
happened one certain edge cases (for instance, when two processes become
ready at the exact same time). There also needed to be some guidance on
roughly how the system should have been implemented (e.g., should it
have been something where we skipped ahead moments in time, or was it
find to have a system where there was a while loop that ticked through
one microsecond at a time and where performance didn't matter).
Make sure the lab tutors understand the project requirements
Maybe give us more time to complete the project sheet. And also
work is a larger group instead of 2. (maybe?)
The issue with this project for my partner and I was the fine
details(such as: how many micro seconds should the project run for, what
can we assume and what can't we assume with the I/o, how was the current
sector calculation implemented so that the rounding resulted in the same
error as the sample solution). We understood the theory however we would
have liked some more guidance with regard to how about initially tackling
the project at an earlier stage ie (maybe running through it micro second
by micro second). Also It would have been more accurate if the exact
calculation order for the current disk sector was provided(ie a/b*c*d
may not provide the same answer as b*c*d/a due to rounding) ,and there
just wasn't enough time to successfully check all of these details. I
also think since we understood the whole process (ie.queing and states)
but not the fundamentals of how an actual processor operates this made
it challenging
an animated video explaining the project as if I was 5 with a
narrator called ""Mr C"" would of made the project much easier. Seriously
though, maybe slightly reorder the information so that the input file
came first so I had context for the rest of the information. Though I
don't think it would make a big impact.
Make it easier please
Some more guidance or tips on how to actually approach and structure
the problem in our code. As in coding the same result can be achieved in
hugely many different ways, we found if you try to approach the problem a
certain way, it may not be the right way to go about it later on, and you
have to restart from scratch many times using different approaches. This
caused countless hours spent on the wrong approaches.
I don't think any changes need to be made. If people need one on
one help, the lab demonstrators can offer assistance. Chris answered
all questions relating to the project quickly on the help forum, and the
answers he supplied were very helpful. basically any help you would need
with this project can be sought with the current setup no
Longer time frame, perhaps release the project earlier.
Q12: Any comments or suggestions about the nature of the project?
The project certainly helped my understanding of the read-write-block
processes but was hard to translate into a program in the time allowed.
I felt this was an incredibly difficult task compared to all
of my other second year units, but in a way it was a good learning
experience. Maybe if more warning was given as to how difficult and time
consuming the project actually is I would have been able to finish it
(I was really looking forward to seeing it work properly!).
I can see where the project was trying to go and how it related
towards the course however it seemed very ambiguous. Didn't seem to
be much of a focus on programming but rather trying to understand what
the project was after. It was also difficult to clarify what we needed
to do as there seemed to be discrepancies between lectures, help forum
and lab facilitators. I understand your desire to put us into a more
realistic programming environment where we aren't 'spoon fed' what we
have to do, but personally i just think the project needed to be a little
bit clearer. I thought i had all the material and programming skills
necessary to complete the project but i just couldn't quite understand
exactly what i was meant to achieve.
"This project had the perfect balance of being a solid challenge
without being too difficult. The words used on the ""Project 1""and
subsequent ""Clarifications"" pages were slightly ambiguous.
1. We felt the project was very time-consuming for the 2.5 weeks we
had to complete it. My partner and I spent over 60 man-hours collectively
on the code that was used in the submission, plus about 30 more on code
that wasn't. This equates to (60+30)/(2.5*2) = 18 hours per person
per week, which added to the unit's ongoing lectures and tutorials and
associated self-study is well over the recommended 12-hours per unit
per week. Perhaps we spent longer than average, but I still suggest to
extend the time to complete by another week (over the study break). Rather
extend the deadline than simplify the very interesting and challenging
project :-)
I appreciate that you had difficulties with the project but,
politely,
if two of you are spending 90 hours on a project you need to identify what
sort of your problems that you're having, much earlier,
and seek some help.
2. Perhaps a quick refresher on data sorting and string splitting (from
e.g. CITS1001) would have made the processing of the scenario file's
data a little easier.
3. Perhaps if there was a marking key for ranges of %error in total
turnaround, reading and writing times for the automatic marking component,
it would save students obsessing over getting their values absolutely
in line with the sample solution. I felt that for a project worth 15%
it took too much time to complete.
Do it in Python next time
I thought it should have been final project or project after much
about the unit (especially C) was taught as it gives more confidence
approach for such a project
We have found other students in the unit to be using methods that
were not taught in the unit to complete the project. My partner and I
actively went through the content of the unit and was unable to figure
out how to do it. Was unable to complete and we were left completely lost
and confused about the project. The project given to us was worded vaguely
and was often conflicting to how the lecturer was taking the project.
We do have a wide diversity of students undertaking this unit;
it's core across a number of different majors, and some students have much
more programming experience than others.
Hopefully the sample solution explained an number of things to you,
but it was developed using only materials discussed in lectures.
Overall, the project was interesting and helped consolidate the
material covered in lectures. However, the simplifying assumptions
caused some confusion at times - for example, as with the precision of
calculations for blocked reading and writing times. It would have been
useful if the project description had been a bit clearer on these details.
Reword the project to make it more comprehendible.
The option of working in pairs should not be made an option, or even
simply ""strongly encouraged"", it should be made compulsory! Only the
very experienced of programmers would have done well in this (let alone
passed) if they had worked alone. For the rest of us, given the timeframe
of the project, and the fact that the average student has 3 other units
to take care of, I truly believe that this project was both unfair and
unrealistic. This project is no where near a one-student-project for
the average student, we are not all experts here, nor do we have all
the time in the world to spend weeks on a 15% assessment. Yes it is
strongly encouraged that we work in pairs, but what about the students
who couldn't find a partner? The students who don't even know anyone in
the unit? Did you guys take that into consideration?
There are many different models to 'getting' people to work together
(as you may see in later Software Engineering units).
Of these, forcing students to work with unknown partner is the approach
least liked by students,
and sees the greatest incidence of stronger students just abandoning their
project partners, and many students learning far less because of it.
Some students simply refuse to work with others.
There's been a considerable loss of community in many undergraduate units,
students willing to help and woirk with each other -
unsure if it's generational or a consequence of online methods.
You'll have opportunity to be forced to work with others in later units.
Im not saying the project was impossible to complete, I am
saying that in the context of having 3 other units to focus on and
the given timeframe, the project was excruciatingly difficult, and
this was exacerbated by the fact that I had no partner, making it
almost impossible. The only reason how I made it possible, was due to
the countless sacrifices I was forced to make in order to complete it
(e.g. compromising my other units, compromising the deadline, my sleep,
my personal life). To put this largely into perspective of how unfair
this is, I don't even sacrifice this much when I study for exams, and
those assessments are worth 50%!
I don't want to sound sarcastic here, but its quite amazing how
similar feedback was given on this unit last year, describing how
difficult the project was, yet nothing AT ALL was done about it. Talk
about being proactive.
I don't view it as being sarcastic,
but you'll dislike my belief that projects need to be difficult
to get many ideas across.
Projects, their difficulty, and student cohorts differ each year,
so it's very difficult to make comparisons based on subjective comments.
The marks for this year's 1st project were higher than last year's,
but was that due to its difficulty, the student cohort,
or changes made this year?
Now that you're at least half way through your degree,
steel yourself for difficult projects in later units, too.
There are two simple ways which can easily solve this repeatedly raised issue:
1) Introduce a system where each of us is allocated a lab partner
at the start of the semester, so that we can actually get to know each
other and work with each other before the actual projects. This would
also almost garauntee that nobody is (severely!) disadvantaged because
they were not able to find a partner. This is exactly whats done in
all of my engineering units, we are put into groups at the start of the
semester, so that we can complete the final project (which is designed
to be a multiple-person project due to the amount of work that needs to
be done), as a group. They do not (severely!) disadvantage students by
designing multiple-person projects and then giving it students and saying
""well...if you don't find people to work with, then your on your own
- yes - do this multiple-person project yourself"". Bottom line is,
if you're going to design multiple person projects - then give us no
reason as to why we shouldn't have a partner (i.e. allocate us at the
start of the year). Don't rely on us to find partners ourselves because
in the certain instance we don't, it puts us in a extremely disadvantaged
position.
2) If you don't want to make the effort to allocate us into partners,
then just design the project as a one-person project. I cannot see
any possible instance of a student being disadvantaged by doing this
(other than the fact that it would be more marking for you, however this
shouldn't be factor though...right?)
3) If you still do not want to make the effort to allocate us into
partners, then give the students who complete the project on their own
bonus marks, for the extra time, effort and sacrifices they had to make
in order complete the two-person-project. That is what I call, ""fair"".
Given the advantage of UNIX based operating systems for programming
in C consider that a student or group of students submitting an assignment
may elect to have the code compiled and run on their choice of Mac-OS or
Linux. As the cost of Mac based computers is prohibitively high and the
labs are not always a convenient place to study this flexibility allows
students more choice of study environment
This is a good point that we have been considering.
We wish to 'force' students to have some exposure to all 3 contemporary
operating systems,
not just provide an OS-X lab for those that might like to try it,
and this unit seems the best one to push this point.
But times (and costs) change, and things are re-evaluated quite often.
I found the project was very enjoyable but I really think the
dead line should definitely have been at the end of the study break. I
understand the logic behind setting he deadline before the break but I
worked for almost 2 weeks straight at the problem and didn't finish.
I think this project overall was very difficult. There were too
many corner cases and conditions that needed to be considered and it
was very difficult to debug what was going on considering that a single
mistake would through the entire answer out of whack (or that bugs would
only manifest themselves many microseconds down the line when something
had gone wrong earlier). I felt as though this project's difficulty was
comparable to one of the most difficult problems I worked on at an older
job and was way above the skill level of many people doing the unit.
We were given little to no help with how to structure large
programmes
the level of programming skills required for this project was to
advanced, considering this unit is not to learn the C language but to
implement it. the university should really have a unit to teach C , it
seems extremely poor on the universities behalf to expect people to just
learn a language along with the main content of the unit. If a student has
learnt Mandarin would you expect them to be able to write in Cantonese?
Part of this unit involves learning part of C,
and we're doing so by providing relatively small problems in areas for which
C is traditionally used.
CS/IT education, internationally, has long moved beyond devoting whole units
to teaching specific programming languages -
just look at how many other topics there are in the CS/IT landscape.
I don't understand your equating the approach of this unit to the learning and
use of foreign languages??
I found it very hard to understand what the project was asking. This
threw a spanner on the works for the planning and by the time we finally
figured it out, it had a large impact on completing the project
I spent literally 50-80 hours on this project which was more time
than I spent studying for 2 level 3 electrical engineering subjects and
CITS1402 combined !!
A better explanation of what was expected with the output (i.e. how
accurate it had to be) would have saved a fair bit of stress
This project was a bit difficult to work on with another student
since it was a bit difficult to break into different parts that can be
written separately. I found trying to coordinate working on this project
with another student a bit difficult due to this. Also finding enough
time to work on it together was challenging.
I struggled considerably with the maths and it was difficult to
find reliable information only. All other aspects of the project were
fairly trivial other then sector checking maths.
honestly i figured it was probably pretty doable, my partner and
i were just both missing something glaringly obvious, which is more our
fault than anything. the project is kind of difficult to research on in
terms of ideas on how to implement it, but i'm guessing that is kind of
the point.
The one thing that did provide some frustration, was that it seemed
students were expected to derive many assumptions and restrictions about
the project, perfectly reasonable and an excellent way to encourage
thought about the concepts tested. However the downside I found was
that despite starting relatively early on the project in a bid to avoid
the last-minute rush much of the details of the more complex parts of
the project weren't uncovered until the last week thus resulting in a
last-minute rush regardless. Perhaps, some more guidance on how long
it should take to reach certain development milestones would make sure
committed students can stay on track; for many students this would be
the first Computer Science project with a more open structure.
My problem was thinking I understood the project, but realising
too late that I was wrong and confused. There was plenty of material to
help, however I was shocked because of my misunderstanding and couldn't
work effectively (stressed) after that time. Previous assignments had
also identified the signatures of methods/functions so it was a shock
that nobody was 'holding my hand'. Despite this I still believe it was
an interesting project that I'd like to have again and a necessary
experience. I felt that the project was extremely helpful in both
solidifying coding practises in C as well as my understanding of the
operating system 5 state model. On a personal note I found that the
time and effort that was required from my partner and I to complete this
project was far more than 15% worth.
It was probably the most difficult project I have attempted in
my time at university. In addition, the number of hours spent on the
project was probably greater than any other as well.
I think it seemed a bit too complex for a first project.
Q13: Do you have suggestions/comments to assist the planning of the 1st
CITS2002 project for next year?
The project was very time consuming and probably did not have enough
time allocated to allow successful completion, given that mid-semester
exams were concurrent. I didn't have time to attend any lectures or
listen to them during the final week, or actually sleep very much.
I then spent the study week catching up rather than working on other
assignments.
Make the project more similar to the labs, only a bit longer and
more difficult. This project was totally different and needed just so
much googling to complete. It said all the knowledge we would need is
covered in the first 5 weeks. Completely untrue.
No, not all knowledge by week 5, but certainly all necessary
programming techniques.
I strongly believe that projects should also provide an opportunity
to learn new material -
it should not be, and can not be, all provided in lectures.
It was very easy to find Chris (outside of lecture times) to explain
things that I misunderstood. Give out this survey after students have
received their marks back.
No
To ensure that the wording of the project is not vague at all with
very specific notes on what is suppose to happen and what we are trying
to achieve. To ensure it is at our level of understanding of what we
were taught.
Unfortunately the deadline didn't sit well with my mid-semester
test schedule and I felt I could have completed the project to a higher
standard with the deadline extended another week. Each semester, I seem to
have all my mid-semester tests and assignment/project deadlines crammed
into the week before the mid-semester break and nothing after the break,
despite lecturers constantly reiterating that it's a break ""to study"",
not a break ""from study"". I appreciate that you didn't want to change
the deadline you had initially set but perhaps take these comments into
account when choosing a deadline for next year. Otherwise, the project
was very well organised.
Choosing deadlines is always a 'tricky' balance, and the non-teaching week
doesn't mean that it's only there to undertake assessment items.
(From my perspective, naturally different to yours) the non-teaching period
actually provides opportunity to get the project marking done;
returning marks within 15 days is otherwise impossible.
I found the project instructions confusing, particularly
understanding what the values in the scenario file represented and
consequently how to go about processing the scenario file. It took a
long time to understand what needed to be done. Without the additional
questions and information on the help forum i'm not sure I would have
completed the project on time.
Given the advantage of UNIX based operating systems for programming
in C consider that a student or group of students submitting an assignment
may elect to have the code compiled and run on their choice of Mac-OS or
Linux. As the cost of Mac based computers is prohibitively high and the
labs are not always a convenient place to study this flexibility allows
students more choice of study environment
I appreciate your sense of humour but maybe try to explain things
as precisely and dry as possible. There were a few times where I
misunderstood the advice you were giving.
Picking something relevant was a good learning experience, but I
think the next project needs to be something more achievable.
Focus a bit more on strategies for breaking down and structuring
large programmes
There should be more coding classes than theory.
I don't understand this comment;
there is no theory in this unit as it is
(understanding how parts of an OS works is not theory; we do not cover,
for example, anything about queueing theory for scheduling,
or resource management for multiprocessing).
Whenever suggesting that additional material or time needs to be added to a unit,
you need to consider what material should be removed,
and ensure that all requirements (such as Accreditation) are still met.
This is not a programming-only unit,
and I believe that laboratories and tutorials provide plenty of
opportunities to develop programming skills.
Yes if it involves simulating a processor please explain how a real
processor operates using the clock ect.
Perhaps more time to work on the project. Particularly for people
working together since it seems difficult to work on this type of
project separately.
Smart sheet is a good progarm for project management. It was a
very good project overall .... Thank you
think harder, probably.
Perhaps an allusion to what the first project will contain earlier
on in the unit would give a greater sense of importance to the more basic
topics covered in the unit as at least in the beginning; it's sometimes
difficult to see how we'll apply what we learn about the C language to
the Systems components when starting with the very basics of both.
More guidance in lectures and make it a bit easier.
A bit of extra time to do it would have been nice. Even just making
it due the Sunday night, rather than midday Friday to give us the weekend
to work on it.
I appreciate your desire to complete a great project,
but I've weathered many past criticisms from students 'forced' to
give up their weekends for projects.