Designing/Creating OO Programs
Run by School of Computer Science and Electronic Engineering
20 Credits or 10 ECTS Credits
Semester 1 & 2
Organiser: Dr David Edward Perkins
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.
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.
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.
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.
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.
Design an interactive program with a suitable graphical user interface (GUI).
Design an object oriented solution to a given scenario.
Develop a data driven object oriented program with GUI interface to include a server database as part of a developed solution.
Devise and use a test plan to carry out unit (individual classes) and complete system testing.
Develop and test an interactive program with a GUI using a suitable programming language.
|COURSEWORK||Object-Oriented GUI Program||
Design, create and test a small standalone application to demonstrate competence using a object-oriented programming language to create GUIs.
|COURSEWORK||Data Driven Application||
Design, create and test a complex data driven object orientated application to demonstrate competence using object orientation.
Teaching and Learning Strategy
60 of the 200 notional learning hours - 60 hours demonstrations, lectures and supported workshop.
140 of the 200 notional learning hours - 140 hours tutor directed student learning.
- 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
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
Pre- and Co-requisite Modules
Courses including this module
Compulsory in courses:
- H300: BSc Applied Software Engineering (Degree Apprenticeship) year 2 (BSC/ASE)