Introduction to Software Development
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.
Assessment
Recommended Reading
- Python for Everyone by Cay
S. Horstmann and Rance
D. Necaise, John Wiley & Sons; 2014, ISBN:
978-1-118-73522-0 (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
The course text can be found at:
http://eu.wiley.com/WileyCDA/WileyTitle/productCd-EHEP002658.html
We recommend the e-book version
WEEKS 1 + 2
Topics
- Introduction to the module
- Introduction to computing
- Introductory Python
including the software setup
- Our first programs
just in case the instructions at python.org aren't that clear to you…
Includes a video showing how to use command line
version of Python and also IDLE.
If you have time please read Chapter One of
"Think Python - How to Think Like a Computer
Scientist" by Allen Downey, as preparation for our first meeting.
Notes
WEEK 3 + 4
Topics
Fundamental Data Types
Notes