Contact Information

If you encounter any difficulties accessing Online Courses Handbook information you should contact the student registry:

If you require further details in relation to academic content you should contact the appropriate academic department directly.

Breadcrumbs

SCC.110 : Software Development

Year:12/13
Department:Computing and Communications (School of)
Level:Part I
Learning Hours:200
Credit Points:20
Weight:0.5
Course Convenor:Dr AJ Friday
Status:Live

Assessment Rules

back to top
  • 40% Exam
  • 60% Coursework

Curriculum Design: Outline Syllabus

back to top

 

Programming languages and their role, evolution and context. Common classifications of languages.
Procedural programming. Basic types and the use of constants and variables. Control flow, and making decisions through the use of conditionals. Repeating actions through iteration and recursion. Functions and procedures. Parameter passing, formal and actual parameters pass by reference and pass by value, return types. Scoping of variables, and procedures using namespaces. Exceptions and exception handling.
Compound data types including arrays, lists and structures. Linked data structures.
Modularity in programs: Scoping of variables and code through code blocks and namespaces. Use of well defined APIs and libraries in promoting scalable and reusable code. Principles of loose coupling and high cohesion. Introduction to OO programming. Objects, classes and inheritance.
Principles of best practice in software development, including the software development cycle, problem analysis, design formulation and the evaluation of design alternatives, literate programming and programming conventions, software commenting and documentation, testing and test case design, debugging techniques and regimen, version control.

Curriculum Design: Pre-requisites/Co-requisites/Exclusions

back to top
None

Educational Aims: Subject Specific: Knowledge, Understanding and Skills

back to top

This module aims to instil the knowledge, understanding and skills expected of a principled computer programmer. More specifically:

- To develop specific skills in writing, analysing, debugging, testing and documentation of computer programs
- To instil best practice of the day to day techniques associated with principled software development.
- To develop a practical understanding of the software development cycle and an awareness of the challenges faced by software developers in addressing scalability and complexity in computer software.
 

Educational Aims: General: Knowledge, Understanding and Skills

back to top

 


Computer programming is a highly practical skill, that fosters the development of a range of transferrable skills including:

- Applied problem solving
- Independent learning
- Structured reasoning and analysis
- The development of abstract thought

Learning Outcomes: Subject Specific: Knowledge, Understanding and Skills

back to top
On successful completion of this module students will be able to...
At the end of the course the students should be able to demonstrate subject specific knowledge, understanding and skills and have the ability to:
- Work independently to develop moderately complex, robust computer programs.
- Apply a principled approach to the development of a software program.
- Perform effective testing of computer programs.
- Undertake reasoned analysis of alternative designs for moderately complex computer programs.
- Analyse and debug computer programs.
- Understand the need for a structured approach to the software development process.
 

Learning Outcomes: General: Knowledge, Understanding and Skills

back to top
On successful completion of this module students will be able to...
- Analyse a given problem and produce multiple potential solutions.
- Undertake reasoned analysis of system.
- Follow and understand a systematic process.

Assessment: Details of Assessment

back to top
 
Assessment will be through a combination of problem based lab exercises, where students are challenged to complete given programming problems. These will be supplemented by shorter quizzes (either in the form of lab or lecture quizzes) and a formal end of year exam.
Resources

Curriculum Design: Select Bibliography

back to top
Jeffrey Elkner, Allen B. Downey, and Chris Meyers, “How to Think Like a Computer Scientist”. (online book). http://openbookproject.net//thinkCSpy/
R. Cadenhead ,"Sams Teach Yourself Java 2 in 24 Hours" (5th Edition), Sams Publishing, October 2009, ISBN 0672330768, ISBN-13 9780672330766
S.L. Bartlett, A.R. Ford, T.J. Teorey, G.S. Tyson ,"Practical Debugging in Java" (4th Edition),Prentice Hall, 2003, ISBN 0131427814, ISBN-13 9780131427815
 

Curriculum Design: Single, Combined or Consortial Schemes to which the Module Contributes

back to top
BSc Computer Science
BSc Computer Science Innovation
BSc Software Engineering
BSc IT for Creative Industries
BSc Management and IT
BEng Computer Systems Engineering
Lancaster University
Bailrigg
LancasterLA1 4YW United Kingdom
+44 (0) 1524 65201