ºÚ¹Ï³ÔÁÏÍø

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: 2021/2

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

Type of module:

Summary module description:

This module introduces students to procedural computer programming.


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 a nd 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



During the Spring term students will undertake an extended piece of practical work.


Contact hours:
Ìý Autumn Spring Summer
Lectures 20 12
Practicals classes and workshops 20 20
Guided independent study: Ìý Ìý Ìý