Module Specification

The information contained in this module specification was correct at the time of publication but may be subject to change, either during the session because of unforeseen circumstances, or following review of the module at the end of the session. Queries about the module should be directed to the member of staff with responsibility for the module.
1. Module Title Software Development Tools
2. Module Code COMP220
3. Year Session 2023-24
4. Originating Department Computer Science
5. Faculty Fac of Science & Engineering
6. Semester Second Semester
7. CATS Level Level 5 FHEQ
8. CATS Value 15
9. Member of staff with responsibility for the module
Mr ST Coope Computer Science Sebastian.Coope@liverpool.ac.uk
10. Module Moderator
11. Other Contributing Departments  
12. Other Staff Teaching on this Module
Mrs J Birtall School of Electrical Engineering, Electronics and Computer Science Judith.Birtall@liverpool.ac.uk
Dr U Hustadt Computer Science U.Hustadt@liverpool.ac.uk
13. Board of Studies
14. Mode of Delivery
15. Location Main Liverpool City Campus
    Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other TOTAL
16. Study Hours 30

    10

    40
17.

Private Study

110
18.

TOTAL HOURS

150
 
    Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other
19. Timetable (if known)            
 
20. Pre-requisites before taking this module (other modules and/or general educational/academic requirements):

COMP201 Software Engineering I
21. Modules for which this module is a pre-requisite:

 
22. Co-requisite modules:

 
23. Linked Modules:

 
24. Programme(s) (including Year of Study) to which this module is available on a mandatory basis:

25. Programme(s) (including Year of Study) to which this module is available on a required basis:

26. Programme(s) (including Year of Study) to which this module is available on an optional basis:

27. Aims
 

To introduce students to a range of techniques and tools, beginning to be used in modern, large-scale industrial software development.
To provide coverage of tools already being used in industrial settings.
To describe how the development and deployment of high quality, robust products is supported through software development tools.

 
28. Learning Outcomes
 

(LO1) Express the general ideas, advantages, and methods of using software development tools

 

(LO2) Use Ant, JUnit and Eclipse both individually and jointly as tools for Automated Testing, Continuous Integration and Test Driven Programming

 

(LO3) Solve problems related to Automated Testing, Continuous Integration and Test Driven Programming using software development tools JUnit, Ant and Eclipse.

 

(S1) Information skills - Information accessing:[Locating relevant information] [Identifying and evaluating information sources]

 

(S2) Skills in using technology - Using common applications (work processing, databases, spreadsheets etc.)

 

(S3) Time and project management - Personal action planning

 
29. Teaching and Learning Strategies
 

Teaching Method 1 - Lecture
Description:
Attendance Recorded: Not yet decided

Teaching Method 2 - Laboratory Work
Description:
Attendance Recorded: Not yet decided

Standard on-campus delivery
Teaching Method 1 - Lecture
Description: Mix of on-campus/on-line synchronous/asynchronous sessions
Teaching Method 2 - Laboratory Work
Description: On-campus synchronous sessions

 
30. Syllabus
   

The module will cover the following aspects of modern contemporary software engineering. Each one will be analysed in terms of its utility in software development, its implementation in a specific software tool. (Note that this list of topics is indicative only.)

Introduction and general methodological questions (2 lectures) EXtreme Programming Methodology
Automated Testing and Continuous Integration
Types of automated testing
Brief overview of some testing tools (Junit, Cactus, HttpUnit, etc.)

Eclipse and Java (3 lectures)
General description of Eclipse
The Java quick tour in Eclipse
Creating in Eclipse a Java project, Java Class and running Java programme
Working with syntax errors in Eclipse Java Editor
Preferences and other settings
Code-completion/code-generation features

Eclipse and JUnit (3 lectures)
Creating and running a JUnit test case in Eclipse
JUnit wizard in Eclipse
Running the JUnit tests in Eclipse
Example of test driven programming in Eclipse

Introducing Ant (4 lectures)
Getting Started: running you first build
Ant and XML Ant targets and tasks; target dependencies
Structured Build in Ant: Laying out the source directories and source files
Compiling and running Java programs ftom command line vs from inside Ant

Ant: Datatypes and Properties (5 lectures)
Datatypes: filesets, paths, filtersets, mappers
Properties: property (paramenter) handling mechanism; various ways of setting and using properties; built-in properties, property files; immutability of properties
Mechanism of referencing to datatypes
Setting properties by tasks (available), (uptodate), (condition)
Setting properties from command line
Using properties for conditional target execution with if/unless
Using properties for conditional patternset inclusion/exclusion

Ant: Nested Builds (1 lecture)
Using (Ant) task for building subp rojects into a bigger project
Passing properties to subprojects

More on Testing and JUnit (3 lectures)
JUnit Primer
Invoking JUnit test runner from Ant
Asserting desired results

Ant, Testing and JUnit (3 lectures)
Running a test case with setUp() and tearDown()
Ant's task (junit)
General Ant build process related to JUnit testing

Ant: Capturing JUnit test results (3 lectures)
Test result formatters
Running multiple tests under (batchtest)
Generating (HTML) test result reports by using (junitreport) Ant task
Outline of test-driven programming

Eclipse and Ant (3 lectures)
How Ant works in the framework of Eclipse
Creating the build directory structure
Separating the source and build directories in a new or existing project
Ant script editor: code-completion and other useful features
Running Ant from inside of Eclipse
Importing Existing Ant Project into Eclipse with source folde rs corresponding to specific output folders

 
31. Recommended Texts
  Reading lists are managed at readinglists.liverpool.ac.uk. Click here to access the reading lists for this module.
 

Assessment

32. EXAM Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
  (220) Written Exam There is a resit opportunity. Standard UoL penalty applies for late submission. This is an anonymous assessment. Assessment Schedule (When) :2 150 80
33. CONTINUOUS Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
  (220.1) Class test There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When) :2 0 10
  (220.2) Lab test There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When) :2 0 10