Teaching Responsibility
LJMU Schools involved in Delivery:
LJMU Partner Taught
Learning Methods
Lecture
Module Offerings
4544NCCG-JAN-PAR
4544NCCG-SEP-PAR
4544NCCG-SEP_NS-PAR
Aims
This module will introduce students to the software development life cycle and to designing, coding, implementing and testing programmes to meet specified briefs.
Learning Outcomes
1.
Define basic algorithms to carry out an operation and outline the process of programming an application.
2.
Explain the characteristics of procedural, object-orientated and event-driven programming, conduct an analysis of a suitable Integrated Development Environment (IDE).
3.
Implement basic algorithms in code using an IDE
4.
Determine the debugging process and explain the importance of a coding standard.
5.
Describe and implement the stages of the software development lifecycle
Module Content
Outline Syllabus:Major theme: Programming
• Algorithm definition: the relationship between algorithms and code. The generation process of code. Roles of the pre-processor, compiler and linker, interpreter.
• Characteristics of procedural, object-orientated and event-driven programming. Definitions of: data types, methods, control structures, iteration, scope, parameter passing, classes, inheritance and events.
• Implement basic algorithms in code: developing simple applications using a suitable language and IDE.
• Debugging processes. Importance of a coding standard. Documentation of the debugging process
• Testing and integration & test environments
• Importance of feasibility study: Requirement gathering techniques. Feasibility criteria
• Carry out software development: Identify requirements: stakeholders; consideration of alternate solutions and security considerations; quality assurance required. Report documentation structure.
• Systems analysis terminology and tools: data stores and entities; data flows; process representation techniques, examples relevant to methodology chosen.
• Techniques: Flowcharts; Pseudocode; Formal specification Methods; Event/State/Data Driven; Finite State Machines (extended-FSM)/FSP; problem of e-FSM state explosion; reachability analysis, safety, liveness properties; Automatic analysis and animation tools.
Minor theme: Software development processes
Software development lifecycles: Lifecycle models, both predictive and adaptive. Lifecycle stages: feasibility study, analysis, design, implementation, testing, review or analysis, design, implementation, maintenance, planning; requirements traceability.