Module Title:   Introduction to Software Development

Module Credit:   20

Module Code:   CM-0131L

Academic Year:   2015/6

Teaching Period:   Semester 1

Module Occurrence:   A

Module Level:   FHEQ Level 4

Module Type:   Linked 10+10

Provider:   Computer Science

Related Department/Subject Area:   SCIM (Dept of Computer Science)

Principal Co-ordinator:   TBC

Additional Tutor(s):   TBC

Prerequisite(s):   None

Corequisite(s):   None

Aims:
To introduce the computing laboratories development environment.
To introduce a systematic approach to problem solving.
To introduce object orientation (OO) and OO software construction.

Learning Teaching & Assessment Strategy:
Lecture classes (to introduce concepts and connective material and to present and review exercises) supplemented by laboratory-based exercises (to provide practical experience and develop skills and technique) and complemented by weekly supervised laboratory classes (to provide some individual tuition and resolve problems) and continuous assessment of programming skills in informal tutorials. Assessment via two tests during the module and one at the end of the module.

Lectures:   24.00          Directed Study:   128.00           
Seminars/Tutorials:   0.00          Other:   0.00           
Laboratory/Practical:   48.00          Formal Exams:   0.00          Total:   200.00

On successful completion of this module you will be able to...

Demonstrate an understanding of the basics of software construction and the tools required to support it; describe and use the terminology of object orientation; recognise the syntax and (operational) semantics of a modern OO language and be able to interpret its code.

On successful completion of this module you will be able to...

Interpret compiler and run-time messages to diagnose and correct coding errors; apply basic techniques to test software and correct logic errors; apply understanding of object orientation; apply modern OO coding conventions.

On successful completion of this module you will be able to...

apply skills in systematic problem solving

  Classroom test 1.00 20%
 
  Open book lab test
  Classroom test 1.00 30%
 
  Open book lab test
  Classroom test 2.00 50%
 
  computer-based class test
  Classroom test 2.00 100%
 
  Supplementary assessment: computer-based class test

Outline Syllabus:
1) Basic software tools for computer use and software development (eg web browsers, operating systems, editors, compilers and IDEs). 2) The concepts of object, class and interface. 3) Introduction to an object modelling language: interpretation of use cases, class, sequence and object diagrams. 4) Program constructs: sequence, selection and iteration. 5) coding conventions. 6) Progressive software construction. 7) Testing and debugging programs; code walkthroughs.
Reading List:
Using UML: Software Engineering with Objects and Components,
By Perdita Stevens with Rob Pooley,
Addison-Wesley, 2006 2nd ed, ISBN 0321269675
Java
Programming with Java,
By John R. Hubbard,
Schaum (easy outline series), 2001, ISBN 0071369775
Java, Java, Java!: Object-oriented problem solving,
By Ralph Morelli and Ralph Walde,
Prentice Hall, 2000 1st ed, 2003 2nd ed, 2006 3rd ed. ISBN 0131474340
Java: An introduction to computer science and programming,
By Walter J. Savitch,
Prentice-Hall, 2001 2nd ed, 2005 4th ed. ISBN 0131492020
C#
C# Yellow Book, Rob Miles, Free download from module page.
Microsoft Visual C# 2010 Step by Step, John Sharp (Microsoft 2010)
C# 4.0 in a Nutshell, Joseph Albahari and Ben Albahari, (O`Reilly 2010)

Version No:  1