Skip to content Search
Search our website:

Introduction to Software Development

Short name: ISD
SITS code: BUCI021S7
Credits: 30 credits
Level: 7
Module leader: David Weston
Lecturer(s): David Weston, Igor Razgon

Aims

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.

Syllabus

  • 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.

Prerequisites

None. However, students should work through the first chapter of the course text, see recommended reading.

Timetable

All dates and timetables are listed in the programme handbooks of individual programmes.

Coursework

Several pieces of practical coursework will be set.

Assessment

By 2-hour written examination and practical coursework, weighting 50% and 50% respectively.

Recommended reading

  • 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