COMP 2510: Programming in C/C++
C++ is an object-oriented relative of C and one of the most widespread computer languages today. Especially, in the computer and software industry, it is one of the most sought-after skills. Many of the more recent computer languages and advanced data processing techniques require previous exposure to C/C++. This course is open to Computer Science students and students from other disciplines.
Lab | In addition to classes, this course has one structured laboratory session per week. |
Prerequisites: COMP 1001 or COMP 1510 or the former 1710 or Engineering 1020 (or equivalent)
Availability: This course is usually offered in Spring, or in Spring/Summer Intersession.
Course Objectives
This course gives a comprehensive treatment of the C/C++ programming languages. It is intended for students with some first programming experience. This course starts with a discussion of fundamentals of C and C++, moves on to the object-oriented aspects of C++, and introduces some advanced topics. It is an essential course for mastering the power of this rich programming language.
Representative Workload
- Assignments (5-8) 20%
- Labs (10) 10%
- In-class Exam 20%
- Final Exam 50%
Representative Course Outline
- Overview of C (/C++) (8 hours)
- fundamental data types and conversion
- flow control and functions
- pointers, compound types, and structures
- preprocessing
- essential libraries
- memory models, separate compilation, storage duration, scope, linkage, and namespaces
- Objects and classes (8 hours)
- class constructors and destructors
- class scope
- this pointer
- function and operator overloading
- friends
- Inheritance (8 hours)
- access control
- single and multiple inheritance
- polymorphism
- class type cast
- static and dynamic binding
- abstract based classes
- More topics (8 hours)
- runtime type identification
- the string class
- exceptions
- smart pointers
- class templates
- Standard Template Library
Notes
- Students can receive credit for only one of Computer Science 2510 or Engineering 3891.
Page last updated May 24th 2021