Introduction to software development
A E Ellis
6 points * 4 hours per week * First semester * Peninsula * Prohibitions: CSC1011, CSC1021, GCO1811, GCO7821, SFT2121
Concepts of structured programming: sequence, selection and repetition. Concepts of files, records and fields; reading from and writing to sequential files. Data elements: constants (numeric, character and string literals), symbols, lists, arrays. Definition of data variables. Expressions and statements; sequence expressions and statements, arithmetic operations, statements that cause side-effects, selection expressions and statements, conditions (predicates), relational operators, nested ifs, logical operators, short-circuit Booleans, procedures and functions. Functional (declarative) versus procedural (imperative) styles of programming. Procedure application: formal parameters, actual arguments, returned result. Steps in developing a program, concepts of compilation and interpretation, source and object code, errors, syntax, execution, logic, test data generation, expected results and test harnesses. Repetition pre-test and post-test iterative loops, priming and non-priming read techniques, loop variables, recursion, tail recursion. Scoping of data: global and local data, lexical scoping.
Assessment
Examination (3 hours): 40% * Practical work and unit tests: 60%
Recommended texts
Hagan R A Simple scheming - SFT111 notes Monash U, 1992
Texas Instruments PC Scheme Scientific Press, 1988