Most of the materials in this course are based on Bill Bird CSC116 course
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.
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
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.
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%
Teseo Schneider
by appointment
1:00pm - 2:20pm MR
Sngequ House 131
TBA