====== Programming in C/C++ (CS1PC20) ====== The official [[https://www.reading.ac.uk/modules/document.aspx?modP=CS1PC20&modYR=2001|module description]]. Additional information to this page is provided in RISIS and your timetable. The module is taught online due to COVID-19, I make the videos of my lectures and tutorials available on YouTube as well: * [[https://www.youtube.com/playlist?list=PLhu3GTWaNShoRAZbQmxIlhg-dp8OqcKOM|lectures]] * [[https://www.youtube.com/playlist?list=PLhu3GTWaNShqCVZGr-kANgZO87H6WDulq|tutorials]] ===== Aims ===== This module aims to introduce students 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. ===== 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