Internal

CS1PC20 - Programming in C/C++

CS1PC20-Programming in C/C++

Module Provider: Computer Science
Number of credits: 20 [10 ECTS credits]
Level:4
Terms in which taught: Autumn / Spring term module
Pre-requisites:
Non-modular pre-requisites:
Co-requisites:
Modules excluded:
Current from: 2023/4

Module Convenor: Dr Pat Parslow
Email: p.parslow@reading.ac.uk

Type of module:

Summary module description:

This module introduces students to procedural and object-oriented programming principles and programming languages in C and C++.


Aims:

This module aims to introduce student to procedural computer programming. The C and C++ family of programming languages will be used for examples and practical work. Programming will be undertaken using both the Windows and UNIX/LINUX operating systems and a variety of editors and environments. By the end of the module students should be able to write moderately complex programs in both C and C++.



This module also encourages students to develop a set of professional skills, such as mastery of the discipline (understanding of methodology, knowledge of discipline), personal effectiveness and self-awareness, communication, awareness of strength, and commitment to learning and reflection, adaptability.


Assessable learning outcomes:


  • Recognise and describe programming constructs in C and C++

  • Explain and demonstrate how to compile, link and run programs with and without integrated development environments

  • Compare the use of Windows and UNIX for programming 

  • Explain and demonstrate how to edit, test and debug programs

  • Analyse easy problems and design and implement an algorithm to solve them 

  • Describe fundamental concepts and algorithms that are relevant in programming

  • Describe how code is executed by a computer  

  • Predict what a segment of code will produce (tracing) 

  • Critically evaluate programming solutions


Additional outcomes:

Problem solving skills; generic programming concepts; use of compilers and linkers; use of modern integrated programming environment; Word processing.


Outline content:


  1. Computing Concepts, Introduction to Programming and Structured Program Development

  2. The C programming language; Program Control; Types and Operators; Functions; Arrays and Pointers; Characters and Strings; Formatted Input/Output; Structures, Unions, and Enumerations; File Processing; Data Structures

  3. Introduction to object-oriented programming; Encapsulation; Inheritance; Polymorphism

  4. The C++ programming language; Classes; Inheritance; Operator Overloading; Templates; Advanced Topics

  5. Using UNIX and Windows operating systems; Compilers, Linkers, Debuggers and Integrated Development Environments; typical computer organization


Brief description of teaching and learning methods:

During the Autumn and Spring term each week will follow a pattern similar to this:




  • Lectures

  • Practical work and quizzes

  • Additional tutorials for beginners

  • Additional challenges for those with programming experience


Contact hours:
  Autumn Spring Summer
Lectures 30 20
Practicals classes and workshops 20 20
Guided independent study:      
    Wider reading (independent) 5
    Wider reading (directed) 5 5
    Exam revision/preparation 10
    Advance preparation for classes 5 5
    Preparation of practical report 20
    Completion of formative assessment tasks 20 10
    Revision and preparation 10 5
    Reflection 5 5
       
Total hours by term 95 95 10
       
Total hours for module 200

Summative Assessment Methods:
Method Percentage
Written exam 30
Practical skills assessment 70

Summative assessment- Examinations:

One 2 hour examination paper in May/June.


Summative assessment- Coursework and in-class tests:

The coursework consists of the following elements:



In Autumn term, 



One piece of coursework (a computer program) developed during practical sessions, submitted at the end of term (30%)



In Spring term, 



One piece of coursework (a computer program) developed during practical sessions, submitted at the end of term (40%)


Formative assessment methods:

Students will be provided with formative feedback throughout practical classes. Exercises will be discussed on a weekly basis.


Penalties for late submission:

The Support Centres will apply the following penalties for work submitted late:

  • where the piece of work is submitted after the original deadline (or any formally agreed extension to the deadline): 10% of the total marks available for that piece of work will be deducted from the mark for each working day (or part thereof) following the deadline up to a total of five working days;
  • where the piece of work is submitted more than five working days after the original deadline (or any formally agreed extension to the deadline): a mark of zero will be recorded.
The University policy statement on penalties for late submission can be found at: https://www.reading.ac.uk/cqsd/-/media/project/functions/cqsd/documents/cqsd-old-site-documents/penaltiesforlatesubmission.pdf
You are strongly advised to ensure that coursework is submitted by the relevant deadline. You should note that it is advisable to submit work in an unfinished state rather than to fail to submit any work.

Assessment requirements for a pass:

A mark of 40% overall.


Reassessment arrangements:

One 3-hour examination paper in August/September. Note that the resit module mark will be the higher of (a) the mark from this resit exam and (b) an average of this resit exam mark and previous coursework marks, weighted as per the first attempt (30% exam, 70% coursework).


Additional Costs (specified where applicable):

1) Required text books:  None

2) Specialist equipment or materials:  None

3) Specialist clothing, footwear or headgear:  None

4) Printing and binding:  None

5) Computers and devices with a particular specification:  None

6) Travel, accommodation and subsistence:  None


Last updated: 30 March 2023

THE INFORMATION CONTAINED IN THIS MODULE DESCRIPTION DOES NOT FORM ANY PART OF A STUDENT'S CONTRACT.

Things to do now