Designing/Creating OO Programs
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.
● 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.
All of the requirements completed satisfactorily with some to a high standard. A very good submission demonstrating an understanding of the fundamental object orientated structures used and their strengths and weaknesses. However, some areas are not fully explored affecting the potential success of the solution. At this level, students will make only a few errors in program design, syntax or functionality in the developed programs. Structure, layout and style will be good overall with the addition of clear annotations and comments. They will have demonstrated clear understanding through a range of design and program functionality. The overall solutions will be more than just basic and will show a degree of creativity and will have been tested thoroughly.
Most of the requirements completed satisfactorily. Some elements may show a measure of weakness. Adequate but not outstanding. At this level, students may make errors in the designs, syntax or functionality but will show a basic understanding of the underlying concepts. Structure, layout and style will be weak with little use of annotations or comments. The solutions will be basic and lack any depth or creativity but will cover the basic elements.
All of the requirements completed to a high standard. An excellent submission clearly evidencing analysis of the problem and will include independent research additional to taught materials. Clear evidence of the application of object oriented design theory throughout. Practical elements have been well presented and thought through with analysis of the problem and clear solutions developed showing a very good level of understanding issues which arise. At this level, students will make very few errors in design, syntax or functionality. Structure, layout and style will be excellent overall with the addition of elucidated comments. They will have demonstrated clear understanding through design and a range of program functionality and are likely to have shown further research by the breadth of the solutions submitted. The solutions will be well presented, in-depth and advanced. They will clearly demonstrate the students’ knowledge, creativity and flair and will have been tested extensively.
- 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.
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.
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)