School of Electronics and Computer Science:
ELEC1010 C# Programming
Basic Information
| School | Dept- Electronics & Computer Science |
|---|---|
| Known as | ELEC1010. |
| Session and Semester | Semester Two, 2011 - 2012 |
| Credit | 10 Credit Points |
| Unit Leader | Prof Steve R Gunn |
| Teachers | Denis A Nicole MA PhD MIEE CEng |
| Moderators | Dr Rob Maunder |
| Study | 100 Hours |
| Assessment | Examination 50%, Coursework 50% |
| Coursework | One Assignment and six laboratories |
| Teaching | Lectures 24, Labs 6 (3 hours each) |
| Prerequisites and Exclusions | Prerequisites: COMP1010 - 'C' Programming. |
| Referral | On referral, this unit will be assessed 100% by examination. |
| Syllabus Approved |
Description
Aims
To learn the techniques and style for "programming in the medium" (modular programming), to understand why it is necessary and how it can be applied.
Learning Outcomes
Knowledge and Understanding
Having successfully completed the module, you will be able to demonstrate knowledge and understanding of:
- describe how to and the importance of implementing abstract data types.
- famaliarisation with common data structures.
- Understand pointers and their implementation through " unsafe code ".
- Describe the principles of Object-Oriented programming, including the concepts of inheritance, abstraction and polymorphism as applied to Object-Oriented programming.
Intellectual Skills
Having successfully completed the module, you will be able to:
- explain the benefits of using a modular, object oriented programming approach.
- state how to implementing abstract data types.
Practical Skills
Having successfully completed the module, you will be able to:
Write, Compile and Debug:
- Further C programs in C which make use of abstract data types.
- Object-Orient programs in C#, using Class, Objects and inheritance.
General Transferable (key) Skills
Having successfully completed the module, you will be able to:
- Model problems
- plan your work and keep to deadlines
- demonstrate a range of basic C&IT skills, including use of the Web to locate study materials
Topics Covered
- Introduction to C#
- Encapsulation
- Classes
- Objects
- Inheritance
- Polymorphism
- Programming in C#
- object-oriented programming
- Structures
- Exception Handling
- Storage (Files & Databases)
- Dynamic memory allocation
- Introduction to data structures
- Trees and Graphs
- Stacks queues and linked lists
- searching and sorting
Teaching and learning activities
Teaching methods include
Lectures: Two per week during the teaching weeks in semester 2. These are used to expand the practical aspects of programming in C learnt in semester 1. In addition these lectures will introduce the concepts of programming in an object orient language (C#) and software engineering principles.
Laboratories: There are 5 three hour laboratory sessions to allow you to practice and consolidate the material covered in the lectures. The laboratories are organised in lab groups, with students working in pairs, and supervised by a tutor, who will mark the student's log book at the end of each laboratory exercise. Note that only the Labs on C# contribute to the coursework mark.
Assignment: There is one assignment, marked by the unit lecturer, which will demonstrate that you can design, develop and test a medium-size project.
Learning activities include
During the lectures there may be discussion with feedback. Participation is encouraged.
You are encouraged to read around the subject from the recommended texts. This reading is expected during your private study time,
Programming is a skill that can only be acquired with experience. While the laboratories and assignment are the formal learning activities, students are also required to practice programming during their private study time.
Methods of assessment
| Assessment method | Number | % contribution to final mark |
|---|---|---|
| Examination [exam] | 1 | 50 |
| Programming Assignment [cwork] | 1 | 25 |
| C# Laboratory [labs] | 5 | 25 |
Feedback and student support during module study
- Tutors (teaching assistants) will assist you with your programming laboratories
- Logbooks of laboratory and resulting program will be marked by your tutor during the lab.
- There are previous exams on the ECS web site
Relationship between the teaching, learning and assessment methods and the planned learning outcomes
The knowledge, understanding and intellectual skills will be covered in lectures. You will re-enforce your learning of these skills, and supplement them in the lab sessions and your own private study. In completing the assignment you will demonstrate your mastery of all the skills listed, including the transferable skills.
The purpose of the exam is to test understanding of topics not covered by or difficult to assess fully using a coursework assignment.
Resources
Core Resources
Background Resources
- Douglas Bell and Mike Parr: C# for Students, Addison Wesley, 2004 ISBN 0-321-17665-0 [Library] [Shops]
Taught to
ELEC1010
Pt I BEng Electronic Engineering (Compulsory)Pt I MEng Electronic Engineering (Compulsory)
Pt I MEng Electronic Engineering with Artificial Intelligence (Compulsory)
Pt I MEng Electronic Engineering with Computer Systems (Compulsory)
Pt I MEng Electronic Engineering with Nanotechnology (Compulsory)
Pt I MEng Electronic Engineering with Optical Communications (Compulsory)
Pt I MEng Electronic Engineering with Power Systems (Compulsory)
Pt I MEng Electronic Engineering with Mobile and Secure Systems (Compulsory)
Pt I MEng Electronic Engineering with Wireless Communications (Compulsory)
ECS Socrates Students (Optional)
Students who are not registered on an ECS approved programme may take this module subject to meeting its pre-requisites and the availability of resources. To confirm this, please can you contact the module leader (as listed above) in the first instance. They will then refer you on to the appropriate director of studies for formal approval of your selection.
