Introduction to Software Development
The main aim of this module is to allow students who hold a first degree in a subject other than computing to gain understanding of solving computational problems and of the software development process, which are fundamental to the study of information systems and informatics. The module covers the principles of designing, implementing and testing programs, with a specific focus on object-oriented design. The module explains the fundamental aspects of these techniques utilising a series of practical lab sessions. Students will be able to apply this knowledge in learning new programming languages, developing software systems, and managing software development projects within given time constraints.
- The software development process.
- Principles of programming and programming languages
- Solving computational problems (problem decomposition, abstraction, sequencing, branching, iteration).
- Classes, objects, variables, values, types, arithmetic operations, control expressions, methods, string manipulation, exceptions, arrays, collections, I/O, GUIs, documentation.
- Designing, implementing and testing programs.
None. However, students should work through the first chapter of the course text, see recommended reading.
All dates and timetables are listed in the programme handbooks of individual programmes.
Several pieces of practical coursework will be set.
By 2-hour written examination and practical coursework, weighting 50% and 50% respectively.
- Python for Everyone, 2nd Edition by Cay S. Horstmann and Rance D. Necaise, John Wiley Sons; 2016, ISBN: 978-1-119-05655-3 (Course text)
- Practical Programming: An Introduction to Computer Science Using Python 3 by Paul Gries, Jennifer Campbell, and Jason Montojo, Pragmatic Bookshelf; 2013, ISBN: 978-1937785451
- Python Programming for Beginners by Jason Cannon, CreateSpace Independent Publishing Platform; 2014, ISBN: 978-1501000867
- Python for Kids: A Playful Introduction to Programming by Jason R. Briggs, No Starch Press; 2012, ISBN: 978-1593274078
- Think Python by Allen B. Downey, O'Reilly Media; 2012, ISBN: 978-1449330729
- Learning Python by Mark Lutz, O'Reilly Media; 2013, ISBN: 978-1449355739