|Delivery Type||Delivery length / details|
|Lecture||21 x 1 hr lecture|
|Practical||1 x 2hr practical for each of the first 5 weeks. 3 x 2 hr practicals for each of weeks 6-10 (including periods of lecturing)|
|Seminars / Tutorials||1 x 1 hr seminar for each of the first 5 weeks|
|Assessment Type||Assessment length / details||Proportion|
|Semester Assessment||Assignment relevant to degree scheme||50%|
|Semester Assessment||Assessed worksheets||20%|
|Semester Exam||1.5 Hours on-line exam||30%|
|Supplementary Assessment||One assignment||70%|
|Supplementary Exam||1.5 Hours on-line exam||30%|
On successful completion of this module students should be able to:
1. Describe and explain the types and uses of variables
2. Apply abstraction to a design problem, resulting in code that uses functions for separation and reuse of functionality.
3. Design and implement programs to solve problems relevant to their degree scheme
4. Use third party code and libraries as part of their software solution, and to understand the relevance of software licenses and IPR attribution.
This module will introduce students to procedural programming, covering the use of variables, conditionals and loops and the structure of a program. The first 5 weeks will be lecture driven with supporting practical sessions. Weeks 5-10 of the course will be project based, with periods of lecture and practical work mixed within practical sessions. Students will be allocated to project groups based on their degree scheme, and will cover the same core material within a project that is tailored to their scheme.
This module will provide a common baseline of programming skills to all students on single honours degree schemes. Students will be taught the code programming skills using a small form factor lightweight computing platform such as the Arduino platform and development environment. This module will provide the foundation for CS12320 Programming Using An Object-oriented Language.
Week 2 and 3 - Conditional statements, Loops and arrays. Reading user input. C operators. Handling different data types (text vs. numeric)
Week 4 - functions and parameters. Breaking down a problem into reusable chunks.
Week 5 - Hardware interaction with onboard functionality. Persistent storage using EEPROM.
Week 6 - 10 - Tutorial style project-based practicals
The students will be split into project groups by degree scheme, and each project group's work will be designed by an academic involved in that topic area. Different projects will cover the following topics, but in an order that is relevant to that project.
- Learning by repetition of software design and implementation
- The use of structs
- The use of libraries and other third party code.
- Communication between devices, and creating a communication protocol that is relevant to their project.
Week 11 - review lectures
|Skills Type||Skills details|
|Application of Number||Inherent to the subject.|
|Improving own Learning and Performance||Learning and performance is improved through feedback.|
|Information Technology||Inherent to the subject.|
|Personal Development and Career planning||This module provides more information on what computer scientists do, and practical experience related to the students' degree scheme.|
|Problem solving||Developed solving design problems|
|Research skills||Developed through basic computer use|
|Subject Specific Skills||This module gives a better appreciation of a topic relevant to the degree scheme and an understanding of different areas of computer science.|
|Team work||Students will work together on communication protocols in project practicals.|
This module is at CQFW Level 4