Module
CMPC0X04 - INTRODUCTORY PROGRAMMING
- Module Code:
- CMPC0X04
- Department:
- Computing Sciences
- Credit Value:
- 20
- Level:
- 0
- Organiser:
- Dr. Graeme Richards
Course texts:
- Hansen, J., NXC Programmer's Guide, http://bricxcc.sourceforge.net/nbc/
- Lego Robot Resources at http://bricxcc.sourceforge.net/
Course Text for C++:
McGrath, M., C++ Programming in easy steps. Computer Step
All required equipment for the practical classes will be provided in the relevant laboratory session. No specialist equipment is required.
The Library has an extensive collection of C++ programming texts to support this module. Its journal collection and electronic subscriptions provide good coverage of the subject.
Submission:
Written coursework should be submitted by following the standard CMP practice. Students are advised to refer to the Guidelines and Hints on Written Work in CMP.
Deadlines:
If coursework is handed in after the deadline day or an agreed extension:
| Work submitted | Marks deducted |
| After 15:00 on the due date and before 15:00 on the day following the due date | 10 marks |
| After 15:00 on the second day after the due date and before 15:00 on the third day after the due date | 20 marks |
| After 15:00 on the third day after the due date and before 15:00 on the 20th day after the due date. | All the marks the work merits if submitted on time (ie no marks awarded) |
| After 20 working days | Work will not be marked and a mark of zero will be entered |
Saturdays and Sundays will NOT be taken into account for the purposes of calculation of marks deducted.
All extension requests will be managed through the LTS Hub. A request for an extension to a deadline for the submission of work for assessment should be submitted by the student to the appropriate Learning and Teaching Service Hub, prior to the deadline, on a University Extension Request Form accompanied by appropriate evidence. Extension requests will be considered by the appropriate Learning and Teaching Service Manager in those instances where (a) acceptable extenuating circumstances exist and (b) the request is submitted before the deadline. All other cases will be considered by a Coursework Coordinator in CMP.
For more details, including how to apply for an extension due to extenuating circumstances download Submission for Work Assessment (PDF, 39KB)
Plagiarism:
Plagiarism is the copying or close paraphrasing of published or unpublished work, including the work of another student; without due acknowledgement. Plagiarism is regarded a serious offence by the University, and all cases will be investigated. Possible consequences of plagiarism include deduction of marks and disciplinary action, as detailed by UEA's Policy on Plagiarism and Collusion.
Module specific:
- Understand the concepts underpinning computer programming.
- Develop a systematic approach to programming with an emphasis on producing clear, efficient and robust code.
- Learn to program Lego robots using the NXC language.
- Learn to program in C++ including object oriented methods and the use of pointers.
Transferable skills:
- Develop a logical approach to problem solving that can be applied in domains outside that of computer programming.
- Communicate complex technical ideas both orally and in writing.
Subject specific:
On completion of this module the students should:
- Understand the NXC programming language.
- Understand the programming for hardware.
- Understand the C++ programming language.
- Have an understanding of object oriented programming.
Total hours: 50
Lectures: 10, hours: 20, Content (with provisional weekly schedule):
- Introduction to course, history of programming, programming paradigms
- Programming Lego Robots. The NXC (Not eXactly C) IDE
- Introduction to C++. The Microsoft Visual Studio Environment
- Conditional Branching and Iteration. Logical operators
- Arrays and Vectors
- Functions, prototypes and definitions
- Reading week. No lecture
- Object oriented programming 1
- Object oriented programming 2
- Pointers
- Data structures
- Revision
Laboratory Work: 10, hours: 30, content (with provisional weekly schedule):
- Introduction
- Lab Session. 2 Hours. Familiarisation with the NXC IDE. First NXC programs
- Introduction to C++. The Microsoft Visual Studio Environment. Headers, comments, scope, types, assignment, input and output, arithmetic operations
- Conditional Branching and Iteration. IF, THEN. SWITCH. WHILE. DO, WHILE
- Creating and reading arrays and vectors
- Functions. Prototypes and definitions. Passing by value / passing by reference
- Reading week
- Object oriented programming 1
- Object oriented programming 2
- Introduction to pointers and their use in functions
- Implementing data structures
- Revision
Examination with Coursework or Project


