Skip to content

GarrettDose42/CPP-Fall-2025-Fork

 
 

Repository files navigation

Acknowledgments

Most of the materials in this course are based on Bill Bird CSC116 course

CSC 116 - Introduction to C++ - Fall 2024

Students successfully completing CSC 116 will achieve the following learning outcomes:

  • Design and implement programs observing modern C++ best practices (this offering will use the 2020 C++ Standard)
  • Apply C++ standard collections, such as Strings, Vectors, Lists, Sets and Maps, to programming tasks.
  • Choose practical algorithms and data structures based on the constraints of a programming task.
  • Evaluate C++ expressions and types.
  • Use exception semantics instead of implicit preconditions to develop more robust code.
  • Analyze the run-time behavior of C++ programs, including programs whose control flow is affected by exception handling.
  • Apply functional programming techniques (such as anonymous functions) to modularize code.
  • Implement abstract data types (such as general-purpose collections, or application-specific interfaces) using classes and object oriented programming.
  • Apply access control mechanisms to produce effectively encapsulated objects.
  • Implement dynamic data structures such as lists or trees
  • Produce abstracted and modular code using templates and generic programming.
  • Understand and distinguish between the concepts of overloading and overriding functions.
  • Implement, test, and debug recursive functions and procedures.

Textbook

There are no required textbooks for this course, but the optional book below might be helpful if you require extra learning resources beyond those provided by the course.

C++ Primer (5th Edition) by Lippman, Lajoie and Moo
ISBN-10: 0321714113
ISBN-13: 978-0321714114

Assignments

This course includes 5 equally weighted programming assignments. Students are expected to complete all assignments. The best 3 of out 5 assignments will comprise 20% of the course grade.

Grading

To receive a passing grade in the course, the final percentage, according to the computation described below, must be 50% or higher, and the student must obtain more than 50% in the final exam.

The final percentage grade for the course will be computed as follows

Programming Assignments 20%
Lab Exercises 20%
Final Exam 60%

Course Instructor

Teseo Schneider

http://web.uvic.ca/~teseo/

teseo@uvic.ca

Office Hours

by appointment

Lectures

1:00pm - 2:20pm MR

Sngequ House 131

Exam

TBA

Slides

Introduction

Rules

Windows

Codes

Codes

Solutions

Assignments

Labs

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 86.8%
  • Assembly 13.2%