Introduction
The aim of this course is to teach us to build practical skills. It'll allow us to understand the capabilities of different programming language, and hence allow us to choose the appropriate tools for any job.
Qualities of Software Systems
- Correctness
- Clarity
- Reliability
- Efficiency
- Portability
Marks
For tutorials we'll be given a mark from A-D. 8/9 Bs should get us full marks for the labs.
We will have to show our tutor our lab work in person.
There are no group-based assignments.
The first assignment will be a Python to Perl translator (over a subset of instructions), and will be worth 15%.
The second assignment will be web-based (perhaps an engineers' dating site) and will be worth 15% as well.
The exam is worth 60%, and we must score 50% on it and pass two practical implementation tasks to pass the course.
Brownie Points
We can earn brownie points by assisting other students in labs and being super awesome in our lab/assignment work.
If our raw mark is less than (85+brownie points), then we get 85+(brownie points/2) as our mark.
Textbooks
There are lots of wonderful books on the list, but none of them are particularly useful for 2041.
Topics
- Bash Scripting:
- Shell Scripting
- Perl Scripting
- CGI Scripting
- 2041Testing - Correctness and Reliability
- CGIpm vs HTML
- Program Performance
- Version Control
- Language Security
- Building Software Systems