ºÚ¹Ï³ÔÁÏÍø
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:
- Computing Concepts, Introduction to Programming and Structured Program Development
- 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
- Introduction to object-oriented programming; Encapsulation; Inheritance; Polymorphism
- The C++ programming language; Classes; Inheritance ; Operator Overloading; Templates; Advanced Topics
- 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.
Ìý | Autumn | Spring | Summer |
Lectures | 20 | 12 | |
Practicals classes and workshops | 20 | 20 | |
Guided independent study: | Ìý | Ìý | Ìý |