Back to Module List

CMPC0X04 - INTRODUCTORY PROGRAMMING

Module Code:
CMPC0X04
Department:
Computing Sciences
Credit Value:
20
Level:
0
Organiser:
Dr. Graeme Richards
This is Level 0 module designed to give students a practical introduction to computing science and an appreciation of the underlying technology. The module focuses on topics that are central to the study of computer science. A significant segment of the module involves learning a procedural high-level programming language. Much of the module is laboratory based and assessed by both coursework assignment(s) and an examination.

Course texts:

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):

  1. Introduction to course, history of programming, programming paradigms
  2. Programming Lego Robots.  The NXC (Not eXactly C) IDE
  3. Introduction to C++. The Microsoft Visual Studio Environment
  4. Conditional Branching and Iteration. Logical operators
  5. Arrays and Vectors
  6. Functions, prototypes and definitions
  7. Reading week. No lecture
  8. Object oriented programming 1
  9. Object oriented programming 2
  10. Pointers
  11. Data structures
  12. Revision

Laboratory Work: 10, hours: 30, content (with provisional weekly schedule):

  1. Introduction
  2. Lab Session. 2 Hours. Familiarisation with the NXC IDE. First NXC programs
  3. Introduction to C++. The Microsoft Visual Studio Environment. Headers, comments, scope, types, assignment, input and output, arithmetic operations
  4. Conditional Branching and Iteration. IF, THEN. SWITCH. WHILE. DO, WHILE
  5. Creating and reading arrays and vectors
  6. Functions. Prototypes and definitions. Passing by value / passing by reference 
  7. Reading week
  8. Object oriented programming 1
  9. Object oriented programming 2
  10. Introduction to pointers and their use in functions
  11. Implementing data structures
  12. Revision

Examination with Coursework or Project