|
Dec 22, 2024
|
|
|
|
CSC 2210 - Procedural and Object-Oriented C++4 lecture hours 0 lab hours 4 credits Course Description This course introduces students to the C and C++ programming languages. It relates the high-level computational model of these languages to their machine level execution, including details about number representation, a simplified view of microprocessor architecture. Students are introduced to the concepts of compilation, memory management, linking, efficient implementation of objects, and the Standard Template Library. The course contrasts type systems and other characteristics with those of other languages. Note: students may receive credit for only one of CPE 2600 and CSC 2210. (prereq: CSC 1120 ) (quarter system prereq: CS 2852) Course Learning Outcomes Upon successful completion of this course, the student will be able to:
- Write procedural C and C++ programs
- Explain how signed 2’s complement and unsigned numbers, and floating point numbers are represented within a computer, and explain how that impacts performance
- Describe the transformation of code from a high-level language like C++ to machine-level instructions
- Describe the execution of a line of high-level code and flow of control in terms of interaction with the underlying hardware like the PC, registers, stack and the datapath
- Explain how variables are allocated in memory, the relationship between variables and pointers, and the scope and lifetime of variables
- Make use of argument passing by value, reference, and address
- Write object-oriented C++ programs making use of C++ operator overloading, polymorphism, and virtual vs. non-virtual methods
- Write robust C++ programs that use dynamic memory allocation
- Write robust C++ programs using template functions and the Standard Template Library
- Debug C and C++ implementations using a debugger
- Use preprocessor directives to conditionally compile source code and support project configuration
- Compare the C++ type system with other languages with respect to efficiency, reliability, and readability
Prerequisites by Topic
- Object-oriented programming
- Java programming
- Data structures
Coordinator Dr. Sohum Sohoni, Dr. Robert Hasker
Add to Portfolio (opens a new window)
|
|