CSTP 1205: Programming in C++
Effective date
September 2022
Department
Computer Systems Tech Diploma
School
Trades, Technology and Design
Description
This is an intense hands-on course on the most popular system and app development language: C++. Students (equipped with the basics of programming from CSTP 1105) learn the basics of C++ and its powerful features. Topics include: classes, object life cycle, memory management and smart pointers, program execution life-cycle, an introduction to the Standard Template Library (STL), the basics of exception handling, and the basics of threads and processes in C++.
The main goal of this course is for students to become fully familiar with the landscape of programming with C++ and to be comfortable using its common and modern features as well as to have the confidence to debug, optimize, and restructure existing code in a general application development context.
Year of study
1st Year Post-secondary
Course Learning Outcomes
Upon successful completion of this course, students will be able to:
- Design reusable classes through inheritance and interfaces
- Design extensible classes through polymorphism
- Troubleshoot a defective program and debug it
- Develop programs using test driven development techniques
- Perform basic I/O(Input-Output) from/to a buffer or a file
- Design robust C++ programs using appropriate exception handling
- Use common algorithms and containers in C++ Standard Template Library
- Create programs that use multi-threading efficiently
- Use template data types
Prior Learning Assessment & Recognition (PLAR)
None
Hours
Lecture, Online, Seminar, Tutorial: 40
Clinical, Lab, Rehearsal, Shop, Kitchen, Simulation, Studio: 40
Total Hours: 80
Instructional Strategies
Instructional strategies include classroom lectures, demonstrations, group discussions, computer lab and hands-on practical work.
Grading System
Letter Grade (A-F)
Evaluation Plan
Type
|
Percentage
|
Assessment activity
|
Assignments
|
50
|
One assignment per week, except the 2 weeks of exams
|
Midterm Exam
|
20
|
|
Final Exam
|
20
|
|
Quizzes/Tests
|
10
|
|
Course topics
- Inheritance and interfaces
- Polymorphism
- Memory Management
- Defective program troubleshooting
- Test driven development techniques
- Exception Handling
- Standard Template Library
- Data storage and retrieval from files
- Multithreading programs
- Smart Pointers
Notes:
- Course contents and descriptions, offerings and schedules are subject to change without notice.
- Students are required to follow all College policies including ones that govern their educational experience at VCC. Policies are available on the VCC website at:
https://www.vcc.ca/about/governance--policies/policies/.
- To find out if there are existing transfer agreements for this course, visit the BC Transfer Guide at https://www.bctransferguide.ca.