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.
Timetables, locations and term dates
Programme specific timetables are listed in the handbooks available for each programme. Please consult the relevant programme page.
- Term dates and holiday closing
- Timetable listing modules by term and day of the week
- Timetable and venue information for the week ahead
Enrolled students can find their personal teaching timetable and the location of classes on their My Birkbeck profile.
Several pieces of practical coursework will be set.
Two-hour written examination (75%) and practical coursework (25%).
- 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