ONE USICT logoONE USICT
← Streams
ICT-119TTheory2 credits · L2MDC optional

Programming in C++

Offered in Semester 1 for ECE

01Syllabus (unit-wise)

Official topics from the 2025-26 syllabus, unit by unit.

IUnit I

Differences in program structure between C and C++, header files and compilation model, scope resolution operator ::, namespaces and using, input/output using cin, cout, and manipulators, auto and type inference, reference variables, default function arguments, function overloading and name mangling, const, constexpr, inline, strongly typed enums (enum class), compile-time expressions and usage of decltype.

IIUnit II

Dynamic memory management (new, delete, nullptr, RAII), smart pointers (unique_ptr, shared_ptr, weak_ptr), const correctness with pointers, function pointers and lambdas (syntax and closures), default constructors, copy constructors and assignment operators, function templates, compile-time polymorphism using templates, basics of SFINAE and type traits.

IIIUnit III

Standard containers: vector, array, list, map, set, unordered_map, iterators and range-based for loops, algorithms from <algorithm> (sort, find, count, accumulate, for_each), lambdas with STL, std::pair, std::tuple, structured bindings, introduction to std::optional, std::variant, and std::any.

IVUnit IV

Structures with methods, difference between struct and class, member functions, encapsulation, access specifiers, this pointer, static class members, constructors and destructors, initialization lists, RAII principles, function templates and class templates, template specialization, separating interface and implementation in modular design.

02Marking scheme

How this paper is evaluated

1. Teachers Continuous Evaluation: 40 marks 2. Term-End Semester Examinations: 60 Marks

03Course outcomes

What you should be able to do after this course

CO1

Ability to write procedural C++ programs

CO2

Ability to use dynamic memory allocation in C++

CO3

Ability to use simple STL templates

CO4

Ability to write object oriented programs in C++

04Books

Prescribed textbooks and references

Textbooks

  1. 01Programming: Principles and Practice Using C++, Bjarne Stroustrup, 2nd Edition, Addison-Wesley, 2014.

References

  1. 01The C++ Programming Language, Bjarne Stroustrup, 4th Edition, Addison-Wesley, 2013.
  2. 02A Tour of C++, Bjarne Stroustrup, 2nd Edition, Addison-Wesley, 2018.
  3. 03Effective Modern C++, Scott Meyers, O’Reilly Media, 2014.
  4. 04Accelerated C++, Andrew Koenig & Barbara Moo, Addison-Wesley, 2000.
  5. 05C++ Primer, Stanley B. Lippman, Josée Lajoie, and Barbara Moo, 5th Edition, Addison-Wesley, 2012.
  6. 06Object-Oriented Design with Applications, Grady Booch, 3rd Edition, Addison-Wesley, 2007
  7. 07C++ Software Design, Klaus Iglberger, Manning Publications, 2023
  8. 08Clean Code in C++, Stephan Roth, Packt Publishing, 2020
  9. 09Clean Architecture: A Craftsman's Guide to Software Structure and Design, Robert C. Martin, Prentice
  10. 10Hall, 2017
  11. 11ISO/IEC 14882.xxxx, C++ ISO /IEC standards

No notes or PYQs yet

This section fills up as more resources are added. Check back soon — or ask in the community.