Software development I
D Hagan
6 points * 4 hours per week * First/Second semester * Caulfield * Prohibitions: BUS2011, CFR1121, CFR1403, CFR2121, CSC1011, CSC1021, GCO1811, SFT2121, SFT2202, TEC2041
Concepts of structured programming. Processing elements: sequence, selection and repetition (via iteration and recursion) using imperative and functional styles. Basic data types (numbers, characters, booleans). Basic collections (arrays and strings). Problem-solving skills used to convert the problem specification into the design of an algorithm, and the representation of that design in a suitable graphical notation. The expression of that algorithm in a suitable programming language. Development of robust, maintainable software from the informal specification of a problem. Scoping of variables. Functions. Parameter passing by value and by reference. Reading and writing of sequential files. An introduction to issues relating to software quality, especially the importance of regression testing of software and the means by which this may be done.
Assessment
Examination (3 hours): 40% * Unit tests: 30% * Assignments: 30%
Recommended texts
Deitel H and Deital P C how to program Prentice-Hall, 1992
Dromey G Program derivation Addison-Wesley, 1989
Hanly J R and others Problem solving and program design in C Addison-Wesley, 1993
House R Beginning with C Nelson, 1993
Kelley A and Pohl I A book on C Benjamin-Cummings, 1984
Robertson J Simple program design Nelson, 1989
Stroustrup B The C++ programming language Addison-Wesley, 1991