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 APPLICATION DEVELOPMENT WITH C++
2. Module Code ELEC362
3. Year 200910
4. Originating Department Electrical Engineering and Electronics
5. Faculty Faculty of Engineering
6. Semester Whole Session
7. Credit Level Level Three
8. Credit Value 15
9. External Examiner Professor C. Guy, University of Reading
10. Member of staff with responsibility for the module
Dr JD Yan Electrical Engineering and Electronics Yaneee@liverpool.ac.uk
11. Module Moderator
Dr W Tang Electrical Engineering and Electronics W.Tang@liverpool.ac.uk
12. Other Contributing Departments  
13. Other Staff Teaching on this Module
Dr Y Shen Electrical Engineering and Electronics Y.C.Shen@liverpool.ac.uk
14. Board of Studies ELECTRICAL ENGINEERING & ELECTRONICS
15. Mode of Delivery Lectures/Laboratory
16. Location Main Liverpool City Campus
 
    Lectures Seminars Tutorials Lab/Practicals Fieldwork/Placement Other TOTAL
17. Contact Hours 20

    46

    66
18. Non-contact hours 84
19. TOTAL HOURS 150
 
    Lectures Seminars Tutorials Lab/Practicals Fieldwork/Placement Other
20. Timetable (if known)            
 
21. Pre-requisites before taking this module (other modules and/or general educational/academic requirements):

ELEC129 or a good level of knowledge and understanding of computer structure and C++ as a programming language.
22. Modules for which this module is a pre-requisite:

23. Co-requisite modules:

24. Linked Modules:

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

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

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

H673 (3)  H675 (3)  HH66 (3)  GHK6 (3)  H614 (3)  H433 (4)  H624 (3)  H623 (3)  H607 (3)  H605 (3)  H613 (3)  H622 (3)  HHP7 (4)  HG6L (4)  H493 (4) 
 
MODULE DESCRIPTION
28. Aims
 

To provide students with the ability:

  • To Identify functional requirement for an application and produce an adequate specification.
  • To design a programme based on functional decomposition method.
  • To convert design into efficient C++ code.
  • To design and implement an application graphical user interface.
  • To use common components including controls in Windows based programme.
  • To implement event handlers and validate the programme functionality.
  • To work independently or as a team member in the management of application development.
29. Learning Outcomes
  Knowledge and Understanding
 

On successful completion of the module, students should be able to demonstrate:

  • Knowledge of C++ as an advanced programming language.
  • Understanding of functional decomposition based and Object-oriented programme design.
  • Knowledge of the principles of system development.
  • Understanding of Windows based applications and their components.
  Intellectual Abilities
 

On successful completion of the module, students should be able to demonstrate ability in applying knowledge of the above topics to

  • Analysis and design of the structure of console application for scientific calculation.
  • Analysis and design of the structure of Windows based application.
  • Testing and evaluation of the performance of software.
  Practical Skills
 

On successful completion of the module, students should be able to show experience and enhancement of the following discipline-specific practical skills:

  • Use of visual development tools for programming with C++
  • Set-up of application project and generation of system components (classes).
  • System integration.
  General Transferable Skills
 

On successful completion of the module, students should be able to show experience and enhancement of the following key skills:

  • Independent learning.
  • Team-working.
  • Project management.
  • Software documentation.
30. Teaching and Learning Strategies
 

This module will be delivered through a combination of formal lectures, self-learning classes, tutorials and computer laboratory sessions.

Coursework is not normally anonymously marked as staff wish to provide meaningful feedback.

31. Syllabus
  Lectures 1 and 2

Overview of the course structure. Introduction to C++ as a high level programming language. Structure of computer and functionality of components including memory, CPU etc. Using Visual Studio 2005 to produce a simple programme.

  Lectures 3 to 5

Basics of C++: Variables and constants, operators, statements, logical structures, arrays, strings, pointers and dynamic memory allocation. Functions and methods of passing information between calling functions and functions being called.

  Lecturess 6 and 7

Programme design based on functional decomposition: specification analysis, design, coding, tesing and documentation.

  Lectures 8 and 9

Introduction to class and object in C++ for object oriented programme design: properties and behaviour, inheritance and polymorphism, access specifiers, constructors and destructors. Static and dynamic binding.

  Lectures 10 and 11

Introduction to basics of windows based programming: windows API functions, basic structures, graphic user interface (GUI), components and controls. Messaging.

  Lectures 12 and 13

Event and Event handlers: Typical events for common controls, accessing properties, mouse events and refreshing GUI.

  Lectures 14 and 15

Drawing facilities within Visual Studio 2005: Coordinate systems, points, lines, curves and predefined shapes. Colour and style.

  Lectures 16 and 17

Working with images and image processing: graphical object, picture box, accessing pixel information, color space and models. Modifying and saving images.

  Lectures 18 to 20

Internet communications and multithreading: client-server model, sockets, threading, thread-safe operation. Advanced programming.

32. Reading List
  Essential Texts
   
  Recommended Texts
 
  • H.M.Deitel and P.J.Deitel, "C++ How to program", Prentice Hall.
  • Visual Studio online manual.
  • Relevant website for visual C++.
 
ASSESSMENT
33. EXAM Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
   
34. CONTINUOUS Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
  Class Test 1 110 minutes Week 9 Semester 1 25
  Class Test 2 110 minutes Week 9 Semester 2 25
  Assignment 1 3 Weeks Submit Week 12, Semester 1 25 next session University Rules Apply
  Assignment 2 3 Weeks Submit Week 12, Semester 2 25 next session University Rules Apply