Modiwl ICP-2052:
Application Development

Ffeithiau’r Modiwl

Rhedir gan School of Computer Science and Electronic Engineering

20 Credyd neu 10 Credyd ECTS

Semester 1 a 2

Trefnydd: Dr Cameron Gray

Amcanion cyffredinol

Familiarise students with computer software, tools and techniques. Support taught courses by looking at practical examples that highlight important computer science concepts. Develop logical problems solving skills.

Cynnwys cwrs

• Intermediate level programming exercises using C#. Continuing use of an appropriate software development environment.

• Introduction to SQL databases available and configuration of an SQL database.

• Building a database structure in an embedded SQL database and populating the tables with a set of data provided

• Use of library classes; e.g. lists, stacks, queues, maps, sets, trees; definition of new data types; classes as attributes; encapsulation.

• Understanding the exception mechanisms found in C#. try-catch statements.

• Windows GUIs with WPF applications.

• Investigate and utilize advanced features. E.g. Sockets, Threading and Events.

Cyswllt Canlyniad dysgu i Meini Prawf







Intermediate Programming Skills using C#.

Understanding of intermediate level programming concepts. Can design, build and optimize non trivial programs using C# Knowledge of intermediate level programming concepts. Can write trivial programs using C# Mastery of intermediate level programming concepts. Can reliably construct, compile and debug non-trivial C# programs.

Ability to follow a development process, from design to testing.

Complete a basic process to produce a working piece of software. Follow the basic process, completing all documentation to produce working, tested software. Select an appropriate process, complete all necessary documentation to produce working, tested software. Able to use another's documentation to complete testing of another's application.

Ability to use SQL statements to create and manipulate a database

Ability to create tables, insert and retrieve data within a database. Create relational tables and insert data into them and retrieve specific data using complex queries Mastery of the SQL syntax, producing optimized database implementations and efficient queries

Make use of classes found in the .NET framework.

Uses a variety of library classes found in the .NET framework. Can create Lists, populate them, retrieve and utilize data from them. Is able to investigate the .NET framework documentation to discover existing solutions to problems and avoid having to implement already existing classes.

Exception handling / Robust programming

Can design solutions to potential exceptions that provide diagnostic output Can handle run-time exceptions Can make programs that are extremely robust to potential exceptions and provide programmatic solutions.

Graphical User Interfaces

Can provide simple graphical input and output solutions utilizing buttons and text boxes. Can make a program that is in some way controlled by a graphical user interface. Can produce advanced user interface solutions that makes use of graphics and dynamic input.

Understanding of the types of software testing, how to construct appropriate defect reports and their uses to limit the number of defects in software.

Can construct a test-plan to be followed by a human tester. Utilises unit tests to provide automated testing of individual components in addition to human testing. Provides a full unit test suite, uses additional automated testing for integration tests as well as human black-box and open-box testing.

Ability to capture requirements and convert those into the appropriate application logic, using intermediary pseudo-code where necessary.

Can describe a set of user requirements accurately. Describes user requirements succinctly using the MoSCoW priority system and can convert these requirements into broad brush algorithms in pseudo code. Accurately describes requirements with priorities and converts them through pseudo code to the final C# code with appropriate detail where necessary.

Dulliau asesu

Math Enw Disgrifiad Pwysau
Syntax Class Test 10
Development Portfolio - Documentation 35
Final Program Listings 35
Test Plan Exercise 20

Strategaeth addysgu a dysgu


Taught material including syntax, algorithmics and problem analysis.


Laboratory exercises and drills.

Private study

Individual research and reading based on sign-posted material.

Individual Project

Development, construction, documentation and testing of the students' portfolio work.


Sgiliau Trosglwyddadwy

  • Llythrennedd - Medrusrwydd mewn darllen ac ysgrifennu drwy amrywiaeth o gyfryngau
  • Defnyddio cyfrifiaduron - Medrusrwydd wrth ddefnyddio ystod o feddalwedd cyfrifiadurol
  • Hunanreolaeth - Gallu gweithio mewn ffordd effeithlon, prydlon a threfnus. Gallu edrych ar ganlyniadau tasgau a digwyddiadau, a barnu lefelau o ansawdd a phwysigrwydd
  • Archwilio - Gallu ymchwilio ac ystyried dewisiadau eraill
  • Dadansoddi Beirniadol & Datrys Problem - Gallu dadelfennu a dadansoddi problemau neu sefyllfaoedd cymhleth. Gallu canfod atebion i broblemau drwy ddadansoddiadau ac archwilio posibiliadau
  • Arweinyddiaeth - Gallu arwain a rheoli, datblygu cynlluniau gweithredu ac amcanion, cynnig arweiniad a chyfarwyddyd i eraill, ac ymdopi â'r pwysau sy'n gysylltiedig ag awdurdod o'r fath

Sgiliau pwnc penodol

  • 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
  • Deploy systems to meet business goals
  • Methods, techniques and tools for information modelling, management and security
  • 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


Rhagofynion a Chydofynion

Cyrsiau sy’n cynnwys y modiwl hwn