Skip to content Search
Search our website:

Introduction to Software Development

Short name: ISD
SITS code: BUCI021S7
Credits: 30
Level: 7
Module leader: David Weston
Lecturer(s): David Weston
Online material:


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.


Indicative timetables can be found in the handbooks available on programme pages. Personalised teaching timetables for students are available via My Birkbeck.


Several pieces of practical coursework will be set.


Two-hour written examination (75%) and practical coursework (25%).

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