Module ICL-2002:
Designing/Creating OO Programs

Module Facts

Run by School of Computer Science and Electronic Engineering

20 Credits or 10 ECTS Credits

Semester 1 & 2

Overall aims and purpose

This module will introduce learners to the object oriented approach to designing and creating computer programs. The learners will gain an understanding of the process of analysis and design using recognised methodologies (Unified Modelling Language) and creation of object oriented programs using a suitable programming language. The module will allow the students to develop a greater understanding of the process including a knowledgeable awareness of the primary concepts from initial design to the physical components of final solutions, culminating in a clearer comprehension of object orientation.

Course content

Indicative content includes:

● An understanding of the various methods and techniques for program design.

● Interpreting a business scenario to design a specification and create a solution.

● Documenting user requirements and system constraints.

● An understanding of HCI principles for user interface design.

● Object Oriented Principles to include aggregation, inheritance and polymorphism.

● Using a suitable programming language to develop programs.

● User interface design and prototyping (forms and toolbox controls i.e. text boxes, labels, buttons, etc.)

● User interaction (input, events handlers, triggers, message boxes, responses, output, etc.)

● Variables (declaring, types, initialising and use) and Manipulation of data (operators and functions)

● Methods (creation, parameters, scope and use)

● Classes (creation, attributes, operations)

● Interaction with data through a server database (view, update, insert, delete)

● Use of suitable validation and error handling.

● Devising and using a valid test plan to test the final solution.

Assessment Criteria

good

Equivalent to the range 60%-69%. Is able to analyse a task or problem to decide which aspects of theory and knowledge to apply. Solutions are of a workable quality, demonstrating understanding of underlying principles. Major themes can be linked appropriately but may not be able to extend this to individual aspects. Outputs are readily understood, with an appropriate structure but may lack sophistication.

threshold

Equivalent to 40%. Uses key areas of theory or knowledge to meet the Learning Outcomes of the module. Is able to formulate an appropriate solution to accurately solve tasks and questions. Can identify individual aspects, but lacks an awareness of links between them and the wider contexts. Outputs can be understood, but lack structure and/or coherence.

excellent

Equivalent to the range 70%+. Assemble critically evaluated, relevent areas of knowledge and theory to constuct professional-level solutions to tasks and questions presented. Is able to cross-link themes and aspects to draw considered conclusions. Presents outputs in a cohesive, accurate, and efficient manner.

Learning outcomes

  1. Design an interactive program with a suitable graphical user interface (GUI).

  2. Design an object oriented solution to a given scenario.

  3. Develop a data driven object oriented program with GUI interface to include a server database as part of a developed solution.

  4. Devise and use a test plan to carry out unit (individual classes) and complete system testing.

  5. Develop and test an interactive program with a GUI using a suitable programming language.

Assessment Methods

Teaching and Learning Strategy

Hours
Lecture

60 of the 200 notional learning hours - 60 hours demonstrations, lectures and supported workshop.

60
Tutorial

140 of the 200 notional learning hours - 140 hours tutor directed student learning.

140

Transferable skills

  • Literacy - Proficiency in reading and writing through a variety of media
  • Numeracy - Proficiency in using numbers at appropriate levels of accuracy
  • Computer Literacy - Proficiency in using a varied range of computer software
  • Self-Management - Able to work unsupervised in an efficient, punctual and structured manner. To examine the outcomes of tasks and events, and judge levels of quality and importance
  • Critical analysis & Problem Solving - Able to deconstruct and analyse problems or complex situations. To find solutions to problems through analyses and exploration of all possibilities using appropriate methods, rescources and creativity.

Subject specific skills

  • Knowledge and understanding of facts, concepts, principles & theories
  • Use of such knowledge in modelling and design
  • Problem solving strategies
  • Analyse if/how a system meets current and future requirements
  • Deploy theory in design, implementation and evaluation of systems
  • Specify, design or construct computer-based systems
  • Deploy tools effectively
  • Development of general transferable skills
  • Specify, deploy, verify and maintain information systems
  • Defining problems, managing design process and evaluating outcomes
  • System Design
  • Knowledge and/or understanding of appropriate scientific and engineering principles
  • Knowledge and understanding of computational modelling
  • Specify, deploy, verify and maintain computer-based systems
  • Principles of appropriate supporting engineering and scientific disciplines

Resources

Reading list

Anderson, T., 2004. C# In Easy Steps , Computer Step

Avalos R.L. and Aguirre, P.O., 2013. SQL SERVER & C# Connection (Beginners guide)

Barker J. and Palmer, G., 2014. Beginning C# Objects: From Concepts to Code . APress

Chonoles M.J. and Schardt J.A., 2003. UML 2 For Dummies , John Wiley & Sons

McLaughlin, B., Pollice, G. and West, D., 2006. Head First Object-Oriented Analysis and Design: A Brain Friendly Guide to OOA&D , O'Reilly Media

Roff, J.T., 2002. UML; A Beginner’s guide , McGraw-Hill Osborne

Sempf, B., Sphar, C. and Davis, S.R., 2013. C# 5.0 All-in-One For Dummies , John Wiley & Sons

Sharp, J., 2013. Microsoft Visual C# 2013 Step by Step , Microsoft Press

Websites

http://creately.com/blog/diagrams/uml-diagram-types-examples/

http://www.ibm.com/developerworks/rational/library/769.html

http://www.homeandlearn.co.uk/csharp/csharp.html

http://www.microsoftvirtualacademy.com/training-courses/c-fundamentals-for-absolute-beginners

Pre- and Co-requisite Modules

Courses including this module

Compulsory in courses: