![]()
![]()
COMP2100
Lab 10: ReflectionSummary
Discussion and reflection on what we've done this semester.
Aims
Reflect on and discuss questions about ethics raised in Lecture 26.
Reflect on and discuss your experience of the PSP.
Reflect on and discuss your experience of this unit so far.
Preparation
Bring all your PSP weekly summaries, project plan summaries and defect logs with you to the tutorial.
For the first two exercises you will need to form small groups of about four students.
Exercise 1 - Ethics and context
Note that there are no right or wrong answers to these questions. The purpose of this exercise is to encourage reflection and increase your awareness.
Take five minutes to write down your answers to the following questions on piece of paper.
What is software for?
Who benefits from software?
Should programmers take responsibility for the software they write, beyond questions of how well-written it is and whether it is done on time?
Is it OK just because you're paid to do it?
Would you be comfortable working on:
Software to guide missiles to their targets?
Software to link all government and corporate databases, enabling the state to monitor people's lives in incredible detail?
Software to provide encrypted distribution of child pornography or terrorist plans, safe from detection by law-enforcement agencies.
Software to control industrial robots that will do the work of thousands of workers, putting them out of jobs but increasing corporate profits.
Can you think of any other examples of software that could be ethically questionable?
What would you do in the following situations?
You start work at a company and by following the PSP (as well as your all-round brilliance) you are more productive than your co-workers. They tell you "Slow down, you're making us look bad."
Your boss tells you "This project is behind schedule, so you'd better stop wasting time with all that PSP nonsense. Particularly the code review. Just get on with writing the code so we can ship the software."
The government demands that your new database product should have a secret back door that will enable ASIO (the secret police) to look at all the data stored in any of your customers' databases.
Your new open-source encryption software will allow anyone to keep their email secret from all but the intended recipient. The government asks you to weaken it so that they alone can read messages. They also threaten you with prison if you make the program available to anyone outside Australia.
You're a researcher working for an aircraft engine manufacturer doing formal verification of the software for simulations. This might allow the company to stop doing wind-tunnel testing and cut years off the development time for new, more efficient, quieter, environmentally sound jet engines. Just after the simulation software has gone into use, you discover a possible defect in the theorem-proving software. This is going to take months, perhaps years, to check out properly. There probably isn't a problem with the actual simulation software, but you can't be sure.
You discover that your employer is using commercial software without a licence.
The government offers your company a stupendous amount of money for the software part of a major national security project. It's highly politicised, and they're going to give the money to someone, so it might as well be you. But you know that the project is impossible. No matter how much money they throw at it, it will never work.
Now get together in your small group and discuss your answers. Remember that there are no right and wrong answers. This is not a debate or argument in which you try to get the others to agree with you, but an opportunity for you to explore together the difficulties associated with these sorts of questions.
Exercise 2 - PSP Reflection
Look back over your PSP work this semester and discuss the following questions in your groups. You will probably need to look back over your Weekly Time Use Summaries and your Project Plan Summaries, but don't just focus on the ``hard data''. Think also about how it has been for you. How did you feel?
How much time have you been spending each week on average on this unit? Is it as much as you thought it would be? More? Less?
Is your time management working? How different are your maximum, average and minimum times? Are you happy with that?
What is your personal experience of managing your commitments?
What do you think about commitment management?
Is the time allotted to different tasks reasonable, or are you spending too long on tasks that aren't important?
Has your programming performance (on homework exercises) improved over the semester? Are you injecting less defects? Finding and correcting them more quickly? (You may want to take a few minutes to calculate defect rates for the earlier homeworks that were done with the initial process.)
Has the Code Review improved your process? How? How much? (What numbers on the form should you look at?)
Exercise 3 - Whole group discussion
Form the whole tutorial group into a circle for further discussion. First take a few minutes to sum up what came out of the small groups. Then broaden the discussion to general feedback on your experience of this unit. You might want to consider the following questions, but you don't have to restrict yourself to them.
What has it been like?
Was it useful?
Do you think you will use what you have learned in the future?
What do you think about the way it has been taught?
How could it be improved?
In the final lecture I will ask you to fill in an anonymous feedback form with specific questions about how the unit has been taught and how it could be improved, so don't bother sending those comments to me yet. But if you have comments on your experience of this unit, its content, syllabus, usefulness etc, please take a few minutes at the end of the session to email them to comp2100@iwaki.anu.edu.au.
![]()
![]()
Copyright © 2004, Ian Barnes, The Australian National University
Feedback & Queries to
comp2100@iwaki.anu.edu.au
Version 2004.1, 21 May 2004, 19:02:35