CSCI 2312-002: Object Oriented Programming

Course Description

This course covers the Programming topics in the C language. The emphasis is on problem solving using object oriented and Generic Programming. Topics include advanced I\O, classes, inheritance, polymorphism and virtual functions, abstract base classes, exception handling, templates, and the Standard Template Library. Here is the university course catalog listing of this course.

Teaching Staff


Teaching Assistants

  • Vipul Pal

    • Office: LW-830 (PhD room)

    • Office hours: Wed 12pm-2pm, Fri 12pm-3pm, or by appointments.

Please use Piazza for communication with the teaching staff including making an appointment. See the explanation below on this page.

Time and Location


Tue & Thu 3:30pm-4:45pm


It is recommended that you choose the following textbook to study from. Most of the slides are prepared based on the materials in this book.

Picture of the Primary Textbook 


All homework will be tested and graded with GCC 4.8 or later on csegrid.ucdenver.pvt. If it runs fine on that platform, you'll get full credit. You can remotely access this CSE Linux server csegrid.ucdenver.pvt with software like puTTY / SSH. And if you are off campus and trying to connect to the csegrid.ucdenver.pvt, you need to first establish a VPN, and only then you can proceed with the software to conect to the csegrid. To learn more, visit


Please use Piazza ( for all electronic communications with the teaching staff rather than email. This approach should help you obtain answers speedily. Piazza is a question-and-answer platform specifically designed to get you answers fast. They support LaTeX, code formatting, embedding of images, and attaching of files. We encourage you to ask questions when you're struggling to understand a concept – you can even do so anonymously. Announcement will be sent to the class using Piazza. All enrolled students should create an account with Piazza ( by visiting their website. Click “enroll now” and select “University of Colorado Denver,” then search for “CSCI-2312 002” Alternatively, this link should take you right there.


Canvas will only be used for online assignment submissions, online quizzes, and communicating grades on assignments and exams and for distributing solutions (not intended for the eyes of future students).